
/* Layout: multi-page industrial brand site — logo blue + safety yellow, technical grid, hazard stripes, console readouts, photo frames with crop marks */
:root{
  --bg:#f4f5fa; --surface:#ffffff; --fg:#11143b; --muted:#5a5e7e; --line:#dcdeee;
  --brand:#4652a4; --brand-deep:#262d6b; --accent:#3b4699; --accent-soft:#eaecf7;
  --yellow:#fae70a; --yellow-hi:#fff04d; --yellow-ink:#1a1f4d;
  --band-fg:#ffffff; --band-muted:#c3c6ee; --band-line:rgba(255,255,255,.16); --band-panel:rgba(255,255,255,.07);
  --ph-a:#e3e5f5; --ph-b:rgba(70,82,164,.09);
  --f-display:"Archivo","Arial Narrow",Arial,sans-serif;
  --f-body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --wrap:1240px; --gut:clamp(16px,4vw,40px);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0b0c22; --surface:#121437; --fg:#eceefe; --muted:#a3a6cc; --line:#262a5a;
  --brand-deep:#1d2257; --accent:#a9adff; --accent-soft:#1c1f4d; --ph-a:#171a42; --ph-b:rgba(169,173,255,.07); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0b0c22; --surface:#121437; --fg:#eceefe; --muted:#a3a6cc; --line:#262a5a;
  --brand-deep:#1d2257; --accent:#a9adff; --accent-soft:#1c1f4d; --ph-a:#171a42; --ph-b:rgba(169,173,255,.07); color-scheme:dark}

*{box-sizing:border-box}
body{overflow-x:clip;background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
h1,h2,h3{font-family:var(--f-display);font-stretch:112%;line-height:1.04;margin:0;text-wrap:balance;letter-spacing:-.01em}
p{margin:0}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.eyebrow::before{content:"";width:9px;height:9px;background:var(--yellow);flex:none}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.btn{display:inline-flex;align-items:center;gap:10px;font:600 15px/1 var(--f-body);padding:15px 22px;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .2s,background .2s;clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%)}
.btn-y{background:var(--yellow);color:var(--yellow-ink)}
.btn-y:hover{background:var(--yellow-hi);transform:translateY(-1px)}
.btn-b{background:var(--brand);color:#fff}
.btn-b:hover{background:var(--brand-deep)}
.btn-o{border-color:currentColor;background:transparent;color:inherit;clip-path:none}
.btn-o:hover{background:var(--ph-b)}
.link{font:600 15px var(--f-body);color:var(--accent);text-decoration:none;display:inline-flex;gap:8px;align-items:center}
.link:hover{text-decoration:underline;text-underline-offset:4px}
.stripe{height:10px;background:repeating-linear-gradient(-45deg,var(--yellow) 0 12px,var(--brand-deep) 12px 24px)}
section{padding-block:clamp(56px,8vw,104px)}
.sec-head{display:grid;grid-template-columns:1fr 1fr;gap:20px 56px;align-items:end;margin-bottom:44px}
.sec-head h2{font-size:clamp(30px,4vw,50px);font-weight:700;margin-top:14px}
.sec-head p{color:var(--muted);max-width:56ch}
@media (max-width:860px){.sec-head{grid-template-columns:1fr}}

/* Blue band (scoped tokens) */
.band{background:var(--brand-deep);color:var(--band-fg);--fg:var(--band-fg);--muted:var(--band-muted);--line:var(--band-line);--accent:var(--yellow);--surface:var(--band-panel);--ph-a:#323a85;--ph-b:rgba(255,255,255,.06);position:relative}
.band.grid::before,.phero::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:48px 48px}
.band > *{position:relative}

/* Image placeholders */
.ph{position:relative;background:var(--ph-a);background-image:repeating-linear-gradient(135deg,transparent 0 14px,var(--ph-b) 14px 15px);display:grid;place-items:center;overflow:hidden;min-height:120px;max-width:100%}
.ph::before,.ph::after{content:"";position:absolute;width:22px;height:22px;border:2px solid var(--yellow)}
.ph::before{top:12px;left:12px;border-right:0;border-bottom:0}
.ph::after{bottom:12px;right:12px;border-left:0;border-top:0}
.ph span{font:500 11px/1.5 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:center;padding:12px 24px;max-width:30ch}
.ph span::before{content:"";display:block;width:28px;height:22px;margin:0 auto 10px;border:1.5px solid currentColor;border-radius:3px;background:radial-gradient(circle at 50% 55%,currentColor 0 4px,transparent 5px)}
.r169{aspect-ratio:16/9}.r43{aspect-ratio:4/3}.r11{aspect-ratio:1/1}.r32{aspect-ratio:3/2}.r34{aspect-ratio:3/4}

/* Top bar + nav */
.topbar{background:var(--brand-deep);color:#c3c6ee;font:13px/1 var(--f-mono)}
.topbar .wrap{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;justify-content:space-between;padding-block:9px}
.topbar .info{display:flex;flex-wrap:wrap;gap:6px 22px}
.lang{display:flex;gap:2px}
.lang button{font:500 12px/1 var(--f-mono);letter-spacing:.08em;background:transparent;color:#c3c6ee;border:1px solid transparent;padding:6px 9px;cursor:pointer}
.lang button[aria-pressed="true"]{color:var(--yellow-ink);background:var(--yellow)}
header.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 1px 0 var(--line)}
header.nav .wrap{display:flex;align-items:center;gap:22px;padding-block:12px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo-img{height:48px;width:auto;display:block}
.logo-mark{width:46px;height:46px;background:var(--brand);display:grid;place-items:center;font:800 15px/1 var(--f-display);font-stretch:125%;color:var(--yellow);clip-path:polygon(0 0,100% 0,100% 72%,72% 100%,0 100%)}
.logo-txt b{display:block;font:700 17px/1.05 var(--f-display);font-stretch:118%;color:var(--accent)}
.logo-txt span{font:11px/1 var(--f-mono);color:var(--muted);letter-spacing:.1em;text-transform:uppercase}
.menu{display:flex;gap:4px;margin-left:auto;font-size:14px}
.menu a{text-decoration:none;color:var(--muted);padding:10px 10px;position:relative;font-weight:500}
.menu a:hover{color:var(--fg)}
.menu a[aria-current="page"]{color:var(--fg)}
.menu a[aria-current="page"]::after{content:"";position:absolute;left:10px;right:10px;bottom:2px;height:3px;background:var(--yellow)}
.burger{display:none;margin-left:auto;background:transparent;border:1px solid var(--line);color:var(--fg);font:500 13px var(--f-mono);padding:10px 12px;cursor:pointer}
.nav .btn{padding:12px 16px;font-size:14px}
@media (max-width:1240px){.menu{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--surface);border-bottom:1px solid var(--line);padding:8px var(--gut) 16px}.menu.open{display:flex}.burger{display:block}.nav .btn{display:none}}

/* Pages */
.page[hidden]{display:none!important}
.phero{background:var(--brand-deep);color:#fff;position:relative;overflow:hidden}
.phero .wrap{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:end;padding-block:clamp(48px,7vw,88px) clamp(40px,5vw,64px)}
.crumb{font:12px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#c3c6ee;margin-bottom:22px}
.crumb a{text-decoration:none;color:var(--yellow)}
.phero h1{font-size:clamp(36px,5.4vw,68px);font-weight:700}
.phero p{color:#c3c6ee;font-size:clamp(16px,1.3vw,18px);max-width:54ch}
.phero .code{font:800 clamp(64px,9vw,128px)/.8 var(--f-display);font-stretch:62%;color:transparent;-webkit-text-stroke:1.5px rgba(250,231,10,.55);text-align:right}
@media (max-width:860px){.phero .wrap{grid-template-columns:1fr}.phero .code{display:none}}

/* Home hero */
.hero{position:relative;overflow:hidden;background:var(--bg)}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:48px 48px;opacity:.7;mask-image:linear-gradient(90deg,#000 0,transparent 75%)}
.hero .wrap{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding-block:clamp(48px,7vw,96px)}
.hero h1{font-size:clamp(40px,5.8vw,78px);font-weight:750;color:var(--fg)}
.hero h1 em{font-style:normal;color:var(--accent);background:linear-gradient(transparent 64%,var(--yellow) 64%,var(--yellow) 90%,transparent 90%)}
.hero .lead{color:var(--muted);font-size:clamp(16px,1.35vw,19px);max-width:52ch;margin-top:24px}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero .ctas .btn-o{color:var(--accent)}
.badge{display:inline-flex;gap:10px;align-items:center;border:1px solid var(--line);background:var(--surface);padding:8px 12px;font:12px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:26px}
.badge i{width:8px;height:8px;background:var(--yellow);box-shadow:0 0 0 3px var(--brand)}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}}

/* Console */
.console{background:var(--brand-deep);color:#fff;padding:18px;position:relative;clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,28px 100%,0 calc(100% - 28px));--rl:#4a54a8;--ra:var(--yellow);--rf:rgba(250,231,10,.07);--ri:#5b66c0;--rh:var(--brand-deep);--rm:#aeb1e6}
.console-top{display:flex;justify-content:space-between;align-items:center;font:11px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#aeb1e6;padding:4px 6px 14px;border-bottom:1px solid #3a4290}
.live{display:inline-flex;align-items:center;gap:8px;color:var(--yellow)}
.live i{width:8px;height:8px;border-radius:50%;background:var(--yellow);animation:blink 1.6s ease-in-out infinite}
@keyframes blink{50%{opacity:.25}}
.console svg{width:100%;height:auto;aspect-ratio:560/400;display:block}
.readouts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #3a4290}
.readouts div{padding:14px 8px 6px;border-right:1px solid #3a4290;min-width:0}
.readouts div:last-child{border-right:0}
.readouts span{display:block;font:10.5px/1.3 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:#aeb1e6}
.readouts b{display:block;font:600 clamp(18px,2vw,24px)/1.2 var(--f-mono);font-variant-numeric:tabular-nums;color:#fff;margin-top:6px}
.readouts b small{font-size:12px;color:var(--yellow);margin-left:3px}
.spin-cw{animation:cw 9s linear infinite;transform-box:fill-box;transform-origin:center}
.spin-ccw{animation:ccw 13.5s linear infinite;transform-box:fill-box;transform-origin:center}
@keyframes cw{to{transform:rotate(360deg)}}
@keyframes ccw{to{transform:rotate(-360deg)}}
@media (max-width:520px){.readouts{grid-template-columns:1fr 1fr}.readouts div:nth-child(2){border-right:0}}
@media (prefers-reduced-motion:reduce){.spin-cw,.spin-ccw,.live i{animation:none}}

/* Facts */
.facts .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.fact{padding:28px 24px 30px;border-right:1px solid var(--band-line)}
.fact:first-child{padding-left:0}.fact:last-child{border-right:0}
.fact b{display:block;font:700 clamp(26px,3vw,40px)/1 var(--f-display);font-stretch:115%;color:var(--yellow)}
.fact span{display:block;color:var(--band-muted);font-size:14px;margin-top:8px}
@media (max-width:860px){.facts .wrap{grid-template-columns:1fr 1fr}.fact{padding-inline:0 16px;border-right:0;border-bottom:1px solid var(--band-line)}}

/* Split blocks */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.split h2{font-size:clamp(30px,4vw,50px);font-weight:700;margin-top:14px}
.split .txt p{color:var(--muted);margin-top:18px;max-width:58ch}
.split .txt p.strong{color:var(--fg);font-size:18px}
.split .txt .link{margin-top:24px}
.ph-stack{display:grid;grid-template-columns:1.4fr 1fr;gap:12px}
.ph-stack .ph:first-child{grid-row:span 2}
@media (max-width:860px){.split{grid-template-columns:1fr}}

/* Solution cards */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{background:var(--surface);border:1px solid var(--line);text-decoration:none;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s;min-width:0}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(38,45,107,.45)}
.card .body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.card .tag{font:11px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.card h3{font-size:22px;font-weight:650}
.card p{color:var(--muted);font-size:15px;flex:1}
.card .go{font:600 14px var(--f-body);color:var(--accent);display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;margin-top:6px}
.card .spec{font:500 13px/1.5 var(--f-mono);color:var(--fg)}
.card .spec span{color:var(--muted);display:block;font-size:11.5px;letter-spacing:.05em}
.cards.c3{grid-template-columns:repeat(3,1fr)}
.card.hl{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}
@media (max-width:1000px){.cards{grid-template-columns:1fr 1fr}.cards.c3{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.cards,.cards.c3{grid-template-columns:1fr}}

/* BOGE band */
.boge .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:28px 56px;align-items:center}
.century{font:800 clamp(80px,11vw,148px)/.82 var(--f-display);font-stretch:62%;color:var(--yellow)}
.century small{display:block;font:500 12px/1.4 var(--f-mono);letter-spacing:.14em;color:var(--band-muted);margin-top:10px}
.boge h2{font-size:clamp(24px,2.6vw,34px);font-weight:600}
.boge p{color:var(--band-muted);margin-top:12px;max-width:62ch}
.pills{display:flex;flex-direction:column;gap:8px}
.pill{font:500 12px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);padding:9px 12px;white-space:nowrap}
@media (max-width:960px){.boge .wrap{grid-template-columns:1fr}.pills{flex-direction:row;flex-wrap:wrap}}

/* Industries */
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ind-grid > div{background:var(--surface);border:1px solid var(--line);min-width:0}
.ind-grid .ph{aspect-ratio:16/10;min-height:0}
.ind-grid .ph span{font-size:10px;padding:8px}
.ind-grid .ph span::before{display:none}
.ind-grid .t{padding:14px 16px 16px}
.ind-grid b{display:block;font:600 17px/1.2 var(--f-display);font-stretch:108%}
.ind-grid small{font:12px/1.4 var(--f-mono);color:var(--muted)}
@media (max-width:860px){.ind-grid{grid-template-columns:1fr 1fr}}

/* Gallery */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gallery figure{margin:0;min-width:0}
.gallery figure.big{grid-column:span 2;grid-row:span 2}
.gallery figure.big .ph{height:calc(100% - 44px)}
.gallery figcaption{font:12px/1.4 var(--f-mono);color:var(--muted);padding-top:10px;letter-spacing:.04em}
@media (max-width:760px){.gallery{grid-template-columns:1fr}.gallery figure.big{grid-column:auto;grid-row:auto}.gallery figure.big .ph{height:auto;aspect-ratio:4/3}}

/* CTA band */
.cta .wrap{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;padding-block:clamp(40px,5vw,64px)}
.cta h2{font-size:clamp(28px,3.4vw,44px);font-weight:700}
.cta p{color:var(--band-muted);margin-top:10px}

/* Steps & timeline */
.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--brand)}
.steps div{padding:22px 22px 26px 0;border-right:1px solid var(--line);min-width:0}
.steps div + div{padding-left:22px}
.steps div:last-child{border-right:0}
.steps .n{font:800 34px/1 var(--f-display);font-stretch:70%;color:var(--yellow);-webkit-text-stroke:1px var(--brand)}
.steps h3{font-size:21px;font-weight:600;margin-top:12px}
.steps p{color:var(--muted);font-size:15px;margin-top:8px}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr}.steps div{border-right:0;padding-left:0!important;border-bottom:1px solid var(--line)}}
.about{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.quote{font:500 clamp(22px,2.4vw,30px)/1.3 var(--f-display);font-stretch:100%;text-wrap:balance}
.quote::before{content:"“";display:block;font-size:80px;line-height:.6;color:var(--yellow);-webkit-text-stroke:1px var(--brand);margin-bottom:6px}
.sign{margin-top:22px;font-size:14px;color:var(--muted);display:flex;gap:16px;align-items:center}
.sign .ph{width:72px;min-height:72px;aspect-ratio:1}
.sign .ph span{display:none}
.sign b{color:var(--fg);display:block;font-size:15px}
.timeline{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.timeline li{padding:0 0 26px 24px;position:relative}
.timeline li::before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;background:var(--yellow);border:2px solid var(--brand)}
.timeline .y{font:500 13px var(--f-mono);color:var(--accent);letter-spacing:.06em}
.timeline p{color:var(--muted);font-size:15px;margin-top:2px}
.timeline b{color:var(--fg);font-weight:600}
@media (max-width:860px){.about{grid-template-columns:1fr}}
.vals{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}

/* Nitrogen */
.n2-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.panel{border:1px solid var(--line);background:var(--surface);padding:clamp(22px,3vw,34px);min-width:0}
.panel h3{font-size:22px;font-weight:600}
.purity{display:flex;align-items:baseline;gap:10px;margin:20px 0 6px}
.purity b{font:700 clamp(56px,7vw,88px)/1 var(--f-display);font-stretch:70%;font-variant-numeric:tabular-nums;color:var(--accent)}
.purity span,.o2{font:500 14px var(--f-mono);color:var(--muted)}
input[type=range]{width:100%;accent-color:var(--brand);margin:24px 0 8px}
.ticks{display:flex;justify-content:space-between;font:11px var(--f-mono);color:var(--muted)}
.apps{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.apps li{border:1px solid var(--line);border-left:3px solid var(--yellow);padding:8px 12px;font-size:14px;background:var(--bg)}
.flow{width:100%;height:auto;display:block;margin-top:16px}
.flow text{font-family:var(--f-mono);font-size:11px;fill:var(--muted)}
.flow .lbl{fill:var(--fg);font-size:12px}
.n2-points{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin-top:26px;font-size:14px;color:var(--muted)}
.n2-points b{display:block;color:var(--fg);font-weight:600;font-size:15px;margin-bottom:2px}
@media (max-width:900px){.n2-grid{grid-template-columns:1fr}}

/* Handling */
.hand{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.hand article{background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;min-width:0}
.hand .body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px}
.hand h3{font-size:22px;font-weight:600}
.hand p{color:var(--muted);font-size:15px}
.hand ul,.chk{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:6px;font-size:14px}
.hand li,.chk li{padding-left:18px;position:relative}
.hand li::before,.chk li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;background:var(--yellow);outline:1px solid var(--brand)}
@media (max-width:860px){.hand{grid-template-columns:1fr}}

/* Calculator */
.calc{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:var(--surface)}
.calc .in{padding:clamp(22px,3vw,40px);display:grid;gap:22px;border-right:1px solid var(--line);min-width:0}
.calc .out{padding:clamp(22px,3vw,40px);display:flex;flex-direction:column;justify-content:space-between;gap:22px;min-width:0;background:var(--brand-deep);color:#fff}
.field label{display:flex;justify-content:space-between;font-size:14px;color:var(--muted);margin-bottom:8px}
.field label output{font-family:var(--f-mono);color:var(--fg);font-weight:500}
.field input[type=range]{margin:0}
.big{font:700 clamp(44px,5.6vw,72px)/1 var(--f-display);font-stretch:80%;font-variant-numeric:tabular-nums;color:var(--yellow)}
.out .eyebrow{color:#fff}
.out dl{display:grid;grid-template-columns:1fr auto;gap:10px 16px;margin:0;font-size:14px}
.out dt{color:#c3c6ee}.out dd{margin:0;font-family:var(--f-mono);text-align:right}
.note{font-size:12.5px;color:#c3c6ee}
@media (max-width:860px){.calc{grid-template-columns:1fr}.calc .in{border-right:0;border-bottom:1px solid var(--line)}}

/* Services */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.svc article{background:var(--surface);padding:28px 26px 32px;display:flex;flex-direction:column;gap:10px;min-width:0}
.svc .k{font:12px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.svc h3{font-size:22px;font-weight:600}
.svc p{color:var(--muted);font-size:15px}
@media (max-width:900px){.svc{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.svc{grid-template-columns:1fr}}

/* SAV */
.sav-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,64px);align-items:start}
.hotline{background:var(--brand);color:#fff;padding:24px 26px;display:grid;gap:6px;position:relative;clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%)}
.hotline span{font:12px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#c3c6ee}
.hotline b{font:700 clamp(26px,3vw,36px)/1.1 var(--f-display);font-stretch:105%;font-variant-numeric:tabular-nums;color:var(--yellow);user-select:all}
.hotline small{color:#c3c6ee;font-size:13px}
.flowline{list-style:none;margin:0;padding:0;border-top:2px solid var(--brand)}
.flowline li{display:grid;grid-template-columns:52px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}
.flowline .n{font:800 28px/1 var(--f-display);font-stretch:70%;color:var(--yellow);-webkit-text-stroke:1px var(--brand)}
.flowline h3{font:600 19px/1.25 var(--f-display);font-stretch:105%;margin:0}
.flowline p{color:var(--muted);font-size:15px;margin-top:4px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.chips span{border:1px solid var(--line);background:var(--surface);padding:8px 12px;font-size:14px}
@media (max-width:860px){.sav-grid{grid-template-columns:1fr}}

/* Contact */
.c-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px}
.c-info{display:grid;gap:18px}
.c-info div span{display:block;font:12px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.c-info div b{font-weight:500;font-size:17px;user-select:all}
form{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:start;background:var(--surface);border:1px solid var(--line);padding:clamp(20px,3vw,32px)}
form .full{grid-column:1/-1}
form label{display:block;font:12px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
form input,form select,form textarea{width:100%;font:16px var(--f-body);color:var(--fg);background:var(--bg);border:1px solid var(--line);padding:13px 14px;border-radius:0}
form textarea{min-height:120px;resize:vertical}
form input:focus,form select:focus,form textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--ph-b)}
.sent{grid-column:1/-1;border-left:4px solid var(--yellow);background:var(--accent-soft);padding:14px 16px;font-size:15px}
@media (max-width:860px){.c-grid{grid-template-columns:1fr}form{grid-template-columns:1fr}}


/* Dropdown */
.sub{position:relative;display:flex}
.subm{display:none;position:absolute;top:100%;left:0;z-index:40;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--yellow);min-width:250px;padding:8px;flex-direction:column;box-shadow:0 18px 40px -20px rgba(38,45,107,.45)}
.subm a{padding:9px 10px!important}
.subm a:hover{background:var(--accent-soft)}
.subm a[aria-current="page"]::after{display:none}
.subm a[aria-current="page"]{background:var(--accent-soft)}
.sub:hover .subm,.sub:focus-within .subm{display:flex}
@media (max-width:1240px){.sub{flex-direction:column}.menu.open .subm{display:flex;position:static;border:0;border-left:3px solid var(--yellow);box-shadow:none;padding:0 0 0 12px;min-width:0}}
/* Prose + series */
.prose{display:grid;gap:16px;color:var(--muted);max-width:68ch}
.prose p.strong{color:var(--fg);font-size:18px}
.series{display:grid;gap:20px}
.serie{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:var(--surface);border:1px solid var(--line)}
.serie .body{padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;gap:12px}
.serie .tag{font:11px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.serie h3{font-size:clamp(22px,2.2vw,28px);font-weight:650}
.serie p{color:var(--muted)}
.serie .ph{min-height:220px;height:100%}
.specs{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.specs span{font:500 13px/1 var(--f-mono);border:1px solid var(--line);background:var(--bg);padding:9px 11px}
.specs span b{color:var(--accent);font-weight:600}
.serie .acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.serie .btn{padding:12px 16px;font-size:14px}
@media (max-width:800px){.serie{grid-template-columns:1fr}.serie .ph{aspect-ratio:16/9;height:auto}}
.tbl{overflow-x:auto;border:1px solid var(--line);background:var(--surface)}
.tbl table{border-collapse:collapse;width:100%;min-width:760px;font:13.5px/1.3 var(--f-mono);font-variant-numeric:tabular-nums}
.tbl th{background:var(--brand);color:#fff;text-align:right;font-weight:500;padding:10px 12px;font-size:12px;letter-spacing:.04em}
.tbl th:first-child,.tbl td:first-child{text-align:left}
.tbl td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:right}
.tbl tr:nth-child(even) td{background:var(--bg)}
.tbl caption{caption-side:bottom;text-align:left;padding:10px 12px;font:12px var(--f-body);color:var(--muted)}
.compare th{background:var(--brand-deep)}
.callout{display:grid;grid-template-columns:auto 1fr auto;gap:20px 32px;align-items:center;padding:clamp(22px,3vw,34px);background:var(--brand-deep);color:#fff;clip-path:polygon(0 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%)}
.callout b.k{font:800 clamp(48px,6vw,80px)/.9 var(--f-display);font-stretch:62%;color:var(--yellow)}
.callout h3{font-size:22px;font-weight:600}
.callout p{color:#c9cdf0;margin-top:6px;max-width:62ch}
@media (max-width:800px){.callout{grid-template-columns:1fr}}
.partners{display:flex;flex-wrap:wrap;gap:16px;align-items:stretch}
.partners > div{background:#fff !important;min-height:140px;border:1px solid var(--line);display:grid;place-items:center;padding:18px 26px;min-height:92px;flex:1 1 180px}
.partners img{max-height:56px;width:auto}
.partners .wm{font:800 34px/1 var(--f-display);font-stretch:125%;color:#1c64b4;letter-spacing:.02em}
.partners > div > div{display:flex;flex-direction:column;align-items:center;gap:10px}
.partners small{font-weight:600;color:#3b4699;display:block;font:11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:#5a5e7e;margin-top:6px;text-align:center;color:#3b4699;font-weight:600}
.prin{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
@media (max-width:800px){.prin{grid-template-columns:1fr}}
.list2{columns:2;column-gap:32px;margin:0;padding:0;list-style:none}
.list2 li{break-inside:avoid;padding:10px 0 10px 22px;border-bottom:1px solid var(--line);position:relative}
.list2 li::before{content:"";position:absolute;left:0;top:1.05em;width:9px;height:9px;background:var(--yellow);outline:1px solid var(--brand)}
@media (max-width:700px){.list2{columns:1}}

.ph.img{background:#fff}
.ph.img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph.img.contain img{object-fit:contain;padding:6%}
.clients{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.client{background:#fff;border:1px solid var(--line);border-bottom:3px solid var(--yellow);min-height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px 12px;text-align:center;min-width:0}
.client b{font:800 clamp(20px,2vw,28px)/1.1 var(--f-display);font-stretch:118%;color:var(--accent);letter-spacing:.02em}
.client img{max-width:78%;max-height:64px;width:auto;height:auto;object-fit:contain}
.client.dark{background:var(--brand-deep)}
.client.dark small{color:#c3c6ee}
.client small{color:#5a5e7e;font:11px/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:#5a5e7e}
@media (max-width:860px){.clients{grid-template-columns:1fr 1fr}}
.letter{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(32px,5vw,72px);align-items:start;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--yellow);padding:clamp(24px,4vw,56px)}
.letter .prose{max-width:66ch}
.sig{margin-top:12px;padding-top:16px;border-top:1px solid var(--line);display:grid;gap:2px}
.sig b{color:var(--fg);font:700 18px/1.2 var(--f-display);font-stretch:108%}
.sig span{font:12px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.teamfig{margin:0;position:sticky;top:110px}
.teamfig .ph{aspect-ratio:3/4}
.teamfig figcaption{font:12px var(--f-mono);letter-spacing:.08em;color:var(--muted);padding-top:10px}
@media (max-width:860px){.letter{grid-template-columns:1fr}.teamfig{position:static}}
.pr{position:relative;display:grid;justify-items:end;align-self:center;--rl:#3d4596;--ra:var(--yellow);--rf:rgba(250,231,10,.06);--ri:#5b66c0;--rh:var(--brand-deep)}
.pr .mini{width:min(100%,420px);height:auto;aspect-ratio:560/400}
.pr .code{position:absolute;right:0;bottom:-6px;font-size:clamp(40px,5vw,72px)!important;opacity:.9}
@media (max-width:860px){.pr{justify-items:center}.pr .mini{width:min(100%,300px)}}
.phero h1{font-size:clamp(32px,4.6vw,58px)}
.phero h2.tagline{font-size:clamp(19px,2vw,26px);font-weight:600;color:var(--yellow);margin-top:16px;max-width:30ch}
.map{border:1px solid var(--line);background:var(--surface);--map-bg:#e9ecf6;--map-st:#ffffff;--map-blk:#d8dcef;--map-txt:#3b4699}
.map svg{display:block;width:100%;height:auto;aspect-ratio:3/2}
.map-bar{display:flex;flex-wrap:wrap;gap:10px;padding:14px;border-top:1px solid var(--line)}
.map-bar .btn{padding:12px 16px;font-size:14px}
.map-bar .btn-o{color:var(--accent)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .map{--map-bg:#171a42;--map-st:#262a5a;--map-blk:#1f2350;--map-txt:#c3c6ee}}
:root[data-theme="dark"] .map{--map-bg:#171a42;--map-st:#262a5a;--map-blk:#1f2350;--map-txt:#c3c6ee}
.article{display:grid;gap:40px;max-width:1000px;margin-inline:auto}
.art{max-width:76ch;gap:18px}
.art h2{font-size:clamp(26px,3vw,38px);color:var(--fg);margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.art h3{font-size:clamp(20px,2vw,24px);color:var(--accent);margin-top:10px}
.art p{font-size:18.5px;line-height:1.75}
.art p.strong{font-size:21px;line-height:1.6}
.art .chk{font-size:17.5px;gap:10px}
.phero .meta{font:12px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--yellow);margin-top:18px}
@media (max-width:1400px){.menu{gap:0}.menu a{padding-inline:7px}}
.logo-txt b,.nav .btn{white-space:nowrap}
@media (max-width:1400px){header.nav .logo-txt span{display:none}header.nav .wrap{gap:14px}}
.gallery figure.wide{grid-column:span 2}
.gallery figure.wide:last-child{grid-column:span 3}
@media (max-width:760px){.gallery figure.wide{grid-column:auto}.gallery figure .ph[style*="height:calc"]{height:auto!important;aspect-ratio:4/3!important}}
.blogcards{grid-template-columns:repeat(2,1fr);gap:28px}
.blogcards .card h3{font-size:clamp(24px,2.4vw,30px)}
.blogcards .card p{font-size:16.5px}
@media (max-width:760px){.blogcards{grid-template-columns:1fr}}
.mini-h{font-size:clamp(22px,2.2vw,28px);font-weight:650;margin-bottom:18px}
.gallery-wrap{}
.callout.stack{grid-template-columns:1fr;gap:14px}
.callout.stack .btn{justify-self:start}
h2.eyebrow{font-family:var(--f-mono);font-size:12px;font-stretch:100%;letter-spacing:.14em;line-height:1.4;font-weight:400;margin:0}
header.nav .logo{flex:none}
header.nav .wrap{max-width:1400px}
.logo-svg{display:block;height:76px;width:auto;max-width:100%}
footer .logo-svg{height:88px}
@media (max-width:1500px){header.nav .logo-svg{height:68px}}
@media (max-width:1240px){header.nav .logo-svg{height:72px}}
@media (max-width:640px){header.nav .logo{flex:1 1 auto;min-width:0}header.nav .logo-svg{height:auto;width:100%}}
.serie.solo{grid-template-columns:1fr}
.menu a,.nav .btn{white-space:nowrap}
@media (max-width:1760px){header.nav .logo-svg{height:60px}}
@media (max-width:1400px){header.nav .logo-svg{height:54px}.menu a{padding-inline:6px}}
section,.page > div:not(.phero):not(.stripe){content-visibility:auto;contain-intrinsic-size:auto 700px}
/* Footer */
footer{background:var(--brand-deep);color:#c3c6ee;font-size:14px}
.foot{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px;padding-block:48px 32px}
.foot .fh{font:12px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--yellow);margin:0 0 14px}
.foot nav{display:grid;gap:8px}
.foot a{text-decoration:none}.foot a:hover{color:#fff}
.foot .logo-txt b{color:#fff}
.legal{border-top:1px solid rgba(255,255,255,.12);padding-block:18px;font:12px var(--f-mono);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
@media (max-width:760px){.foot{grid-template-columns:1fr}}

.lang{display:flex;gap:2px}.lang a{font:500 12px/1 var(--f-mono);letter-spacing:.08em;color:#c3c6ee;border:1px solid transparent;padding:6px 9px;text-decoration:none}.lang a:hover{color:#fff}.lang a[aria-current="true"]{color:var(--yellow-ink);background:var(--yellow)}
