:root{
  --paper:#FAFAF8;
  --paper-2:#F2F1EB;
  --plate:#08090A;
  --ink:#0B0C0E;
  --body:#4B5057;
  --meta:#868C94;
  --rule:#E0DED5;
  --rule-2:#C8C5B9;
  --red:#C81E17;
  --sans:'Archivo','Helvetica Neue',Arial,sans-serif;
  --code:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --pad:clamp(20px,4.6vw,60px);
  --wrap:1280px;
  --rail:112px;
  --mark-accent:var(--red);
  --mark-paper:var(--paper);
  /* type scale */
  --fs-xs:clamp(10px,.2vw + 9.2px,11.5px);
  --fs-sm:clamp(13px,.25vw + 12px,14.5px);
  --fs-md:clamp(15.5px,.3vw + 14.3px,18px);
  --fs-lg:clamp(19px,.7vw + 16px,26px);
  --fs-xl:clamp(25px,1.4vw + 17px,38px);
  --fs-2xl:clamp(32px,3.2vw + 16px,66px);
  --lh-tight:1.04;
  --lh-body:1.62;
  /* dark scene theme, see .scene--dark */
  --d-paper:#08090A;
  --d-ink:#F2F0EA;
  --d-body:#A7ADB5;
  --d-meta:#7E848D;
  --d-rule:#24262A;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:70px;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);
     font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;
     font-variant-numeric:tabular-nums;}
img,svg{display:block;max-width:100%;}
img{height:auto;}
a{color:inherit;text-decoration:none;}
a:focus-visible{outline:2px solid var(--red);outline-offset:3px;}
h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0;}
ul,ol{padding:0;list-style:none;}
table{border-collapse:collapse;width:100%;}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad);}
.mono{font-family:var(--code);font-weight:500;font-size:11px;letter-spacing:.13em;
      text-transform:uppercase;color:var(--meta);}
.rule{height:1px;background:var(--rule);}

/* ---------- masthead bar ---------- */
.bar{position:sticky;top:0;z-index:60;background:rgba(250,250,248,.93);
     -webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px);
     border-bottom:1px solid var(--rule);}
.bar{transition:background-color .2s ease,border-color .2s ease;}
.bar.is-hero{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:transparent;}
.bar.is-hero .nav{background:#EFE9DC;border-radius:999px;padding:6px 8px 6px 20px;box-shadow:0 1px 0 rgba(20,16,10,.06);}
@media (max-width:1180px){.bar.is-hero .nav{padding-left:8px;}}
.bar-in{display:flex;align-items:center;justify-content:space-between;gap:18px;height:56px;}
.lock{display:flex;align-items:center;gap:10px;}
.lock .mk{width:26px;flex:none;}
.lock .wm{width:102px;flex:none;}
.nav{display:flex;align-items:center;gap:clamp(12px,1.9vw,26px);}
.nav a{font-weight:500;font-size:14px;color:var(--body);white-space:nowrap;}
.nav a:hover{color:var(--red);}
.nav .ext{color:var(--ink);}
.langsw{display:flex;gap:6px;margin-left:6px;}
.nav .lang{display:flex;align-items:center;gap:7px;padding:4px 8px;border:1px solid var(--rule-2);
           font-family:var(--code);font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--meta);}
.nav .lang:hover{border-color:var(--red);color:var(--ink);}
.nav .lang[aria-current]{border-color:var(--ink);color:var(--ink);}
.nav .lang:focus-visible{outline:2px solid var(--red);outline-offset:2px;}
.nav .lang .flag{width:21px;height:14px;}
@media (max-width:520px){.nav .ext{display:none;}.nav{gap:8px;}}
@media (max-width:1180px){.nav a:not(.ext):not(.lang){display:none;}}

/* language popup: small, non-blocking, under the nav */
#lang-gate{display:none;position:fixed;top:68px;right:max(16px,calc((100vw - var(--wrap))/2 + var(--pad)));
           z-index:70;width:min(320px,calc(100vw - 32px));background:var(--paper);border:1px solid var(--ink);
           box-shadow:0 12px 32px rgba(11,12,14,.16);padding:14px 16px 16px;}
