/* ────────────────────────────────────────────────────────────────
   FLUTEK service desk — technical dossier world
   ink #0e1116 · stone #f1f0ee · signal #b3202d (brand)
   Instrument Serif (display) · Inter Tight (text & data)
   ──────────────────────────────────────────────────────────────── */
:root{
  --ink:#0f1113; --ink-2:#191c20; --ink-3:#24282d;
  --paper:#f1f0ee; --paper-2:#e6e4e1; --paper-3:#d9d6d1;
  --signal:#8e2b22; --signal-2:#6c1e17; --tech:#9aa3ab; --tech-2:#6f777e;
  --muted:#4b4f54; --muted-2:#5d6167;
  --line:rgba(15,17,19,.13); --line-strong:rgba(15,17,19,.26);
  --line-dk:rgba(244,243,239,.16); --line-dk-2:rgba(244,243,239,.3);
  --display:'Instrument Serif',Georgia,serif;
  --sans:'Inter Tight',system-ui,-apple-system,'Segoe UI',sans-serif;
  --t-xs:14px; --t-s:15px; --t-m:17px; --t-l:clamp(1.25rem,.9rem + .7vw,1.5rem);
  --t-h:clamp(1.75rem,1.2rem + 2vw,2.75rem); --t-d:clamp(2.5rem,1.2rem + 4.6vw,5.5rem);
  --gut:clamp(16px,2vw,28px); --pad:clamp(20px,4vw,64px); --max:1480px;
}
*{box-sizing:border-box}
html{background:var(--paper);-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);font-size:var(--t-m);line-height:1.5;color:var(--ink);background:var(--paper)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3,h4{margin:0;font-weight:400}
p{margin:0}
button{font:inherit;color:inherit;background:none;border:0}
::selection{background:var(--signal);color:#fff}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
.skip{position:fixed;left:12px;top:-70px;z-index:100;background:var(--ink);color:var(--paper);padding:10px 14px;font:500 var(--t-s)/1 var(--sans);transition:top .2s}
.skip:focus{top:12px}
.mono{font-family:var(--sans);font-size:var(--t-s);letter-spacing:.01em;color:var(--muted)}
.world-ink .mono,.band--ink .mono,.band--signal .mono,.foot .mono{color:rgba(244,243,239,.84)}
.inline{font:inherit}

/* ── nav ─────────────────────────────────────────────── */
.nav{position:sticky;top:0;z-index:50;background:var(--ink);color:var(--paper)}
.nav-in{max-width:var(--max);margin:0 auto;padding:0 var(--pad);height:66px;display:flex;align-items:center;gap:clamp(16px,3vw,44px)}
.brand{display:flex;align-items:baseline;gap:14px;flex:0 0 auto}
.brand-mark{font:500 var(--t-l)/1 var(--sans);letter-spacing:.34em}
.brand-role{font:400 var(--t-s)/1.3 var(--sans);color:rgba(244,243,239,.82);max-width:248px;display:none;letter-spacing:.01em}
@media(min-width:1280px){.brand-role{display:block}}
.nav-links{display:flex;gap:clamp(12px,2vw,28px);margin-left:auto}
.nav-links a{font:500 var(--t-s)/1 var(--sans);letter-spacing:.01em;color:#e6e4de;padding:8px 0;position:relative}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--signal);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.nav-links a:hover::after,.nav-links a:focus-visible::after{transform:scaleX(1)}
.nav-act{display:flex;align-items:center;gap:14px;margin-left:clamp(10px,2vw,26px)}
.lang{font:500 var(--t-s)/1 var(--sans);color:rgba(244,243,239,.8);border-bottom:1px solid var(--line-dk-2);padding-bottom:3px}
.lang:hover{color:var(--paper)}

/* ── buttons ─────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;font:500 var(--t-s)/1 var(--sans);letter-spacing:.02em;border-radius:2px;transition:background .25s,color .25s,transform .12s,border-color .25s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn--signal{background:var(--signal);color:#fff}
.btn--signal:hover{background:var(--signal-2)}
.btn--ink{background:var(--ink);color:var(--paper)}
.btn--ink:hover{background:var(--ink-3)}
.btn--ghost{background:rgba(14,17,22,.06);color:inherit}
.btn--ghost:hover{background:rgba(14,17,22,.1)}
.band--ink .btn--ghost,.band--signal .btn--ghost{background:rgba(244,243,239,.12);color:var(--paper)}
.band--ink .btn--ghost:hover,.band--signal .btn--ghost:hover{background:rgba(244,243,239,.22)}

/* ── layout ──────────────────────────────────────────── */
.band{padding-block:clamp(56px,7vw,112px)}
.band--paper{background:var(--paper)}
.band--paper2{background:var(--paper-2)}
.band--ink{background:var(--ink);color:var(--paper)}
.band--signal{background:var(--signal);color:#fff}
.band-in{max-width:var(--max);margin:0 auto;padding-inline:var(--pad)}
.display{font-family:var(--display);font-size:var(--t-d);line-height:.96;letter-spacing:-.02em}
.display-s{font-family:var(--display);font-size:var(--t-h);line-height:1.02;letter-spacing:-.015em}
.lead{font-size:var(--t-l);line-height:1.42;color:var(--muted);max-width:48ch;margin-top:22px}
.band--ink .lead,.band--signal .lead{color:rgba(244,243,239,.74)}
.sec-head{max-width:60ch;margin-bottom:clamp(28px,4vw,52px)}
.sec-lead{font-size:var(--t-l);line-height:1.45;color:var(--muted);margin-top:16px;max-width:52ch}
.band--ink .sec-lead,.band--signal .sec-lead{color:rgba(244,243,239,.86)}
.col-h{font:500 var(--t-s)/1.3 var(--sans);letter-spacing:.01em;color:var(--signal);margin-bottom:26px}
.two-col{display:grid;grid-template-columns:1fr;gap:clamp(20px,3vw,64px)}
@media(min-width:900px){.two-col{grid-template-columns:minmax(220px,280px) 1fr}}
.split{display:grid;grid-template-columns:1fr;gap:clamp(28px,4vw,80px)}
@media(min-width:900px){.split{grid-template-columns:1fr 1fr;align-items:start}}

/* ── hero ────────────────────────────────────────────── */
.hero{background:var(--ink);color:var(--paper);padding-top:clamp(40px,6vw,84px);position:relative}
.hero-grid{max-width:var(--max);margin:0 auto;padding-inline:var(--pad);display:grid;grid-template-columns:1fr;gap:clamp(28px,4vw,56px);align-items:end}
@media(min-width:980px){.hero-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.hero-copy{padding-bottom:clamp(24px,4vw,56px)}
.hero .display{max-width:16ch}
.hero .lead,.page-head .lead{color:rgba(244,243,239,.8)}
.hero-act{display:flex;gap:12px;flex-wrap:wrap;margin-top:clamp(24px,3vw,36px)}
.hero-note{margin-top:28px;max-width:44ch;line-height:1.6;font:400 var(--t-m)/1.6 var(--sans);color:rgba(244,243,239,.72)}
.hero-plate{position:relative;background:#191c20;overflow:hidden}
.hero-plate img{width:100%;height:auto;object-fit:cover;filter:contrast(1.03) saturate(.95)}
.ann{position:absolute;display:flex;align-items:center;gap:0;pointer-events:none}
.ann-plate{display:flex;flex-direction:column;gap:3px;background:rgba(8,21,34,.82);padding:8px 10px;border-left:2px solid var(--tech)}
.ann-line{display:block;height:1px;background:var(--tech);width:var(--w,56px);opacity:0;transform-origin:left;transform:scaleX(0);transition:transform .9s cubic-bezier(.16,1,.3,1);position:relative}
.ann-line::after{content:"";position:absolute;right:-3px;top:-2px;width:5px;height:5px;background:var(--tech);border-radius:50%}
.ann-val{font:500 var(--t-l)/1 var(--sans);font-variant-numeric:tabular-nums;color:#fff;letter-spacing:.01em;opacity:0;transition:opacity .5s ease .45s}
.ann-val i{font-style:normal;font-size:var(--t-s);color:rgba(244,243,239,.78);margin-left:5px;letter-spacing:.01em}
.ann-lab{font:400 var(--t-s)/1.35 var(--sans);color:rgba(244,243,239,.9);max-width:19ch;opacity:0;transition:opacity .5s ease .6s}
.ann--1{top:14%;right:5%;flex-direction:row-reverse}
.ann--2{top:48%;right:5%;flex-direction:row-reverse}
.ann--3{bottom:16%;left:5%}

html.is-ready .ann-line{transform:scaleX(1)}
html.is-ready .ann-val,html.is-ready .ann-lab{opacity:1}

/* ── wizard ──────────────────────────────────────────── */
.wizard{max-width:var(--max);margin:clamp(-56px,-4vw,-28px) auto 0;padding-inline:var(--pad);position:relative;z-index:2}
.wizard-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:0 clamp(18px,2vw,28px) 0}
.wizard-head h2{font-family:var(--display);font-size:var(--t-h);letter-spacing:-.01em;color:var(--ink)}
.wizard{background:var(--paper);color:var(--ink);border-top:2px solid var(--signal)}
.wizard{padding-top:clamp(22px,2.6vw,34px);padding-bottom:clamp(26px,3vw,40px)}
.wizard-body{padding:0 clamp(18px,2vw,28px)}
.wizard-prog{font:500 var(--t-s)/1 var(--sans);color:var(--muted)}
.wz-q{font:500 var(--t-m)/1.3 var(--sans);margin-bottom:16px}
.wz-opts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.wz-opt{border:1px solid var(--line-strong);border-radius:2px;padding:11px 16px;font:500 var(--t-s)/1 var(--sans);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.wz-opt:hover{border-color:var(--ink)}
.wz-opt.is-on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.wz-nav{display:flex;gap:12px;align-items:center}
.wz-result{border-top:1px solid var(--line);padding-top:18px;margin-top:6px}
.wz-result h3{font-family:var(--display);font-size:var(--t-h);margin-bottom:10px}
.wz-result p{color:var(--muted);font-size:var(--t-m);max-width:60ch}
.wz-result .wz-cta{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}

/* ── faults ──────────────────────────────────────────── */
.fault-list{display:grid;gap:0}
.fault{display:grid;grid-template-columns:1fr auto;gap:6px 24px;padding:clamp(16px,2vw,24px) clamp(8px,1vw,14px);align-items:baseline;transition:background .25s}
.fault:hover{background:rgba(14,17,22,.045)}
@media(min-width:820px){.fault{grid-template-columns:120px 1fr 1fr 32px}}
.fault-sys{font:500 var(--t-s)/1.3 var(--sans);color:var(--signal);letter-spacing:.01em}
.fault-title{font-family:var(--display);font-size:clamp(1.2rem,.95rem + .9vw,1.7rem);line-height:1.15;letter-spacing:-.01em;transition:color .25s}
.fault-short{color:var(--muted);font-size:var(--t-s)}
.fault-arrow{font-family:var(--sans);color:var(--muted);transition:transform .35s cubic-bezier(.16,1,.3,1),color .25s}
.fault:hover .fault-title{color:var(--signal)}
.fault:hover .fault-arrow{transform:translateX(6px);color:var(--signal)}

/* ── categories ──────────────────────────────────────── */
.cat-list{display:grid;gap:2px}
.cat{display:grid;grid-template-columns:auto 1fr;gap:8px 22px;padding:clamp(18px,2.4vw,30px) clamp(8px,1vw,14px);transition:background .25s}
@media(min-width:820px){.cat{grid-template-columns:64px minmax(200px,1fr) 2fr;align-items:baseline}}
.cat{background:var(--ink)}
.cat-n{font:500 var(--t-s)/1.3 var(--sans);color:#c9ced4}
.cat-name{font-family:var(--display);font-size:var(--t-h);line-height:1.05}
.cat-models{font:400 var(--t-s)/1.4 var(--sans);color:#c9ced4;letter-spacing:.01em}
.cat:hover{background:rgba(244,243,239,.05)} .cat:hover .cat-name{color:#fff}
.line-link{display:inline-block;margin-top:26px;color:rgba(244,243,239,.84);font:500 var(--t-s)/1 var(--sans)}

/* ── steps / dispatch ────────────────────────────────── */
.steps{list-style:none;margin:0;padding:0;display:grid;gap:clamp(18px,2.4vw,26px)}
.steps li{display:grid;grid-template-columns:22px 1fr;gap:18px;padding-top:clamp(16px,2vw,24px)}
.steps li:first-child{padding-top:0}
.step-n{color:transparent;font-size:var(--t-s);padding-top:4px;position:relative}
.step-n::before{content:"";position:absolute;left:0;top:10px;width:7px;height:7px;background:var(--signal)}
.steps h3{font:500 var(--t-l)/1.3 var(--sans);margin-bottom:6px}
.steps p{color:var(--muted);font-size:var(--t-m);line-height:1.5;max-width:46ch}
.band--ink .steps p{color:rgba(244,243,239,.72)}
.dispatch{display:grid}
.dr{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:13px clamp(8px,1vw,14px)}
.dr:nth-child(odd){background:rgba(14,17,22,.045)}
.dr-k{font:500 var(--t-s)/1.3 var(--sans);letter-spacing:.01em;color:var(--muted)}
.dr-v{font-size:var(--t-m)}

/* ── dealer band ─────────────────────────────────────── */
.dealer-band{display:grid;gap:26px;align-items:end}
@media(min-width:900px){.dealer-band{grid-template-columns:1.4fr auto}}
.band--signal .sec-lead{color:rgba(255,255,255,.82)}

/* ── page head ───────────────────────────────────────── */
.page-head{background:var(--ink);color:var(--paper);padding-block:clamp(40px,6vw,80px) clamp(32px,4vw,56px)}
.page-head--split .band-in{display:grid;grid-template-columns:1fr;gap:clamp(24px,3vw,48px)}
@media(min-width:900px){.page-head--split .band-in{grid-template-columns:1.2fr 1fr;align-items:end}}
.ph-plate img{width:100%;height:auto;background:#f2f3f4;padding:clamp(14px,2vw,28px)}
.ph-plate figcaption{margin-top:10px;color:var(--muted-2);font-size:var(--t-s);line-height:1.4}
.back{display:inline-block;margin-right:12px;color:rgba(244,243,239,.84);font:500 var(--t-s)/1 var(--sans)}
.sys-tag{font:500 var(--t-s)/1.3 var(--sans);color:#e09084;letter-spacing:.01em;margin-bottom:14px}
.page-head .lead{max-width:60ch}
.head-act{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:28px}
.src{color:rgba(244,243,239,.78);font-family:var(--sans);font-size:var(--t-s)}

/* ── fault index ─────────────────────────────────────── */
.chip-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}
.chip{border:1px solid var(--line-dk-2);color:var(--paper);border-radius:2px;padding:9px 14px;font:500 var(--t-s)/1 var(--sans);cursor:pointer;transition:background .2s,border-color .2s}
.chip:hover{border-color:#fff}
.chip.is-on{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.band--paper .chip{border-color:var(--line-strong);color:var(--ink)}
.drows{display:grid;gap:2px}
.drow{display:grid;grid-template-columns:1fr auto;gap:8px 24px;padding:20px clamp(8px,1vw,14px);align-items:baseline;transition:background .2s}
@media(min-width:900px){.drow{grid-template-columns:110px 1.4fr 1.6fr 90px}}
.drow.is-hidden{display:none}
.drow-sys{font:500 var(--t-s)/1.3 var(--sans);color:var(--signal);letter-spacing:.01em}
.drow-title{font-family:var(--display);font-size:clamp(1.15rem,.95rem + .7vw,1.5rem);line-height:1.15}
.drow-first{color:var(--muted);font-size:var(--t-m)}
.drow-sev{font:500 var(--t-s)/1.3 var(--sans);color:var(--muted)}
.sev-high{color:var(--signal)}
.drow:hover{background:rgba(14,17,22,.045)}

/* ── causes ──────────────────────────────────────────── */
.causes{display:grid;gap:clamp(22px,3vw,34px)}
.cause{display:grid;gap:14px}
@media(min-width:760px){.cause{grid-template-columns:1fr 190px;align-items:start}}
.cause h3{font:600 var(--t-l)/1.35 var(--sans);margin-bottom:6px}
.cause p{color:var(--muted);font-size:var(--t-m);line-height:1.55;max-width:60ch}
.cause-bar{display:grid;gap:8px}
.cause-bar .mono{font-size:var(--t-s);color:var(--ink)}
.bar{display:block;height:3px;background:var(--line);position:relative;overflow:hidden}
.bar i{position:absolute;inset:0 auto 0 0;width:0;background:var(--tech);transition:width 1s cubic-bezier(.16,1,.3,1)}
html.is-ready .bar i{width:var(--w)}

/* ── parts ───────────────────────────────────────────── */
.parts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(16px,2vw,28px)}
.part{display:grid;gap:10px;background:#191c20;padding:14px;transition:background .25s,transform .35s cubic-bezier(.16,1,.3,1)}
.part img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#14171a}
.part-name{color:#fff;font-size:var(--t-s);letter-spacing:.06em}
.part-desc{color:#c9cdd3;font-size:var(--t-s)}
.part:hover{background:#23272c;transform:translateY(-2px)}
.econ{margin-top:clamp(30px,4vw,52px);border-top:1px solid var(--line-dk);padding-top:clamp(24px,3vw,40px);display:grid;gap:14px;max-width:70ch}
.econ h3{font-family:var(--display);font-size:var(--t-h)}
.econ p{color:rgba(244,243,239,.84);font-size:var(--t-m);line-height:1.55}
.band--paper .econ p,.band--paper2 .econ p{color:var(--muted)}
.econ-fix{font-weight:600}
.band--ink .econ-fix,.band--signal .econ-fix{color:#fff !important}
.band--paper .econ-fix,.band--paper2 .econ-fix{color:var(--ink) !important}
.econ .btn{justify-self:start;margin-top:8px}
.rel-list{display:grid;gap:2px}
.rel{display:flex;gap:18px;align-items:baseline;padding:16px clamp(8px,1vw,14px);font-size:var(--t-m)}
.rel .mono{font-size:var(--t-s);text-transform:none;letter-spacing:.01em;color:var(--signal);min-width:90px}
.rel:hover{color:var(--signal)}

/* ── product line table ──────────────────────────────── */
.cat-block{margin-bottom:clamp(40px,5vw,72px)}
.cat-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:2px solid var(--ink)}
.cat-head .mono{color:var(--signal);font-size:var(--t-s)}
.phead,.prow{display:grid;grid-template-columns:1fr;gap:4px 20px;padding:14px 0}
@media(min-width:860px){.phead,.prow{grid-template-columns:150px 1.5fr 1fr 1fr}}
.phead{display:none}
@media(min-width:860px){.phead{display:grid}}
.phead .th,.thead span,.mhead span,.lk-head span{font:500 var(--t-s)/1.3 var(--sans);letter-spacing:.01em;color:var(--muted)}
.band--ink .phead .th,.band--ink .thead span,.band--ink .mhead span,.band--ink .lk-head span,.foot .phead .th{color:rgba(244,243,239,.82)}
.prow{transition:background .2s}
.prow:nth-child(odd){background:rgba(14,17,22,.035)}
.prow:hover{background:rgba(14,17,22,.07)}
.prow-name{font:500 var(--t-m)/1.3 var(--sans);letter-spacing:.01em}
.prow-line{font-size:var(--t-m);color:var(--muted)}
.prow-class,.prow-machines{font-size:var(--t-s);color:var(--muted)}

/* ── specs ───────────────────────────────────────────── */
.specs{display:grid;margin:0}
.spec-row{display:grid;grid-template-columns:1fr;gap:2px;padding:13px clamp(8px,1vw,12px)}
.spec-row:nth-child(odd){background:rgba(14,17,22,.035)}
@media(min-width:700px){.spec-row{grid-template-columns:220px 1fr;gap:20px;align-items:baseline}}
.spec-row dt{font:500 var(--t-s)/1.3 var(--sans);letter-spacing:.01em;color:var(--muted)}
.spec-row dd{margin:0;font-size:var(--t-m);font-variant-numeric:tabular-nums}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.chip--copy{background:var(--paper-2);color:var(--ink);font-size:var(--t-s);border:0}
.chip--copy:hover{background:var(--ink);color:var(--paper)}
.col-lead{color:var(--muted);font-size:var(--t-m);line-height:1.55;max-width:56ch}
.models{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.model{background:var(--paper-2);padding:7px 11px;font-size:var(--t-s);border-radius:2px}
.variant{display:grid;gap:14px;margin-top:26px;max-width:420px}
.variant label{display:grid;gap:6px;font:500 var(--t-s)/1.3 var(--sans);letter-spacing:.01em;color:rgba(244,243,239,.85)}
.variant select{appearance:none;background:rgba(244,243,239,.08);border:0;color:var(--paper);padding:12px 14px;font:400 var(--t-m)/1 var(--sans);border-radius:2px}
.variant select option{background:var(--ink);color:var(--paper)}
.variant .btn{justify-self:start;margin-top:6px}
.feats{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:12px}
.feats li{color:rgba(244,243,239,.84);font-size:var(--t-m);line-height:1.5;padding-left:20px;position:relative}
.feats li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:1px;background:var(--tech)}
.quote-box{margin-top:34px;border-top:1px solid var(--line-dk);padding-top:24px;display:grid;gap:12px;justify-items:start}
.quote-box h3{font-family:var(--display);font-size:var(--t-h)}
.quote-box p{color:rgba(244,243,239,.76);font-size:var(--t-m);line-height:1.55;max-width:48ch}

/* ── dealers ─────────────────────────────────────────── */
.ditems{display:grid;gap:clamp(24px,3vw,40px)}
@media(min-width:800px){.ditems{grid-template-columns:1fr 1fr}}
.ditem h3{font-family:var(--display);font-size:var(--t-h);margin-bottom:8px}
.ditem p{color:var(--muted);font-size:var(--t-m);line-height:1.55;max-width:48ch}
.thead,.tier{display:grid;grid-template-columns:1fr;gap:4px 20px;padding:16px 0}
@media(min-width:860px){.thead,.tier{grid-template-columns:.9fr 1.3fr 1.1fr 1.3fr}}
.thead{padding-bottom:10px}
.tier{font-size:var(--t-m);color:rgba(244,243,239,.88);padding-inline:clamp(6px,1vw,10px)}
.tier:nth-child(even){background:rgba(244,243,239,.07)}
.tier .tier-l{font-family:var(--display);font-size:var(--t-l);color:#fff}
.mhead,.mrow{display:grid;grid-template-columns:1fr;gap:4px 20px;padding:14px 0}
@media(min-width:800px){.mhead,.mrow{grid-template-columns:1.6fr .7fr 1.6fr}}
.mhead{padding-bottom:10px}
.mrow{font-size:var(--t-m);padding-inline:clamp(6px,1vw,10px)}
.mrow:nth-child(odd){background:rgba(14,17,22,.05)}
.mrow .st{font:500 var(--t-s)/1.3 var(--sans)}
.st-open{color:#1f7a3f}
.st-reserved{color:var(--signal)}

/* ── form ────────────────────────────────────────────── */
.form{display:grid;gap:18px;max-width:640px}
.f2{display:grid;gap:18px}
@media(min-width:620px){.f2{grid-template-columns:1fr 1fr}}
.form label{display:grid;gap:7px;font:500 var(--t-s)/1.3 var(--sans);letter-spacing:.01em;color:var(--muted)}
.form input,.form textarea{font:400 var(--t-m)/1.4 var(--sans);padding:12px 2px;background:transparent;border:0;border-bottom:1px solid var(--line-strong);color:var(--ink);width:100%;border-radius:0}
.form textarea{resize:vertical}
.form input:focus,.form textarea:focus{outline:none;border-bottom-color:var(--signal)}
.form input[aria-invalid="true"],.form textarea[aria-invalid="true"]{border-bottom-color:var(--signal)}
.form .check{display:flex;align-items:center;gap:10px;text-transform:none;font:400 var(--t-s)/1.3 var(--sans);letter-spacing:0;color:var(--ink)}
.form .check input{width:auto}
.form .btn{justify-self:start;margin-top:6px}
.form-note{color:var(--muted);min-height:1.4em}
.form-note.is-ok{color:#1f7a3f}
.form .err{color:var(--signal);font:400 var(--t-s)/1.4 var(--sans);text-transform:none;letter-spacing:0}

/* ── lookup ──────────────────────────────────────────── */
.lk{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap}
.lk input{flex:1 1 320px;background:transparent;border:0;border-bottom:1px solid var(--line-dk-2);color:var(--paper);font:400 clamp(1.1rem,1rem + .4vw,1.35rem)/1.3 var(--sans);padding:10px 2px}
.lk input::placeholder{color:var(--muted-2)}
.lk input:focus{outline:none;border-bottom-color:var(--signal)}
.lk select{background:rgba(244,243,239,.08);border:0;color:var(--paper);font:500 var(--t-s)/1 var(--sans);padding:12px 14px;border-radius:2px}
.lk select option{background:var(--ink)}
.lk-head{display:flex;justify-content:space-between;padding-bottom:12px;font-size:var(--t-s)}
.lrows{display:grid}
.lrow{display:grid;gap:4px 20px;padding:16px clamp(8px,1vw,12px);transition:background .2s}
@media(min-width:860px){.lrow{grid-template-columns:150px 1.4fr 1.2fr 1fr}}
.lrow:nth-child(odd){background:rgba(14,17,22,.035)}
.lrow:hover{background:rgba(14,17,22,.07)}
.lrow-name{font-size:var(--t-m);letter-spacing:.01em;font-variant-numeric:tabular-nums}
.lrow-desc{font-size:var(--t-m)}
.lrow-meta{font-size:var(--t-s);color:var(--muted)}
.lrow-sub{color:var(--muted-2);font-size:var(--t-s)}

/* ── footer ──────────────────────────────────────────── */
.foot{background:var(--ink);color:var(--paper);padding-top:clamp(48px,6vw,84px)}
.foot-in{max-width:var(--max);margin:0 auto;padding-inline:var(--pad);display:grid;gap:clamp(28px,4vw,56px);grid-template-columns:1fr}
@media(min-width:900px){.foot-in{grid-template-columns:1.4fr 1fr 1fr 1.2fr}}
.foot-lead p{color:rgba(244,243,239,.62);font-size:var(--t-s);max-width:34ch;margin-top:14px}
.foot-mark{font:500 var(--t-m)/1 var(--sans);letter-spacing:.34em}
..foot-col h3{font:500 var(--t-s)/1 var(--sans);letter-spacing:.02em;color:rgba(244,243,239,.78);margin-bottom:14px}
.foot-col a{display:block;padding:6px 0;font-size:var(--t-m);color:#d8d5ce;transition:color .2s}
.foot-col a:hover{color:var(--signal)}
.foot-col p{color:rgba(244,243,239,.8);font-size:var(--t-s);line-height:1.5;margin-bottom:8px}
.foot-base{max-width:var(--max);margin:clamp(36px,5vw,64px) auto 0;padding:8px var(--pad) 34px;display:grid;gap:10px}
.foot-base p{color:rgba(244,243,239,.78);font-size:var(--t-s);line-height:1.55;max-width:110ch}

/* ── copy toast ──────────────────────────────────────── */
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,12px);background:var(--signal);color:#fff;padding:11px 16px;font:500 var(--t-s)/1 var(--sans);border-radius:2px;opacity:0;visibility:hidden;transition:opacity .25s,transform .25s cubic-bezier(.16,1,.3,1),visibility 0s .25s;z-index:90}
.toast.is-on{opacity:1;visibility:visible;transform:translate(-50%,0);transition-delay:0s}

/* ── motion ──────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transition-delay:var(--d,0ms)}
.reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .ann-line{transform:none!important;opacity:1!important}
  .ann-val,.ann-lab{opacity:1!important}
  .bar i{width:var(--w)}
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
@media(max-width:760px){
  .nav-in{height:58px}
  .nav-links{display:none}
  .ann{display:none}
  .wizard{margin-top:-18px}
  .hero-plate{border-inline:0}
}
/* ── field footage ───────────────────────────────────── */
.media{position:relative;background:#101215;color:var(--paper)}
.media-in{max-width:var(--max);margin:0 auto;padding-inline:var(--pad);display:grid;gap:clamp(18px,2.4vw,30px);grid-template-columns:1fr}
@media(min-width:900px){.media-in{grid-template-columns:1.5fr 1fr;align-items:end}}
.media video{width:100%;height:auto;display:block;filter:contrast(1.04) saturate(.92)}
.media-copy{padding-block:clamp(24px,3vw,44px)}
.media-copy h2{font-family:var(--display);font-size:var(--t-h);line-height:1.05}
.media-copy p{color:rgba(244,243,239,.82);font-size:var(--t-m);line-height:1.55;margin-top:14px;max-width:44ch}
.media-credit{color:rgba(244,243,239,.7);font-size:var(--t-s);margin-top:18px;font-family:var(--sans)}

.cat{grid-template-columns:auto 1fr 132px}
@media(min-width:820px){.cat{grid-template-columns:132px minmax(180px,1fr) 2fr 200px;align-items:center}}
.cat-fig{display:none}
@media(min-width:820px){.cat-fig{display:block}}
.cat-fig img{width:100%;height:116px;object-fit:contain;background:#101215;padding:10px}
.cat:hover .cat-fig img{background:#12161c}

.th{font:500 var(--t-s)/1.3 var(--sans);color:var(--muted);letter-spacing:.01em}

.lead-cat{color:var(--signal)}
.gals{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,2vw,24px)}
.gal img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#101215}
@media(max-width:700px){.gals{grid-template-columns:1fr}}

.band--tight{padding-block:0}
.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
.strip figure{margin:0;background:#101215}
.strip img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;padding:10% 12%}
.cat-count{font:500 var(--t-s)/1.3 var(--sans);color:var(--muted)}
.band--ink .cat-count{color:rgba(244,243,239,.82)}
.lk-head span,.thead span,.mhead span{text-transform:none}
@media(max-width:700px){.strip{grid-template-columns:1fr 1fr}}

.pct{font:500 var(--t-m)/1.3 var(--sans);font-variant-numeric:tabular-nums;color:var(--ink)}
.lead-cat{color:#7d251e}
.page-head .lead-cat{color:#e09084}
.st{font:500 var(--t-s)/1.3 var(--sans)}
.st-open{color:#1a6b36}
.st-reserved{color:#9a1b27}
.part-desc{color:#c3c8ce}
.col-lead{color:#454b53}
.econ{border-top:0;background:rgba(244,243,239,.04);padding:clamp(22px,3vw,36px);margin-top:clamp(30px,4vw,52px)}
.quote-box{border-top:0;padding-top:0}
.form label{font:500 var(--t-s)/1.4 var(--sans);letter-spacing:.01em;text-transform:none;color:var(--muted)}
.lrow-desc{font-size:var(--t-m)}
.lrow-meta{font-size:var(--t-s)}

/* ══════════ technical documents ══════════ */
.doc{background:var(--paper);color:var(--ink);padding:0;margin:0;position:relative}
.doc-head{display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;align-items:baseline;padding:11px clamp(12px,1.6vw,18px);background:var(--paper-2);font:500 var(--t-s)/1.3 var(--sans);letter-spacing:.01em;color:#3d444b}
.doc-head span:first-child{letter-spacing:.01em;color:var(--ink);font-variant-numeric:tabular-nums}
.doc-title{padding:clamp(16px,2vw,24px) clamp(12px,1.6vw,18px) 0;font-family:var(--display);font-size:var(--t-h);line-height:1.08}
.doc-body{padding:clamp(14px,1.8vw,22px) clamp(12px,1.6vw,18px)}
.doc-foot{padding:12px clamp(12px,1.6vw,18px);font:400 var(--t-s)/1.45 var(--sans);color:#454b53;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.doc-foot b{font-weight:600;color:var(--ink)}
.doc--dark{background:var(--ink-2);color:var(--paper)}
.doc--dark .doc-head{background:rgba(244,243,239,.07);color:rgba(244,243,239,.8)}
.doc--dark .doc-head span:first-child{color:#fff}
.doc--dark .doc-foot{color:rgba(244,243,239,.76)}
.doc--dark .doc-foot b{color:#fff}
.doc-grid{padding:clamp(14px,1.8vw,22px) clamp(12px,1.6vw,18px);display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.doc-cell{background:var(--paper);padding:12px 14px;display:grid;gap:3px}
.doc--dark .doc-cell{background:var(--ink-2)}
.doc-cell dt{font:500 var(--t-s)/1.3 var(--sans);color:#454b53}
.doc--dark .doc-cell dt{color:rgba(244,243,239,.66)}
.doc-cell dd{margin:0;font:500 var(--t-l)/1.2 var(--sans);font-variant-numeric:tabular-nums}
.doc--dark .doc-cell dd{color:#fff}

/* blueprint panel */
.bp{background:#101215;padding:clamp(12px,1.6vw,22px);position:relative}
.bp svg{display:block;width:100%;height:auto}
.bp .bp-tag{position:absolute;left:clamp(12px,1.6vw,22px);top:10px;font:500 var(--t-s)/1 var(--sans);letter-spacing:.04em;color:rgba(174,182,189,.9)}
.bp .bp-cap{margin-top:12px;font:400 var(--t-s)/1.5 var(--sans);color:rgba(244,243,239,.82)}
.bp-svg .stroke{fill:none;stroke:#aeb6bd;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.bp-svg .thin{fill:none;stroke:rgba(174,182,189,.55);stroke-width:1}
.bp-svg .dash{fill:none;stroke:rgba(174,182,189,.45);stroke-width:1;stroke-dasharray:5 5}
.bp-svg .fill-blue{fill:rgba(174,182,189,.12);stroke:#aeb6bd;stroke-width:1.4}
.bp-svg .lbl{fill:#dfe3e6;font:500 13px 'Inter Tight',sans-serif}
.bp-svg .lbl-mono{fill:#aeb6bd;font:500 13px 'Inter Tight',sans-serif;letter-spacing:.02em}
.bp-svg .sig{fill:#b4534a}
.bp-svg .sig-line{stroke:#b4534a;stroke-width:1.6;fill:none}
.bp-svg .tp{fill:#b4534a;stroke:#101215;stroke-width:2}

/* worksheet */
.ws{width:100%;border-collapse:collapse;font-size:var(--t-s)}
.ws th{text-align:left;font:500 var(--t-s)/1.3 var(--sans);color:#454b53;padding:8px 10px;border-bottom:1px solid var(--ink)}
.ws td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top}
.ws td:last-child{border-bottom:1px solid var(--line);background:rgba(15,17,19,.03)}
.ws tr:last-child td{border-bottom:0}
.ws .blank{height:22px;display:block;border-bottom:1px dashed rgba(15,17,19,.28)}
.ws .exp{font-family:var(--sans);font-size:var(--t-s);font-variant-numeric:tabular-nums}

/* docs layout row */
.docs{display:grid;gap:clamp(16px,2vw,28px)}
@media(min-width:980px){.docs--2{grid-template-columns:1fr 1fr}}
.docs-lead{max-width:52ch;color:var(--muted);font-size:var(--t-m);line-height:1.55;margin-top:14px}
.doc-link{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font:500 var(--t-s)/1 var(--sans);color:var(--signal)}
.doc-link::after{content:"→"}
.doc--paper-on-dark{background:var(--paper);color:var(--ink)}

/* ══════════ hand-off to the brand site ══════════ */
.ext{position:relative;white-space:nowrap}
.ext::after{content:"↗";display:inline-block;margin-left:.35em;font-size:.86em;opacity:.72}
.lang--ext{color:#e08a80;border-bottom-color:rgba(224,138,128,.6)}
.lang--ext:hover{color:#fff}
.official-strip{background:var(--ink-2);color:var(--paper);padding-block:clamp(22px,3vw,36px)}
.os-in{max-width:var(--max);margin:0 auto;padding-inline:var(--pad);display:grid;gap:10px 24px}
@media(min-width:900px){.os-in{grid-template-columns:auto 1fr auto;align-items:center}}
.os-k{font:500 var(--t-s)/1 var(--sans);letter-spacing:.01em;color:#b9bec5}
.os-t{margin:0;font-size:var(--t-m);color:rgba(244,243,239,.86);max-width:62ch}
.os-act{display:flex;gap:10px;flex-wrap:wrap}
.os-act .ext{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;background:rgba(244,243,239,.1);border-radius:2px;font:500 var(--t-s)/1 var(--sans);color:var(--paper);transition:background .2s}
.os-act .ext:hover{background:rgba(244,243,239,.2)}
.handoff{display:grid;gap:clamp(18px,2.4vw,32px)}
@media(min-width:900px){.handoff{grid-template-columns:1.2fr 1fr;align-items:start}}
.hand-links{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hand-note{flex-basis:100%;font:400 var(--t-s)/1.5 var(--sans);color:var(--muted);margin-top:2px}
.hand-inline{margin-top:18px;font-size:var(--t-s);color:rgba(244,243,239,.72)}
.hand-inline .ext{color:#b4534a}
.band--paper2 .hand-inline,.band--paper .hand-inline{color:var(--muted)}
.band--paper2 .hand-inline .ext,.band--paper .hand-inline .ext{color:var(--signal)}
.hand-links .btn{min-height:46px}

/* ══════════ machine fitment sheet ══════════ */
.mbrand{margin-bottom:clamp(34px,4vw,56px)}
.mbrand-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:10px;border-bottom:2px solid var(--ink)}
.mbrand-head h2{font-family:var(--display);font-size:var(--t-h);line-height:1}
.mbrand-head .mono{color:var(--muted)}
.mthead,.mtr{display:grid;grid-template-columns:1.1fr .6fr 1fr 1fr 1fr;gap:10px;padding:11px clamp(6px,1vw,10px);align-items:baseline}
.mthead{font:500 var(--t-xs)/1.3 var(--sans);color:var(--muted);padding-top:14px}
.mtr{font-size:var(--t-m);border-bottom:1px solid var(--line)}
.mtr:nth-child(odd){background:rgba(15,17,19,.03)}
.mt-model{font:500 var(--t-m)/1.3 var(--sans)}
.mt-ton{font-variant-numeric:tabular-nums;color:var(--muted);font-size:var(--t-s)}
.mt-u{font-size:var(--t-s);line-height:1.4}
.mt-u a{color:var(--ink);border-bottom:1px solid rgba(142,43,34,.45)}
.mt-u a:hover{border-bottom-color:var(--signal)}
.mt-empty{color:var(--paper-3)}
.mbrand.is-hidden,.mtr.is-hidden{display:none}
.fitcount{margin-top:12px;font-size:var(--t-s);color:var(--muted)}
.fitcount a{border-bottom:1px solid var(--line-strong)}

/* ══════════ knowledge article ══════════ */
.ktable-head,.krow{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px;padding:12px clamp(6px,1vw,10px)}
.ktable-head{font:500 var(--t-xs)/1.3 var(--sans);color:var(--muted);text-align:right}
.ktable-head span:first-child{text-align:left}
.krow{border-bottom:1px solid var(--line);font-size:var(--t-m)}
.krow:nth-child(odd){background:rgba(15,17,19,.03)}
.kv{text-align:right;font:500 var(--t-m)/1.4 var(--mono);font-variant-numeric:tabular-nums}
.kv-copy{color:#7a3b34}
.kv-gen{color:var(--ink)}
.kgrid{display:grid;gap:14px;padding:clamp(18px,2.4vw,28px) 0;border-bottom:1px solid var(--line)}
@media(min-width:860px){.kgrid{grid-template-columns:1fr 1fr 1fr 1fr;gap:22px;align-items:start}}
.kgrid h3{font-family:var(--display);font-size:clamp(1.2rem,.95rem+.7vw,1.5rem);line-height:1.1}
.kgrid p{font-size:var(--t-s);line-height:1.5;color:var(--muted);margin-top:4px}
.kl{display:block;font:500 var(--t-xs)/1.3 var(--sans);color:var(--signal);margin-bottom:4px}
.kfx p{color:var(--ink)}
.ktls{display:grid;gap:0;margin-top:24px}
.ktl{display:grid;grid-template-columns:1fr;gap:10px;padding:22px 0;border-top:1px solid var(--line-dk)}
@media(min-width:900px){.ktl{grid-template-columns:150px 1fr 190px;gap:24px;align-items:start}}
.ktl-h{font:500 var(--t-s)/1.3 var(--mono);color:var(--tech)}
.ktl h3{font-family:var(--display);font-size:clamp(1.2rem,.95rem+.7vw,1.6rem);color:#fff}
.ktl p{color:rgba(244,243,239,.76);font-size:var(--t-m);line-height:1.55;margin-top:6px}
.ktl-c{font:500 var(--t-s)/1.4 var(--mono);color:#c98a72;text-align:left}
@media(min-width:900px){.ktl-c{text-align:right}}
.kchecks{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.kchecks li{position:relative;padding-left:22px;font-size:var(--t-m);line-height:1.5}
.kchecks li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border:1.5px solid var(--signal)}
.ksrc{max-width:var(--max);margin:0 auto;padding:0 var(--pad) clamp(40px,5vw,70px);font-size:var(--t-s);line-height:1.6;color:var(--muted);max-width:96ch}
@media(max-width:760px){
  .mthead{display:none}
  .mtr{grid-template-columns:1fr 1fr;gap:4px 12px}
  .ktable-head,.krow{grid-template-columns:1.2fr .9fr .9fr;gap:10px}
  .kv{font-size:var(--t-s)}
}

/* ══════════ knowledge hub + articles ══════════ */
.klist{display:grid;gap:2px;margin-top:8px}
.krow2{display:grid;grid-template-columns:1fr;gap:6px;padding:clamp(18px,2.4vw,28px) clamp(8px,1.4vw,16px);transition:background .2s}
.krow2:nth-child(odd){background:rgba(15,17,19,.03)}
.krow2:hover{background:rgba(142,43,34,.06)}
.krow-k{font:500 var(--t-xs)/1.3 var(--sans);letter-spacing:.02em;color:var(--signal)}
.krow-t{font-family:var(--display);font-size:var(--t-h);line-height:1.08}
.krow-d{font-size:var(--t-m);line-height:1.5;color:var(--muted);max-width:80ch}
.krow-a{font:500 var(--t-s)/1 var(--sans);color:var(--ink);margin-top:4px}
@media(min-width:980px){.krow2{grid-template-columns:200px 1.3fr 1.4fr auto;gap:20px;align-items:baseline}
  .krow-a{margin-top:0;text-align:right}}
.article-body{max-width:74ch}
.ah{font-family:var(--display);font-size:var(--t-h);line-height:1.1;margin:clamp(30px,4vw,48px) 0 14px}
.article-body > .ah:first-child{margin-top:0}
.ap{font-size:var(--t-l);line-height:1.62;color:#2c3136;margin-bottom:16px}
.aul{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:12px}
.aul li{position:relative;padding-left:24px;font-size:var(--t-l);line-height:1.55}
.aul li::before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;border:1.5px solid var(--signal)}
.anote{margin:26px 0;padding:18px 20px;background:rgba(142,43,34,.06);border-left:2px solid var(--signal);font-size:var(--t-m);line-height:1.55}
.atab{margin:20px 0 26px;display:grid;gap:0}
.atab-head,.atab-row{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:14px;padding:11px 12px}
.atab-head{font:500 var(--t-xs)/1.3 var(--sans);color:var(--muted);background:rgba(15,17,19,.05)}
.atab-row{border-bottom:1px solid var(--line);font:500 var(--t-s)/1.4 var(--mono);font-variant-numeric:tabular-nums}
.atab-row:nth-child(odd){background:rgba(15,17,19,.02)}
.acap{font-size:var(--t-s);color:var(--muted);line-height:1.5;margin-top:8px}
.asrc{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.asrc a{font-size:var(--t-s);line-height:1.5;border-bottom:1px solid var(--line-strong)}
.asrc a:hover{border-bottom-color:var(--signal)}
.page-head--article .lead{max-width:66ch}
@media(max-width:700px){.atab-head,.atab-row{grid-template-columns:1fr 1fr;font-size:var(--t-s)}}

/* ══════════ video blocks + downloads ══════════ */
.vblock{margin:26px 0;background:#101215;padding:0;display:grid;justify-items:center}
.vblock video{width:100%;max-width:420px;height:auto;display:block;background:#000}
.vblock figcaption{font-size:var(--t-s);line-height:1.55;color:rgba(244,243,239,.72);padding:12px 14px;max-width:58ch;justify-self:start}
.vblock--portrait{border:1px solid var(--line-dk)}
#download .split-l .sec-lead{color:rgba(244,243,239,.82)}
#download .hand-note{color:rgba(244,243,239,.6)}

/* ══════════ principles gallery ══════════ */
.pgroup{margin-bottom:clamp(34px,4vw,56px)}
.pg-h{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:2px solid var(--ink);font-family:var(--display);font-size:var(--t-h);line-height:1}
.pg-h span{font:500 var(--t-s)/1 var(--sans);color:var(--muted)}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:clamp(14px,2vw,24px);margin-top:clamp(18px,2.4vw,28px)}
.pcard{margin:0;background:#101215;display:flex;flex-direction:column}
.pcard video{width:100%;aspect-ratio:16/10;object-fit:contain;background:#0b0e12;display:block}
.pcard figcaption{display:grid;gap:5px;padding:12px 14px 16px}
.pcard b{font:500 var(--t-m)/1.3 var(--sans);color:#f4f3ef}
.pcard span{font-size:var(--t-s);line-height:1.5;color:rgba(244,243,239,.7)}
@media(max-width:640px){.pgrid{grid-template-columns:1fr 1fr}.pcard figcaption span{display:none}}

/* ══════════ library ══════════ */
.libtool{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;justify-content:space-between;margin-bottom:10px}
.libtool input{flex:1 1 280px;background:transparent;border:0;border-bottom:1px solid var(--line-strong);font:400 var(--t-l)/1.3 var(--sans);padding:10px 2px;color:var(--ink)}
.libtool input:focus{outline:none;border-bottom-color:var(--signal)}
.libcount{color:var(--muted);margin:0 0 18px}
.libgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:clamp(12px,1.6vw,20px)}
.libcard{margin:0;background:#101215;display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.libcard:hover{transform:translateY(-2px)}
.libcard video{width:100%;aspect-ratio:4/3;object-fit:contain;background:#0b0e12;display:block}
.libcard figcaption{display:grid;gap:4px;padding:10px 12px 14px}
.libcard b{font:500 var(--t-s)/1.35 var(--sans);color:#f4f3ef}
.lib-orig{font:400 var(--t-xs)/1.4 var(--sans);color:rgba(244,243,239,.55)}
.libcard.is-hidden{display:none}
.libmore{justify-self:start;margin-top:22px}
.pgrid--two{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}

/* ══════════ catalogue grid (pattern from open-source storefront templates) ══════════ */
.pfilter{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;justify-content:space-between;margin-bottom:10px}
.pfilter input{flex:1 1 300px;background:transparent;border:0;border-bottom:1px solid var(--line-strong);font:400 var(--t-l)/1.3 var(--sans);padding:10px 2px;color:var(--ink)}
.pfilter input:focus{outline:none;border-bottom-color:var(--signal)}
.pcount{color:var(--muted);margin:0 0 26px}
.pgroup2{margin-bottom:clamp(40px,5vw,68px)}
.pg2-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:2px solid var(--ink);margin-bottom:clamp(18px,2.4vw,28px)}
.pg2-head h2{font-family:var(--display);font-size:var(--t-h);line-height:1}
.pg2-head .mono{color:var(--signal)}
.pcgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:clamp(14px,2vw,24px)}
.pc{display:flex;flex-direction:column;background:#101215;color:#f4f3ef;text-decoration:none;transition:transform .4s cubic-bezier(.16,1,.3,1),background .2s;position:relative;overflow:hidden}
.pc:hover{transform:translateY(-4px);background:#14181c}
.pc-img{aspect-ratio:4/3;background:#0b0e12;display:flex;align-items:center;justify-content:center;overflow:hidden}
.pc-img img{width:100%;height:100%;object-fit:contain;padding:9%;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.pc:hover .pc-img img{transform:scale(1.06)}
.pc-body{padding:14px 16px 18px;display:grid;gap:5px;flex:1;align-content:start}
.pc-cat{font:500 var(--t-xs)/1.3 var(--sans);color:#c98a72;letter-spacing:.01em}
.pc-name{font-family:var(--display);font-size:var(--t-h);line-height:1.05;color:#fff;margin:2px 0 2px}
.pc-desc{font-size:var(--t-s);line-height:1.45;color:rgba(244,243,239,.68);min-height:2.9em}
.pc-specs{margin:8px 0 10px;display:grid;gap:5px;border-top:1px solid rgba(244,243,239,.14);padding-top:9px}
.pc-specs div{display:flex;justify-content:space-between;gap:10px}
.pc-specs dt{font-size:var(--t-xs);color:rgba(244,243,239,.55)}
.pc-specs dd{margin:0;font:500 var(--t-xs)/1.4 var(--mono);color:#e8e6e0;text-align:right}
.pc-go{margin-top:auto;font:500 var(--t-xs)/1 var(--sans);color:#e09084;display:flex;align-items:center;gap:6px}
.pc-go i{font-style:normal;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.pc:hover .pc-go i{transform:translateX(5px)}
.pc.is-hidden{display:none}

/* ══════════ product detail (pattern from open-source product templates) ══════════ */
.crumbs-wrap{border-top:1px solid var(--line-dk);background:var(--ink)}
.crumbs{display:flex;gap:8px;align-items:center;padding-block:12px;font:400 var(--t-xs)/1.3 var(--sans);color:rgba(244,243,239,.6)}
.crumbs a{color:rgba(244,243,239,.75);border-bottom:1px solid transparent}
.crumbs a:hover{border-bottom-color:var(--signal)}
.crumbs span:last-child{color:#fff}
.pdp{background:var(--ink);color:var(--paper);padding-block:clamp(26px,3.4vw,48px) clamp(30px,4vw,54px)}
.pdp-grid{display:grid;grid-template-columns:1fr;gap:clamp(26px,3.4vw,48px)}
@media(min-width:960px){.pdp-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}}
.pdp-main{margin:0;background:#0b0e12;border:1px solid rgba(244,243,239,.12)}
.pdp-main img{width:100%;aspect-ratio:4/3;object-fit:contain;padding:6%}
.pdp-thumbs{display:flex;gap:10px;margin-top:10px}
.pdp-thumb{width:84px;height:84px;padding:6px;background:#0b0e12;border:1px solid rgba(244,243,239,.14);cursor:pointer}
.pdp-thumb img{width:100%;height:100%;object-fit:contain}
.pdp-thumb.is-on{border-color:var(--signal)}
.pdp-note{margin-top:12px;font-size:var(--t-xs);line-height:1.5;color:rgba(244,243,239,.55);max-width:52ch}
.pdp-rail{display:grid;gap:14px;align-content:start}
.pdp-title{font-size:clamp(2.2rem,1.4rem+3vw,4rem);line-height:.98}
.pdp-desc{font-size:var(--t-l);line-height:1.5;color:rgba(244,243,239,.8)}
.pdp-keys{list-style:none;margin:4px 0 0;padding:0;display:grid;border-top:1px solid rgba(244,243,239,.16)}
.pdp-keys li{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:10px 0;border-bottom:1px solid rgba(244,243,239,.12)}
.pdp-keys span{font-size:var(--t-xs);color:rgba(244,243,239,.55)}
.pdp-keys b{font:500 var(--t-s)/1.4 var(--mono);color:#fff;text-align:right}
.pdp-act{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.pdp-src{color:rgba(244,243,239,.5);margin:0}
.subnav{position:sticky;top:66px;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}
.subnav .band-in{display:flex;gap:26px;padding-block:13px;overflow-x:auto}
.subnav a{font:500 var(--t-s)/1 var(--sans);color:var(--muted);border-bottom:2px solid transparent;padding-bottom:6px;white-space:nowrap}
.subnav a:hover{color:var(--ink);border-bottom-color:var(--signal)}
.mini-h{font:500 var(--t-s)/1.3 var(--sans);color:var(--muted);margin:22px 0 0}
.feats--dark li{color:var(--muted)}
.feats--dark li::before{background:var(--signal)}
@media(max-width:760px){.subnav{top:58px}}

/* sticky mobile action bar (storefront pattern) */
.mcta{display:none}
@media(max-width:760px){
  .mcta{display:grid;grid-template-columns:1fr auto;gap:1px;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--ink)}
  .mcta a{display:flex;align-items:center;justify-content:center;min-height:54px;font:500 var(--t-s)/1 var(--sans);color:#f4f3ef}
  .mcta-a{background:var(--signal);color:#fff}
  .mcta-b{background:#1a1e23;color:#e8e6e0;padding-inline:18px}
  body{padding-bottom:54px}
}

/* ══════════ learned token system (adopted from studied repos) ══════════ */
:root{
  --max:1360px;
  --pad:clamp(16px,4vw,32px);
  --gut:clamp(16px,2vw,24px);
  --r-s:4px; --r-m:6px; --r-l:8px; --r-xl:12px;
  --t-xs:.75rem; --t-s:.875rem; --t-m:1rem; --t-l:1.125rem; --t-xl:1.25rem;
  --t-h:clamp(1.875rem,1.4rem + 1.1vw,2.25rem);
  --t-d:clamp(2.5rem,1.2rem + 4.2vw,4.5rem);
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s6:24px; --s8:32px; --s10:40px; --s14:56px; --s20:80px;
  --sh-s:0 1px 2px rgba(10,12,15,.06);
  --sh-m:0 2px 6px rgba(10,12,15,.08);
  --sh-l:0 12px 32px rgba(10,12,15,.14);
  --e:cubic-bezier(.45,0,.55,1);
  --dur:200ms;
}
body{font-size:var(--t-m);line-height:1.6}
h1,h2,h3{letter-spacing:-.012em}
.nav-in{height:64px;gap:var(--s6)}
.brand-mark{font-size:1.0625rem}
.nav-links a{font-size:var(--t-s)}
.band{padding-block:clamp(40px,5vw,80px)}
.page-head{padding-block:clamp(36px,4.4vw,72px) clamp(28px,3.4vw,48px)}
.lead{font-size:var(--t-xl);line-height:1.5;max-width:56ch}
.sec-lead{font-size:var(--t-l);line-height:1.55}
.btn{min-height:44px;padding:0 20px;border-radius:var(--r-s);font-size:var(--t-s);transition:background var(--dur) var(--e),color var(--dur) var(--e),transform 120ms var(--e),box-shadow var(--dur) var(--e)}
.chip{border-radius:var(--r-s);padding:8px 14px;font-size:var(--t-xs)}
.chip--copy{border-radius:var(--r-s)}
.field{border-radius:var(--r-m)}
.results{border-radius:0 0 var(--r-m) var(--r-m)}
.doc{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-m)}
.doc-head,.doc-foot{font-size:var(--t-xs)}
.doc-cell dd{font-size:var(--t-m)}
.wizard{border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--sh-l)}
.pc{border-radius:var(--r-l);box-shadow:var(--sh-m);transition:transform .4s var(--e),box-shadow .4s var(--e),background var(--dur) var(--e)}
.pc:hover{box-shadow:var(--sh-l)}
.pc-img{background:#0b0e12}
.pc-body{padding:var(--s4) var(--s4) 18px}
.pc-desc{font-size:var(--t-s);min-height:2.8em}
.pc-specs dt{font-size:var(--t-xs)}
.pc-specs dd{font-size:var(--t-xs)}
.pdp-main{border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-m)}
.pdp-thumb{border-radius:var(--r-s);transition:border-color var(--dur) var(--e),transform var(--dur) var(--e)}
.pdp-thumb:hover{transform:translateY(-1px)}
.pdp-keys b{font-size:var(--t-s)}
.subnav a{font-size:var(--t-s);transition:color var(--dur) var(--e),border-color var(--dur) var(--e)}
.pgroup2 .pg2-head{border-bottom-color:var(--ink)}
.pg2-head h2{font-size:var(--t-h)}
.band--ink,.band--signal,.page-head,.pdp,.hero{background:var(--ink)}
.foot{padding-top:clamp(40px,5vw,72px)}
.foot-col a{font-size:var(--t-s)}
figcaption,.pdp-note,.fig figcaption{font-size:var(--t-xs)}
.spec-row{padding:var(--s3) clamp(8px,1vw,12px)}
.spec-row dt{font-size:var(--t-xs)}
.spec-row dd{font-size:var(--t-s)}
.crumbs,.crumbs a{font-size:var(--t-xs)}
@media(max-width:760px){
  .nav-in{height:56px}
  .lead{font-size:var(--t-l)}
  .pcgrid{grid-template-columns:1fr 1fr;gap:10px}
  .pc-desc{display:none}
  .pc-body{padding:10px 12px 14px}
  .pc-specs{display:none}
}

/* ══════════ type normalisation — five steps, nothing in between ══════════ */
.ap,.aul li,.anote,.cause p,.steps p,.col-lead,.ditem p,.media-copy p,.tier,.mrow,.lrow-desc,.drow-first,.fault-short,.handoff .sec-lead,.form .check{font-size:var(--t-m)}
.krow-d,.pc-desc,.lib-orig,.pcard span,.vblock figcaption,.fig figcaption,.ph-plate figcaption,.econ p{font-size:var(--t-s)}
.doc-head,.doc-foot,.libcount,.pcount,.fitcount,.hand-note,.ksrc,.pdp-note,.crumbs,.ann-lab,.foot-base p,.foot-col p{font-size:var(--t-xs)}
.sec-lead{font-size:var(--t-l)}
.lead{font-size:var(--t-xl)}
h2.display-s,.pg2-head h2,.mbrand-head h2{font-size:var(--t-h);line-height:1.1}
.display,.pdp-title{font-size:var(--t-d);line-height:1.02}
.steps h3,.cause h3,.ditem h3,.proof h3{font-size:var(--t-l)}
.form input,.form textarea{font-size:var(--t-m)}
.spec-row dd,.pdp-keys b,.lrow-name,.prow-name{font-size:var(--t-s)}
.drow-title{font-size:var(--t-h);line-height:1.15}
.fault-title{font-size:var(--t-l);line-height:1.2}
.pc-desc{min-height:0}

/* ══════════ compact home ══════════ */
.hero--tight{padding-top:clamp(24px,3vw,48px)}
.hero--tight .hero-copy{padding-bottom:clamp(16px,2vw,32px)}
.hero--tight .display{max-width:18ch}
.hero--tight .hero-note{margin-top:16px}
.wizard--slim{padding-top:16px;padding-bottom:18px;margin-top:clamp(-28px,-2vw,-14px)}
.wizard--slim .wizard-head{padding-bottom:8px}
.wizard--slim .wizard-head h2{font-size:1.15rem}
.sec-row{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:2px solid var(--ink);margin-bottom:clamp(16px,2vw,24px)}
.sec-row .display-s{margin:0}
.sec-row .doc-link{margin:0;white-space:nowrap}
.fqgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.fq{background:var(--paper);display:grid;gap:4px;padding:14px 16px;transition:background var(--dur) var(--e)}
.fq:hover{background:var(--paper-2)}
.fq-t{font-family:var(--display);font-size:1.15rem;line-height:1.2}
.fq-s{font:500 11.5px/1.3 var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--signal)}
.famgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.4vw,18px)}
.fam{display:flex;gap:12px;align-items:center;background:#101215;padding:10px;transition:transform .3s var(--e)}
.fam:hover{transform:translateY(-2px)}
.fam-img{width:64px;height:64px;flex:0 0 64px;background:#0b0e12;display:grid;place-items:center}
.fam-img img{width:100%;height:100%;object-fit:contain;padding:6px}
.fam-body{display:grid;gap:2px;min-width:0}
.fam-name{font-family:var(--display);font-size:1.1rem;line-height:1.1;color:#fff}
.fam-n{color:rgba(244,243,239,.55)}
.trustgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,2vw,28px)}
.tr{display:grid;gap:3px;padding-top:12px;border-top:1px solid rgba(244,243,239,.18)}
.tr-k{font:500 11.5px/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:rgba(244,243,239,.55)}
.tr-v{font-size:15px;line-height:1.45;color:#f4f3ef}
.trust-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(20px,2.6vw,32px)}
@media(max-width:900px){
  .fqgrid{grid-template-columns:1fr 1fr}
  .famgrid{grid-template-columns:1fr 1fr}
  .trustgrid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){.fqgrid,.famgrid{grid-template-columns:1fr}}

/* ══════════ image-led home ══════════ */
.hfull{position:relative;min-height:82svh;display:flex;align-items:flex-end;background:#0b0e12;overflow:hidden}
.hfull-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 45%;opacity:.95}
.hfull::after{content:"";position:absolute;inset:0;background:rgba(8,13,20,.62)}
.hfull-in{position:relative;z-index:2;width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--pad) clamp(36px,5vw,72px);display:grid;gap:clamp(14px,1.6vw,20px)}
.hfull .display{color:#fff;max-width:20ch;font-size:clamp(2.6rem,1.4rem + 4vw,5rem)}
.hfull .lead{color:rgba(255,255,255,.84);max-width:54ch;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.hmeta{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:2px}
.hmeta span{font-size:12.5px;line-height:1.4;color:rgba(255,255,255,.72);border-left:2px solid var(--signal);padding-left:10px}
.hmeta b{color:#fff;font-weight:600;font-family:var(--mono);font-size:13px;margin-right:2px}
.wizard--over{margin-top:0;margin-bottom:0;border-top:2px solid var(--signal);box-shadow:var(--sh-l)}
.ftiles{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.4vw,18px)}
.ftile{position:relative;display:flex;flex-direction:column;background:#101215;overflow:hidden;transition:transform .4s var(--e),box-shadow .4s var(--e)}
.ftile:hover{transform:translateY(-3px);box-shadow:var(--sh-l)}
.ftile img{width:100%;aspect-ratio:16/10;object-fit:contain;background:#0b0e12;padding:8%}
.ftile-body{display:grid;gap:3px;padding:12px 14px 16px}
.ftile-sys{font:500 11px/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#c98a72}
.ftile-t{font-family:var(--display);font-size:1.2rem;line-height:1.15;color:#fff}
.ftile-go{font:500 12px/1 var(--sans);color:rgba(244,243,239,.6);margin-top:4px}
.vband{position:relative;background:#08111a;overflow:hidden}
.vband video{width:100%;height:clamp(320px,56svh,560px);object-fit:cover;opacity:.85;display:block}
.vband-in{position:absolute;left:0;right:0;bottom:0;padding:clamp(20px,3vw,40px);display:grid;gap:8px;max-width:720px;color:#fff}
.vband-in h2{font-family:var(--display);font-size:clamp(1.6rem,1.1rem+1.6vw,2.6rem);line-height:1.05}
.vband-in p{color:rgba(255,255,255,.8);font-size:15px;line-height:1.5;max-width:52ch}
.famcards{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.4vw,18px)}
.famcard{display:flex;flex-direction:column;background:#101215;transition:transform .35s var(--e)}
.famcard:hover{transform:translateY(-3px)}
.famcard-img img{width:100%;aspect-ratio:1;object-fit:contain;background:#0b0e12;padding:10%}
.famcard-body{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:12px 14px 16px}
.famcard-name{font-family:var(--display);font-size:1.15rem;line-height:1.1;color:#fff}
.famcard-n{font:500 12px/1 var(--mono);color:rgba(244,243,239,.55)}
.ctaband{position:relative;background:#0b0e12;color:var(--paper);overflow:hidden;padding-block:clamp(48px,7vw,96px)}
.ctaband-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}
.ctaband::after{content:"";position:absolute;inset:0;background:rgba(8,13,20,.7)}
.ctaband-in{position:relative;z-index:2;display:grid;gap:clamp(22px,3vw,40px)}
.ctaband-in h2{color:#fff;font-size:var(--t-h)}
.ctaband-in p{color:rgba(255,255,255,.8);max-width:56ch;margin-top:10px}
.ctaband .btn--ghost{color:var(--paper);background:rgba(244,243,239,.12)}{grid-template-columns:repeat(4,1fr);margin-top:4px}
.ctaband .tr{border-top-color:rgba(255,255,255,.25)}
.ctaband .tr-k{color:rgba(255,255,255,.6)}
.ctaband .tr-v{color:#fff}
.ctaband-act{position:relative;z-index:2;display:flex;gap:10px;flex-wrap:wrap;margin-top:clamp(18px,2.4vw,30px)}
@media(max-width:900px){
  .hfull{min-height:70svh}
  .ftiles{grid-template-columns:1fr 1fr}
  .famcards{grid-template-columns:1fr 1fr}
  .ctaband .btn--ghost{color:var(--paper);background:rgba(244,243,239,.12)}{grid-template-columns:1fr 1fr}
  .vband-in{position:static;background:#08111a;padding:16px}
  .vband video{height:44svh}
}
@media(max-width:560px){.ftiles{grid-template-columns:1fr}}

/* hero legibility + ghost button on photography */
.hfull{color:#f4f3ef}
.hfull .btn--ghost{border-color:rgba(255,255,255,.42);color:#f4f3ef}
.hfull .btn--ghost:hover{background:rgba(255,255,255,.1)}
.hfull::after{background:rgba(8,13,20,.5)}
.hfull-bg{opacity:1}
.vband video{height:clamp(280px,46svh,460px)}
.ctaband{padding-block:clamp(40px,5.4vw,72px)}

/* field photograph band replaces the autoplay video on the home page */
.vband{position:relative;background:#08111a;overflow:hidden;min-height:clamp(320px,48svh,520px);display:flex;align-items:flex-end}
.vband-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.vband::after{content:"";position:absolute;inset:0;background:rgba(8,13,20,.55)}
.vband-in{position:absolute;left:0;right:0;bottom:0;padding:clamp(20px,3vw,40px);display:grid;gap:10px;max-width:760px;color:#fff;z-index:2}
.vband-in .btn{justify-self:start;margin-top:4px}
.vband .btn--ghost{border-color:rgba(255,255,255,.45);color:#f4f3ef}

/* image credits */
.cr-list{list-style:none;margin:0;padding:0;display:grid;gap:2px;max-width:820px}
.cr-list li{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line)}
.cr-title{font-size:15px;color:var(--ink)}
.cr-meta{font:400 12.5px/1.4 var(--sans);color:var(--muted)}
.cr-meta a{color:var(--muted);border-bottom:1px solid var(--line-strong)}

/* dealer logistics photo band */
.mediaband{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--ink)}
.mediaband figure{margin:0;position:relative;overflow:hidden}
.mediaband img{width:100%;height:clamp(220px,34svh,380px);object-fit:cover;display:block}
.mediaband figcaption{position:absolute;left:0;right:0;bottom:0;padding:14px 18px;color:#fff;font:500 13px/1.3 var(--sans);background:linear-gradient(transparent,rgba(8,13,20,.72))}
@media(max-width:700px){.mediaband{grid-template-columns:1fr}}

.mediaband--3{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.mediaband--3{grid-template-columns:1fr 1fr}}

.mediaband--wide{grid-template-columns:1fr}
.mediaband--wide img{height:clamp(260px,40svh,460px);object-position:center 45%}

/* machines: per-brand scroll window instead of a 25-screen page */
.mtable{position:relative}
.mscroll{max-height:340px;overflow-y:auto;scrollbar-width:thin}
.mscroll::-webkit-scrollbar{width:8px}
.mscroll::-webkit-scrollbar-thumb{background:rgba(15,17,19,.18);border-radius:4px}
.mthead{position:sticky;top:0;background:var(--paper);z-index:2}

/* machines: collapsible brand groups */
.mbrand{background:var(--paper);border-bottom:1px solid var(--line)}
.mbrand-head{cursor:pointer;list-style:none;display:flex;align-items:baseline;gap:14px;padding:16px 2px}
.mbrand-head::-webkit-details-marker{display:none}
.mbrand-head h2{font-family:var(--display);font-size:var(--t-h);line-height:1;margin:0}
.mbrand[open] .mbrand-head{border-bottom:1px solid var(--line)}
.mchev{margin-left:auto;width:12px;height:12px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg);transition:transform .2s var(--e)}
.mbrand[open] .mchev{transform:rotate(-135deg)}
.mbrand .mscroll{max-height:420px}
.mexpand{background:none;border:0;padding:0;margin-top:14px;font:500 12.5px/1 var(--sans);color:var(--signal);cursor:pointer;border-bottom:1px solid currentColor}
#mfilter{margin-bottom:6px}

/* hero: machine in action, text over the sky side */
.hfull{min-height:88svh}
.hfull-bg{object-position:62% 55%}
.hfull::after{background:rgba(8,14,22,.58)}
.hfull .display{max-width:17ch;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.hfull .lead{max-width:46ch}
.hmeta span{background:rgba(8,14,22,.35);padding:6px 10px;border-left:2px solid var(--signal)}
@media(max-width:760px){.hfull-bg{object-position:70% 50%}}
.foot-addr{font-style:normal;color:rgba(244,243,239,.86);font-size:15px;line-height:1.5}
.foot-hours{color:rgba(244,243,239,.78);font-size:14px;margin-top:6px}
.foot-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px}
.foot-links a{font-size:14px;color:#e0a49b}
.foot-links a:hover{color:#fff}
.foot-addr--zh{color:rgba(244,243,239,.72);font-size:14px;margin-top:4px}

/* ══════════════════════════════════════════════════════════
   LIGHT THEME — paper surfaces, ink type, red only as signal
   (photos stay photographic; no dark panels anywhere)
   ══════════════════════════════════════════════════════════ */
:root{
  --paper:#f6f5f1; --paper-2:#eeede8; --surface:#ffffff;
  --line:#e2e0d9; --line-strong:#cfccc2;
  --muted:#6b6f76; --ink:#14171a;
}
body,body.world-ink{background:var(--paper);color:var(--ink)}
.nav{background:rgba(246,245,241,.94);border-bottom:1px solid var(--line);backdrop-filter:saturate(120%) blur(8px)}
.nav a,.nav .brand-mark,.nav-links a,.nav-links a:hover{color:var(--ink)}
.nav .lang{border-bottom-color:var(--line-strong);color:#3c4046}
.nav .ext{color:var(--muted)}
.band--ink,.band--paper2,.band--paper{background:var(--paper);color:var(--ink)}
.band--ink{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.page-head{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}
.page-head .display,.band--ink .display-s,.band--ink h2,.page-head h1,.page-head h2{color:var(--ink)}
/* the light .page-head needs dark copy: the earlier light-on-dark lead colour
   left every page-head description at contrast 1.02 (unreadable) */
.page-head .lead,.page-head .lead-cat,.page-head .col-lead{color:var(--muted)}
.lead,.sec-lead{color:#4b5058}
.hero{background:var(--paper)}
/* brand hub links + fitment flag */
.brandlinks{display:flex;flex-wrap:wrap;gap:6px 12px;margin:16px 0 0;font-size:var(--t-s);color:var(--muted)}
.brandlinks a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.brandlinks a:hover{color:var(--ink)}
.fitflag{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:var(--t-s);font-weight:500}
.fitflag:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.fitflag.is-ok{color:#1d7a4a}
.fitflag.is-todo{color:#8a5a12}
/* sticky mobile CTA: the two ways to reach us, always one tap away */
.stickycta{display:none}
@media(max-width:760px){
  .stickycta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;gap:1px;background:var(--ink);border-top:1px solid rgba(255,255,255,.12);padding:8px 10px calc(8px + env(safe-area-inset-bottom))}
  .stickycta a{flex:1;display:flex;align-items:center;justify-content:center;min-height:46px;font-size:14px;font-weight:600;text-decoration:none;border-radius:2px}
  .stickycta a.wa{background:var(--signal);color:#fff}
  .stickycta a.mail{background:transparent;color:var(--paper);border:1px solid rgba(255,255,255,.28)}
  body{padding-bottom:66px}
}
/* quote form */
.qform{display:grid;gap:12px;max-width:520px}
.qform label{display:grid;gap:6px;font-size:var(--t-s);color:var(--muted)}
.qform input,.qform textarea{font:inherit;font-size:15px;padding:11px 13px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:2px;width:100%}
.qform textarea{min-height:96px;resize:vertical}
.qform input:focus,.qform textarea:focus{outline:2px solid var(--signal);outline-offset:1px}
.qform button{justify-self:start;margin-top:4px}
.qnote{margin:2px 0 0;font-size:var(--t-s)}
.qnote.is-good{color:#1d7a4a}
.qnote.is-bad{color:#a8232b}
.pc{background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:0 1px 2px rgba(16,20,24,.05)}
.pc:hover{background:var(--surface);box-shadow:0 10px 28px rgba(16,20,24,.10)}
.pc-img{background:#fff}
.pc-name{color:var(--ink)}
.pc-cat{color:var(--signal)}
.pc-desc{color:#59606a}
.pc-specs{border-top:1px solid var(--line)}
.pc-specs dt{color:var(--muted)}
.pc-specs dd{color:var(--ink)}
.pc-go{color:var(--signal)}
/* home tiles + families */
.ftile{background:var(--surface);border:1px solid var(--line)}
.ftile img{background:#fff}
.ftile-t{color:var(--ink)}
.ftile-sys{color:var(--signal)}
.ftile-go{color:var(--muted)}
.fam,.famcard{background:var(--surface);border:1px solid var(--line)}
.fam-name,.famcard-name{color:var(--ink)}
.famcard-n,.fam-n{color:var(--muted)}
.fam-img,.famcard-img img{background:#fff}
/* principles + library cards */
.pcard,.libcard{background:var(--surface);border:1px solid var(--line)}
.pcard b,.libcard b{color:var(--ink)}
.pcard span,.lib-orig{color:#59606a}
.pcard video,.libcard video{background:var(--paper-2)}
/* wizard */
.wizard,wizard--over{background:var(--surface);border:1px solid var(--line);box-shadow:0 12px 32px rgba(16,20,24,.10)}
.wizard-head h2{color:var(--ink)}
.wizard-prog{color:var(--muted)}
/* product detail */
.pdp{background:var(--paper);color:var(--ink)}
.pdp-main{background:#fff;border:1px solid var(--line)}
.pdp-main img{background:#fff}
.pdp-thumb{background:#fff;border:1px solid var(--line)}
.pdp-thumb.is-on{border-color:var(--signal)}
.pdp-title{color:var(--ink)}
.pdp-desc{color:#4b5058}
.pdp-keys{border-top:1px solid var(--line)}
.pdp-keys li{border-bottom:1px solid var(--line)}
.pdp-keys span{color:var(--muted)}
.pdp-keys b{color:var(--ink)}
.pdp-note{color:var(--muted)}
.pdp-src{color:var(--muted)}
.crumbs-wrap{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.crumbs,.crumbs a,.crumbs span{color:var(--muted)}
.crumbs span:last-child{color:var(--ink)}
.subnav{background:rgba(246,245,241,.96);border-bottom:1px solid var(--line)}
.subnav a{color:var(--muted)}
.subnav a:hover{color:var(--ink)}
/* docs, sheets, tables */
.doc{background:var(--surface);border:1px solid var(--line);box-shadow:0 1px 3px rgba(16,20,24,.06)}
.doc-head,.doc-foot{background:var(--paper-2);color:#3c4046;border-color:var(--line)}
.spec-row{border-bottom:1px solid var(--line)}
.spec-row dt,.col-lead,figcaption{color:var(--muted)}
.mt-head,.mthead{background:var(--paper)}
.mtr,.mt-row{border-bottom:1px solid var(--line)}
/* chips + buttons */
.chip{background:var(--surface);border:1px solid var(--line-strong);color:#3c4046}
.chip:hover{border-color:var(--ink)}
.chip.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.chip--copy{background:var(--paper-2);border-color:var(--line)}
.btn--ghost{border:1px solid var(--line-strong);color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
/* CTA + photo bands keep photography, lighten the scrim */
.ctaband::after{background:rgba(246,245,241,.35)}
.ctaband-in h2,.ctaband-in p{color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.35)}
.vband::after{background:rgba(20,23,26,.42)}
.handoff,.handoff *{color:inherit}
/* footer: light */
.foot{background:var(--surface);border-top:1px solid var(--line);color:var(--ink)}
.foot .brand-mark,.foot h3,.foot h4{color:var(--ink)}
.foot-col a,.foot-base p,.foot-base a{color:var(--muted)}
.foot-col a:hover{color:var(--ink)}
.foot-base{border-top:1px solid var(--line)}
.official-strip{background:var(--paper-2);color:var(--muted)}
.official-strip a{color:var(--ink)}
/* misc dark leftovers */
.krow,.ktl,.tier,.mrow,.drow,.lrow{border-color:var(--line)}
.sys-tag{color:var(--signal)}
.ann-plate{background:rgba(255,255,255,.92);color:var(--ink)}
.ann-val,.ann-lab{color:var(--ink)}
.skip{color:var(--ink)}

/* light theme — fixes after review */
.brand-role{color:var(--muted)}
.nav .brand:hover .brand-mark{color:var(--ink)}
.brand-mark{color:var(--ink)}
.ftile-t{color:var(--ink)}
.ftile-body{background:transparent}
.ftile-sys{color:var(--signal)}
/* photo CTA: light veil, ink type */
.ctaband::after{background:rgba(246,245,241,.82)}
.ctaband-in h2{color:var(--ink);text-shadow:none}
.ctaband-in p{color:#3c4046;text-shadow:none}
.ctaband .tr{border-top-color:var(--line-strong)}
.ctaband .tr-k{color:var(--muted)}
.ctaband .tr-v{color:var(--ink)}
.ctaband-act .btn--ghost{border-color:var(--line-strong);color:var(--ink)}
.ctaband-act .btn--ghost:hover{background:var(--ink);color:#fff}
/* photo band (machine at work): lighter veil, ink type */
.vband::after{background:rgba(246,245,241,.72)}
.vband-in h2{color:var(--ink);text-shadow:none}
.vband-in p{color:#3c4046;text-shadow:none}
.vband .btn--ghost{border-color:var(--line-strong);color:var(--ink);background:rgba(255,255,255,.6)}
.vband .btn--ghost:hover{background:var(--ink);color:#fff}
/* media captions on light theme */
.mediaband figcaption{background:linear-gradient(transparent,rgba(20,23,26,.62))}
/* misc contrast */
.drow-title,.drow-first,.col-h,.mini-h,.spec-row dd,.doc-cell dd,.kv{color:var(--ink)}
.mt-model,.mt-u a,.tier,.mrow,.lrow-name,.prow-name{color:var(--ink)}
.fq-t{color:var(--ink)}
.official-strip{background:var(--paper-2)}

/* photo bands: photographs keep a dark veil (they are images, not panels) */
.vband::after{background:rgba(12,17,24,.58)}
.vband-in h2{color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.35)}
.vband-in p{color:rgba(255,255,255,.86);text-shadow:0 1px 10px rgba(0,0,0,.3)}
.vband .btn--ghost{border-color:rgba(255,255,255,.5);color:#fff;background:transparent}
.vband .btn--ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.ctaband::after{background:rgba(12,17,24,.62)}
.ctaband-in h2{color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.35)}
.ctaband-in p{color:rgba(255,255,255,.86);text-shadow:0 1px 10px rgba(0,0,0,.3)}
.ctaband .tr{border-top-color:rgba(255,255,255,.28)}
.ctaband .tr-k{color:rgba(255,255,255,.62)}
.ctaband .tr-v{color:#fff}
.ctaband-act .btn--ghost{border-color:rgba(255,255,255,.5);color:#fff}
.ctaband-act .btn--ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
/* tile captions: darker, one step up */
.ftile-t{font-size:1.05rem;color:var(--ink)}
.ftile-go{color:var(--signal)}

/* tile captions: final override with specificity */
.ftiles .ftile .ftile-t{font-family:var(--display);font-size:clamp(1.05rem,.95rem + .35vw,1.3rem)!important;line-height:1.15!important;color:var(--ink)!important}
.ftiles .ftile .ftile-sys{font-size:.68rem!important;letter-spacing:.08em!important;color:var(--signal)!important}
.ftiles .ftile .ftile-go{font-size:.78rem!important;color:var(--muted)!important}
.ftiles .ftile .ftile-body{padding:14px 16px 18px!important}

/* scope: satellite vs official site */
.scope-note{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 24px;padding:16px 0 22px;border-bottom:1px solid var(--line);margin-bottom:24px}
.scope-note p{margin:0;max-width:70ch;color:#4b5058;font-size:15px;line-height:1.55}
.scope-note .doc-link{margin:0;white-space:nowrap}
.scope-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px)}
.scope-split h2{margin-bottom:16px}
.scope-list{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:10px}
.scope-list li{position:relative;padding-left:18px;color:#3c4046;font-size:15px;line-height:1.5}
.scope-list li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;background:var(--signal)}
.scope-list--out li::before{background:transparent;border:1px solid var(--muted)}
.scope-split .btn{justify-self:start}
@media(max-width:760px){.scope-split{grid-template-columns:1fr}}

/* dark button used by the brand-site hand-off */
.btn--ink{background:var(--ink);border:1px solid var(--ink);color:#fff}
.btn--ink:hover{background:#000;border-color:#000;color:#fff}
.btn--ink:focus-visible{outline:2px solid var(--signal);outline-offset:2px}

/* hero: SANY SY215C — machine right, sky left for the headline */
.hfull-bg{object-position:58% 45%}

/* hero legibility on the SANY scene */
.hfull::after{background:rgba(8,14,22,.64)}
.hfull .display{text-shadow:0 2px 30px rgba(0,0,0,.45)}
