/* C1 · Hyperspace Dispatch. Base CSS = the static final state; motion modes add html.m-full / html.m-lite. */
@font-face{font-family:"Space Grotesk";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/space-grotesk-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}

:root{
  --gun:#121518;--panel:#1E2329;--panel-2:#171B1F;--bone:#ECE6D9;--muted:rgba(236,230,217,.68);--hair:#39414A;
  --amber:#FFB020;--rust:#8C2F1E;--steel:#5A636C;--blank:#FFD54A;
  --display:"Space Grotesk","Arial Narrow",system-ui,sans-serif;
  --sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --m:4vw;--gut:24px;--head:56px;
}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
html{background:var(--gun);color-scheme:dark}
body{background:var(--gun);color:var(--bone);font:400 17px/1.55 var(--sans);overflow-x:clip}
a{color:inherit}
::selection{background:var(--amber);color:var(--gun)}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:fixed;left:12px;top:-60px;z-index:100;background:var(--amber);color:var(--gun);padding:10px 14px;font:500 14px var(--mono);text-decoration:none}
.skip:focus{top:12px}
.mono{font-family:var(--mono)}
.stencil{font:500 12px/1.45 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.stencil b{color:var(--amber);font-weight:500}
.display{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.04em;line-height:.92}
h2.display{font-size:clamp(40px,6vw,96px)}
.lede{max-width:56ch;color:var(--muted);font-size:18px}
.refund-line{font:400 14px/1.5 var(--mono);color:var(--bone);border-left:2px solid var(--amber);padding:2px 0 2px 12px;max-width:62ch}

/* ---------- header ---------- */
.bar{position:fixed;inset:0 0 auto 0;height:var(--head);z-index:50;display:flex;align-items:center;gap:24px;padding:0 var(--m);background:rgba(18,21,24,.92);border-bottom:1px solid var(--hair)}
.bar__brand{font:600 15px var(--display);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;display:flex;align-items:center;gap:10px}
.bar__brand::before{content:"";width:18px;height:18px;border:1px solid var(--amber);border-radius:50%;box-shadow:inset 0 -7px 0 -6px var(--amber)}
.bar__nav{display:flex;gap:22px;margin-left:auto}
.bar__nav a{font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--muted);padding:6px 0}
.bar__nav a:hover{color:var(--bone)}
.btn-hold,.btn-menu{font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;background:none;color:var(--bone);border:1px solid var(--hair);padding:8px 12px;cursor:pointer}
.btn-hold:hover,.btn-menu:hover{border-color:var(--amber)}
.btn-hold [data-cart-count]{color:var(--amber)}
.btn-menu{display:none}
@media (max-width:1023px){.bar__nav{display:none}.btn-menu{display:inline-block;margin-left:auto}}