html.lang-pending #lang-gate{display:block;}
.lg-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;}
.lg-head span{font-size:13.5px;font-weight:600;}
.lg-x{font:inherit;font-size:20px;line-height:1;color:var(--meta);background:none;border:0;cursor:pointer;padding:2px 6px;}
.lg-x:hover{color:var(--red);}
.lg-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.lg-btn{display:flex;align-items:center;gap:10px;font:inherit;font-weight:600;font-size:15px;cursor:pointer;
        color:var(--ink);background:var(--paper);border:1px solid var(--rule-2);padding:10px 12px;text-align:left;}
.lg-btn:hover{border-color:var(--red);}
.lg-btn:focus-visible,.lg-x:focus-visible{outline:2px solid var(--red);outline-offset:2px;}
.flag{width:30px;height:20px;flex:none;box-shadow:0 0 0 1px rgba(11,12,14,.18);}

/* ---------- landing hero ---------- */
.hero{--hp:#EFE9DC;--hink:#14100A;--hred:#E01018;--hbody:#3E382C;--hmono:#6A6355;--hrule:#CFC7B6;
      --display:'Archivo Black','Archivo','Helvetica Neue',Arial,sans-serif;--disc:min(112vw,520px);
      position:relative;min-height:100svh;margin-top:-57px;overflow:hidden;background:var(--hp);color:var(--hink);}
.hero .disc{position:absolute;width:var(--disc);height:var(--disc);border-radius:50%;background:var(--hred);
            right:calc(var(--disc) * -0.271);bottom:calc(var(--disc) * -0.292);}
.hero .mark{position:absolute;width:calc(var(--disc) * 0.392);height:auto;
            right:calc(var(--disc) * 0.054);bottom:calc(var(--disc) * 0.038);}
.hero-inner{position:relative;z-index:2;min-height:100svh;display:flex;flex-direction:column;
            padding-block:calc(34px + 57px) calc(var(--disc) * 0.72);}
.hero-col{flex:1 1 auto;display:flex;flex-direction:column;align-items:flex-start;max-width:640px;}
.hero-meta{order:2;margin-top:14px;width:100%;max-width:520px;}
.hero .hairline{display:none;height:1px;background:var(--hrule);margin-bottom:16px;}
.hero-meta-row{display:flex;align-items:baseline;justify-content:space-between;gap:24px;}
.hero .eyebrow{display:block;font-family:var(--code);font-size:10px;font-weight:500;letter-spacing:.18em;
               text-transform:uppercase;color:var(--hmono);}
.hero .cue{display:none;align-items:center;gap:8px;font-family:var(--code);font-size:11px;letter-spacing:.18em;
           text-transform:uppercase;color:var(--hmono);}
.hero .cue:hover{color:var(--hred);}
.hero-body{order:3;margin-top:32px;display:flex;flex-direction:column;align-items:flex-start;width:100%;}
.hero .hbar{display:block;width:68px;height:7px;background:var(--hred);}
.hero h1{margin:20px 0 0;font-family:var(--display);font-weight:400;font-size:clamp(36px,10vw,44px);
         line-height:.95;letter-spacing:-.02em;text-transform:uppercase;text-wrap:balance;max-width:480px;}
.hero .hero-lede{margin:20px 0 0;font-size:15.5px;font-weight:500;line-height:1.6;color:var(--hbody);max-width:34ch;text-wrap:pretty;}
.hero .pill{display:flex;align-items:center;justify-content:center;gap:11px;margin-top:28px;width:100%;max-width:420px;
            min-height:56px;padding:0 28px;border-radius:999px;background:var(--hink);color:var(--hp);
            font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
            transition:background-color .16s ease,color .16s ease;}
.hero .pill:hover,.hero .pill:focus-visible{background:var(--hred);color:var(--hp);}
.hero .pill svg{flex:none;}
@media (min-width:900px){
  .hero{--disc:min(70vw,1180px);}
  .hero .disc{right:calc(var(--disc) * -0.234);top:calc(var(--disc) * -0.065);bottom:auto;}
  .hero .mark{width:calc(var(--disc) * 0.368);right:calc(var(--disc) * 0.170);top:calc(var(--disc) * 0.303);bottom:auto;}
  .hero-inner{padding-block:calc(clamp(38px,6.4vh,66px) + 57px) clamp(34px,5.4vh,54px);}
  .hero-col{max-width:none;width:100%;}
  .hero-meta{order:3;margin-top:0;width:min(560px,44vw);}
  .hero .hairline{display:block;}
  .hero .cue{display:inline-flex;}
  .hero .eyebrow{font-size:11px;letter-spacing:.2em;}
  .hero-body{order:2;margin:auto 0;}
  .hero .hbar{width:96px;height:9px;}
  .hero h1{margin-top:28px;font-size:clamp(38px,min(5.1vw,8.6vh),74px);line-height:.93;letter-spacing:-.022em;max-width:min(560px,40vw);}
  .hero .hero-lede{margin-top:30px;font-size:17.5px;max-width:min(440px,34vw);}
  .hero .pill{width:auto;max-width:none;margin-top:38px;min-height:58px;padding:0 32px;}
}

