/* CargoCut v2 — editorial studio system */
:root{
  --bg: oklch(0.145 0.006 255);
  --bg-2: oklch(0.185 0.007 255);
  --bg-3: oklch(0.225 0.008 255);
  --text: oklch(0.95 0.005 85);
  --muted: oklch(0.72 0.008 85);
  --faint: oklch(0.58 0.008 85);
  --line: oklch(1 0 0 / .1);
  --line-2: oklch(1 0 0 / .18);
  --paper: oklch(0.965 0.006 85);
  --paper-2: oklch(0.93 0.008 85);
  --ink: oklch(0.18 0.008 255);
  --ink-muted: oklch(0.42 0.01 255);
  --ink-line: oklch(0.18 0.008 255 / .14);
  --accent: oklch(0.70 0.17 48);
  --accent-ink: oklch(0.52 0.16 45);
  --accent-hover: oklch(0.75 0.16 52);
  --error: oklch(0.70 0.17 25);
  --ok: oklch(0.75 0.13 150);

  --f-display: 'General Sans', 'Switzer', system-ui, sans-serif;
  --f-body: 'Switzer', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  --t-xs: clamp(.72rem, .69rem + .15vw, .8rem);
  --t-sm: clamp(.875rem, .84rem + .15vw, .95rem);
  --t-base: clamp(1rem, .96rem + .2vw, 1.0625rem);
  --t-lg: clamp(1.125rem, 1.02rem + .5vw, 1.375rem);
  --t-xl: clamp(1.5rem, 1.2rem + 1.2vw, 2.125rem);
  --t-2xl: clamp(2.25rem, 1.4rem + 3.4vw, 4.25rem);
  --t-hero: clamp(3rem, 1.4rem + 6.6vw, 7.5rem);

  --pad: clamp(1.25rem, .6rem + 3vw, 3.5rem);
  --sec: clamp(5rem, 3rem + 7vw, 10rem);
  --max: 1440px;
  --r: 4px;
  --ease: cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--f-body);font-size:var(--t-base);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{font-family:var(--f-display);font-weight:600;margin:0;text-wrap:balance;letter-spacing:-.025em}
p{margin:0;text-wrap:pretty}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
::selection{background:var(--accent);color:var(--ink)}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--pad)}
.mono{font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:500}
.skip{position:absolute;left:1rem;top:-100px;z-index:100;background:var(--accent);color:var(--ink);padding:.6rem 1rem;border-radius:var(--r);font-weight:600;text-decoration:none}
.skip:focus{top:1rem}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.8rem 1.4rem;border-radius:999px;font-weight:600;font-size:var(--t-sm);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease);white-space:nowrap}
.btn-primary{background:var(--accent);color:oklch(0.16 0.01 50)}
.btn-primary:hover{background:var(--accent-hover)}
.btn-line{border-color:var(--line-2);color:var(--text);background:oklch(0 0 0 / .2);backdrop-filter:blur(6px)}
.btn-line:hover{border-color:var(--text)}
.btn-sm{min-height:40px;padding:.55rem 1.05rem}
.btn:active{transform:translateY(1px)}

/* Nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .3s var(--ease),border-color .3s var(--ease),backdrop-filter .3s;border-bottom:1px solid transparent}
.nav.solid,.legal-page .nav{background:oklch(0.145 0.006 255 / .86);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border-bottom-color:var(--line)}
.nav-row{display:flex;align-items:center;gap:2rem;height:72px}
.brand{font-family:var(--f-display);font-weight:600;font-size:1.3rem;letter-spacing:-.03em;text-decoration:none;color:var(--text)}
.brand span{color:var(--accent)}
.nav-links{display:flex;gap:1.9rem;margin-left:auto}
.nav-links a{font-size:var(--t-sm);text-decoration:none;color:var(--muted);transition:color .2s;position:relative;padding:.4rem 0}
.nav-links a:hover{color:var(--text)}
.nav-right{display:flex;align-items:center;gap:1rem}
.lang{display:flex;border:1px solid var(--line-2);border-radius:999px;padding:2px}
.lang button{background:none;border:0;padding:.3rem .65rem;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.06em;color:var(--muted);border-radius:999px;cursor:pointer;min-height:32px}
.lang button[aria-pressed="true"]{background:var(--text);color:var(--bg)}
.menu-btn{display:none;width:44px;height:44px;border:1px solid var(--line-2);background:none;border-radius:999px;cursor:pointer;position:relative}
.menu-btn span{position:absolute;left:13px;right:13px;height:1.5px;background:var(--text);transition:transform .25s var(--ease),top .25s var(--ease)}
.menu-btn span:first-child{top:17px}.menu-btn span:last-child{top:25px}
.menu-btn[aria-expanded="true"] span:first-child{top:21px;transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] span:last-child{top:21px;transform:rotate(-45deg)}

/* Hero */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;isolation:isolate}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.04);animation:heroZoom 18s var(--ease) forwards}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,oklch(0.145 0.006 255 / .55) 0%,oklch(0.145 0.006 255 / .15) 30%,oklch(0.145 0.006 255 / .55) 62%,var(--bg) 100%)}
@keyframes heroZoom{to{transform:scale(1)}}
.hero-inner{padding-top:140px;padding-bottom:clamp(2.5rem,5vw,4.5rem)}
.kicker{color:var(--text);opacity:.85;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}
.kicker::before{content:"";width:28px;height:1px;background:var(--accent)}
.hero h1{font-size:var(--t-hero);line-height:.95;letter-spacing:-.045em;max-width:13ch;font-weight:600}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2.5rem;align-items:end;margin-top:clamp(2rem,4vw,3.5rem)}
.hero-sub{max-width:56ch;color:var(--text);opacity:.86;font-size:var(--t-lg);line-height:1.5}
.hero-cta{display:flex;gap:.75rem;flex-wrap:wrap}
.hero-meta{border-top:1px solid var(--line);background:oklch(0.145 0.006 255 / .6);backdrop-filter:blur(8px)}
.meta-row{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;padding-block:1rem;color:var(--muted)}

/* Sections */
.sec{padding-block:var(--sec);position:relative}
.dark{background:var(--bg)}
.paper{background:var(--paper);color:var(--ink)}
.paper .lede,.paper .small{color:var(--ink-muted)}
.sec-head{margin-bottom:clamp(3rem,6vw,5.5rem)}
.eyebrow{display:flex;gap:1rem;align-items:center;color:var(--muted);margin:0 0 1.75rem}
.paper .eyebrow{color:var(--ink-muted)}
.idx{color:var(--accent)}
.paper .idx{color:var(--accent-ink)}
.head-split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(2rem,5vw,6rem);align-items:end}
.h2{font-size:var(--t-2xl);line-height:1;letter-spacing:-.04em}
.lede{font-size:var(--t-lg);line-height:1.5;color:var(--muted);max-width:52ch}

/* Reel */
.reel{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--bg-2)}
.screen{position:relative;aspect-ratio:16/9;overflow:hidden;background:#000}
.screen img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s var(--ease),transform 6s linear;transform:scale(1.06)}
.screen img.on{opacity:1;transform:scale(1)}
.screen::after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(transparent,oklch(0 0 0 / .7));pointer-events:none}
.tc,.ai{position:absolute;top:1rem;z-index:2;background:oklch(0 0 0 / .55);padding:.35rem .6rem;border-radius:2px;color:var(--text)}
.tc{left:1rem}.ai{right:1rem}
.vo{position:absolute;left:0;right:0;bottom:clamp(1rem,3vw,2.25rem);z-index:2;text-align:center;font-family:var(--f-display);font-size:var(--t-xl);font-weight:500;letter-spacing:-.02em;padding-inline:1.5rem;text-shadow:0 2px 20px oklch(0 0 0 / .6)}
.timeline{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--line)}
.shot{position:relative;text-align:left;background:none;border:0;border-right:1px solid var(--line);padding:1rem 1.1rem 1.25rem;cursor:pointer;color:var(--muted);display:flex;flex-direction:column;gap:.35rem;min-height:84px;transition:background .2s,color .2s}
.shot:last-child{border-right:0}
.shot:hover{background:var(--bg-3);color:var(--text)}
.shot b{font-weight:500;font-size:var(--t-sm);color:inherit}
.shot[aria-selected="true"]{color:var(--text);background:var(--bg-3)}
.bar{position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--accent)}
.shot[aria-selected="true"] .bar{width:100%;transition:width 4.5s linear}
.reel-note{padding:1rem 1.25rem;border-top:1px solid var(--line);color:var(--faint);font-size:var(--t-sm)}