/* dialogs (menu + hold) */
dialog.sheet{border:1px solid var(--hair);background:var(--panel);color:var(--bone);padding:0;width:min(440px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;margin:0 0 0 auto}
dialog.sheet::backdrop{background:rgba(8,10,12,.72)}
.sheet__in{padding:20px 24px;display:flex;flex-direction:column;gap:18px;height:100%}
.sheet__top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--hair);padding-bottom:14px}
.sheet__close{background:none;border:1px solid var(--hair);color:var(--bone);font:500 12px var(--mono);letter-spacing:.12em;padding:8px 12px;cursor:pointer;text-transform:uppercase}
.sheet nav a{display:block;font:600 34px/1.1 var(--display);text-transform:uppercase;letter-spacing:.04em;text-decoration:none;padding:10px 0;border-bottom:1px solid var(--hair)}
.hold-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;overflow:auto}
.hold-list li{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;font:400 14px var(--mono);border-bottom:1px solid var(--hair);padding-bottom:10px}
.hold-list button{background:none;border:1px solid var(--hair);color:var(--muted);font:12px var(--mono);padding:4px 8px;cursor:pointer}
.hold-total{font:500 16px var(--mono);display:flex;justify-content:space-between;margin-top:auto}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:12px;font:500 14px var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:14px 20px;border:1px solid var(--amber);background:var(--amber);color:var(--gun);cursor:pointer;text-decoration:none}
.btn:hover{background:#ffc04d}
.btn[disabled]{background:var(--panel);color:var(--muted);border-color:var(--hair);cursor:not-allowed}
.btn--line{background:none;color:var(--bone);border-color:var(--hair)}
.btn--line:hover{background:none;border-color:var(--amber);color:var(--amber)}

/* ---------- plates (image or placeholder) ---------- */
.plate{position:relative;aspect-ratio:3/2;background:var(--panel-2);border:1px solid var(--hair);overflow:hidden}
.plate--wide{aspect-ratio:2/1}
.plate img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.plate__ph{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;text-align:center;padding:8%;
  background:
    linear-gradient(var(--hair),var(--hair)) 50% 50%/1px 18% no-repeat,
    linear-gradient(var(--hair),var(--hair)) 50% 50%/18% 1px no-repeat,
    var(--panel-2)}
.plate__ph::before,.plate__ph::after{content:"";position:absolute;width:14px;height:14px;border:1px solid var(--muted)}
.plate__ph::before{left:10px;top:10px;border-right:0;border-bottom:0}
.plate__ph::after{right:10px;bottom:10px;border-left:0;border-top:0}
.plate__name{font:600 clamp(14px,2vw,26px)/1 var(--display);text-transform:uppercase;letter-spacing:.06em;color:var(--bone);background:var(--panel-2);padding:4px 8px}
.plate__meta{font:500 10px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);background:var(--panel-2);padding:2px 6px}
.plate.is-loaded .plate__ph{visibility:hidden}