/* ---------- masthead ---------- */
.mast{padding-block:clamp(38px,7vh,86px) 0;}
h2.mast-h{margin-top:0;font-size:var(--fs-2xl);font-weight:600;
   line-height:var(--lh-tight);letter-spacing:-.03em;max-width:19ch;text-wrap:balance;}
.lede{margin-top:clamp(20px,3vh,28px);font-size:var(--fs-md);line-height:var(--lh-body);
      color:var(--body);max-width:62ch;text-wrap:pretty;}
.lede b{font-weight:600;color:var(--ink);}

.status{margin-top:18px;font-size:15px;line-height:1.6;color:var(--body);max-width:62ch;text-wrap:pretty;}
.status b{font-weight:600;color:var(--ink);}

.strip{margin-top:clamp(26px,4vh,40px);border-top:1px solid var(--ink);
       display:grid;grid-template-columns:1fr;}
@media(min-width:560px){.strip{grid-template-columns:repeat(3,1fr);}}
.cell{padding:14px 16px 16px 0;border-bottom:1px solid var(--rule);}
@media(min-width:560px){.cell{border-bottom:0;}}
.cell dt{font-family:var(--code);font-weight:500;font-size:10px;letter-spacing:.14em;
         text-transform:uppercase;color:var(--meta);}
.cell dd{margin-top:7px;font-size:14px;font-weight:600;line-height:1.32;letter-spacing:-.005em;}
.cell dd span{display:block;font-weight:400;font-size:12.5px;color:var(--body);margin-top:2px;}

.note{margin-top:clamp(26px,4vh,40px);display:flex;gap:14px;align-items:flex-start;
      border-top:1px solid var(--rule);padding-top:18px;}
.note-k{flex:none;font-family:var(--code);font-weight:600;font-size:10px;letter-spacing:.14em;
        text-transform:uppercase;color:var(--red);padding-top:2px;}
.note p{font-size:14.5px;line-height:1.6;color:var(--body);max-width:70ch;text-wrap:pretty;}

.mast-fig{margin-top:clamp(34px,6vh,64px);}

/* ---------- sections ---------- */
section{border-top:1px solid var(--ink);}
.sec{padding-block:clamp(56px,10vh,128px);}
.sec-head{display:grid;grid-template-columns:1fr;gap:6px 0;}
@media(min-width:1000px){.sec-head{grid-template-columns:var(--rail) 1fr;gap:0 32px;}}
.sec-no{font-family:var(--code);font-weight:600;font-size:11.5px;letter-spacing:.12em;color:var(--red);padding-top:6px;}
.sec-head h2{font-size:var(--fs-xl);font-weight:600;letter-spacing:-.026em;line-height:1.06;}
.sec-head .sec-lede{margin-top:16px;font-size:15.5px;line-height:1.62;color:var(--body);max-width:62ch;text-wrap:pretty;}
.sec-body{margin-top:clamp(30px,5vh,54px);}
@media(min-width:1000px){.sec-body{margin-left:calc(var(--rail) + 32px);}}

/* ---------- tables ---------- */
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.tbl{font-size:14px;min-width:520px;}
.tbl caption{text-align:left;font-family:var(--code);font-weight:500;font-size:10px;
             letter-spacing:.14em;text-transform:uppercase;color:var(--meta);padding-bottom:10px;}
.tbl th{text-align:left;font-family:var(--code);font-weight:500;font-size:10px;letter-spacing:.14em;
        text-transform:uppercase;color:var(--meta);padding:0 20px 9px 0;border-bottom:1px solid var(--ink);
        vertical-align:bottom;white-space:nowrap;}
.tbl td{padding:13px 20px 13px 0;border-bottom:1px solid var(--rule);vertical-align:top;
        line-height:1.45;color:var(--body);}