/* Route switch */
.routes{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1.25rem}
.routes>.mono{color:var(--faint);margin-right:.5rem}
.routes button{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;background:none;border:1px solid var(--line-2);border-radius:var(--r);padding:.6rem 1rem;min-height:48px;cursor:pointer;color:var(--muted);font-weight:500;font-size:var(--t-sm);text-align:left;transition:border-color .2s,color .2s,background .2s}
.routes button .mono{font-size:.65rem;color:var(--faint)}
.routes button:hover{color:var(--text);border-color:var(--text)}
.routes button[aria-pressed="true"]{color:var(--text);border-color:var(--accent);background:var(--bg-2)}
.routes button[aria-pressed="true"] .mono{color:var(--accent)}
@media (max-width:600px){.routes>.mono{flex-basis:100%}.routes button{flex:1 1 0}}

/* Capabilities */
.caps{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink-line)}
.cap{display:grid;grid-template-columns:5rem minmax(0,1.1fr) minmax(0,1.4fr) minmax(0,.8fr);gap:2rem;align-items:baseline;padding-block:clamp(1.5rem,2.6vw,2.25rem);border-bottom:1px solid var(--ink-line);transition:padding .3s var(--ease)}
.cap .n{color:var(--accent-ink)}
.cap h3{font-size:var(--t-xl);line-height:1.1}
.cap p{color:var(--ink-muted)}
.cap .del{color:var(--ink-muted);text-align:right}
@media (hover:hover){.cap:hover h3{color:var(--accent-ink)}}

/* Industries */
.ind-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.ind{background:var(--bg);display:flex;flex-direction:column}
.ind figure{margin:0;aspect-ratio:4/3;overflow:hidden}
.ind img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);filter:saturate(.9)}
.ind:hover img{transform:scale(1.04)}
.ind-body{padding:1.5rem 1.5rem 2rem;display:flex;flex-direction:column;gap:.6rem}
.ind-body .mono{color:var(--faint)}
.ind-body h3{font-size:var(--t-lg);font-weight:600;letter-spacing:-.02em}
.ind-body p{color:var(--muted);font-size:var(--t-sm)}
.next{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:2.5rem}
.next .mono{color:var(--faint);margin-right:.75rem}
.chip{border:1px solid var(--line-2);border-radius:999px;padding:.35rem .85rem;font-size:var(--t-sm);color:var(--muted)}

/* Global */
.global{position:relative;isolation:isolate;padding-block:var(--sec);overflow:hidden;min-height:80vh;display:flex;align-items:center}
.global>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.global::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,oklch(0.145 0.006 255 / .94) 0%,oklch(0.145 0.006 255 / .8) 45%,oklch(0.145 0.006 255 / .35) 100%)}
.global .h2{max-width:14ch}
.global .lede{margin-top:1.5rem;color:var(--text);opacity:.85}
.regions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-top:clamp(2.5rem,5vw,4rem);max-width:1100px}
.region{border-top:1px solid var(--line-2);padding-top:1.1rem}
.region .mono{color:var(--accent)}
.region p{margin-top:.6rem;color:var(--muted);font-size:var(--t-sm)}
.langs{margin-top:2.5rem;color:var(--text);opacity:.7;font-size:var(--t-sm);letter-spacing:.02em;max-width:900px}

