/* =========================================================
   YEAR ZERO — Re-invent the 90s through hi-fi hospitality
   ========================================================= */

@font-face{font-family:"Aeion";src:url("../assets/fonts/aeion-mono.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Monomials";src:url("../assets/fonts/monomials.woff2") format("woff2");font-display:swap}
@font-face{font-family:"Hotline";src:url("../assets/fonts/hotline.woff2") format("woff2");font-display:swap}
@font-face{font-family:"Noire";src:url("../assets/fonts/noire-bold.woff2") format("woff2");font-display:swap}
@font-face{font-family:"Noken";src:url("../assets/fonts/noken-bold.woff2") format("woff2");font-display:swap}

:root{
  --ink:#050505;
  --ink-2:#0d0c0b;
  --ink-3:#181614;
  --paper:#ece5d8;
  --paper-dim:#a9a194;
  --muted:#6f685e;
  --red:#ff3b2f;
  --red-deep:#b3160d;
  --sun:#ffb21e;
  --orange:#ff5a1f;
  --cyan:#47e3ff;
  --cold:#9dffb0;
  --line:rgba(236,229,216,.14);

  --f-body:"Aeion", ui-monospace, "SF Mono", Menlo, monospace;
  --f-title:"Monomials", "Aeion", ui-monospace, monospace;
  --f-display:"Noire", "Impact", "Arial Narrow", sans-serif;
  --f-hand:"Hotline", "Brush Script MT", cursive;
  --f-wide:"Noken", "Arial Black", sans-serif;

  --gutter:clamp(16px, 4vw, 56px);
  --maxw:1240px;
  --top-h:84px;
  --lvl:0;               /* live audio level 0..1, driven by JS */
  --ease:cubic-bezier(.2,.7,.1,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ink);color:var(--paper);
  font-family:var(--f-body);font-weight:330;font-size:clamp(15px,1.05vw,17px);line-height:1.7;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
body.is-booting{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
::selection{background:var(--red);color:var(--ink)}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}

.sr-only{position:absolute;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:200;background:var(--paper);color:var(--ink);padding:8px 14px;text-decoration:none}
.skip:focus{top:12px}

.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
.section{position:relative;padding:clamp(96px,14vw,180px) 0}

.eyebrow{font-family:var(--f-body);font-weight:500;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin:0 0 18px}
.display{font-family:var(--f-title);font-weight:400;text-transform:uppercase;letter-spacing:.02em;line-height:1.02;font-size:clamp(34px,6.2vw,92px);margin:0 0 .5em}
.lead{font-size:clamp(18px,1.6vw,23px);line-height:1.55;color:var(--paper);font-weight:380}
p{margin:0 0 1.2em;color:var(--paper-dim)}
.hand{font-family:var(--f-hand);font-size:clamp(30px,3.4vw,48px);color:var(--sun);transform:rotate(-3deg);line-height:1.1;margin-top:1.2em}

/* reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* =========================================================
   EMBLEM (injected SVG)
   ========================================================= */
.emblem{display:block;width:100%;height:auto;overflow:visible}
.emblem path{fill:currentColor}
.emblem .yz-l,.emblem .yz-r{transition:transform 1.4s var(--ease);transform-box:fill-box;transform-origin:center}

/* =========================================================
   BUTTONS
   ========================================================= */
.btn{
  display:inline-flex;align-items:center;gap:12px;
  border:1px solid var(--paper);background:transparent;
  padding:14px 26px;font-family:var(--f-body);font-weight:500;font-size:14px;letter-spacing:.18em;text-transform:uppercase;
  transition:background .3s,color .3s,border-color .3s,box-shadow .3s;
}
.btn:hover{background:var(--paper);color:var(--ink)}
.btn--play{border-color:var(--red);color:var(--red);box-shadow:0 0 0 rgba(255,59,47,0)}
.btn--play:hover{background:var(--red);color:var(--ink);box-shadow:0 0 40px rgba(255,59,47,.45)}
.btn--ghost{border-color:var(--line);color:var(--paper-dim)}
.btn--ghost:hover{border-color:var(--paper);background:transparent;color:var(--paper)}

/* =========================================================
   BOOT
   ========================================================= */
.boot{
  position:fixed;inset:0;z-index:100;background:#000;display:grid;place-items:center;
  transition:opacity .6s .9s, visibility 0s 1.5s;
}
.boot__inner{text-align:center;padding:24px;max-width:560px;transition:opacity .35s, transform .6s var(--ease)}
.boot__emblem{width:120px;margin:0 auto 22px;color:var(--paper)}
.boot__emblem .yz-l{transform:translateX(-90px)}
.boot__emblem .yz-r{transform:translateX(90px)}
.boot.is-ready .boot__emblem .yz-l,.boot.is-ready .boot__emblem .yz-r{transform:none}
.boot__brand{font-family:var(--f-wide);letter-spacing:.5em;font-size:13px;color:var(--paper);margin:0 0 28px;padding-left:.5em}
.boot__line{font-size:14px;color:var(--paper);margin:0 0 6px;min-height:1.7em}
.boot__line--dim{color:var(--muted)}
.boot__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:34px;opacity:0;transform:translateY(8px);transition:.6s var(--ease)}
.boot.is-ready .boot__actions{opacity:1;transform:none}
.boot__lang{margin-top:30px;font-size:12px;color:var(--muted);letter-spacing:.2em}
.boot__lang button{background:none;border:0;padding:6px 8px;color:var(--muted)}
.boot__lang button[aria-pressed="true"]{color:var(--paper)}

/* CRT power-on */
.crt-line{position:absolute;left:50%;top:50%;width:0;height:2px;background:#fff;box-shadow:0 0 30px 6px rgba(255,255,255,.8);transform:translate(-50%,-50%);opacity:0}
.boot.is-on .boot__inner{opacity:0;transform:scale(.96)}
.boot.is-on .crt-line{animation:crtOn 1s .25s var(--ease) forwards}
.boot.is-on{opacity:0;visibility:hidden;pointer-events:none}
@keyframes crtOn{
  0%{opacity:1;width:0;height:2px}
  40%{opacity:1;width:100vw;height:2px}
  100%{opacity:0;width:100vw;height:100vh}
}

/* =========================================================
   HEADER + RADIO DECK
   ========================================================= */
.top{
  position:fixed;top:0;left:0;right:0;z-index:50;height:var(--top-h);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:0 var(--gutter);
  background:linear-gradient(to bottom, rgba(5,5,5,.88), rgba(5,5,5,0));
  transition:background .4s, transform .5s var(--ease);
}
.top.is-solid{background:rgba(5,5,5,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top__logo{width:86px;color:var(--paper);flex:none}
.top__logo:hover{color:var(--red)}

.deck{display:flex;align-items:center;gap:6px;min-width:0}
.deck__btn{
  width:34px;height:34px;border-radius:50%;border:1px solid rgba(71,227,255,.35);background:rgba(71,227,255,.04);
  color:var(--cyan);font-size:10px;letter-spacing:-.15em;display:grid;place-items:center;flex:none;
  transition:box-shadow .3s, background .3s;
}
.deck__btn:hover{box-shadow:0 0 18px rgba(71,227,255,.45);background:rgba(71,227,255,.1)}
.deck__play{width:42px;height:42px;font-size:13px;letter-spacing:0;border-color:var(--cyan);box-shadow:0 0 14px rgba(71,227,255,.35), inset 0 0 10px rgba(71,227,255,.2)}
.deck__play .i-pause{display:none}
.deck__play[aria-pressed="true"] .i-play{display:none}
.deck__play[aria-pressed="true"] .i-pause{display:inline}
.deck__screen{display:flex;align-items:center;gap:16px;padding:5px 14px 5px 16px;margin-left:6px;border:1px solid rgba(71,227,255,.2);border-radius:5px;background:#03080a;box-shadow:inset 0 0 22px rgba(71,227,255,.07), inset 0 0 0 1px rgba(0,0,0,.8);min-width:0}
.deck__station{display:flex;flex-direction:column;line-height:1.1;font-size:10px;letter-spacing:.14em;color:var(--cyan);text-shadow:0 0 8px rgba(71,227,255,.7);min-width:96px}
.deck__freq{font-size:15px;font-weight:600;letter-spacing:.08em}
.deck__freq::after{content:" FM";font-size:9px;opacity:.7}
.deck__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px;opacity:.85}
.deck.is-tuning .deck__station{animation:flick .12s steps(2) infinite}
@keyframes flick{50%{opacity:.35}}
.vu{width:clamp(260px,30vw,420px);height:58px;display:block}

.top__right{display:flex;align-items:center;gap:18px;flex:none}
.counter{display:flex;align-items:center;gap:6px;font-size:10px;letter-spacing:.2em;color:var(--muted)}
.counter b{font-weight:500;color:var(--paper);letter-spacing:.1em;background:#111;border:1px solid var(--line);padding:1px 5px;font-size:12px}
.lang{display:flex;font-size:12px;letter-spacing:.15em}
.lang button{background:none;border:0;padding:6px 6px;color:var(--muted)}
.lang button[aria-pressed="true"]{color:var(--paper);text-decoration:underline;text-underline-offset:5px}
.menu-btn{background:none;border:1px solid var(--line);padding:7px 14px;font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.menu-btn:hover,.menu-btn[aria-expanded="true"]{border-color:var(--red);color:var(--red)}

/* MENU */
.menu{position:fixed;inset:0;z-index:45;background:rgba(5,5,5,.97);display:grid;place-items:center;padding:calc(var(--top-h) + 20px) var(--gutter) 40px;overflow:auto}
.menu[hidden]{display:none}
.menu__inner{width:100%;max-width:900px}
.menu__side{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--red);margin:0 0 8px}
.menu__list{list-style:none;margin:0 0 34px;padding:0;border-top:1px solid var(--line)}
.menu__list a{display:flex;align-items:baseline;gap:22px;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;font-family:var(--f-title);text-transform:uppercase;font-size:clamp(22px,3.6vw,44px);line-height:1.1;transition:color .25s, padding .35s var(--ease)}
.menu__list a i{font-family:var(--f-body);font-style:normal;font-size:12px;color:var(--muted);width:28px;flex:none}
.menu__list a:hover{color:var(--sun);padding-left:14px}

/* =========================================================
   HERO
   ========================================================= */
.hero{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;display:grid;place-items:center;isolation:isolate;background:#2a0702}
.hero__bg{position:absolute;inset:-4%;z-index:-3}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 60%;animation:kenburns 40s ease-in-out infinite alternate;filter:saturate(1.15) contrast(1.05)}
@keyframes kenburns{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.14) translate3d(-1.5%,-2%,0)}}
.hero__sun{
  position:absolute;z-index:-2;left:50%;top:63%;width:36vmin;height:36vmin;border-radius:50%;
  transform:translate(-50%,-50%) scale(calc(1 + var(--lvl) * .35));
  background:radial-gradient(circle, rgba(255,220,120,.55), rgba(255,120,20,.18) 45%, transparent 70%);
  mix-blend-mode:screen;transition:transform .08s linear;pointer-events:none;
}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 40%, transparent 30%, rgba(0,0,0,.55) 100%), linear-gradient(to bottom, rgba(0,0,0,.25), transparent 30%, transparent 70%, rgba(5,5,5,1))}
.scanlines{position:absolute;inset:0;z-index:0;pointer-events:none;background:repeating-linear-gradient(to bottom, rgba(0,0,0,.16) 0 1px, transparent 1px 3px);mix-blend-mode:multiply}

.osd{position:absolute;inset:calc(var(--top-h) + 10px) var(--gutter) 28px;z-index:1;pointer-events:none;font-family:var(--f-body);font-weight:600;font-size:clamp(13px,1.3vw,18px);letter-spacing:.12em;color:#fff;text-shadow:2px 2px 0 rgba(0,0,0,.6)}
.osd span{position:absolute}
.osd__tl{left:0;top:0}
.osd__tl::before{content:"";display:inline-block;width:.6em;height:.6em;border-radius:50%;background:var(--red);margin-right:.5em;vertical-align:.05em;animation:blink 1.2s steps(1) infinite;display:none}
.osd__tr{right:0;top:0}
.osd__bl{left:0;bottom:0}
.osd__br{right:0;bottom:0}
@keyframes blink{50%{opacity:0}}

.hero__content{text-align:center;padding:0 var(--gutter);position:relative;z-index:2}
.hero__emblem{width:clamp(220px,34vw,480px);margin:0 auto;color:#0b0503;filter:drop-shadow(0 6px 30px rgba(0,0,0,.25))}
.hero__emblem .yz-l{transform:translateX(-110px) rotate(-5deg)}
.hero__emblem .yz-r{transform:translateX(110px) rotate(5deg)}
body.is-live .hero__emblem .yz-l,body.is-live .hero__emblem .yz-r{transform:none}
.hero__title{margin:clamp(10px,2vw,22px) 0 8px;font-family:var(--f-wide);font-weight:400;font-size:clamp(34px,7vw,104px);letter-spacing:.14em;line-height:1;color:#0b0503;padding-left:.14em}
.hero__tag{font-family:var(--f-body);font-weight:600;font-size:clamp(12px,1.25vw,17px);letter-spacing:.2em;text-transform:uppercase;color:#0b0503;margin:0 0 10px}
.hero__sub{display:inline-block;font-size:clamp(13px,1.1vw,16px);color:#f6eadb;background:rgba(8,2,0,.42);padding:5px 12px;margin:6px 0 0;font-weight:420;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.hero__content > *{opacity:0;transform:translateY(16px);transition:opacity 1.2s var(--ease),transform 1.2s var(--ease)}
body.is-live .hero__content > *{opacity:1;transform:none}
body.is-live .hero__title{transition-delay:.35s}
body.is-live .hero__tag{transition-delay:.6s}
body.is-live .hero__sub{transition-delay:.85s}

.hero__scroll{position:absolute;bottom:clamp(64px,9vh,96px);left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#fff}
.hero__scroll i{font-style:normal;transform:rotate(-90deg);animation:nudge 1.6s ease-in-out infinite}
@keyframes nudge{50%{transform:rotate(-90deg) translateX(-6px)}}

/* =========================================================
   FATIGUE — sticky story
   ========================================================= */
.fatigue{position:relative;height:420vh;background:#020403}
.fatigue__stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;align-items:center}
.fatigue__bg{position:absolute;inset:0}
.fatigue__bg img{width:100%;height:100%;object-fit:cover}
.fatigue__bg--cold img{filter:saturate(.9) contrast(1.1) brightness(calc(.55 - var(--fp-dark, 0) * .35))}
.fatigue__bg--cold::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(0,0,0,.85) 0%, rgba(0,0,0,.55) 55%, rgba(0,0,0,.2) 100%)}
.fatigue__bg--warm{opacity:var(--fp-warm,0);transition:opacity .2s linear}
.fatigue__bg--warm img{filter:brightness(.7)}
.fatigue__bg--warm::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(10,4,0,.85), rgba(10,4,0,.35))}

.fatigue__text{position:relative;z-index:3;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
.fatigue__text > *{max-width:640px}
.kicker{font-family:var(--f-title);font-weight:400;text-transform:uppercase;font-size:clamp(28px,4.4vw,62px);line-height:1.02;color:var(--cold);margin:0 0 32px;text-shadow:0 0 30px rgba(157,255,176,.25);transition:color 1s}
.fatigue.is-warm .kicker{color:var(--sun);text-shadow:0 0 30px rgba(255,178,30,.3)}
.fl{position:absolute;font-size:clamp(17px,1.7vw,24px);line-height:1.5;color:var(--paper);opacity:0;transform:translateY(18px);filter:blur(6px);transition:opacity .7s var(--ease),transform .7s var(--ease),filter .7s var(--ease);margin:0;max-width:600px}
.fl.on{opacity:1;transform:none;filter:none}
.fl.gone{opacity:0;transform:translateY(-18px);filter:blur(6px)}
.fl--big{font-family:var(--f-title);text-transform:uppercase;font-size:clamp(22px,2.6vw,38px);line-height:1.2}
.fl--warm{font-family:var(--f-title);text-transform:uppercase;font-size:clamp(22px,2.6vw,38px);line-height:1.2;color:var(--sun)}
.fatigue__lines{position:relative;min-height:12em}

.notifs{position:absolute;z-index:2;right:clamp(16px,6vw,110px);top:calc(var(--top-h) + 4vh);bottom:4vh;width:min(340px,42vw);display:flex;flex-direction:column;gap:10px;justify-content:flex-start;pointer-events:none}
.notif{
  display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:14px;
  background:rgba(235,245,240,.12);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  font-family:-apple-system, "Helvetica Neue", Arial, sans-serif;font-size:12px;line-height:1.3;color:#e8f2ee;
  transition:opacity .5s var(--ease),transform .5s var(--ease),filter .6s;
}
.notif:not(.on):not(.off){display:none}
.notif.on{animation:notifIn .45s var(--ease)}
.notif.off{opacity:0;transform:translateX(60px) scale(.9);filter:blur(4px)}
@keyframes notifIn{from{opacity:0;transform:translateY(-14px) scale(.96)}to{opacity:1;transform:none}}
.notif__ico{width:26px;height:26px;border-radius:7px;flex:none;background:var(--c,#3a6);display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff}
.notif b{display:block;font-weight:600;font-size:11px;opacity:.75;margin-bottom:2px}
.notif em{font-style:normal;opacity:.5;font-size:10px;margin-left:6px}

.fatigue__switch{position:absolute;z-index:3;left:var(--gutter);bottom:28px;display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.25em;color:var(--muted)}
.fatigue__switch i{width:44px;height:20px;border-radius:20px;border:1px solid var(--line);position:relative}
.fatigue__switch i::after{content:"";position:absolute;top:2px;left:calc(2px + var(--fp-sw,0) * 24px);width:14px;height:14px;border-radius:50%;background:var(--cold);box-shadow:0 0 10px var(--cold);transition:background .4s}
.fatigue.is-warm .fatigue__switch i::after{background:var(--sun);box-shadow:0 0 10px var(--sun)}

/* =========================================================
   CONCEPT + J-CARD + FILM
   ========================================================= */
.concept{background:radial-gradient(ellipse at 80% 0%, rgba(255,90,31,.08), transparent 55%), var(--ink)}
.concept__grid{display:grid;grid-template-columns:1.25fr .9fr;gap:clamp(32px,6vw,90px);align-items:start;margin-top:clamp(20px,4vw,48px)}
.jcard{
  background:#efe7d6;color:#1b1814;padding:22px 22px 14px;border-radius:3px;
  box-shadow:0 30px 60px rgba(0,0,0,.5), 0 0 0 1px rgba(0,0,0,.2);
  transform:rotate(1.4deg);font-size:13px;line-height:1.4;
  background-image:linear-gradient(to right, var(--red) 0 6px, transparent 6px),
                   repeating-linear-gradient(to bottom, transparent 0 25px, rgba(30,20,10,.08) 25px 26px);
}
.jcard.in{transform:rotate(1.4deg)}
.jcard__head{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #1b1814;padding:0 0 10px 10px;margin-bottom:14px}
.jcard__head span{width:64px;color:#1b1814}
.jcard__head b{font-family:var(--f-wide);font-size:12px;letter-spacing:.2em}
.jcard__side{padding-left:10px;margin-bottom:12px}
.jcard__label{font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:var(--red-deep);margin:0 0 6px}
.jcard ol{list-style:none;margin:0;padding:0}
.jcard li{display:flex;gap:10px;align-items:baseline;padding:3px 0;font-family:var(--f-hand);font-size:22px;line-height:1.15;color:#1d2a6e}
.jcard li i{font-family:var(--f-body);font-style:normal;font-size:10px;color:#7a7266;width:18px;flex:none}
.jcard li span{flex:1}
.jcard li em{font-family:var(--f-body);font-style:normal;font-size:10px;color:#7a7266}
.jcard__foot{font-size:9px;letter-spacing:.14em;color:#7a7266;text-transform:uppercase;margin:6px 0 0 10px}

.film{margin-top:clamp(56px,6vw,84px);background:#0b0a09;padding:26px 0;overflow:hidden;position:relative;border-top:1px solid #1d1b19;border-bottom:1px solid #1d1b19}
.film::before,.film::after{content:"";position:absolute;left:0;right:0;height:14px;background:repeating-linear-gradient(to right, transparent 0 10px, #2c2925 10px 22px, transparent 22px 30px);background-size:30px 10px;background-repeat:repeat-x;background-position:0 2px}
.film::before{top:6px}
.film::after{bottom:6px}
.film__track{display:flex;gap:14px;width:max-content;animation:filmroll 70s linear infinite}
.film:hover .film__track{animation-play-state:paused}
.film figure{margin:0;width:clamp(220px,26vw,360px);flex:none;position:relative}
.film img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(1.05) contrast(1.05) sepia(.08);transition:filter .5s}
.film figure:hover img{filter:saturate(1.25) contrast(1.1)}
.film figcaption{position:absolute;left:8px;bottom:6px;font-size:10px;letter-spacing:.2em;color:var(--sun);text-shadow:0 1px 2px #000}
@keyframes filmroll{to{transform:translateX(-50%)}}
.film__caption{margin-top:34px;max-width:880px;font-size:clamp(15px,1.25vw,18px)}

/* =========================================================
   INGREDIENTS — objects
   ========================================================= */
.ingredients{overflow:hidden;background:#090403}
.ingredients__bg{position:absolute;inset:0;opacity:.22}
.ingredients__bg img{width:100%;height:100%;object-fit:cover;filter:saturate(1.3)}
.ingredients__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom, var(--ink), rgba(9,4,3,.4) 30%, rgba(9,4,3,.6) 70%, var(--ink))}
.ingredients .wrap{position:relative}
.ingredients__hint{color:var(--muted);font-size:13px;letter-spacing:.14em;text-transform:uppercase}

.objects{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,40px);margin-top:clamp(36px,5vw,64px)}
.obj{
  background:rgba(12,10,9,.72);border:1px solid var(--line);text-align:left;padding:28px 24px 26px;
  display:flex;flex-direction:column;gap:10px;position:relative;min-height:100%;
  transition:border-color .4s, background .4s, transform .6s var(--ease);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.obj:hover,.obj:focus-visible{border-color:rgba(255,178,30,.5);background:rgba(20,14,10,.85);transform:translateY(-6px)}
.obj__num{font-size:11px;letter-spacing:.2em;color:var(--muted);margin-top:18px}
.obj__title{font-family:var(--f-title);text-transform:uppercase;font-size:clamp(22px,2.2vw,32px);line-height:1.05;color:var(--paper)}
.obj__desc{font-size:14px;color:var(--paper-dim);line-height:1.6}
.obj__cta{margin-top:auto;padding-top:14px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--red)}
.obj:hover .obj__cta{color:var(--sun)}
.obj > span:first-child{height:210px;display:grid;place-items:center;align-self:stretch}

/* Cassette */
.tape{position:relative;width:250px;height:160px;border-radius:10px;background:linear-gradient(160deg,#2b2a28,#121110);box-shadow:0 18px 40px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.08);display:block;transform:rotate(-4deg);transition:transform .6s var(--ease)}
.obj:hover .tape{transform:rotate(0) scale(1.03)}
.tape::before,.tape::after{content:"";position:absolute;top:8px;width:7px;height:7px;border-radius:50%;background:#050505;box-shadow:inset 0 1px 1px rgba(255,255,255,.2)}
.tape::before{left:8px}.tape::after{right:8px}
.tape__label{position:absolute;left:14px;right:14px;top:14px;height:96px;border-radius:5px;background:linear-gradient(to bottom,#f3ead6 0 60%, var(--orange) 60% 68%, var(--sun) 68% 76%, #f3ead6 76%);display:block}
.tape__hand{position:absolute;left:12px;top:6px;font-family:var(--f-hand);font-size:26px;color:#1d2a6e;line-height:1;transform:rotate(-2deg);white-space:nowrap;max-width:85%;overflow:hidden;text-overflow:ellipsis}
.tape__side{position:absolute;right:10px;top:6px;font-family:var(--f-wide);font-size:18px;color:#1b1814}
.tape__window{position:absolute;left:50%;top:50px;transform:translateX(-50%);width:130px;height:40px;border-radius:20px;background:#1a1716;border:2px solid #0a0909;display:flex;justify-content:space-between;align-items:center;padding:0 8px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.reel{width:30px;height:30px;border-radius:50%;background:conic-gradient(from 0deg,#e9e2d3 0 20deg,transparent 20deg 60deg,#e9e2d3 60deg 80deg,transparent 80deg 120deg,#e9e2d3 120deg 140deg,transparent 140deg 180deg,#e9e2d3 180deg 200deg,transparent 200deg 240deg,#e9e2d3 240deg 260deg,transparent 260deg 300deg,#e9e2d3 300deg 320deg,transparent 320deg);box-shadow:0 0 0 5px #3a2a1e;animation:spin 2.4s linear infinite;animation-play-state:paused}
.reel:last-child{box-shadow:0 0 0 2px #3a2a1e}
.obj:hover .reel,.rec.is-recording .reel,body.is-playing .tape--big .reel{animation-play-state:running}
.tape__bottom{position:absolute;left:44px;right:44px;bottom:0;height:30px;background:#0f0e0d;clip-path:polygon(8% 0,92% 0,100% 100%,0 100%);border-radius:3px 3px 0 0}
@keyframes spin{to{transform:rotate(360deg)}}

/* Print (develops) */
.print{position:relative;display:block;width:200px;background:#f4f1ea;padding:12px 12px 46px;box-shadow:0 18px 40px rgba(0,0,0,.6);transform:rotate(3deg);transition:transform .6s var(--ease)}
.obj:hover .print{transform:rotate(-1deg) scale(1.03)}
.print__img{display:block;aspect-ratio:1/1;overflow:hidden;background:#1d1a17}
.print__img img{width:100%;height:100%;object-fit:cover;filter:sepia(1) saturate(.3) brightness(1.9) contrast(.35) blur(2px);opacity:.25;transition:filter 3.5s ease, opacity 3.5s ease}
.obj--print.in .print__img img,.obj--print:hover .print__img img{filter:none;opacity:1}
.print__hand{position:absolute;left:14px;bottom:8px;font-family:var(--f-hand);font-size:26px;color:#1d2a6e;transform:rotate(-3deg)}

/* Vinyl */
.vinyl{position:relative;display:block;width:240px;height:190px}
.vinyl__sleeve{position:absolute;left:0;top:0;width:190px;height:190px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.6);z-index:2;background:#111}
.vinyl__sleeve img{width:100%;height:100%;object-fit:cover;filter:saturate(1.1)}
.vinyl__sleeve b{position:absolute;left:10px;bottom:8px;font-family:var(--f-wide);font-weight:400;font-size:20px;letter-spacing:.15em;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.6)}
.vinyl__disc{position:absolute;left:14px;top:6px;width:178px;height:178px;border-radius:50%;z-index:1;
  background:repeating-radial-gradient(circle, #0c0c0c 0 2px, #1a1a1a 2px 3px), #111;
  box-shadow:0 10px 30px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.16), inset 0 0 0 3px #0a0a0a, inset 0 0 0 4px rgba(255,255,255,.08);
  transition:left .8s var(--ease);animation:spin 1.8s linear infinite;animation-play-state:paused;display:grid;place-items:center}
.vinyl__disc::after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 30deg, transparent 0 35deg, rgba(255,255,255,.2) 50deg, transparent 70deg 205deg, rgba(255,255,255,.16) 230deg, transparent 255deg)}
.vinyl__label{width:62px;height:62px;border-radius:50%;background:var(--red);display:grid;place-items:center;color:#1a0503;padding:12px;position:relative;z-index:1}
.vinyl__label > span{width:100%}
.obj--vinyl.in .vinyl__disc{left:66px}
.obj--vinyl:hover .vinyl__disc{left:86px;animation-play-state:running}
body.is-playing .obj--vinyl .vinyl__disc{animation-play-state:running}

/* =========================================================
   MANIFESTO — fire vs lamp
   ========================================================= */
.manifesto{position:relative;min-height:100vh;display:grid;align-items:center;padding:clamp(96px,12vw,160px) 0;overflow:hidden;background:#060505;transition:background 1.2s}
.manifesto__light{position:absolute;inset:0;pointer-events:none;transition:opacity 1.2s}
.manifesto[data-mode="lamp"] .manifesto__light{background:radial-gradient(ellipse at 50% -10%, rgba(220,235,255,.28), rgba(200,220,255,.06) 40%, transparent 70%)}
.manifesto[data-mode="fire"]{background:#0a0402}
.manifesto[data-mode="fire"] .manifesto__light{background:radial-gradient(ellipse at 50% 115%, rgba(255,120,20,.55), rgba(255,60,10,.18) 35%, transparent 65%);animation:fire 2.4s ease-in-out infinite}
@keyframes fire{
  0%,100%{opacity:1;transform:scale(1)}
  20%{opacity:.82;transform:scale(1.02,.98)}
  45%{opacity:.95;transform:scale(.99,1.03)}
  70%{opacity:.78;transform:scale(1.01)}
}
.manifesto__inner{position:relative;text-align:center}
.manifesto__text{max-width:780px;margin:0 auto 34px;font-size:clamp(16px,1.4vw,20px);color:var(--paper-dim)}
.switches{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:clamp(48px,7vw,90px)}
.sw{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.03);border:1px solid var(--line);padding:12px 20px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-dim);transition:.35s}
.sw i{width:10px;height:10px;border-radius:50%;background:#333;transition:.35s}
.sw[aria-pressed="true"]{color:var(--paper);border-color:var(--paper)}
.sw[data-mode="lamp"][aria-pressed="true"] i{background:#dfeaff;box-shadow:0 0 12px #dfeaff}
.sw[data-mode="fire"][aria-pressed="true"] i{background:var(--orange);box-shadow:0 0 14px var(--orange)}
.manifesto__quote{margin:0;font-family:var(--f-display);font-weight:400;text-transform:uppercase;line-height:.92;font-size:clamp(46px,9.5vw,150px);letter-spacing:.005em}
.manifesto__quote span{display:block}
.manifesto__q2{color:transparent;-webkit-text-stroke:1.5px var(--paper);transition:color 1.2s, -webkit-text-stroke-color 1.2s, text-shadow 1.2s}
.manifesto[data-mode="fire"] .manifesto__q2{color:var(--sun);-webkit-text-stroke-color:var(--sun);text-shadow:0 0 50px rgba(255,120,20,.45)}

/* =========================================================
   STORY — film
   ========================================================= */
.story{position:relative;background:#000}
.story__sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;margin-bottom:-100vh;margin-bottom:-100svh}
.story__bg{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease}
.story__bg.is-on{opacity:1}
.story__bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.42) saturate(1.1) contrast(1.05);transform:scale(1.06);transition:transform 12s linear}
.story__bg.is-on img{transform:scale(1)}
.letterbox{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 11vh 0 0 #000, inset 0 -11vh 0 0 #000}
.story__reel{position:relative;z-index:2;padding:0 var(--gutter)}
.story__intro,.scene,.story__end{min-height:100vh;min-height:100svh;max-width:860px;margin:0 auto;display:flex;flex-direction:column;justify-content:center;padding:14vh 0}
.story__intro .display{font-size:clamp(40px,7vw,110px)}
.story__logline{font-size:clamp(18px,1.8vw,26px);color:var(--paper);line-height:1.5}
.scene__slate{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--sun);margin-bottom:22px}
.scene__text{font-size:clamp(18px,1.9vw,27px);line-height:1.55;color:#f2ece0;text-shadow:0 2px 14px rgba(0,0,0,.6)}
.scene__text--big{font-family:var(--f-title);text-transform:uppercase;font-size:clamp(28px,4.2vw,62px);line-height:1.05;color:var(--paper)}
.scene__list{list-style:none;padding:0;margin:0;font-size:clamp(17px,1.7vw,24px);line-height:1.5;color:#f2ece0}
.scene__list li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.scene__list li::before{content:"› ";color:var(--red)}
/* "classified" sentence: black bars that slide away, line by line */
.redacted{
  background-image:linear-gradient(#000,#000);background-repeat:no-repeat;background-position:right center;background-size:100% 88%;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .15em;
  color:#000;text-shadow:none;   /* hidden under the bars until declassified */
  transition:background-size 1.7s cubic-bezier(.6,0,.3,1) 2.2s, color .9s ease 2.8s, text-shadow .9s ease 2.8s;
}
.scene.in .redacted{background-size:0% 88%;color:#f2ece0;text-shadow:0 2px 14px rgba(0,0,0,.6)}
.scene--beat .scene__text{font-size:clamp(22px,2.6vw,38px);line-height:1.4;max-width:760px}
.scene > *{opacity:0;transform:translateY(24px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.scene.in > *{opacity:1;transform:none}
.scene.in > *:nth-child(2){transition-delay:.15s}
.scene.in > *:nth-child(3){transition-delay:.3s}
.scene.in > *:nth-child(4){transition-delay:.45s}
.scribble{margin:10px 0 18px}
.scribble svg{width:min(560px,90%);height:auto;overflow:visible}
.scribble text{font-family:var(--f-hand);font-size:96px;fill:none;stroke:var(--sun);stroke-width:1.4;stroke-dasharray:1400;stroke-dashoffset:1400}
.scribble path{fill:none;stroke:var(--red);stroke-width:3;stroke-linecap:round;stroke-dasharray:620;stroke-dashoffset:620}
.scene.in .scribble text{animation:draw 3.2s .5s ease forwards}
.scene.in .scribble path{animation:draw 1s 2.8s ease forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.scene.in .scribble text{animation:draw 3.2s .5s ease forwards, fillin 1s 3.4s forwards}
@keyframes fillin{to{fill:var(--sun)}}
.story__end{text-align:center;align-items:center}
.story__end p:first-child{font-family:var(--f-title);text-transform:uppercase;font-size:clamp(24px,3.4vw,48px);line-height:1.15;color:var(--paper)}
.story__credits{font-size:11px;letter-spacing:.4em;color:var(--muted);margin-top:30px}

/* =========================================================
   TRIBE
   ========================================================= */
.tribe{background:linear-gradient(to bottom, #000, var(--ink-2))}
.whisper{font-family:var(--f-title);text-transform:uppercase;font-size:clamp(30px,5.6vw,84px);line-height:1.05;color:var(--paper);margin:0 0 clamp(40px,6vw,80px)}
.whisper .w{display:inline-block;opacity:.08;filter:blur(5px);transition:opacity .5s, filter .5s;white-space:pre}
.tribe__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,90px);align-items:start}
.tribe__text p{font-size:clamp(15px,1.25vw,18px)}

.rec{border:1px solid var(--line);padding:clamp(22px,3vw,36px);background:rgba(255,255,255,.015);position:relative}
.rec__title{font-family:var(--f-title);text-transform:uppercase;font-weight:400;font-size:clamp(26px,2.8vw,40px);line-height:1.05;margin:0 0 12px}
.rec__intro{font-size:14px}
.rec__tape{display:grid;place-items:center;padding:16px 0 26px}
.tape--big{transform:rotate(-2deg) scale(1.05)}
.rec.is-recording .tape--big{transform:rotate(0) scale(1.05)}
.field{display:block;margin-bottom:16px}
.field span{display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.field input{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--paper);font:inherit;font-size:17px;padding:8px 0;border-radius:0;transition:border-color .3s}
.field input:focus{outline:none;border-color:var(--red)}
.field input:focus-visible{outline:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.btn--rec{margin-top:8px;border-color:var(--red);color:var(--paper)}
.btn--rec:hover{background:var(--red);color:var(--ink)}
.rec-dot{width:12px;height:12px;border-radius:50%;background:var(--red);box-shadow:0 0 12px var(--red)}
.rec.is-recording .rec-dot{animation:blink .9s steps(1) infinite}
.btn--rec:hover .rec-dot{background:var(--ink);box-shadow:none}
.rec__status{min-height:1.6em;margin:16px 0 0;font-size:14px;color:var(--sun)}
.rec__status.is-error{color:var(--red)}
.rec.is-done .field,.rec.is-done .btn--rec{display:none}

/* =========================================================
   PARTNERS
   ========================================================= */
.partners{border-top:1px solid var(--line)}
.partners .display{font-size:clamp(28px,4.6vw,68px)}
.partners__grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(30px,6vw,80px);align-items:start}
.contacts{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.contacts li{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 0;border-bottom:1px solid var(--line)}
.contacts span{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.contacts a{text-decoration:none;color:var(--paper);word-break:break-all}
.contacts a:hover{color:var(--red)}

/* =========================================================
   OFF + FOOTER
   ========================================================= */
.off{position:relative;padding:clamp(110px,14vw,190px) 0 0;background:radial-gradient(ellipse at 50% 100%, rgba(255,90,31,.14), transparent 60%), var(--ink)}
.off__inner{text-align:center;display:flex;flex-direction:column;align-items:center}
.off__emblem{width:90px;color:var(--red);margin-bottom:30px}
.off__title{font-family:var(--f-title);font-weight:400;font-size:clamp(28px,5vw,74px);line-height:1.05;margin:0 0 20px;text-transform:lowercase}
.off__time{font-size:14px;color:var(--paper-dim)}
.off__time b{color:var(--paper);font-weight:500}
.btn--power{margin-top:20px;border-color:var(--paper)}
.power-ico{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;position:relative}
.power-ico::after{content:"";position:absolute;left:50%;top:-5px;width:2px;height:9px;background:currentColor;transform:translateX(-50%)}
.foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:clamp(80px,10vw,140px);padding-bottom:30px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}

/* blackout (CRT off) */
.blackout{position:fixed;inset:0;z-index:120;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}
.blackout[hidden]{display:none}
.blackout p{font-family:var(--f-title);text-transform:uppercase;font-size:clamp(24px,4vw,52px);color:var(--paper);margin:0 0 8px;opacity:0;animation:fadein 1.2s 1.6s forwards}
.blackout .blackout__dim{font-family:var(--f-body);text-transform:none;font-size:15px;color:var(--muted);animation-delay:2.4s}
.blackout__on{margin-top:40px;background:none;border:0;color:var(--muted);font-size:12px;letter-spacing:.3em;text-transform:uppercase;text-decoration:underline;text-underline-offset:5px;opacity:0;animation:fadein 1s 3.4s forwards}
.blackout__on:hover{color:var(--paper)}
@keyframes fadein{to{opacity:1}}
body.is-powering-off main,body.is-powering-off .top{animation:crtOff .7s cubic-bezier(.6,0,.9,.4) forwards;transform-origin:50% 50vh}
@keyframes crtOff{
  0%{transform:scale(1,1);filter:brightness(1)}
  55%{transform:scale(1,.004);filter:brightness(3)}
  100%{transform:scale(0,.004);filter:brightness(5)}
}

/* =========================================================
   CHAPTER DIALOGS
   ========================================================= */
.chapter{
  width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;
  background:var(--ink);color:var(--paper);overflow:auto;overscroll-behavior:contain;
}
.chapter::backdrop{background:#000}
.chapter[open]{animation:chIn .7s var(--ease)}
@keyframes chIn{from{opacity:0;clip-path:inset(50% 0 50% 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
.chapter__close{position:fixed;top:18px;right:var(--gutter);z-index:3;background:rgba(5,5,5,.7);border:1px solid var(--line);padding:9px 16px;font-size:12px;letter-spacing:.24em;color:var(--paper)}
.chapter__close span{color:var(--red);margin-right:4px}
.chapter__close:hover{border-color:var(--red)}
.chapter__side{
  position:fixed;left:0;top:0;bottom:0;width:clamp(70px,13vw,190px);display:flex;align-items:center;justify-content:center;
  writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--f-display);font-size:clamp(60px,11vw,170px);line-height:1;
  color:transparent;-webkit-text-stroke:1px rgba(236,229,216,.35);letter-spacing:.02em;white-space:nowrap;overflow:hidden;pointer-events:none;
}
.chapter__body{max-width:880px;margin:0 auto;padding:clamp(80px,10vw,120px) var(--gutter) 100px calc(clamp(70px,13vw,190px) + 10px)}
.chapter__banner{margin:10px 0 40px}
.chapter__banner img{width:100%;aspect-ratio:21/9;object-fit:cover}
.chapter__duo{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:40px 0}
.chapter__duo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.pull{margin:50px 0;padding:0 0 0 22px;border-left:3px solid var(--red);font-family:var(--f-title);text-transform:uppercase;font-size:clamp(22px,2.8vw,38px);line-height:1.15;color:var(--paper)}
.spec{margin:30px 0;border-top:1px solid var(--line)}
.spec div{display:flex;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}
.spec dt{color:var(--cyan);font-size:12px;letter-spacing:.2em;padding-top:4px;flex:none;width:28px}
.spec dd{margin:0;color:var(--paper)}
.chapter__next{margin-top:10px}

/* =========================================================
   GRAIN
   ========================================================= */
.grain{position:fixed;inset:0;width:100%;height:100%;z-index:90;pointer-events:none;opacity:.075;mix-blend-mode:overlay}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1100px){
  .counter{display:none}
  .deck__name{max-width:96px}
}
@media (max-width:900px){
  .concept__grid,.tribe__grid,.partners__grid{grid-template-columns:1fr}
  .objects{grid-template-columns:1fr;max-width:480px;margin-left:auto;margin-right:auto}
  .jcard{max-width:440px}
  .notifs{width:min(300px,70vw);right:16px;opacity:.9}
}
@media (max-width:720px){
  :root{--top-h:66px}
  .top{gap:8px}
  .top__logo{width:58px}
  .deck__prev,.deck__next,.deck__station{display:none}
  .deck__screen{padding:4px 8px;margin-left:2px}
  .vu{width:min(130px,32vw);height:32px}
  .deck__play{width:38px;height:38px}
  .top__right{gap:8px}
  .lang button{padding:6px 4px}
  .menu-btn{padding:6px 10px;font-size:11px}
  .osd{font-size:12px}
  .hero__title{letter-spacing:.08em}
  .fl{max-width:100%}
  .fatigue__text{padding-top:20vh}
  .notifs{top:calc(var(--top-h) + 8px);left:16px;right:16px;width:auto;bottom:auto;max-height:36vh;overflow:hidden}
  .fatigue__text{align-self:end;padding-bottom:12vh}
  .chapter__side{display:none}
  .chapter__body{padding-left:var(--gutter)}
  .chapter__duo{grid-template-columns:1fr}
  .letterbox{box-shadow:inset 0 6vh 0 0 #000, inset 0 -6vh 0 0 #000}
  .tape{width:220px;height:142px}
  .tape__label{height:84px}
  .tape__window{top:44px;width:118px}
  .foot{justify-content:center;text-align:center}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .film__track{animation:none}
  .grain{display:none}
  .reveal{opacity:1;transform:none}
}

/* link to the radio page (header) — echoes the red RADIO button of the first site */
.deck__radio{
  margin-left:10px;flex:none;padding:7px 12px;border:1.5px solid var(--red);border-radius:3px;
  font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;color:var(--red);
  text-shadow:0 0 8px rgba(255,59,47,.7);box-shadow:0 0 12px rgba(255,59,47,.35), inset 0 0 8px rgba(255,59,47,.2);
  transition:background .3s,color .3s;
}
.deck__radio:hover{background:var(--red);color:var(--ink);text-shadow:none}
@media (max-width:1100px){.deck__radio{display:none}}

/* intermediate widths (tablet / small laptop): keep the header deck from overlapping */
@media (max-width:1000px) and (min-width:721px){
  .deck__station{display:none}
  .vu{width:clamp(200px,34vw,300px)}
}

/* =========================================================
   B3 — investor dossier on request
   ========================================================= */
.partners__grid{align-items:start;grid-template-columns:1fr 1.1fr}
@media (max-width:900px){.partners__grid{grid-template-columns:1fr}}
.dossier{position:relative;background:#efe7d6;color:#1b1814;padding:30px 28px 24px;border-radius:2px 6px 6px 6px;box-shadow:0 30px 60px rgba(0,0,0,.5);margin-top:18px}
.dossier__tab{position:absolute;top:-18px;left:0;height:18px;padding:0 16px;background:#efe7d6;border-radius:6px 6px 0 0;display:flex;align-items:center}
.dossier__tab span{font-size:9px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--red-deep)}
.dossier::after{content:"";position:absolute;right:22px;top:22px;width:74px;height:74px;border:2px solid rgba(179,22,13,.55);border-radius:50%;transform:rotate(-14deg);
  background:radial-gradient(circle, transparent 58%, rgba(179,22,13,.55) 59% 61%, transparent 62%);pointer-events:none}
.dossier__head{display:flex;align-items:center;gap:16px;margin-bottom:12px;padding-right:80px}
.dossier__emblem{width:64px;flex:none;color:#1b1814}
.dossier__title{margin:0;font-family:var(--f-title);font-weight:400;text-transform:uppercase;font-size:clamp(22px,2.2vw,30px);line-height:1}
.dossier__meta{margin:6px 0 0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#7a7266}
.dossier__intro{font-size:14px;color:#3b352e;margin:4px 0 18px}
.dossier__fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.dossier .field span{color:#7a7266}
.dossier .field input,.dossier .field select{color:#1b1814;border-bottom-color:rgba(27,24,20,.25)}
.dossier .field select{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(27,24,20,.25);font:inherit;font-size:16px;padding:8px 0;border-radius:0;-webkit-appearance:none;appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,#1b1814 50%),linear-gradient(135deg,#1b1814 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.dossier .field select:focus{outline:none;border-color:var(--red)}
.dossier .btn--rec{color:#1b1814;border-color:#1b1814}
.dossier .btn--rec:hover{background:#1b1814;color:#efe7d6}
.dossier__ico{font-size:16px;line-height:1}
.dossier .rec__status{color:var(--red-deep)}
.dossier.is-done .field,.dossier.is-done .dossier__fields,.dossier.is-done .btn--rec{display:none}
@media (max-width:560px){.dossier__fields{grid-template-columns:1fr}.dossier::after{width:54px;height:54px;right:14px;top:14px}.dossier__head{padding-right:56px}}
