/* Accessibility and final-polish layer — WCAG 2.2 AA oriented */
.skip-link{position:fixed;z-index:10000;top:12px;left:12px;padding:13px 18px;background:#fff;color:#111;border:3px solid #99191d;font:600 16px "Inter",sans-serif;transform:translateY(-180%);transition:transform .18s ease}
.skip-link:focus{transform:translateY(0)}

:where(a,button,[tabindex]):focus-visible{outline:3px solid #ff5b60;outline-offset:4px}
header :where(a,button):focus-visible,.mold-modal :where(a,button):focus-visible{box-shadow:0 0 0 3px #111,0 0 0 6px #fff}
main:focus{outline:none}

.lang,.menu,.modal-close{min-width:44px;min-height:44px}
nav a,.quote,.cta a,.modal-copy a,.contact a{min-height:44px;display:inline-flex;align-items:center}
.mold-card,.gallery-thumb{touch-action:manipulation}
.gallery-thumb:focus-visible::after{border-color:#fff}
.gallery-thumb.active{box-shadow:inset 0 0 0 3px #ff5b60}

.workflow-track,.turnkey-progress,.services-progress{pointer-events:none}
.steps small,.turnkey-flow small,.service-grid small,.process .steps figure span,.turnkey-flow figure b,.service-grid figure b{font-size:12px;line-height:1.45}
.step-state{font-size:12px}
.section-tag{line-height:1.4}
p,li,small,span{overflow-wrap:anywhere}
h1,h2,h3,strong,b{overflow-wrap:normal;word-break:normal;hyphens:none}
.hero-first-line{display:inline-block;white-space:nowrap;overflow-wrap:normal}

@media(max-width:900px){
  body.menu-open nav a{min-height:48px}
  .mold-modal{max-height:calc(100dvh - 24px)}
  .modal-close{right:10px;top:10px}
}

@media(max-width:600px){
  .hero h1{font-size:clamp(46px,14.5vw,56px);line-height:.87;letter-spacing:-.05em}
  .hero-copy{padding-left:18px;padding-right:18px}
  .manifesto h2,.materials h2,.infrastructure h2,.process h2,.turnkey h2,.service-heading h2,.contact h2{font-size:clamp(38px,12vw,52px);line-height:.98}
}

@media(max-width:380px){.hero h1{font-size:43px}}

@media(forced-colors:active){
  :where(a,button,[tabindex]):focus-visible{outline:3px solid Highlight}
  .card-shade{background:transparent}
  .mold-card{border:2px solid ButtonText}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .hero>img,.steps figure img,.turnkey-flow figure img,.service-grid figure img{transform:none!important}
  .plastic-flow,.workflow-track i,.turnkey-progress i,.services-progress i{display:none!important}
  .logo-loader .logo-fill{clip-path:inset(0)!important;width:100%!important}
}
