/* 1.18: complete outlines, source-sized graphics and multilingual contact UI. */
.has-corner-outline > .corner-outline {
  position:absolute; display:block; max-width:none; max-height:none;
  z-index:10; pointer-events:none; overflow:visible; transform:none;
}
.corner-outline polygon { stroke:currentColor; stroke-linejoin:miter; }
.button.has-corner-outline::after,.header-cta.has-corner-outline::after,
.mobile-nav__cta.has-corner-outline::after,.application-card.has-corner-outline::after { display:none; }
.button:focus-visible,.header-cta:focus-visible,.mobile-nav__cta:focus-visible { outline:3px solid currentColor; outline-offset:-5px; }
.button { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
.button > span { flex-shrink:0; }
.technology-jumps { display:flex; flex-wrap:wrap; gap:10px; margin:28px 0 44px; }
.technology-jumps a { display:flex; align-items:center; min-height:44px; padding:10px 16px; border:1px solid #939598; color:#181818; text-decoration:none; }
.technology-jumps a:hover,.technology-jumps a:focus-visible { color:#fff; background:#c4122f; border-color:#c4122f; }
.technology-detail { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:32px 56px; align-items:center; padding:48px 0; border-top:1px solid #d9d9d9; scroll-margin-top:130px; }
.technology-detail > * { min-width:0; }
.technology-detail h3 { margin:0 0 18px; font-size:clamp(24px,3vw,38px); overflow-wrap:anywhere; }
.technology-detail p { max-width:64ch; line-height:1.75; }
.technology-detail figure { margin:0; }
.technology-detail__visual { display:grid; place-items:center; padding:24px; background:#fff; }
.technology-detail__visual a { display:block; max-width:100%; }
.technology-detail__visual img { display:block; width:auto; height:auto; max-height:360px; object-fit:contain; margin:auto; max-width:100% !important; }
/* Intrinsic-width caps at 2x density, with no clipping of labels or logos. */
#technology-zfm img { width:280px; }
#technology-zfm-plus .technology-detail__visual img { width:256px; }
#technology-eco img { width:210px; }
#technology-filtration img { width:360px; }
#technology-calcium img { width:293px; }
#technology-punch .technology-detail__visual img { width:248px; }
#technology-agm img { width:248px; }
.technology-diagrams { grid-column:1 / -1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.technology-diagrams img { display:block; width:100%; max-width:395px; height:auto; object-fit:contain; margin:auto; }
.technology-detail figcaption { text-align:center; font-size:13px; line-height:1.6; margin-top:14px; color:#555; }
.technology-scope { padding:24px; border-left:4px solid #c4122f; background:#f5f5f5; line-height:1.7; }
.inner-hero--partner .inner-hero__visual { background:#fff; max-width:466px; width:100%; min-height:0; justify-self:center; padding:0; clip-path:none; border:0; }
.inner-hero--partner .inner-hero__visual img { width:100%; height:auto; min-height:0; object-fit:contain; transform:none; filter:none; }
.inner-hero--partner .inner-hero__visual-label { position:static; display:block; background:#fff; color:#181818; padding:16px 20px; }
.inner-hero--technology .inner-hero__visual { min-height:0; }
.inner-hero--technology .inner-hero__visual img { height:auto; width:100%; aspect-ratio:2000/1053; object-fit:contain; transform:none; filter:none; }
.technology-profile__logo img { object-fit:contain; transform:none; max-width:210px; max-height:180px; }
.about-origin__media { align-self:center; background:#fff; clip-path:none; }
.about-origin__media img { display:block; width:100%; max-width:847px; height:auto; min-height:0; aspect-ratio:847/320; object-fit:contain; transform:none; filter:none; }
.manufacturer-archive figure { max-width:850px; margin-inline:auto; }
.manufacturer-archive img { display:block; width:100%; height:auto; object-fit:contain; }
.manufacturer-archive figcaption { margin-top:16px; color:#555; font-size:14px; }
.laboratory-story__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,5vw,80px); align-items:center; }
.laboratory-story figure { margin:0; }
.laboratory-story img { display:block; width:100%; height:auto; object-fit:contain; }
.laboratory-story p { line-height:1.7; }
.laboratory-story .button { margin-top:20px; }
.distributor-inquiry { background:#181818; }
.distributor-form__label { display:block; color:#181818; font-size:13px; font-weight:600; line-height:1.5; margin:0 0 8px; }
.distributor-form__hint { color:#505050; font-size:13px; margin:0 0 22px; }
.distributor-form__grid > label { min-width:0; }
.distributor-form input:not([type="checkbox"]),.distributor-form textarea { min-width:0; width:100%; max-width:100%; font-size:16px; }
.distributor-form textarea { resize:vertical; }
.distributor-form button:disabled { cursor:wait; opacity:.75; }
.site-footer__address { font-style:normal; margin-top:20px; line-height:1.7; }
.site-footer__address strong { display:block; }
.site-footer__address a { display:block; max-width:30ch; }
@media(max-width:760px) {
 .technology-detail,.laboratory-story__grid { grid-template-columns:minmax(0,1fr); gap:24px; }
 .technology-diagrams { grid-template-columns:minmax(0,1fr); }
 .technology-detail { padding:32px 0; scroll-margin-top:100px; }
 .technology-detail__visual { padding:16px; }
 .distributor-form__grid { grid-template-columns:minmax(0,1fr); }
 .distributor-form__wide { grid-column:auto; }
 .inner-hero--partner .inner-hero__visual { max-width:466px; }
}
@media(prefers-reduced-motion:reduce) { .technology-jumps a { transition:none; } }
/* Long Hungarian/German headings must fit the grid, not just the page viewport. */
.inner-hero__copy { min-width:0; max-width:100%; }
.inner-hero h1 { overflow-wrap:anywhere; hyphens:auto; }
.inner-hero--partner .inner-hero__visual::after { display:none; }
@media(max-width:960px) {
 .inner-hero__grid { grid-template-columns:minmax(0,1fr); }
 .inner-hero--partner .inner-hero__visual,.inner-hero--technology .inner-hero__visual { display:block; justify-self:start; max-width:466px; }
 .inner-hero--partner,.inner-hero--technology,.inner-hero--partner .inner-hero__inner,.inner-hero--technology .inner-hero__inner { min-height:0; }
 .inner-hero--partner .inner-hero__inner,.inner-hero--technology .inner-hero__inner { padding-bottom:48px; }
}
@media(max-width:600px) {
 .inner-hero h1 { font-size:clamp(2rem,9vw,3.25rem); line-height:1.1; }
}
main :is(h1,h2,h3) { overflow-wrap:anywhere; hyphens:auto; }
.inner-hero--partner .inner-hero__visual,.inner-hero--technology .inner-hero__visual { height:auto; }
.inner-hero--technology .inner-hero__visual img { min-height:0; }
