@font-face{font-family:Inter;src:url(../fonts/inter-latin.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url(../fonts/space-grotesk-latin.woff2) format("woff2");font-style:normal;font-weight:500 700;font-display:swap}

:root{
  --canvas:#f7faf8;
  --surface:#fff;
  --soft:#edf4f1;
  --ink:#17312d;
  --muted:#566b66;
  --line:#d5e1dc;
  --primary:#156b63;
  --primary-hover:#0f554f;
  --tech:#2f739e;
  --eco:#48764f;
  --on-dark:#f4fbf8;
  --outer:#e5ece9;
  --container:1240px;
  --reading:760px;
  --radius:6px;
  --transition:180ms ease;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--outer)}
body{margin:0;color:var(--ink);background:var(--canvas);font-family:Inter,Arial,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
h1,h2{font-family:"Space Grotesk",Inter,sans-serif;font-weight:600;letter-spacing:-.045em;text-wrap:balance}
h1{margin:0;font-size:clamp(3rem,5.1vw,5.25rem);line-height:.98}
h2{margin:.35rem 0 0;font-size:clamp(2.15rem,3.8vw,4rem);line-height:1.04}
h3{margin:0;font-size:1.25rem;line-height:1.25;letter-spacing:-.02em;text-wrap:balance}
h2 a,h3 a{display:flex;min-height:44px;align-items:center}
p{margin:0;color:var(--muted);text-wrap:pretty}
dl,dd{margin:0}
ol,ul{margin:0;padding:0}
.shell{width:min(calc(100% - 40px),var(--container));margin-inline:auto}
.section{padding-block:clamp(4.75rem,8vw,7.5rem)}
.section--soft{background:var(--soft);box-shadow:0 0 0 100vmax var(--soft);clip-path:inset(0 -100vmax)}
.section--dark{color:var(--on-dark);background:var(--ink);box-shadow:0 0 0 100vmax var(--ink);clip-path:inset(0 -100vmax)}
.section--dark p{color:#c8d8d3}
.eyebrow{display:flex;align-items:center;gap:.7rem;margin:0;color:var(--primary);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.eyebrow::before{content:"";width:1.85rem;height:1px;background:currentColor}
.section--dark .eyebrow,.capacity-panel .eyebrow,.contact-panel .eyebrow,.inner-hero--dark .eyebrow,.site-footer .eyebrow{color:#a9ccc4}
.meta{font-size:.72rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.72fr);gap:1rem 4rem;align-items:end;margin-bottom:3rem}
.section-head .eyebrow{grid-column:1/-1}
.section-head p{max-width:54ch;justify-self:end}
.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:.65rem;border:1px solid transparent;padding:.72rem 1.2rem;font-size:.88rem;font-weight:650;line-height:1;transition:background-color var(--transition),color var(--transition),border-color var(--transition)}
.button svg,.text-link svg,.round-link svg,.resource-grid svg,.guide-list svg,.search-results svg{width:1.1rem;fill:none;stroke:currentColor;stroke-width:1.6}
.button--primary{color:#fff;background:var(--primary)}
.button--primary:hover{background:var(--primary-hover)}
.button--secondary{color:var(--primary);background:transparent;border-color:var(--primary)}
.button--secondary:hover{color:#fff;background:var(--primary)}
.button--text{min-height:44px;padding:.4rem 0;color:var(--primary);border-bottom:1px solid var(--primary)}
.button--light{color:var(--ink);background:var(--on-dark)}
.button--light:hover{color:var(--on-dark);background:transparent;border-color:var(--on-dark)}
.text-link{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;color:var(--primary);font-weight:650;font-size:.88rem}
.text-link svg{transition:transform var(--transition)}
.text-link:hover svg{transform:translateX(3px)}
.skip-link{position:fixed;z-index:100;top:.5rem;left:.5rem;transform:translateY(-150%);padding:.7rem 1rem;color:#fff;background:var(--ink)}
.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid var(--tech);outline-offset:3px}

.site-header{position:sticky;z-index:30;top:0;height:76px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.header-inner{display:grid;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;width:min(calc(100% - 40px),var(--container));height:100%;margin-inline:auto;gap:2rem}
.brand{display:flex;align-items:center;width:126px;height:48px}
.brand img{width:100%;height:auto}
.primary-nav{display:flex;align-items:center;justify-content:center;gap:clamp(1.15rem,2.1vw,2.15rem);min-width:0}
.primary-nav a{position:relative;display:flex;align-items:center;min-height:44px;font-size:.84rem;font-weight:600;white-space:nowrap}
.primary-nav a::after{content:"";position:absolute;right:0;bottom:7px;left:0;height:1px;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform var(--transition)}
.primary-nav a:hover::after,.primary-nav a[aria-current="page"]::after{transform:scaleX(1)}
.header-tools{display:flex;align-items:center;justify-content:flex-end;gap:.4rem}
.icon-button,.menu-toggle,.language-menu>summary{display:flex;width:46px;height:46px;align-items:center;justify-content:center;border:0;background:transparent;cursor:pointer}
.icon-button svg,.menu-toggle svg{width:22px;fill:none;stroke:currentColor;stroke-width:1.6}
.language-menu{position:relative}
.language-menu>summary{list-style:none;font-size:.8rem;font-weight:700}
.language-menu>summary::-webkit-details-marker{display:none}
.language-menu>div{position:absolute;top:52px;right:0;width:240px;padding:1.15rem;background:#fff;border:1px solid var(--line);box-shadow:0 14px 30px rgba(23,49,45,.08)}
.language-menu strong,.language-menu span{display:block}
.language-menu span{margin-top:.35rem;color:var(--muted);font-size:.78rem;line-height:1.45}
.menu-toggle{display:none}
.menu-close-icon{display:none}

.home-hero{position:relative;margin-top:1.25rem;overflow:hidden;background:var(--soft)}
.hero-image{height:clamp(500px,48vw,660px)}
.hero-image picture,.hero-image img{width:100%;height:100%}
.hero-image img{object-fit:cover;object-position:50% 51%}
.hero-panel{position:absolute;right:auto;bottom:2.25rem;left:clamp(1.5rem,5vw,4rem);display:flex;width:min(610px,calc(100% - 4rem));align-items:flex-end;justify-content:space-between;gap:2rem;padding:clamp(2rem,3.2vw,3rem);background:rgba(247,250,248,.96);border-left:5px solid var(--primary)}
.hero-panel h1{max-width:12ch;margin-top:1rem;font-size:clamp(2.55rem,4.2vw,4.55rem);line-height:1.01}
.hero-panel p:not(.eyebrow){max-width:48ch;margin-top:1.1rem;font-size:1rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem}
.hero-index{align-self:flex-start;color:var(--muted);font-size:.66rem;font-weight:700;letter-spacing:.12em;writing-mode:vertical-rl}
.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}
.proof-strip>div{display:flex;min-height:150px;flex-direction:column;justify-content:center;gap:.35rem;padding:1.5rem 2rem;border-right:1px solid var(--line)}
.proof-strip>div:last-child{border-right:0}
.proof-strip strong{font-family:"Space Grotesk",sans-serif;font-size:2.45rem;font-weight:600;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.proof-strip span{max-width:20ch;color:var(--muted);font-size:.83rem;line-height:1.45}
.intro-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(18rem,.75fr);gap:clamp(3rem,8vw,8rem);align-items:start}
.intro-split h2{max-width:12ch}
.intro-split>div:last-child{padding-top:2rem}
.intro-split>div:last-child p{max-width:55ch;margin-bottom:1.25rem}
.category-ledger{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:3.5rem;border-block:1px solid var(--line)}
.category-ledger a{display:grid;min-height:172px;grid-template-columns:auto 1fr;gap:.3rem 1.25rem;align-content:center;padding:1.5rem;border-right:1px solid var(--line);transition:background-color var(--transition)}
.category-ledger a:last-child{border-right:0}
.category-ledger a:hover{background:#fff}
.category-ledger span{grid-row:1/3;color:var(--primary);font-size:.72rem;font-weight:700}
.category-ledger strong{font-family:"Space Grotesk",sans-serif;font-size:1.65rem}
.category-ledger small{color:var(--muted);line-height:1.45}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.product-card{display:flex;min-width:0;flex-direction:column;background:var(--surface)}
.product-media{display:grid;aspect-ratio:1;place-items:center;padding:1.5rem;background:var(--soft);overflow:hidden}
.product-media img{width:100%;height:100%;object-fit:contain;transition:opacity var(--transition)}
.product-media:hover img{opacity:.88}
.product-copy{display:flex;min-height:310px;flex:1;flex-direction:column;padding:1.4rem}
.product-copy h3{margin-top:.55rem;font-size:1.4rem}
.product-copy h3 a{display:flex;min-height:44px;align-items:center}
.product-copy dl{display:grid;gap:.5rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line)}
.product-copy dl div{display:grid;grid-template-columns:6.1rem minmax(0,1fr);gap:.8rem;font-size:.78rem;line-height:1.45}
.product-copy dt{color:var(--muted)}
.product-copy dd{font-weight:600}
.product-copy .text-link{margin-top:auto;padding-top:1.25rem}
.capacity-panel{display:grid;grid-template-columns:minmax(16rem,.72fr) minmax(0,1.4fr) auto;gap:2.5rem;align-items:center;padding:clamp(3rem,5vw,4.5rem);color:var(--on-dark);background:var(--ink)}
.capacity-panel h2{margin-top:.7rem;font-size:clamp(2.5rem,4vw,4.4rem)}
.capacity-panel>div:first-child p{max-width:40ch;margin-top:1rem;color:#bdd0ca;font-size:.9rem}
.capacity-options{display:grid;grid-template-columns:repeat(2,1fr);border-block:1px solid rgba(255,255,255,.22)}
.capacity-options a{display:grid;grid-template-columns:auto 1fr;gap:.2rem .8rem;padding:1rem;border-right:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22);transition:background-color var(--transition)}
.capacity-options a:nth-child(even){border-right:0}
.capacity-options a:nth-last-child(-n+2){border-bottom:0}
.capacity-options a:hover{background:rgba(255,255,255,.08)}
.capacity-options span{grid-row:1/3;color:#9fc4bb;font-size:.65rem}
.capacity-options strong{font-size:.96rem;font-variant-numeric:tabular-nums}
.capacity-options small{color:#b9cec8}
.process-block{display:grid;grid-template-columns:minmax(16rem,.8fr) minmax(0,1.25fr);gap:clamp(3rem,8vw,8rem)}
.process-intro h2{max-width:11ch}
.process-intro p:not(.eyebrow){max-width:45ch;margin-top:1.2rem}
.process-intro .button{margin-top:1.2rem}
.process-steps{list-style:none;border-top:1px solid var(--line)}
.process-steps li{display:grid;grid-template-columns:3.5rem 1fr;gap:1rem;padding:1.35rem 0;border-bottom:1px solid var(--line)}
.process-steps li>span{color:var(--primary);font-size:.72rem;font-weight:700}
.process-steps h3{font-size:1.3rem}
.process-steps p{max-width:48ch;margin-top:.3rem;font-size:.9rem}
.application-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr 1.1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.application-card{display:flex;min-width:0;flex-direction:column;background:#fff}
.application-card img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.82)}
.application-card span{padding:1.15rem 1.15rem .3rem;font-family:"Space Grotesk",sans-serif;font-size:1.35rem;font-weight:600}
.application-card small{padding:0 1.15rem 1.5rem;color:var(--muted);line-height:1.5}
.project-feature{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);align-items:center;gap:clamp(2rem,7vw,7rem)}
.project-media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.project-copy h2{margin-top:.8rem;font-size:clamp(2.3rem,3.7vw,3.8rem)}
.project-copy>p{margin-top:1.25rem}
.project-facts{margin-block:1.7rem;border-top:1px solid var(--line)}
.project-facts>div{display:grid;grid-template-columns:9rem 1fr;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line);font-size:.86rem}
.project-facts dt{color:var(--muted)}
.project-facts dd{font-weight:650}
.editorial-zigzag{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(18rem,.72fr);gap:clamp(3rem,8vw,8rem);align-items:center}
.editorial-zigzag img{width:100%;aspect-ratio:4/3;object-fit:cover}
.editorial-zigzag h2{margin-top:.8rem}
.editorial-zigzag p:not(.eyebrow){margin-top:1.2rem}
.editorial-zigzag .button{margin-top:1.3rem}
.news-list{border-top:1px solid var(--line)}
.news-list article{display:grid;grid-template-columns:3rem minmax(0,1fr) 48px;gap:1.2rem;align-items:center;padding:1.55rem 0;border-bottom:1px solid var(--line)}
.news-list article>span{color:var(--primary);font-size:.72rem;font-weight:700}
.news-list h3{margin-top:.25rem;font-size:clamp(1.1rem,2vw,1.55rem)}
.round-link{display:grid;width:46px;height:46px;place-items:center;border:1px solid var(--line);border-radius:50%;transition:background-color var(--transition),color var(--transition)}
.round-link:hover{color:#fff;background:var(--primary)}
.latest-news>.button{margin-top:1.5rem}
.contact-panel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(18rem,.75fr);gap:2rem;align-items:end;margin-block:clamp(4rem,7vw,7rem);padding:clamp(3rem,6vw,5.5rem);color:var(--on-dark);background:var(--primary)}
.contact-panel h2{max-width:13ch;margin-top:.7rem}
.contact-panel p{max-width:48ch;margin-bottom:1.4rem;color:#d9e8e4}

.inner-hero{display:grid;grid-template-columns:minmax(19rem,.83fr) minmax(0,1.17fr);min-height:560px;margin-top:1.25rem;background:var(--soft)}
.inner-hero>div{display:flex;flex-direction:column;justify-content:center;padding:clamp(2.5rem,5vw,5rem)}
.inner-hero h1{max-width:10ch;margin-top:.95rem;font-size:clamp(3rem,5.1vw,5.3rem)}
.inner-hero p:not(.eyebrow){max-width:48ch;margin-top:1.25rem}
.inner-hero figure{margin:0;min-width:0;overflow:hidden}
.inner-hero figure img{width:100%;height:100%;object-fit:cover}
.inner-hero--dark{color:var(--on-dark);background:var(--ink)}
.inner-hero--dark p:not(.eyebrow){color:#c3d5d0}
.catalog-section{padding-top:3rem}
.filter-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}
.filter-links a{display:flex;min-height:48px;align-items:center;padding:.55rem 1rem;background:#fff;border:1px solid var(--line);font-size:.82rem;font-weight:650}
.filter-links a[aria-current="page"]{color:#fff;background:var(--primary);border-color:var(--primary);text-decoration:underline;text-underline-offset:4px}
.catalog-summary{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem;color:var(--muted);font-size:.8rem}
.selection-note{display:grid;grid-template-columns:1fr .72fr;gap:clamp(2rem,8vw,7rem);align-items:start;border-top:1px solid var(--line)}
.selection-note h2{max-width:14ch;margin-top:.7rem}
.selection-note>p{padding-top:2rem}
.product-hero{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(2rem,5vw,5rem);padding-block:clamp(2rem,5vw,5rem)}
.product-gallery{min-width:0}
.gallery-stage{position:relative;aspect-ratio:4/3;background:var(--soft);overflow:hidden}
.gallery-stage>img{width:100%;height:100%;object-fit:contain}
.gallery-prev,.gallery-next{position:absolute;top:50%;display:grid;width:46px;height:46px;place-items:center;transform:translateY(-50%);border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.9);cursor:pointer}
.gallery-prev{left:.75rem}.gallery-next{right:.75rem}
.gallery-thumbs{display:flex;gap:.6rem;margin-top:.7rem;overflow-x:auto;scrollbar-width:thin}
.gallery-thumbs button{flex:0 0 92px;width:92px;height:72px;padding:.2rem;background:#fff;border:1px solid var(--line);cursor:pointer}
.gallery-thumbs button[aria-current="true"]{border:2px solid var(--primary)}
.gallery-thumbs img{width:100%;height:100%;object-fit:contain}
.gallery-missing{display:flex;min-height:420px;flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,4rem);background:var(--soft);border:1px solid var(--line)}
.gallery-missing span{color:var(--primary);font-size:.7rem;font-weight:700;letter-spacing:.12em}
.gallery-missing strong{max-width:18ch;margin-top:1rem;font-family:"Space Grotesk",sans-serif;font-size:2rem;line-height:1.1}
.gallery-missing p{max-width:48ch;margin-top:1rem}
.gallery-missing a{align-self:flex-start;margin-top:1.2rem;color:var(--primary);font-weight:650;text-decoration:underline;text-underline-offset:3px}
.gallery-missing a,.source-box a,.contact-direct a{min-height:44px;align-items:center}
.gallery-missing a,.source-box a{display:inline-flex}
.product-identity{display:flex;min-width:0;flex-direction:column;justify-content:center}
.product-identity h1{margin-top:.8rem;font-size:clamp(2.5rem,4vw,4.2rem);white-space:nowrap}
.product-lead{max-width:55ch;margin-top:1.4rem;font-size:1.05rem}
.identity-ledger{margin-block:1.7rem;border-top:1px solid var(--line)}
.identity-ledger div{display:grid;grid-template-columns:10rem 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line);font-size:.86rem}
.identity-ledger dt{color:var(--muted)}
.identity-ledger dd{font-weight:650}
.product-identity .button{align-self:flex-start}
.manual-note{margin-bottom:2rem;padding:1rem 1.25rem;background:#fff6dd;border-left:4px solid #9a6c14}
.manual-note p{margin-top:.3rem}
.feature-ledger{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(3rem,8vw,8rem)}
.feature-ledger>div:first-child h2{max-width:12ch;margin-top:.8rem}
.feature-ledger>div:first-child p:not(.eyebrow){max-width:45ch;margin-top:1.1rem}
.feature-ledger>div:last-child{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(255,255,255,.2)}
.feature-ledger article{min-height:180px;padding:1.4rem;border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}
.feature-ledger article:nth-child(even){border-right:0}
.feature-ledger article span{color:#a9ccc4;font-size:.68rem}
.feature-ledger article h3{margin-top:2rem}
.feature-ledger article p{margin-top:.4rem}
.specs-section{display:grid;grid-template-columns:.62fr 1.38fr;gap:clamp(3rem,8vw,8rem)}
.specs-section>div:first-child h2{margin-top:.8rem}
.specs-section>div:first-child p:not(.eyebrow){margin-top:1rem}
.spec-ledger{border-top:1px solid var(--line)}
.spec-ledger>div{display:grid;grid-template-columns:3rem .8fr 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line);font-size:.86rem}
.spec-ledger span{color:var(--primary);font-size:.68rem;font-weight:700}
.spec-ledger em{font-style:normal;color:var(--muted)}
.product-applications{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(2rem,6vw,6rem)}
.product-applications>div:last-child{display:flex;flex-wrap:wrap;align-content:flex-start;gap:.7rem}
.product-applications>div:last-child span{padding:.65rem .8rem;background:#fff;border:1px solid var(--line);font-size:.82rem}
.product-applications>div:last-child a{display:flex;align-items:center;gap:.5rem;min-height:44px;color:var(--primary);font-size:.84rem;font-weight:650}
.product-applications svg{width:1rem;fill:none;stroke:currentColor;stroke-width:1.6}

.application-directory{display:grid;gap:1px;padding-top:3rem;background:var(--line)}
.application-directory article{display:grid;grid-template-columns:3rem minmax(280px,.7fr) minmax(18rem,1fr);gap:2rem;align-items:center;padding:1.4rem;background:var(--surface)}
.application-directory article>span{align-self:start;color:var(--primary);font-size:.72rem;font-weight:700}
.application-directory img{width:100%;aspect-ratio:16/10;object-fit:cover}
.application-directory h2{font-size:clamp(2rem,3vw,3.1rem)}
.application-directory p{max-width:55ch;margin-top:.8rem}
.application-directory small{display:block;margin-top:.8rem;color:var(--muted)}
.application-directory .text-link{margin-top:.9rem}
.application-flow{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(3rem,8vw,8rem)}
.application-flow h2{margin-top:.8rem}
.application-flow img{width:min(78%,440px);margin-top:2rem;aspect-ratio:4/5;object-fit:cover}
.application-flow ol{list-style:none;border-top:1px solid var(--line)}
.application-flow li{display:grid;grid-template-columns:3rem 1fr;gap:.2rem 1rem;padding:1.25rem 0;border-bottom:1px solid var(--line)}
.application-flow li span{grid-row:1/3;color:var(--primary);font-size:.7rem;font-weight:700}
.application-flow li p{margin-top:.3rem}
.paired-callout{display:grid;grid-template-columns:1fr .8fr;gap:clamp(2rem,7vw,7rem);align-items:center}
.paired-callout h2{margin-top:.8rem}
.paired-callout p:not(.eyebrow){max-width:50ch;margin-top:1rem}
.paired-callout .button{margin-top:1rem}
.paired-callout img{width:100%;aspect-ratio:1;object-fit:contain}
.tech-principles .section-head{grid-template-columns:1fr .9fr}
.numbered-panels{display:grid;grid-template-columns:repeat(4,1fr);margin-top:3rem;border-block:1px solid var(--line)}
.numbered-panels article{min-height:240px;padding:1.5rem;border-right:1px solid var(--line)}
.numbered-panels article:last-child{border-right:0}
.numbered-panels span{color:var(--tech);font-size:.7rem;font-weight:700}
.numbered-panels h3{margin-top:4rem}
.numbered-panels p{margin-top:.55rem;font-size:.86rem}
.technical-diagram{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(3rem,8vw,8rem)}
.technical-diagram h2{max-width:11ch;margin-top:.8rem}
.technical-diagram ol{list-style:none;border-top:1px solid rgba(255,255,255,.22)}
.technical-diagram li{display:grid;grid-template-columns:8rem 1fr;gap:1rem;padding:1.1rem 0;border-bottom:1px solid rgba(255,255,255,.22)}
.technical-diagram li span{color:#aacbc4}
.project-index{padding-top:3rem}
.project-index article{display:grid;grid-template-columns:8rem minmax(0,1fr) 48px;gap:1rem;align-items:center;padding-block:1.5rem;border-block:1px solid var(--line)}
.project-index article>span{color:var(--primary);font-size:.7rem;font-weight:700}
.project-index h2{font-size:clamp(2rem,3.6vw,3.7rem)}
.project-index p{margin-top:.5rem}
.empty-state{padding:2rem;background:var(--soft);border:1px solid var(--line)}
.project-index .empty-state{margin-top:2rem}
.empty-state p{max-width:58ch;margin-top:.5rem}
.empty-state--large{padding:clamp(3rem,7vw,6rem)}
.empty-state--large span{color:var(--primary);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.empty-state--large h2{max-width:13ch;margin-top:.8rem}
.empty-state--large .button{margin-top:1.4rem}
.project-detail{display:grid;grid-template-columns:.6fr 1.4fr;gap:clamp(3rem,8vw,8rem)}
.project-detail h2{margin-top:.8rem}
.project-detail dl{border-top:1px solid var(--line)}
.project-detail dl div{display:grid;grid-template-columns:10rem 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.project-detail dt{color:var(--muted)}
.project-detail dd{font-weight:650}
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;padding-top:3rem;background:var(--line);border:1px solid var(--line)}
.resource-grid a{display:flex;min-height:310px;flex-direction:column;padding:1.5rem;background:#fff}
.resource-grid a>span{color:var(--primary);font-size:.68rem;font-weight:700}
.resource-grid h2{margin-top:auto;font-size:2rem}
.resource-grid p{margin-top:.6rem;font-size:.86rem}
.resource-grid i{margin-top:1rem;color:var(--primary)}
.editorial-archive{padding-top:3rem}
.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.archive-grid article{display:flex;min-width:0;flex-direction:column;padding-bottom:1.4rem;border-bottom:1px solid var(--line)}
.archive-grid img{width:100%;aspect-ratio:16/10;object-fit:cover}
.archive-grid .meta{margin-top:1rem}
.archive-grid h2{margin-top:.6rem;font-family:Inter,sans-serif;font-size:1.38rem;line-height:1.25;letter-spacing:-.025em}
.archive-grid article>p:not(.meta){margin-top:.65rem;font-size:.86rem}
.archive-grid .text-link{margin-top:auto;padding-top:1rem}
.article-page{padding-block:clamp(3rem,7vw,6rem)}
.article-page>header{width:min(100%,980px);margin-inline:auto}
.article-page h1{margin-top:1rem;font-size:clamp(3rem,5.6vw,5.8rem)}
.article-lead{max-width:62ch;margin-top:1.4rem;font-size:1.15rem}
.article-page>header img{width:100%;margin-top:2.5rem;aspect-ratio:16/9;object-fit:cover}
.article-body{width:min(100%,920px);margin:clamp(3rem,6vw,5rem) auto 0}
.article-body h2{margin-top:2.4rem;font-size:clamp(2rem,3vw,2.8rem)}
.article-body p{max-width:70ch;margin-top:1rem}
.source-box{margin-top:3rem;padding:1.5rem;background:var(--soft);border-left:4px solid var(--primary)}
.source-box h2{margin:0;font-size:1.4rem}
.source-box a{display:inline-flex;min-height:44px;align-items:center;margin-top:.7rem;color:var(--primary);text-decoration:underline;text-underline-offset:3px}
.guide-list{display:grid;gap:0;padding-top:3rem;border-top:1px solid var(--line)}
.guide-list a{display:grid;grid-template-columns:3.5rem minmax(0,1fr) 12rem 2rem;gap:1rem;align-items:center;min-height:92px;border-bottom:1px solid var(--line)}
.guide-list a>span{color:var(--primary);font-size:.7rem;font-weight:700}
.guide-list a>small{color:var(--muted)}
.guide-list i{color:var(--primary)}
.guide-hero{display:grid;grid-template-columns:.84fr 1.16fr;min-height:620px;margin-top:1.25rem;background:var(--soft)}
.guide-hero>div{display:flex;flex-direction:column;justify-content:center;padding:clamp(2.5rem,5vw,5rem)}
.guide-hero h1{margin-top:.9rem;font-size:clamp(3rem,5vw,5rem)}
.guide-hero p:not(.eyebrow){margin-top:1.2rem}
.guide-hero .button{align-self:flex-start;margin-top:1.6rem}
.guide-hero figure{margin:0;overflow:hidden}
.guide-hero figure img{width:100%;height:100%;object-fit:cover;object-position:50% 75%}
.narrow-story{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(3rem,8vw,8rem)}
.display-line{font-family:"Space Grotesk",sans-serif;font-size:clamp(2.5rem,4.5vw,4.8rem);font-weight:500;line-height:1.04;letter-spacing:-.045em;color:var(--ink)}
.narrow-story h2{font-size:2rem}
.narrow-story>div p{margin-top:1rem}
.proof-strip--inner{grid-template-columns:repeat(3,1fr);box-shadow:0 0 0 100vmax var(--soft);clip-path:inset(0 -100vmax)}
.contact-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(3rem,8vw,8rem)}
.contact-layout h2{margin-top:.8rem}
.contact-layout>div>p:not(.eyebrow){margin-top:1.2rem}
.contact-direct{display:flex;flex-direction:column;gap:.5rem;margin-top:1.5rem;color:var(--primary);font-weight:650}
.contact-direct a{display:flex}
.inquiry-form{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.inquiry-form label{display:flex;flex-direction:column;gap:.35rem;color:var(--ink);font-size:.82rem;font-weight:650}
.inquiry-form .full{grid-column:1/-1}
.inquiry-form input,.inquiry-form select,.inquiry-form textarea{width:100%;min-height:48px;padding:.7rem .8rem;color:var(--ink);background:#fff;border:1px solid #9dafaa;border-radius:0}
.inquiry-form textarea{resize:vertical}
.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{border-color:var(--primary);outline:3px solid rgba(47,115,158,.25)}
.form-note{font-size:.78rem;font-weight:400}
.inquiry-form button{justify-self:start;border:0;cursor:pointer}
.search-hero{padding-block:clamp(4rem,9vw,8rem)}
.search-hero h1{max-width:11ch;margin-top:1rem}
.search-hero label{display:block;max-width:760px;margin-top:2.5rem}
.search-hero label span{display:block;margin-bottom:.45rem;font-size:.8rem;font-weight:650}
.search-hero input{width:100%;min-height:64px;padding:1rem 1.2rem;border:1px solid var(--line);background:#fff;font-size:1.05rem}
.search-results{padding-top:0;border-top:1px solid var(--line)}
.results-count{padding-block:1rem;border-bottom:1px solid var(--line);font-size:.8rem}
.search-results>a{display:grid;grid-template-columns:9rem minmax(0,1fr) 2rem;gap:1rem;align-items:center;min-height:84px;border-bottom:1px solid var(--line)}
.search-results>a[hidden]{display:none}
.search-results>a span{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}
.search-results>a strong{font-size:1.05rem}
.search-results>a i{color:var(--primary)}
.faq-layout{display:grid;grid-template-columns:.35fr 1fr;gap:clamp(2rem,7vw,7rem)}
.faq-layout aside{display:flex;flex-direction:column;align-self:start;gap:.4rem;position:sticky;top:100px;padding:1.2rem;background:var(--soft)}
.faq-layout aside a{min-height:44px;padding:.6rem 0;color:var(--primary)}
.faq-layout details{border-top:1px solid var(--line)}
.faq-layout details:last-child{border-bottom:1px solid var(--line)}
.faq-layout summary{display:flex;min-height:76px;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;font-weight:650;list-style:none}
.faq-layout summary::after{content:"+";font-size:1.4rem;color:var(--primary)}
.faq-layout details[open] summary::after{content:"-"}
.faq-layout details p{max-width:65ch;padding:0 3rem 1.4rem 0}
.legal-page{width:min(calc(100% - 40px),860px);padding-block:clamp(4rem,9vw,8rem)}
.legal-page h1{margin-top:1rem}
.legal-page h2{margin-top:3rem;font-size:2.4rem}
.legal-page>p:not(.eyebrow){margin-top:1rem}
.legal-notice{margin-top:2.4rem;padding:1.4rem;background:var(--soft);border-left:4px solid var(--primary)}
.legal-notice p{margin-top:.45rem}
.legal-page .button{margin-top:1.5rem}
.not-found{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;min-height:640px;padding-block:4rem}
.not-found>span{font-family:"Space Grotesk",sans-serif;font-size:clamp(8rem,24vw,19rem);font-weight:600;line-height:.7;color:var(--soft);letter-spacing:-.1em}
.not-found h1{max-width:10ch;margin-top:1rem}
.not-found p:not(.eyebrow){margin-top:1rem}
.not-found>div>div{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}

.site-footer{min-height:620px;padding-top:clamp(4rem,7vw,6rem);color:var(--on-dark);background:var(--ink)}
.site-footer a,.site-footer button{color:inherit}
.footer-contact{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding-bottom:clamp(3rem,5vw,4.5rem);border-bottom:1px solid rgba(255,255,255,.18)}
.footer-contact h2{max-width:14ch;margin-top:.7rem;font-size:clamp(2.5rem,4.5vw,4.5rem)}
.footer-grid{display:grid;grid-template-columns:1.35fr repeat(4,.72fr);gap:2.2rem;padding-block:clamp(3rem,5vw,4.5rem)}
.footer-grid>div{display:flex;flex-direction:column;gap:.55rem}
.footer-grid h3{margin-bottom:.4rem;font-size:.83rem;text-transform:uppercase;letter-spacing:.1em}
.footer-grid h3 a{text-decoration:underline;text-underline-offset:4px}
.footer-grid h3 a,.footer-grid>div>a{display:flex;min-height:44px;align-items:center}
.footer-grid>div>a{color:#b8c8c3;font-size:.82rem}
.footer-grid>div>a:hover{color:#fff}
.footer-brand{display:flex;max-width:260px;flex-direction:column;gap:1.2rem}
.footer-brand img{width:140px;filter:brightness(0) invert(1)}
.footer-brand span{color:#b8c8c3;font-size:.84rem}
.footer-bottom{display:flex;justify-content:space-between;gap:2rem;padding-block:1.5rem;border-top:1px solid rgba(255,255,255,.18);color:#a9bab5;font-size:.74rem}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:1.4rem}
.footer-bottom nav a,.footer-bottom button{display:flex;min-height:44px;align-items:center}
.footer-bottom button{padding:0;border:0;background:transparent;cursor:pointer;font-size:inherit}
.toast{position:fixed;z-index:60;right:1rem;bottom:1rem;max-width:340px;padding:1rem 1.1rem;color:#fff;background:var(--ink);border-left:4px solid #a9ccc4;box-shadow:0 12px 30px rgba(0,0,0,.18)}

@media(max-width:1080px){
  .header-inner{grid-template-columns:135px minmax(0,1fr) auto;gap:1rem}
  .primary-nav{gap:1.1rem}
  .capacity-panel{grid-template-columns:.75fr 1.25fr}.capacity-panel>.button{grid-column:2;justify-self:start}
  .application-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1.2fr repeat(2,1fr)}
  .footer-grid>div:nth-last-child(-n+2){padding-top:1rem}
}

@media(max-width:900px){
  body{font-size:16px}
  .site-header{height:70px}
  .header-inner{grid-template-columns:1fr auto;width:min(calc(100% - 32px),var(--container))}
  .brand{width:115px}
  .menu-toggle{display:grid}
  .menu-close-icon{display:none}
  .menu-open-icon{display:block}
  .menu-toggle[aria-expanded="true"] .menu-open-icon{display:none}
  .menu-toggle[aria-expanded="true"] .menu-close-icon{display:block}
  .primary-nav{position:fixed;z-index:28;top:70px;right:0;left:0;display:flex;max-height:0;flex-direction:column;align-items:stretch;gap:0;overflow:hidden;background:#fff;border-bottom:0;opacity:0;visibility:hidden;transition:max-height var(--transition),opacity var(--transition)}
  body.menu-open .primary-nav{max-height:calc(100dvh - 70px);overflow-y:auto;border-bottom:1px solid var(--line);opacity:1;visibility:visible}
  .primary-nav a{min-height:64px;padding-inline:2rem;border-top:1px solid var(--line);font-size:1rem}
  .primary-nav a::after{display:none}
  .primary-nav a[aria-current="page"]{color:var(--primary);background:var(--soft);text-decoration:underline;text-underline-offset:4px}
  .home-hero{overflow:visible}
  .hero-image{height:auto;aspect-ratio:16/9}
  .hero-image img{object-position:51% 50%}
  .hero-panel{position:static;width:100%;padding:2.2rem;border-left:0;border-top:5px solid var(--primary)}
  .hero-panel h1{max-width:15ch;font-size:clamp(2.4rem,7vw,4rem)}
  .hero-index{display:none}
  .proof-strip{grid-template-columns:repeat(2,1fr)}
  .proof-strip>div:nth-child(2){border-right:0}.proof-strip>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .intro-split,.project-feature,.editorial-zigzag,.process-block,.selection-note,.feature-ledger,.specs-section,.product-applications,.application-flow,.paired-callout,.technical-diagram,.project-detail,.narrow-story,.contact-layout{grid-template-columns:1fr}
  .intro-split>div:last-child,.selection-note>p{padding-top:0}
  .category-ledger{grid-template-columns:1fr}
  .category-ledger a{border-right:0;border-bottom:1px solid var(--line)}
  .category-ledger a:last-child{border-bottom:0}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .capacity-panel{grid-template-columns:1fr;padding:3rem 2rem}.capacity-panel>.button{grid-column:1}
  .inner-hero{grid-template-columns:1fr;min-height:0}
  .inner-hero>div{min-height:390px}
  .inner-hero figure{aspect-ratio:16/9}
  .inner-hero figure img{object-position:center}
  .product-hero{grid-template-columns:1fr}
  .product-identity h1{white-space:normal}
  .application-directory article{grid-template-columns:2.5rem 1fr}.application-directory article>div{grid-column:2}.application-directory img{grid-column:2}
  .numbered-panels{grid-template-columns:repeat(2,1fr)}
  .numbered-panels article:nth-child(2){border-right:0}.numbered-panels article:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .archive-grid{grid-template-columns:repeat(2,1fr)}
  .resource-grid{grid-template-columns:repeat(2,1fr)}
  .guide-hero{grid-template-columns:1fr;min-height:0}.guide-hero figure{max-height:560px}
  .faq-layout{grid-template-columns:1fr}.faq-layout aside{position:static;display:grid;grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
  .footer-brand{grid-column:1/-1;max-width:360px}
}

@media(max-width:640px){
  .shell{width:min(calc(100% - 28px),var(--container))}
  .section{padding-block:3.8rem}
  h1{font-size:clamp(2.45rem,12vw,3.7rem)}
  h2{font-size:clamp(2rem,9.8vw,3rem)}
  .header-inner{width:calc(100% - 24px)}
  .icon-button,.language-menu>summary,.menu-toggle{width:44px;height:44px}
  .language-menu>div{right:-48px}
  .home-hero{width:100%;margin-top:0}
  .hero-image{aspect-ratio:5/4}
  .hero-image img{object-position:51% 50%}
  .hero-panel{padding:1.75rem 1.25rem 2rem}
  .hero-panel h1{font-size:clamp(2.25rem,10.5vw,3.1rem)}
  .hero-panel p:not(.eyebrow){font-size:.94rem}
  .hero-actions{display:grid;grid-template-columns:1fr;width:100%}
  .hero-actions .button{width:100%}
  .proof-strip{width:100%;grid-template-columns:repeat(2,1fr)}
  .proof-strip>div{min-height:134px;padding:1.2rem}
  .proof-strip strong{font-size:2rem}
  .proof-strip span{font-size:.75rem}
  .section-head{grid-template-columns:1fr;margin-bottom:2rem}.section-head .eyebrow{grid-column:1}.section-head p{justify-self:start}
  .tech-principles .section-head{grid-template-columns:1fr}
  .product-grid{grid-template-columns:1fr}
  .product-copy{min-height:280px}
  .capacity-panel{width:100%;padding:2.7rem 1.25rem}
  .capacity-options{grid-template-columns:1fr}
  .capacity-options a{border-right:0;border-bottom:1px solid rgba(255,255,255,.22)!important}
  .capacity-options a:last-child{border-bottom:0!important}
  .application-grid{grid-template-columns:1fr}
  .application-card img{aspect-ratio:5/4}
  .project-feature{gap:2rem}.project-copy h2{font-size:2.45rem}
  .contact-panel{width:100%;grid-template-columns:1fr;margin-block:0;padding:3rem 1.25rem}
  .inner-hero{width:100%;margin-top:0}
  .inner-hero>div{min-height:0;padding:2.8rem 1.25rem}
  .inner-hero h1{font-size:clamp(2.7rem,12.5vw,4rem);overflow-wrap:anywhere}
  .inner-hero figure{aspect-ratio:5/4}
  .filter-links{display:grid;grid-template-columns:1fr}
  .filter-links a{width:100%;height:56px;justify-content:center}
  .product-hero{padding-top:1.5rem}
  .gallery-stage{aspect-ratio:1}
  .gallery-prev,.gallery-next{width:44px;height:44px}
  .gallery-thumbs button{flex-basis:74px;width:74px;height:60px}
  .identity-ledger div{grid-template-columns:8rem 1fr}
  .feature-ledger>div:last-child{grid-template-columns:1fr}.feature-ledger article{border-right:0}
  .spec-ledger>div{grid-template-columns:2rem 1fr}.spec-ledger em{grid-column:2}
  .application-directory article{grid-template-columns:2rem 1fr;gap:1rem;padding:1rem}.application-directory img{aspect-ratio:5/4}
  .application-flow img{width:100%;max-width:none;aspect-ratio:4/5}
  .numbered-panels{grid-template-columns:1fr}.numbered-panels article{min-height:190px;border-right:0!important}.numbered-panels article h3{margin-top:2.2rem}
  .technical-diagram li{grid-template-columns:6rem 1fr}
  .project-index article{grid-template-columns:1fr 48px}.project-index article>span{grid-column:1/-1}
  .project-detail dl div{grid-template-columns:8rem 1fr}
  .resource-grid{grid-template-columns:1fr}.resource-grid a{min-height:240px}
  .archive-grid{grid-template-columns:1fr}
  .guide-list a{grid-template-columns:2rem minmax(0,1fr) 1.5rem;min-height:88px}.guide-list a>small{grid-column:2}.guide-list a>i{grid-column:3;grid-row:1/3}
  .guide-hero{width:100%;margin-top:0}.guide-hero>div{padding:2.8rem 1.25rem}.guide-hero figure{max-height:480px}
  .proof-strip--inner{grid-template-columns:1fr}.proof-strip--inner>div{border-right:0;border-bottom:1px solid var(--line)}
  .inquiry-form{grid-template-columns:1fr}.inquiry-form .full{grid-column:1}
  .search-results>a{grid-template-columns:1fr 2rem;padding:1rem 0}.search-results>a span{grid-column:1/-1}.search-results>a i{grid-column:2;grid-row:2}
  .faq-layout aside{grid-template-columns:1fr}.faq-layout aside a{border-top:1px solid var(--line)}
  .not-found{grid-template-columns:1fr;min-height:570px}.not-found>span{font-size:9rem}.not-found>div>div{display:grid}
  .footer-contact{align-items:flex-start;flex-direction:column}
  .footer-grid{grid-template-columns:1fr}.footer-grid>div:nth-last-child(-n+2){padding-top:0}
  .footer-bottom{flex-direction:column}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