/* Stats */
.stats{border-block:1px solid var(--line);background:var(--bg-2)}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.stat{padding:clamp(2rem,4vw,3.25rem) 1.5rem;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:.6rem}
.stat:first-child{padding-left:0}.stat:last-child{border-right:0}
.stat strong{font-family:var(--f-display);font-size:var(--t-2xl);font-weight:600;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.stat p{color:var(--muted);font-size:var(--t-sm);max-width:26ch}
.src{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);text-decoration:none;border-bottom:1px solid var(--line-2);align-self:flex-start;margin-top:auto}
.src:hover{color:var(--text)}

/* Approach */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem)}
.step{border-top:2px solid var(--ink);padding-top:1.5rem;display:flex;flex-direction:column;gap:.8rem}
.step .n{color:var(--accent-ink)}
.step h3{font-size:var(--t-xl);line-height:1.1}
.step .when{color:var(--ink);font-size:.72rem}
.step p{color:var(--ink-muted)}
.eng{margin-top:clamp(4rem,8vw,7rem)}
.eng-h{font-size:var(--t-lg);margin-bottom:1.25rem}
.eng-table{border-top:1px solid var(--ink-line)}
.eng-row{display:grid;grid-template-columns:10rem minmax(0,1fr) 13rem;gap:1.5rem;padding-block:1.15rem;border-bottom:1px solid var(--ink-line);align-items:baseline}
.eng-row .t{font-family:var(--f-display);font-weight:600;font-size:var(--t-lg)}
.eng-row span:nth-child(2){color:var(--ink-muted)}
.eng-row .p{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.fine{margin-top:1.1rem;font-size:var(--t-sm);color:var(--ink-muted)}

/* Standards */
.comp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,6rem)}
.rules{display:flex;flex-direction:column}
.rule{display:grid;grid-template-columns:3.5rem minmax(0,1fr);gap:1rem;padding-block:1.25rem;border-top:1px solid var(--line)}
.rule .mono{color:var(--accent);padding-top:.2rem}
.rule p{color:var(--muted)}
.rule-src{border-top:1px solid var(--line);padding-top:1rem;display:flex;gap:.6rem;flex-wrap:wrap;color:var(--faint)}
.promise{list-style:none;margin:0;padding:0;counter-reset:pr}
.promise li{counter-increment:pr;padding:1.25rem 0 1.25rem 3rem;border-top:1px solid var(--line);position:relative;color:var(--muted)}
.promise li::before{content:counter(pr,decimal-leading-zero);position:absolute;left:0;top:1.4rem;font-family:var(--f-mono);font-size:.72rem;color:var(--accent)}
.promise b{color:var(--text);font-weight:600;display:block;margin-bottom:.2rem;font-size:var(--t-lg);font-family:var(--f-display);letter-spacing:-.015em}
.arrow-link{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.75rem;font-weight:600;text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:.25rem}
.arrow-link::after{content:"→";transition:transform .2s var(--ease)}
.arrow-link:hover::after{transform:translateX(4px)}

/* Studio */
.studio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.studio-fig{margin:0;aspect-ratio:4/5;overflow:hidden;border-radius:var(--r)}
.studio-fig img{width:100%;height:100%;object-fit:cover}
.studio-body .h2{margin-bottom:1.75rem}
.studio-body>p{color:var(--ink-muted);max-width:56ch;margin-bottom:1rem}
.facts{margin:2.25rem 0 1.75rem;border-top:1px solid var(--ink-line)}
.facts div{display:grid;grid-template-columns:10rem minmax(0,1fr);gap:1rem;padding-block:.8rem;border-bottom:1px solid var(--ink-line)}
.facts dt{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);padding-top:.2rem}
.facts dd{margin:0;font-weight:500}
.facts a{text-decoration:none;border-bottom:1px solid var(--ink-line)}
.facts a:hover{border-color:var(--accent-ink)}
.small{font-size:var(--t-sm)}