.tbl td:first-child{color:var(--ink);font-weight:600;white-space:nowrap;}
.tbl td.m,.tbl th.m{font-family:var(--code);font-size:12.5px;font-weight:500;letter-spacing:.01em;}
.tbl tr:last-child td{border-bottom:1px solid var(--ink);}
.tbl .dim{color:var(--meta);}

/* key/value spec block */
.kv{border-top:1px solid var(--ink);}
.kv div{display:grid;grid-template-columns:minmax(96px,34%) 1fr;gap:16px;
        padding:10px 0;border-bottom:1px solid var(--rule);}
.kv dt{font-family:var(--code);font-weight:500;font-size:10px;letter-spacing:.13em;
       text-transform:uppercase;color:var(--meta);padding-top:2px;}
.kv dd{font-family:var(--code);font-size:12.5px;font-weight:500;color:var(--ink);line-height:1.45;}

/* ---------- figures ---------- */
figure{margin:0;}
.fig img{width:100%;}
.fig-plate img{background:var(--plate);}
.fig-sheet img{width:100%;background:#FFFFFF;border:1px solid var(--rule);
               padding:clamp(14px,2.6vw,40px) clamp(10px,2vw,30px);}
figcaption{margin-top:9px;padding-top:8px;border-top:1px solid var(--rule);
           font-family:var(--code);font-weight:500;font-size:10.5px;letter-spacing:.1em;
           text-transform:uppercase;color:var(--meta);line-height:1.5;}
figcaption b{color:var(--ink);font-weight:600;}

/* system rows */
.sys{display:grid;grid-template-columns:1fr;gap:clamp(26px,4vw,56px);}
@media(min-width:1000px){.sys{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;}}
.sys + .sys{margin-top:clamp(48px,8vh,96px);padding-top:clamp(48px,8vh,96px);border-top:1px solid var(--rule-2);}
.sys h3{font-size:var(--fs-lg);font-weight:600;letter-spacing:-.02em;line-height:1.12;}
.sys .idx{font-family:var(--code);font-weight:600;font-size:11px;letter-spacing:.12em;color:var(--red);display:block;margin-bottom:10px;}
.sys p{margin-top:14px;font-size:15px;line-height:1.66;color:var(--body);max-width:56ch;text-wrap:pretty;}
.sys .kv{margin-top:26px;}
.thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;}
.thumb{padding:0;border:0;background:var(--paper-2);cursor:pointer;overflow:hidden;
       aspect-ratio:5/4;opacity:.42;outline:1px solid var(--rule);outline-offset:-1px;
       transition:opacity .15s ease,outline-color .15s ease;}
.thumb img{width:100%;height:100%;object-fit:cover;}
.thumb:hover{opacity:.75;}
.thumb[aria-pressed="true"]{opacity:1;outline:2px solid var(--red);outline-offset:-2px;}
.thumb:focus-visible{outline:2px solid var(--ink);opacity:1;}