/* ---------- 1 · hero ---------- */
.jump{position:relative;height:100vh;height:100svh;min-height:560px;overflow:clip;background:#0B0D0F;isolation:isolate}
.jump__poster{position:absolute;inset:0;z-index:0}
.jump__poster .plate{position:absolute;inset:0;aspect-ratio:auto;border:0;background:#0B0D0F}
.jump__poster .plate__ph{background:
  radial-gradient(1px 1px at 12% 22%,var(--bone) 50%,transparent 51%),radial-gradient(1px 1px at 72% 18%,var(--bone) 50%,transparent 51%),
  radial-gradient(1.5px 1.5px at 33% 64%,var(--bone) 50%,transparent 51%),radial-gradient(1px 1px at 86% 72%,var(--bone) 50%,transparent 51%),
  radial-gradient(1px 1px at 52% 40%,var(--bone) 50%,transparent 51%),radial-gradient(1px 1px at 22% 84%,var(--bone) 50%,transparent 51%),
  radial-gradient(1px 1px at 64% 88%,var(--bone) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 92% 36%,var(--bone) 50%,transparent 51%),
  #0B0D0F;justify-content:flex-start;align-items:flex-end;padding:calc(var(--head) + 16px) var(--m)}
.jump__poster .plate__name{display:none}
.jump canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;display:none}
html.m-full .jump canvas{display:block}
.jump__flash{position:absolute;inset:0;z-index:3;background:#FFE7B8;opacity:0;pointer-events:none}
.jump__hud{position:absolute;z-index:4;top:calc(var(--head) + 20px);left:var(--m);right:var(--m);display:flex;justify-content:space-between;gap:16px;pointer-events:none}
.jump__hud dl{display:grid;grid-template-columns:auto auto;gap:4px 14px;font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase}
.jump__hud dt{color:var(--muted)}
.jump__hud dd{color:var(--amber);font-variant-numeric:tabular-nums;margin:0}
.jump__pre{position:absolute;z-index:4;left:var(--m);top:42%;max-width:34ch}
.jump__pre p{font:500 13px/1.6 var(--mono);letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}
.jump__pre strong{display:block;font:600 clamp(22px,2.6vw,36px)/1.05 var(--display);letter-spacing:.06em;color:var(--bone);margin-bottom:12px}
.jump__title{position:absolute;z-index:4;left:var(--m);right:var(--m);bottom:clamp(56px,9vh,110px);font:600 clamp(44px,13vw,80px)/.9 var(--display);letter-spacing:.005em;text-transform:uppercase;max-width:14ch}
@media (min-width:768px){.jump__title{font-size:clamp(80px,11vw,180px)}}
.jump__title .w{display:inline-block;white-space:nowrap}
.jump__title .l{display:inline-block;will-change:transform,opacity}
.jump__cue{position:absolute;z-index:4;right:var(--m);bottom:clamp(56px,9vh,110px);font:500 11px var(--mono);letter-spacing:.2em;color:var(--amber);display:flex;align-items:center;gap:12px;writing-mode:vertical-rl}
.jump__cue::after{content:"";width:1px;height:64px;background:linear-gradient(var(--amber),transparent);animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (max-width:767px){.jump__pre{top:auto;bottom:calc(clamp(56px,9vh,110px) + 3.2em * 3);}.jump__hud dl:last-child{display:none}.jump__cue{writing-mode:horizontal-tb;bottom:20px}.jump__cue::after{height:1px;width:40px}}

/* ---------- section frame ---------- */
.sec{position:relative;padding:clamp(80px,12vh,140px) var(--m);border-top:1px solid var(--hair)}
.sec__head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gut);align-items:end;margin-bottom:48px}
.sec__head .stencil{grid-column:1/-1}
.sec__head h2{grid-column:1/8}
.sec__head .lede{grid-column:8/13}
@media (max-width:1023px){.sec__head h2,.sec__head .lede{grid-column:1/-1}}

/* ---------- 2 · departures board ---------- */
.board{border:1px solid var(--hair);background:#0E1013;padding:18px clamp(12px,2vw,28px) 22px}
.board__top{display:flex;justify-content:space-between;gap:16px;font:500 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amber);border-bottom:1px solid var(--hair);padding-bottom:12px;margin-bottom:10px}
.board__clock{font-variant-numeric:tabular-nums;color:var(--bone)}
.board__cols,.row{display:grid;grid-template-columns:calc(6.6em + 10px) calc(3.3em + 4px) minmax(0,1fr) calc(3.3em + 4px) calc(13.2em + 22px) 14px;gap:0 .9em;align-items:center;font-size:clamp(12px,1.25vw,18px)}
.board__cols{font-family:var(--mono);color:var(--muted);padding:6px 6px}
.board__cols span{font-size:10px;font-weight:500;letter-spacing:.16em}
.board__cols span:nth-child(4){text-align:right}
.rows{list-style:none;padding:0}
.row{text-decoration:none;padding:5px 6px;border-top:1px solid rgba(57,65,74,.5);font:500 clamp(12px,1.25vw,18px)/1 var(--mono)}
.row:hover,.row:focus-visible{background:var(--panel)}
.cell{display:flex;gap:2px;perspective:300px;min-width:0;overflow:hidden}
.cell--r{justify-content:flex-end}
.f{display:inline-block;width:1.1em;height:1.5em;line-height:1.5em;text-align:center;background:var(--panel);color:var(--bone);border-radius:2px;position:relative;flex:none;transform-origin:50% 50%;backface-visibility:hidden}
.f::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(0,0,0,.55)}
.f.sp{background:#15181C}
.cell--st .f{color:var(--muted)}
.lamp{width:12px;height:12px;border-radius:50%;background:var(--amber);outline:1px solid var(--hair);outline-offset:2px;justify-self:end}
.lamp--low{animation:lamp 1.6s ease-in-out infinite}
.lamp--out{background:var(--steel)}
@keyframes lamp{50%{opacity:.25}}
@media (max-width:767px){
  .board__cols{display:none}
  .row{grid-template-columns:calc(6em + 5px) 1fr auto 14px;grid-template-areas:"c p p l" "n n n n";gap:6px 1ch;font-size:11px;padding:10px 4px}
  .row .cell--c{grid-area:c}.row .cell--m{display:none}.row .cell--n{grid-area:n}.row .cell--p{grid-area:p}.row .cell--st{display:none}.row .lamp{grid-area:l}
  .f{width:1em}.cell{gap:1px}
}
.manifest-plain{columns:2;font:14px/1.9 var(--mono)}

/* ---------- 3 · cargo bay ---------- */
.cargo{overflow:clip;padding-bottom:clamp(60px,10vh,120px)}
.cargo__track{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px var(--gut)}
.cargo__track:focus-visible{outline-offset:8px}
.crate{position:relative}
.crate__label{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;font:500 12px var(--mono);letter-spacing:.14em;text-transform:uppercase}
.crate__label h3{font:600 clamp(24px,2.6vw,40px)/1 var(--display);letter-spacing:.05em}
.crate__count{color:var(--amber);font-variant-numeric:tabular-nums}
.crate__box{position:relative;perspective:1400px;perspective-origin:50% 10%;border:1px solid var(--hair);background:
  repeating-linear-gradient(90deg,transparent 0 calc(25% - 1px),rgba(57,65,74,.35) calc(25% - 1px) 25%),#101316;aspect-ratio:16/10;overflow:clip}
.crate__haze{position:absolute;inset:auto 0 0 0;height:70%;pointer-events:none;opacity:0;
  background:radial-gradient(60% 50% at 50% 100%,rgba(236,230,217,.18),transparent 70%),radial-gradient(30% 40% at 25% 90%,rgba(236,230,217,.10),transparent 70%),radial-gradient(30% 40% at 78% 92%,rgba(236,230,217,.10),transparent 70%)}
.crate__items{position:absolute;inset:8% 5% 6%;list-style:none;padding:0}
.crate__items li{position:absolute;bottom:0;width:44%}
.crate__items li:nth-child(1){left:0;bottom:18%;width:36%;z-index:1}
.crate__items li:nth-child(2){left:30%;bottom:6%;width:42%;z-index:2}
.crate__items li:nth-child(3){right:0;bottom:0;width:38%;z-index:3}
.crate__items a{display:block;text-decoration:none}
.crate__items .plate{box-shadow:0 18px 30px -18px #000}
.tag{display:flex;justify-content:space-between;gap:8px;margin-top:6px;font:500 11px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;background:var(--gun);padding:6px 8px;border:1px solid var(--hair)}
.tag span:last-child{color:var(--amber);white-space:nowrap}
.crate__items a:hover .tag,.crate__items a:focus-visible .tag{border-color:var(--amber)}
.crate__hatch{position:absolute;inset:0;z-index:5;transform-origin:50% 0;backface-visibility:hidden;display:none;
  background:
    linear-gradient(var(--hair),var(--hair)) 0 33%/100% 1px no-repeat,linear-gradient(var(--hair),var(--hair)) 0 66%/100% 1px no-repeat,
    linear-gradient(180deg,#2A3037,#1E2329);border-bottom:2px solid var(--amber)}
.crate__hatch .stencil{position:absolute;left:6%;top:12%;color:var(--bone);font-size:clamp(12px,1.2vw,16px)}
.crate__hatch .big{position:absolute;left:6%;bottom:12%;font:600 clamp(48px,8vw,140px)/.8 var(--display);color:rgba(236,230,217,.12);letter-spacing:.02em}
.crate__hatch .seal{position:absolute;right:6%;bottom:14%;font:500 11px var(--mono);letter-spacing:.16em;color:var(--amber);border:1px solid var(--amber);padding:6px 10px}
html.m-full .crate__hatch,html.m-lite .crate__hatch{display:block}
html.m-full .cargo,html.m-lite .cargo{height:100vh;height:100svh;padding-top:calc(var(--head) + 28px);padding-bottom:28px;display:flex;flex-direction:column}
html.m-full .cargo .sec__head,html.m-lite .cargo .sec__head{margin-bottom:24px}
html.m-full .cargo__track,html.m-lite .cargo__track{display:flex;gap:6vw;width:max-content;flex:1;align-items:center;min-height:0}
html.m-full .cargo .crate{width:min(58vw,calc((100svh - 300px) * 1.6))}
html.m-lite .cargo .crate{width:84vw}
html.m-full .cargo .lede{font-size:16px}
.cargo__intro{display:none}
html.m-full .cargo__intro,html.m-lite .cargo__intro{display:flex;flex-direction:column;justify-content:flex-end;gap:14px;width:min(26vw,360px);flex:none}
html.m-lite .cargo__intro{width:60vw}
.cargo__keys{font:500 11px var(--mono);letter-spacing:.12em;color:var(--muted);text-transform:uppercase}
@media (max-width:767px){.cargo__track{grid-template-columns:1fr}html.m-full .cargo .sec__head .lede,html.m-lite .cargo .sec__head .lede{display:none}}

/* ---------- 4 · scanner ---------- */
.scanner{overflow:clip}
.scan{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gut);align-items:center;position:relative}
.scan__stage{grid-column:1/8;position:relative}
.scan__plate{position:relative}
.scan__veil{position:absolute;inset:0;z-index:2;transform-origin:50% 0;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(255,176,32,.07) 0 1px,transparent 1px 6px),linear-gradient(rgba(255,176,32,.04),rgba(255,176,32,.04))}
.scan__line{position:absolute;left:-2%;right:-2%;top:0;height:2px;z-index:3;background:var(--amber);box-shadow:0 0 12px 2px rgba(255,176,32,.55),0 0 48px 6px rgba(255,176,32,.18);opacity:0}
.scan__dot{position:absolute;z-index:4;width:22px;height:22px;margin:-11px 0 0 -11px;border:1px solid var(--amber);border-radius:50%;display:grid;place-items:center;font:500 10px var(--mono);color:var(--amber);background:rgba(18,21,24,.7)}
.scan__side{grid-column:8/13;display:flex;flex-direction:column;gap:22px}
.scan__specs{list-style:none;padding:0;display:flex;flex-direction:column;gap:14px;counter-reset:s}
.scan__specs li{counter-increment:s;border-top:1px solid var(--hair);padding-top:10px;font-size:16px}
.scan__specs li::before{content:"0" counter(s) " ·";font:500 11px var(--mono);letter-spacing:.14em;color:var(--amber);display:block;margin-bottom:2px}
.scan__leaders{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:visible;width:100%;height:100%}
.scan__leaders path{fill:none;stroke:var(--amber);stroke-width:1}
.scan__price{display:flex;align-items:baseline;gap:14px;font:500 clamp(32px,4vw,56px)/1 var(--mono);font-variant-numeric:tabular-nums}
.scan__price small{font-size:13px;letter-spacing:.14em;color:var(--muted)}
.stamp{position:absolute;z-index:6;right:4%;bottom:8%;transform:rotate(-6deg);background:var(--rust);color:var(--bone);border:2px solid var(--bone);outline:1px solid var(--rust);outline-offset:3px;padding:10px 16px;font:600 clamp(13px,1.4vw,20px)/1.15 var(--display);letter-spacing:.08em;text-transform:uppercase;max-width:22ch;text-align:center}
.stamp--ok{background:var(--panel);color:var(--amber);border-color:var(--amber);outline-color:transparent}
html.m-full .scanner,html.m-lite .scanner{height:100vh;height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:calc(var(--head) + 24px);padding-bottom:24px}
html.m-full .scanner .sec__head{margin-bottom:28px}
html.m-full .scan__plate{max-height:calc(100svh - 300px);aspect-ratio:3/2}
@media (max-width:1023px){.scan__stage,.scan__side{grid-column:1/-1}.scan__leaders{display:none}html.m-lite .scanner .sec__head .lede{display:none}html.m-lite .scan__specs{gap:6px}html.m-lite .scan__specs li{font-size:14px;padding-top:6px}}

/* ---------- 5 · marquee ---------- */
.marq{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);overflow:clip;padding:22px 0;display:flex;flex-direction:column;gap:10px;background:#0E1013}
.marq__row{display:flex;width:max-content;white-space:nowrap;will-change:transform}
.marq__row span{padding-right:2.4em}
.marq__row--codes{font:500 14px var(--mono);letter-spacing:.16em;color:var(--amber)}
.marq__row--names{font:600 clamp(40px,6vw,92px)/1 var(--display);text-transform:uppercase;letter-spacing:.03em}
.marq__row--names span:nth-child(even){color:transparent;-webkit-text-stroke:1px var(--bone)}

/* ---------- 6 · dispatch desk ---------- */
.desk{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gut);align-items:start}
.desk__form{grid-column:1/7;display:flex;flex-direction:column;gap:18px;background:var(--panel);border:1px solid var(--hair);padding:clamp(18px,2.4vw,32px)}
.desk__route{grid-column:7/13;position:sticky;top:calc(var(--head) + 24px);display:flex;flex-direction:column;gap:16px}
@media (max-width:1023px){.desk__form,.desk__route{grid-column:1/-1}.desk__route{position:relative;top:0}}
.fld{display:flex;flex-direction:column;gap:6px}
.fld label,.fld legend,.fld .lab{font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.fld input,.fld textarea{background:var(--gun);color:var(--bone);border:1px solid var(--hair);padding:12px 14px;font:400 16px var(--sans);border-radius:0;width:100%}
.fld input::placeholder,.fld textarea::placeholder{color:rgba(236,230,217,.62)}
.fld input:focus-visible,.fld textarea:focus-visible{outline:2px solid var(--amber);outline-offset:0;border-color:var(--amber)}
.fld textarea{min-height:150px;resize:vertical}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.two{grid-template-columns:1fr}}
.counter{font:500 12px var(--mono);color:var(--muted);align-self:flex-end;font-variant-numeric:tabular-nums}
.counter.is-over{color:var(--blank)}
fieldset.fld{border:0;padding:0}
.radios{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.radios label{position:relative;cursor:pointer}
.radios input{position:absolute;opacity:0;width:1px;height:1px}
.radios span{display:inline-block;font:500 13px var(--mono);letter-spacing:.04em;border:1px solid var(--hair);padding:9px 12px;color:var(--bone);text-transform:none}
.radios input:checked+span{border-color:var(--amber);background:var(--amber);color:var(--gun)}
.radios input:focus-visible+span{outline:2px solid var(--amber);outline-offset:2px}
.desk__submit{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.desk__note{font-size:14px;color:var(--muted)}
.route{position:relative;background:#0E1013;border:1px solid var(--hair);aspect-ratio:16/11}
.route svg{position:absolute;inset:0;width:100%;height:100%}
.route__path{fill:none;stroke:var(--hair);stroke-width:1.5;stroke-dasharray:4 6}
.route__lit{fill:none;stroke:var(--amber);stroke-width:1.5}
.route__probe{fill:var(--amber)}
.route__station{position:absolute;right:6%;top:8%;display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}
.route__station svg{position:static;width:54px;height:54px}
.route__station .stencil{color:var(--bone)}
.route__origin{position:absolute;left:6%;bottom:8%}
.telemetry{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;font:500 12px var(--mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--hair);padding:14px 16px;background:var(--panel)}
.telemetry dt{color:var(--muted)}
.telemetry dd{margin:0;color:var(--amber);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-transform:none}
.path-chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px;min-height:32px}
.path-chips li{font:500 12px var(--mono);border:1px solid var(--hair);color:var(--muted);padding:6px 10px}
.path-chips li.is-lit{border-color:var(--amber);color:var(--amber)}
.result-slot{grid-column:1/-1}
.result{background:var(--bone);color:var(--gun);border:1px solid var(--bone);padding:clamp(20px,2.6vw,36px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px var(--gut)}
.result[hidden]{display:none}
.result.is-stub{position:absolute;right:6%;top:8%;width:54px;height:54px;padding:0;overflow:hidden;grid-template-columns:1fr}
.result.is-stub>*{visibility:hidden}
.result h3{grid-column:1/-1;font:600 clamp(28px,3.4vw,52px)/1 var(--display);text-transform:uppercase;letter-spacing:.04em;display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.result__main{grid-column:1/8;display:flex;flex-direction:column;gap:12px;font-size:18px}
.result__side{grid-column:8/13;font:400 13px/1.6 var(--mono);border-left:1px solid rgba(18,21,24,.25);padding-left:var(--gut)}
.result__side dt{color:rgba(18,21,24,.66);letter-spacing:.1em;text-transform:uppercase;font-size:11px;margin-top:8px}
.result__side dd{margin:0;overflow-wrap:anywhere}
.result__who{font:500 16px var(--mono)}
.result__draft{border-left:2px solid var(--gun);padding-left:14px;white-space:pre-wrap}
.result__reasons{padding-left:18px;font-size:15px}
.result .refund-line{color:var(--gun);border-color:var(--gun)}
@media (max-width:1023px){.result__main,.result__side{grid-column:1/-1}.result__side{border-left:0;padding-left:0;border-top:1px solid rgba(18,21,24,.25);padding-top:10px}}
.chip{display:inline-block;font:500 14px var(--mono);letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border:2px solid transparent;vertical-align:middle}
.chip--send{background:var(--amber);color:var(--gun);border-color:var(--amber)}
.chip--hold{background:var(--gun);color:var(--amber);border-color:var(--amber)}
.chip--escalate{background:var(--rust);color:var(--bone);border-color:var(--rust)}
.chip--close{background:var(--steel);color:var(--bone);border-color:var(--steel)}
mark.blank{background:var(--blank);color:var(--gun);padding:0 4px;font-family:var(--mono);font-size:.92em}
.desk-error{grid-column:1/-1;border:1px solid var(--blank);color:var(--blank);padding:14px 16px;font:500 14px var(--mono)}
.desk-error[hidden]{display:none}

/* ---------- 7 · footer ---------- */
.foot{border-top:1px solid var(--hair);padding:clamp(60px,10vh,120px) var(--m) 32px;overflow:clip}
.foot__big{font:600 clamp(56px,14vw,300px)/.8 var(--display);white-space:nowrap;text-transform:uppercase;letter-spacing:-.01em;color:var(--bone);margin-bottom:40px}
.foot__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gut);align-items:end}
.foot__grid>p:first-child{grid-column:1/6;font-size:18px}
.foot__grid .refund-line{grid-column:6/11}
.foot__fine{grid-column:1/-1;font:400 12px var(--mono);color:var(--muted);letter-spacing:.04em;border-top:1px solid var(--hair);padding-top:16px;margin-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
@media (max-width:1023px){.foot__grid>p:first-child,.foot__grid .refund-line{grid-column:1/-1}}

/* ---------- product page ---------- */
.p-hero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gut);align-items:end;padding:calc(var(--head) + 48px) var(--m) 64px;min-height:100svh}
.p-hero__text{grid-column:1/6;display:flex;flex-direction:column;gap:18px}
.p-hero__text h1{font:600 clamp(44px,6.2vw,108px)/.9 var(--display);text-transform:uppercase;letter-spacing:.02em}
.p-hero__tag{font-size:20px;color:var(--muted);max-width:30ch}
.crumbs{font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--amber)}
.p-hero__crate{grid-column:6/13}
.p-hero__crate .crate__box{aspect-ratio:3/2.2}
.p-rise{position:absolute;inset:10% 8% 8%;display:flex;align-items:flex-end}
.p-rise .plate{width:100%}
@media (max-width:1023px){.p-hero{min-height:0;padding-top:calc(var(--head) + 28px)}.p-hero__text,.p-hero__crate{grid-column:1/-1}.p-hero__crate{order:-1}}
.crate__hatch--solo{display:block}
.turn{overflow:clip}
.turn__stage{position:relative;max-width:1200px;margin:0 auto;perspective:1600px}
.turn__angles{position:relative;aspect-ratio:3/2}
.turn__angle{position:absolute;inset:0}
.turn__angle .plate{position:absolute;inset:0}
.turn__angle:not(:first-child){display:none}
html.m-full .turn__angle,html.m-lite .turn__angle{display:block}
.turn__seq{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}
.turn__sweep{position:absolute;inset:0;z-index:3;pointer-events:none;mix-blend-mode:screen;opacity:0;background:linear-gradient(100deg,transparent 40%,rgba(236,230,217,.22) 50%,transparent 60%);transform:translateX(-60%)}
.turn__read{display:flex;justify-content:space-between;gap:16px;margin-top:14px;font:500 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.turn__read b{color:var(--amber);font-weight:500;font-variant-numeric:tabular-nums}
html.m-full .turn,html.m-lite .turn{height:100vh;height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:calc(var(--head) + 20px);padding-bottom:20px}
html.m-full .turn__stage{width:min(100%,calc((100svh - 260px) * 1.5))}
.label{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gut)}
.label__card{grid-column:3/11;border:2px solid var(--bone);display:grid;grid-template-columns:repeat(4,1fr)}
.label__card>div{border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.label__card dt,.label__card .k{font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.label__card .v{font:500 20px var(--mono);font-variant-numeric:tabular-nums}
.label__price{grid-column:span 2}
.label__price .v{font-size:clamp(40px,5vw,72px);line-height:1;color:var(--amber)}
.label__name{grid-column:1/-1}
.label__name .v{font:600 clamp(22px,2.4vw,34px)/1.05 var(--display);text-transform:uppercase;letter-spacing:.04em}
.label__buy{grid-column:1/-1;flex-direction:row!important;flex-wrap:wrap;align-items:center;gap:16px!important}
.label__stock{display:flex!important;flex-direction:row!important;align-items:center;gap:10px!important}
.qty{display:flex;align-items:center;border:1px solid var(--hair)}
.qty button{background:none;border:0;color:var(--bone);width:40px;height:44px;font:500 18px var(--mono);cursor:pointer}
.qty output{min-width:3ch;text-align:center;font:500 16px var(--mono)}
.label__refund{grid-column:1/-1}
@media (max-width:1023px){.label__card{grid-column:1/-1;grid-template-columns:1fr 1fr}.label__price{grid-column:1/-1}}
.lore{list-style:none;padding:0;font:400 clamp(15px,1.4vw,19px)/1.7 var(--mono);display:flex;flex-direction:column;gap:14px;max-width:72ch}
.lore li{display:grid;grid-template-columns:12ch 1fr;gap:12px}
.lore li>b{color:var(--amber);font-weight:500}
.lore .type::after{content:"";display:inline-block;width:.6em;height:1.1em;vertical-align:-.15em;background:var(--amber);margin-left:2px;opacity:0}
.lore .type.is-typing::after{opacity:1}
@media (max-width:560px){.lore li{grid-template-columns:1fr;gap:2px}}
.desc{font-size:clamp(18px,1.6vw,22px);line-height:1.6;max-width:62ch}
.x-sell{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gut)}
.x-sell .crate__box{aspect-ratio:3/2}
.x-sell .p-rise{inset:8%}
@media (max-width:767px){.x-sell{grid-template-columns:1fr}}
.help{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:none;align-items:center;gap:12px;padding:10px var(--m);background:var(--panel);border-top:1px solid var(--amber)}
.mbar__name{flex:1;min-width:0;font:600 14px/1.1 var(--display);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mbar__price{font:500 16px var(--mono);color:var(--amber)}
.mbar .btn{padding:12px 14px;font-size:12px}
@media (max-width:1023px){.mbar{display:flex}.page-product .foot{padding-bottom:96px}}
.toast{position:fixed;left:50%;bottom:84px;z-index:60;transform:translateX(-50%);background:var(--amber);color:var(--gun);font:500 13px var(--mono);letter-spacing:.08em;padding:10px 14px;opacity:0;pointer-events:none;transition:opacity .2s}
.toast.is-on{opacity:1}
@media (prefers-reduced-motion:reduce){.jump__cue::after,.lamp--low{animation:none}.toast{transition:none}}

/* mobile: 12-col grids collapse to one column (11 gutters cannot fit 390px) */
@media (max-width:1023px){
  .sec__head,.scan,.desk,.foot__grid,.label,.p-hero,.result{grid-template-columns:minmax(0,1fr)}
  .sec__head>*,.scan>*,.desk>*,.foot__grid>*,.label>*,.p-hero>*,.result>*{grid-column:1/-1!important}
  .scan__leaders{display:none}
}

/* mobile crates: taller box, plates stacked on three depths so tags never collide */
@media (max-width:1023px){
  .crate__box{aspect-ratio:4/5}
  .crate__items{inset:5% 5% 4%}
  .crate__items li:nth-child(n){bottom:auto;width:64%}
  .crate__items li:nth-child(1){left:0;top:0}
  .crate__items li:nth-child(2){left:auto;right:0;top:33%}
  .crate__items li:nth-child(3){left:6%;top:66%}
  html.m-lite .cargo .crate{width:min(84vw,calc((100svh - 260px) * .8))}
  html.m-lite .scan__side h3,html.m-lite .scan__side .refund-line{display:none}
  html.m-lite .scan__side{gap:12px}
}
