@charset "UTF-8";
.header { position: sticky; top: var(--palige-header-top, 0px); z-index: 100; background: #171b1d; }
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .header { background: rgba(23, 27, 29, .90); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
}
html { scroll-padding-top: var(--palige-header-offset, 150px); }
@media (max-width: 640px) { html { scroll-padding-top: var(--palige-header-offset, 230px); } }
/* Shared DE/EN and light/dark corrections. Load after every other stylesheet.
   Fix intrinsic sizing and text flow; never conceal overflowing page content. */
.hero-copy > *, .section-heading > *, .product-lead > *, .product-pair > *,
.product-intro > *, .process > *, .runoff > *, .runoff-images > *,
.contact > *, .form-row > *, .diploma-profile > *, .reading-article > summary > *,
.product-contact > *, .hero-foot > *, .manual summary > *, .reading-toolbar > * {
  min-width: 0;
}
h1, h2, h3, .product-intro h1, .reading-heading strong, .manual summary strong {
  overflow-wrap: anywhere;
  hyphens: auto;
}
.product-description, .secondary-copy, .product-intro-copy, .contact-copy,
.reading-heading, .runoff-intro, .legal-body {
  overflow-wrap: anywhere;
}
.button, .text-link { max-width: 100%; overflow-wrap: anywhere; }
.button > span[aria-hidden], .text-link > span[aria-hidden], .expand-icon { flex-shrink: 0; }
.product-picture, .product-intro-image, .secondary-image, .process-image,
.runoff-images figure, .reading-spread { min-width: 0; max-width: 100%; }
.image-caption, .image-overline, .photo-label > span { overflow-wrap: anywhere; }
.product-nav a { min-width: 0; overflow-wrap: anywhere; hyphens: auto; }
.footer-links { min-width: 0; }
.footer-links a { overflow-wrap: anywhere; }

@media(max-width:900px) {
  /* Prevent long German product names from enlarging the fractional grid tracks. */
  .hero-copy { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); }
  .product-lead, .product-pair, .product-intro { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .section-heading { grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); }
  .process { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .runoff { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); }
  .runoff-images, .form-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .contact { grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); }
  .diploma-profile { grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); }
  .reading-toolbar .text-link { flex-shrink: 1; }
}

@media(max-width:720px) {
  /* On a narrow display the photograph gets its full native proportions and
     the caption its own space. No text covers the product or another label. */
  .hero-photo { aspect-ratio: auto; min-height: 0; background: #232b27; }
  .hero-photo > img { width: 100%; height: auto; object-fit: contain; object-position: center; }
  .hero-photo::after { display: none; }
  .hero-photo .photo-label {
    position: static;
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: 10px;
    padding: 18px 20px;
    text-align: left;
    align-items: start;
  }
  .photo-label > span:first-child { max-width: none; font-size: 9px; line-height: 1.65; }
  .photo-label > span:last-child { font-size: 16px; line-height: 1.45; }
  .photo-corner { display: none; }
  .hero-foot { flex-wrap: wrap; align-items: flex-start; }
  .hero-foot a { white-space: normal; }
}

@media(max-width:640px) {
  .hero-copy, .section-heading, .product-lead, .product-pair, .product-intro,
  .process, .runoff, .contact, .diploma-profile { grid-template-columns: minmax(0,1fr); }
  .contact .form-row { grid-template-columns: minmax(0,1fr); gap: 0; }
  .hero-side, .section-heading > p:last-child { max-width: 100%; }
  .product-picture { width: 100%; }
  .product-description h3, .secondary-copy h3 { hyphens: auto; overflow-wrap: anywhere; }
  .product-intro h1 { font-size: clamp(34px,9vw,54px); }
  .knowledge-reading h1 { font-size: clamp(38px,10vw,48px); }
  .contact-copy h2 { font-size: clamp(40px,11vw,53px); }
  .button { white-space: normal; text-align: left; }
  .product-contact > .button { flex-shrink: 1; }
  .manual summary { gap: 14px; }
  .manual summary strong { font-size: clamp(23px,6.2vw,26px); }
  .reading-article > summary { grid-template-columns: minmax(0,1fr) 44px; }
  .reading-spread figcaption a { white-space: normal; }

  /* Product and preparation pictures remain complete, not cropped to a card. */
  .secondary-image, .process-image { aspect-ratio: auto; }
  .secondary-image img, .process-image img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  .process article:hover img { transform: none; }
  .product-intro-image img { max-height: none; }
  .runoff-images { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .runoff-images figure:nth-child(2) { padding-top: 0; }
  .runoff-images figure:nth-child(3) { grid-column: auto; max-width: 100%; justify-self: stretch; }
  .runoff-images img { height: auto; aspect-ratio: auto; }
  .runoff-images figcaption { font-size: 12px; line-height: 1.55; }
  .partner { gap: 16px; flex-wrap: wrap; }
  footer { align-items: flex-start; }
}