/* ---------- code ---------- */
.code{margin-top:26px;background:var(--plate);color:#D5D2C9;overflow:hidden;border:1px solid var(--plate);}
.code figcaption{margin:0;padding:11px 15px;border-top:0;border-bottom:1px solid #24262A;
                 color:#7E848D;background:transparent;}
.code pre{margin:0;padding:15px;overflow-x:auto;}
.code code{font-family:var(--code);font-size:11.5px;line-height:1.72;white-space:pre;}
.c-com{color:#727880;font-style:italic;}
.c-key{color:#FF6B60;}
.c-typ{color:#E4B98D;}
.c-num{color:#C6BA92;}

.sub{margin-top:clamp(48px,8vh,96px);padding-top:clamp(40px,6vh,72px);border-top:1px solid var(--rule-2);}
.sub:first-child{margin-top:0;padding-top:0;border-top:0;}
.sub h3{font-size:var(--fs-lg);font-weight:600;letter-spacing:-.02em;line-height:1.12;}
.sub p{margin-top:14px;font-size:15px;line-height:1.66;color:var(--body);max-width:62ch;text-wrap:pretty;}
.sub p code{font-family:var(--code);font-size:.9em;color:var(--ink);}
.sub .kv{margin-top:26px;max-width:640px;}
.sub .code{max-width:760px;}
.sub .tbl-wrap{margin-top:26px;}
.sub .fig{margin-top:30px;}
.shot img{width:100%;border:1px solid var(--rule-2);background:#0E1013;}

/* interactive Ground Control demo */
.gcs{margin-top:0;}
@media(min-width:1000px){.gcs{margin-left:calc(-1*(var(--rail) + 32px));}}
.gcs-stage{position:relative;width:100%;aspect-ratio:1600/950;background:#0E1013;border:1px solid var(--rule-2);overflow:hidden;}
.gcs-stage .gcs-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.26;filter:blur(1.5px);}
.gcs-stage iframe{position:absolute;top:0;left:0;border:0;transform-origin:0 0;background:#0E1013;}
.gcs-cta{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:20px;}
.gcs-cta p{margin:0;max-width:44ch;color:#D5D2C9;font-size:14.5px;line-height:1.55;}
.btn{font:inherit;font-weight:600;font-size:14.5px;cursor:pointer;border:1px solid var(--ink);background:var(--paper);color:var(--ink);padding:10px 18px;}
.btn:hover{border-color:var(--red);color:var(--red);}
.btn:focus-visible{outline:2px solid var(--red);outline-offset:3px;}
.btn[disabled]{opacity:.4;cursor:default;border-color:var(--rule-2);color:var(--meta);}
.btn-go{background:var(--red);border-color:var(--red);color:#fff;font-size:16px;padding:13px 24px;}
.btn-go:hover{background:#E0261E;border-color:#E0261E;color:#fff;}
.gcs-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin-top:12px;}
.gcs-msg{font-size:13.5px;color:var(--body);flex:1 1 280px;min-height:1.5em;}
.gcs-bar[hidden],.gcs-cta[hidden],.gcs-poster[hidden]{display:none;}

/* ---------- diagram ---------- */
.dia-wrap{border:1px solid var(--rule-2);background:var(--paper);padding:clamp(12px,2vw,22px);overflow-x:auto;}
.dia{--dia-line:#9AA0A8;min-width:840px;width:100%;height:auto;}
.dia .dia-band rect{fill:var(--paper-2);stroke:none;}
.dia .dia-band-label{font-family:var(--code);font-weight:600;font-size:11px;letter-spacing:.15em;fill:var(--meta);}
.dia .box rect{fill:var(--paper);stroke:var(--ink);stroke-width:1.2;}
.dia .box-hl rect{stroke:var(--red);stroke-width:1.6;}
.dia .bt{font-family:var(--code);font-weight:600;font-size:13px;letter-spacing:.06em;fill:var(--ink);}
.dia .bs{font-family:var(--sans);font-size:12.5px;fill:var(--body);}
.dia .ln path{fill:none;stroke:var(--dia-line);stroke-width:1.4;}
.dia .ln-thin path{stroke-width:1.1;}
.dia .ln-dash path{stroke-dasharray:4 4;}
.dia .ln-fb path{fill:none;stroke:var(--red);stroke-width:1.4;stroke-dasharray:5 4;}
.dia .fb{font-family:var(--code);font-weight:500;font-size:11px;letter-spacing:.08em;fill:var(--red);}

/* ---------- states ---------- */
.gal{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(12px,1.8vw,22px);}
@media(min-width:820px){.gal{grid-template-columns:repeat(3,1fr);}}
.gal img{width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--paper-2);}
.gal .fig-plate img{object-fit:contain;background:var(--plate);}

/* ---------- footer ---------- */
.foot{background:var(--ink);color:var(--paper);--mark-paper:var(--ink);--mark-accent:#FF4438;
      padding-block:clamp(44px,7vh,84px);border-top:0;}
.foot-grid{display:flex;flex-direction:column;gap:34px;}
@media(min-width:820px){.foot-grid{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:48px;}}
.foot .lock .wm{width:184px;}
.foot .lock .mk{width:44px;}
.foot-links{display:flex;flex-direction:column;gap:12px;}
@media(min-width:820px){.foot-links{align-items:flex-end;}}
.foot-links a{display:inline-flex;align-items:center;gap:9px;font-size:15px;font-weight:500;
              color:var(--paper);transition:color .15s ease;}
.foot-links a:hover{color:#FF6B60;}
.foot-rule{height:1px;background:#282A2E;margin-block:30px 18px;}
.foot-legal{font-family:var(--code);font-weight:400;font-size:10.5px;letter-spacing:.1em;
            text-transform:uppercase;color:#7E848D;line-height:1.8;}

.reveal-on .reveal{opacity:0;transform:translateY(14px);}
.reveal-on .reveal.in{opacity:1;transform:none;transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1);}
@media (prefers-reduced-motion:reduce){.reveal-on .reveal{opacity:1;transform:none;}}

/* ---------- overflow containment ---------- */
.sys > *,.sec-body > *,.gal > *{min-width:0;}
.tbl-wrap,.dia-wrap,.code{max-width:100%;}
.code pre{max-width:100%;}
@media(max-width:640px){
  .tbl{min-width:460px;}
  .tbl th,.tbl td{padding-right:14px;}
  .kv div{grid-template-columns:1fr;gap:3px;}
  .kv dt{padding-top:0;}
  .thumbs{gap:6px;}
}
.tbl-wrap{scrollbar-width:thin;}
.tbl-wrap::after{content:"";display:block;}

/* diagram extras */
.dia .gate{font-family:var(--code);font-weight:500;font-size:10.5px;letter-spacing:.08em;fill:var(--meta);}

/* width caps + hero plate + sticky media */
.tbl{max-width:1060px;}
.tbl-wrap{max-width:1060px;}
.plate3{background:var(--plate);display:grid;grid-template-columns:repeat(3,1fr);
        padding:clamp(14px,2.2vw,30px) 0;}
.plate3 > div{display:flex;flex-direction:column;align-items:center;gap:clamp(8px,1.2vw,16px);
              padding:0 clamp(10px,2vw,30px);}
.plate3 > div + div{border-left:1px solid #1D1F23;}
.plate3 img{width:100%;aspect-ratio:5/4;object-fit:contain;}
.plate3 span{font-family:var(--code);font-weight:500;font-size:clamp(8.5px,1vw,10.5px);
             letter-spacing:.14em;text-transform:uppercase;color:#7E848D;text-align:center;}
@media(min-width:1000px){
  .sys > div:first-child > .fig{position:sticky;top:76px;}
}

/* scroll affordance on wide content */
.tbl-wrap,.code pre,.dia-wrap{
  background-image:
    linear-gradient(to right, var(--paper) 30%, rgba(250,250,248,0)),
    linear-gradient(to left,  var(--paper) 30%, rgba(250,250,248,0)),
    linear-gradient(to right, rgba(11,12,14,.13), rgba(11,12,14,0)),
    linear-gradient(to left,  rgba(11,12,14,.13), rgba(11,12,14,0));
  background-position:left center,right center,left center,right center;
  background-repeat:no-repeat;
  background-size:34px 100%,34px 100%,13px 100%,13px 100%;
  background-attachment:local,local,scroll,scroll;
}
.code pre{
  background-image:
    linear-gradient(to right, var(--plate) 30%, rgba(8,9,10,0)),
    linear-gradient(to left,  var(--plate) 30%, rgba(8,9,10,0)),
    linear-gradient(to right, rgba(0,0,0,.5), rgba(0,0,0,0)),
    linear-gradient(to left,  rgba(0,0,0,.5), rgba(0,0,0,0));
}

/* ---------- dark scene theme: swaps the tokens, used by pinned scenes ---------- */
.scene--dark{--paper:var(--d-paper);--paper-2:#101215;--ink:var(--d-ink);--body:var(--d-body);--meta:var(--d-meta);
             --rule:var(--d-rule);--rule-2:#34373D;background:var(--d-paper);color:var(--d-ink);}

/* ---------- sub-pages: breadcrumb, solid bar without a hero, footer legal links ---------- */
.crumb{display:flex;align-items:center;gap:10px;margin-bottom:clamp(20px,4vh,40px);font-family:var(--code);font-weight:500;
       font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--meta);}
.crumb a{color:var(--ink);}
.crumb a:hover{color:var(--red);}
body:not(:has(.hero)) .bar.is-hero{background:rgba(250,250,248,.93);-webkit-backdrop-filter:saturate(180%) blur(10px);
  backdrop-filter:saturate(180%) blur(10px);border-bottom-color:var(--rule);}
body:not(:has(.hero)) .bar.is-hero .nav{background:none;border-radius:0;padding:0;box-shadow:none;}
.foot-legal-links{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px 12px;}
.foot-legal-links a{color:#A7ADB5;}
.foot-legal-links a:hover{color:#FF6B60;}

/* ---------- legal pages ---------- */
.legal{max-width:70ch;margin-top:clamp(24px,4vh,48px);}
.legal h2{font-size:var(--fs-lg);font-weight:600;letter-spacing:-.02em;line-height:1.15;margin-top:clamp(32px,5vh,52px);}
.legal p{margin-top:12px;font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--body);text-wrap:pretty;}
.legal .legal-note{color:var(--meta);}
.legal .addr{color:var(--ink);font-weight:500;font-size:var(--fs-md);line-height:1.5;}
.legal a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--rule-2);text-underline-offset:3px;}
.legal a:hover{color:var(--red);text-decoration-color:var(--red);}
.legal .plist{margin-top:12px;padding-left:1.2em;list-style:disc;max-width:70ch;}
.legal .plist li{margin-top:10px;font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--body);text-wrap:pretty;}

/* ---------- ground page: demo in a device frame ---------- */
.ground-demo{margin-top:clamp(28px,5vh,56px);}
.ground-demo .gcs{margin-left:0;}
.ground-demo .gcs-stage{border:clamp(6px,1vw,12px) solid #15171A;border-radius:clamp(8px,1.2vw,16px);box-shadow:0 36px 70px -28px rgba(8,9,10,.55);}
a.btn{display:inline-block;text-decoration:none;}
.sub .plist{margin-top:18px;padding-left:1.2em;list-style:disc;max-width:68ch;}
.sub .plist li{margin-top:10px;font-size:15px;line-height:1.62;color:var(--body);text-wrap:pretty;}

/* ---------- home: system cards, ground teaser, hero parallax ---------- */
.cell dd b{font-weight:inherit;font-variant-numeric:tabular-nums;}
.cards{display:grid;grid-template-columns:1fr;gap:clamp(20px,3vw,36px);}
@media(min-width:900px){.cards{grid-template-columns:repeat(3,minmax(0,1fr));}}
.card{display:block;color:inherit;border-top:1px solid var(--ink);padding-top:16px;transition:transform .25s cubic-bezier(.2,.7,.2,1);}
.card:hover{transform:translateY(-4px);}
.card img{width:100%;aspect-ratio:5/4;object-fit:cover;background:var(--plate);}
.card .idx{display:block;margin-top:18px;font-family:var(--code);font-weight:600;font-size:var(--fs-xs);letter-spacing:.12em;color:var(--red);}
.card h3{margin-top:8px;font-size:var(--fs-lg);font-weight:600;letter-spacing:-.02em;line-height:1.12;}
.card p{margin-top:12px;font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--body);max-width:46ch;text-wrap:pretty;}
.card .more{display:inline-block;margin-top:16px;font-weight:600;font-size:var(--fs-sm);border-bottom:1px solid var(--rule-2);padding-bottom:2px;}
.card .more::after{content:" \2192";}
.card:hover .more{color:var(--red);border-bottom-color:var(--red);}
.card-wide{display:grid;grid-template-columns:1fr;gap:clamp(18px,3vw,40px);align-items:center;}
@media(min-width:900px){.card-wide{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);}}
.card-wide img{aspect-ratio:1600/950;background:#0E1013;}
.card-wide .idx{margin-top:0;}
.more-line{margin-top:26px;font-weight:600;font-size:var(--fs-sm);}
.more-line a{border-bottom:1px solid var(--rule-2);padding-bottom:2px;}
.more-line a::after{content:" \2192";}
.more-line a:hover{color:var(--red);border-bottom-color:var(--red);}

/* ---------- photos from the archive ---------- */
.media-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.8vw,22px);margin-top:clamp(28px,5vh,52px);}
@media(min-width:900px){.media-row-4{grid-template-columns:repeat(4,minmax(0,1fr));}.media-row-3{grid-template-columns:repeat(3,minmax(0,1fr));}.media-row-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:780px;}}
@media(max-width:899px){.media-row-3 .fig:last-child{grid-column:1 / -1;}}
.media-row .fig img,.media-row .fig video{width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--paper-2);}
.media-row .fig video{display:block;}
.media-row-2 .fig img{aspect-ratio:4/3;}
.media-row-3 .fig:nth-child(2) img{aspect-ratio:4/5;}
.media-row .fig video{height:auto;aspect-ratio:4/5;}
.media-row .fig img[src*="ea4-airframe"]{object-fit:contain;background:#fff;}
.media-row + .tbl-wrap{margin-top:clamp(36px,6vh,64px);}