/* Contact */
.contact{background:var(--bg)}
.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(2.5rem,6vw,6rem)}
.ct-intro .lede{margin-top:1.5rem}
.ct-mail{margin-top:2rem;color:var(--muted)}
.ct-mail a{color:var(--text);font-weight:600;text-decoration:none;border-bottom:1px solid var(--accent)}
#specForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1.5rem}
.field{display:flex;flex-direction:column;gap:.45rem}
.field.full,.form-actions{grid-column:1/-1}
.field label{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.field input,.field select,.field textarea{background:transparent;border:0;border-bottom:1px solid var(--line-2);border-radius:0;padding:.7rem 0;min-height:48px;font-size:var(--t-base);transition:border-color .2s}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 10px) 55%,calc(100% - 5px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:1.5rem;cursor:pointer}
.field select option{background:var(--bg-2);color:var(--text)}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--accent)}
.field input::placeholder{color:var(--faint)}
.field [aria-invalid="true"]{border-bottom-color:var(--error)}
.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:.75rem}
.consent{color:var(--faint);font-size:var(--t-sm);flex:1 1 260px}
.consent a{color:var(--muted)}
.form-msg{flex-basis:100%;font-size:var(--t-sm);min-height:1.5em}
.form-msg.err{color:var(--error)}.form-msg.ok{color:var(--ok)}

/* Footer */
.footer{border-top:1px solid var(--line);background:var(--bg);padding-block:clamp(3.5rem,6vw,5.5rem) 2rem}
.foot-top{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:2.5rem}
.foot-brand .brand{font-size:clamp(2rem,1.2rem + 3vw,3.5rem)}
.foot-brand p{color:var(--muted);margin:1rem 0 1.25rem;max-width:34ch}
.foot-mail{text-decoration:none;font-weight:600;border-bottom:1px solid var(--accent)}
.foot-col{display:flex;flex-direction:column;gap:.7rem}
.foot-col h2{font-size:.72rem;color:var(--faint);font-weight:500;letter-spacing:.06em;margin-bottom:.4rem;font-family:var(--f-mono)}
.foot-col a{color:var(--muted);text-decoration:none;font-size:var(--t-sm)}
.foot-col a:hover{color:var(--text)}
.foot-bottom{margin-top:clamp(3rem,6vw,5rem);padding-top:1.5rem;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;color:var(--faint);font-size:var(--t-xs);line-height:1.6}

/* Legal pages */
.legal{background:var(--paper);color:var(--ink);padding-top:72px}
.legal-head{padding-block:clamp(3.5rem,7vw,6rem) clamp(2rem,4vw,3rem);border-bottom:1px solid var(--ink-line)}
.legal-head .eyebrow{color:var(--ink-muted);gap:.5rem}
.legal-head .eyebrow a{text-decoration:none}
.legal-head .eyebrow a:hover{color:var(--accent-ink)}
.legal-head h1{font-size:var(--t-2xl);line-height:1;letter-spacing:-.04em}
.legal-meta{margin-top:1.25rem;color:var(--ink-muted)}
.legal-intro{margin-top:1.75rem;font-size:var(--t-lg);line-height:1.55;color:var(--ink);max-width:68ch}
.legal-note{margin-top:1rem;font-size:var(--t-sm);color:var(--ink-muted)}
.legal-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(2rem,6vw,6rem);padding-block:clamp(2.5rem,5vw,4.5rem) var(--sec)}
.legal-toc{position:sticky;top:96px;align-self:start;max-height:calc(100vh - 120px);overflow:auto}
.legal-toc p{color:var(--ink-muted);margin-bottom:1rem}
.legal-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;counter-reset:t}
.legal-toc li{counter-increment:t;font-size:var(--t-sm);line-height:1.35}
.legal-toc a{text-decoration:none;color:var(--ink-muted);display:flex;gap:.6rem}
.legal-toc a::before{content:counter(t,decimal-leading-zero);font-family:var(--f-mono);font-size:.7rem;color:var(--accent-ink);padding-top:.15rem}
.legal-toc a:hover{color:var(--ink)}
.legal-body{max-width:72ch}
.legal-body section{padding-bottom:2.25rem;margin-bottom:2.25rem;border-bottom:1px solid var(--ink-line)}
.legal-body section:last-child{border-bottom:0}
.legal-body h2{font-size:var(--t-xl);line-height:1.15;margin-bottom:1rem;letter-spacing:-.025em}
.legal-body p{margin-bottom:1rem;color:oklch(0.3 0.01 255)}
.legal-body ul{margin:0 0 1rem;padding-left:1.2rem;color:oklch(0.3 0.01 255)}
.legal-body li{margin-bottom:.5rem}
.legal-body li::marker{color:var(--accent-ink)}
.legal-body a{color:var(--ink);text-decoration-color:var(--accent-ink);text-underline-offset:3px}
.legal-body b{color:var(--ink);font-weight:600}
.legal-body code{font-family:var(--f-mono);font-size:.85em;background:var(--paper-2);padding:.1rem .35rem;border-radius:3px}
.caps-text{font-size:var(--t-sm);letter-spacing:.01em}

/* Reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}

/* Responsive */
@media (max-width:1100px){
  .cap{grid-template-columns:3.5rem minmax(0,1fr) minmax(0,1.3fr)}
  .cap .del{grid-column:2/-1;text-align:left}
  .ind-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat:nth-child(2){border-right:0}
  .stat:nth-child(3){padding-left:0}
  .stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .foot-top{grid-template-columns:repeat(3,minmax(0,1fr))}
  .foot-brand{grid-column:1/-1}
}
@media (max-width:900px){
  .nav-links{position:fixed;top:72px;left:0;right:0;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:.5rem var(--pad) 1.5rem;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s}
  .nav-links.open{opacity:1;transform:none;visibility:visible}
  .nav-links a{font-size:var(--t-lg);color:var(--text);padding:.9rem 0;border-bottom:1px solid var(--line)}
  .nav.menu-open{background:var(--bg)}
  .menu-btn{display:block}
  .nav-cta{display:none}
  .head-split,.comp,.studio,.form-grid{grid-template-columns:1fr}
  .hero-foot{grid-template-columns:1fr;gap:1.75rem}
  .timeline{grid-template-columns:repeat(3,minmax(0,1fr))}
  .shot:nth-child(3){border-right:0}
  .shot:nth-child(-n+3){border-bottom:1px solid var(--line)}
  .regions,.steps{grid-template-columns:1fr}
  .eng-row{grid-template-columns:1fr auto;gap:.35rem 1rem}
  .eng-row span:nth-child(2){grid-column:1/-1;grid-row:2}
  .studio-fig{aspect-ratio:16/10}
  .legal-grid{grid-template-columns:1fr}
  .legal-toc{position:static;max-height:none;border:1px solid var(--ink-line);padding:1.25rem;border-radius:var(--r)}
  .foot-bottom{grid-template-columns:1fr}
}
@media (max-width:600px){
  .nav-row{gap:1rem}
  .meta-row span:nth-child(3){display:none}
  .cap{grid-template-columns:2.5rem minmax(0,1fr);gap:.5rem 1rem}
  .cap p,.cap .del{grid-column:2}
  .ind-grid{grid-template-columns:1fr}
  .stat-grid{grid-template-columns:1fr}
  .stat,.stat:first-child,.stat:nth-child(3){padding-inline:0;border-right:0;border-bottom:1px solid var(--line)}
  .stat:last-child{border-bottom:0}
  .timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
  .shot:nth-child(3){border-right:1px solid var(--line)}
  .shot:nth-child(2n){border-right:0}
  .shot:nth-child(-n+4){border-bottom:1px solid var(--line)}
  .shot{min-height:72px;padding:.8rem}
  .tc,.ai{top:.6rem;font-size:.62rem}
  .tc{display:none}.ai{right:.6rem}
  #specForm{grid-template-columns:1fr}
  .facts div{grid-template-columns:7.5rem minmax(0,1fr)}
  .foot-top{grid-template-columns:1fr 1fr}
  .hero-cta .btn{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}
