/* ============================================================
   STATIC & NOISE — acid-on-true-black design system
   Tokens first. The brand is allowed to be abrupt.
   ============================================================ */
:root{
  --bg:#08080a;            /* true black stage */
  --panel:#0e0e11;
  --ink:#f2f2f0;
  --dim:#9a9aa0;
  --faint:#5c5c64;
  --acid:#c6ff00;          /* the lead */
  --magenta:#ff2e88;       /* hot secondary — large/labels only */
  --line:rgba(242,242,240,.12);
  --line-2:rgba(242,242,240,.06);
  --max:1280px;
  --snap:cubic-bezier(.85,0,.15,1);        /* signature: hard cut, both ends */
  --lash:cubic-bezier(.05,.95,.1,1);       /* whip-out for hovers */
  --mono:"Space Mono",ui-monospace,monospace;
  --disp:"Syne",system-ui,sans-serif;
  --body:"Inter",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  background:var(--bg);color:var(--ink);
  font-family:var(--body);font-weight:400;line-height:1.6;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
strong{color:var(--ink);font-weight:600}
::selection{background:var(--acid);color:#0c0e00}

.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;top:-60px;left:16px;z-index:200;background:var(--acid);color:#0c0e00;
  font-family:var(--mono);font-size:.8rem;padding:10px 16px;transition:top .2s var(--snap)}
.skip:focus-visible{top:12px}

/* fixed visualizer canvas — content stacks above it */
.viz{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
main,.ticker,.footer{position:relative;z-index:2}
/* sections after the hero sit on near-solid black so text never fights the canvas */
.solid{background:linear-gradient(180deg,rgba(8,8,10,.93),rgba(8,8,10,.97))}

/* ---------- type ---------- */
.eyebrow,.kicker{font-family:var(--mono);font-size:.72rem;letter-spacing:.24em;
  text-transform:uppercase;color:var(--acid)}
h1,h2,h3{font-family:var(--disp);font-weight:800;line-height:.96;letter-spacing:-.01em;text-transform:uppercase}
h2{font-size:clamp(2.1rem,5.4vw,3.9rem)}
h3{font-size:1.3rem}
.lede{max-width:58ch;margin-top:1.1rem;color:var(--dim);font-size:1.06rem}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:80;display:flex;justify-content:space-between;align-items:center;
  padding:16px clamp(16px,4vw,44px);
  background:linear-gradient(180deg,rgba(8,8,10,.88),rgba(8,8,10,0))}
.brand{display:flex;align-items:center;gap:12px}
.brand-glyph{font-family:var(--mono);font-weight:700;font-size:.8rem;color:#0c0e00;background:var(--acid);
  padding:5px 8px;letter-spacing:.05em}
.brand-word{font-family:var(--disp);font-weight:800;font-size:.92rem;letter-spacing:.06em}
.nav-links{display:flex;gap:clamp(12px,2.2vw,28px);align-items:center;font-family:var(--mono);
  font-size:.78rem;letter-spacing:.06em;color:var(--dim);text-transform:uppercase}
.nav-links a{transition:color .25s var(--lash)}
.nav-links a:hover{color:var(--acid)}
.nav-cta{border:1px solid var(--acid);color:var(--acid)!important;padding:8px 14px;white-space:nowrap;
  transition:background .2s var(--snap),color .2s var(--snap)}
.nav-cta:hover{background:var(--acid);color:#0c0e00!important}
@media(max-width:820px){.nav-links a:not(.nav-cta){display:none}}
@media(max-width:480px){.brand-word{display:none}}

/* ---------- hero ---------- */
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;
  max-width:var(--max);margin:0 auto;padding:clamp(84px,11vh,120px) clamp(16px,4vw,44px) clamp(32px,5vh,56px)}
.hero-eyebrow{margin-bottom:clamp(10px,1.8vh,20px)}
.wordmark{font-size:clamp(2.8rem,11vw,9.6rem);line-height:.9;letter-spacing:-.02em;user-select:none}
.wm-row{display:block;overflow:hidden;padding-bottom:.05em}
.wm-line{display:inline-block;position:relative;white-space:nowrap}
.wm-noise{-webkit-text-stroke:2px var(--acid);color:transparent;paint-order:stroke}
@supports not (-webkit-text-stroke:2px #000){.wm-noise{color:var(--acid)}}
.wm-line .g{display:inline-block;will-change:transform}
.wm-line .g-amp{color:var(--magenta);-webkit-text-stroke:0}

/* glitch slice layers — flashed on the beat via .beat */
.js .wm-line[data-glitch]::before,.js .wm-line[data-glitch]::after{
  content:attr(data-text);position:absolute;inset:0;pointer-events:none;opacity:0;white-space:nowrap}
.js .wm-line[data-glitch]::before{color:var(--acid);-webkit-text-stroke:0}
.js .wm-line[data-glitch]::after{color:var(--magenta);-webkit-text-stroke:0}
.js .wm-line.beat::before{animation:sliceA .22s steps(2,end) 1}
.js .wm-line.beat::after{animation:sliceB .22s steps(2,end) 1}
@keyframes sliceA{
  0%{opacity:.9;transform:translate(-6px,2px);clip-path:inset(12% 0 58% 0)}
  50%{opacity:.7;transform:translate(4px,-1px);clip-path:inset(64% 0 8% 0)}
  100%{opacity:0;transform:none;clip-path:inset(0 0 100% 0)}}
@keyframes sliceB{
  0%{opacity:.85;transform:translate(6px,-2px);clip-path:inset(58% 0 14% 0)}
  50%{opacity:.6;transform:translate(-5px,2px);clip-path:inset(6% 0 70% 0)}
  100%{opacity:0;transform:none;clip-path:inset(100% 0 0 0)}}

.hero-low{display:grid;grid-template-columns:1fr;gap:clamp(24px,4vw,56px);
  margin-top:clamp(18px,3vh,34px);align-items:start}
@media(min-width:960px){.hero-low{grid-template-columns:1.2fr .8fr}}
.hero-sub{max-width:46ch;color:var(--dim);font-size:clamp(1rem,1.3vw,1.15rem)}
.hero-sub strong{color:var(--ink)}

.transmit-rig{margin-top:1.4rem;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.transmit{display:inline-flex;align-items:center;gap:14px;cursor:pointer;
  font-family:var(--disp);font-weight:800;font-size:clamp(1.05rem,1.6vw,1.3rem);letter-spacing:.08em;
  color:#0c0e00;background:var(--acid);border:0;padding:18px 30px 18px 24px;
  box-shadow:6px 6px 0 var(--magenta);
  transition:transform .18s var(--snap),box-shadow .18s var(--snap),background .18s var(--snap)}
.transmit:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 var(--magenta)}
.transmit:active{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--magenta)}
.t-icon{display:grid;place-items:center;width:34px;height:34px;border:2px solid #0c0e00;border-radius:50%}
.t-icon svg{display:block}
.t-stop{display:none}
.transmit[aria-pressed="true"]{background:var(--magenta);color:#fff;box-shadow:6px 6px 0 var(--acid)}
.transmit[aria-pressed="true"] .t-icon{border-color:#fff}
.transmit[aria-pressed="true"] .t-play{display:none}
.transmit[aria-pressed="true"] .t-stop{display:block}
.t-status{font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;color:var(--dim);
  text-transform:uppercase;min-height:1.2em}
.t-status.on{color:var(--acid)}
.nojs-note{margin-top:1rem;font-family:var(--mono);font-size:.78rem;color:var(--magenta);max-width:46ch}

.hero-rig{border:1px solid var(--line);background:rgba(8,8,10,.55);backdrop-filter:blur(3px);
  padding:clamp(16px,2vw,22px);font-family:var(--mono)}
.rig-title{font-size:.68rem;letter-spacing:.2em;color:var(--magenta);margin-bottom:12px}
.rig-list{list-style:none}
.rig-list li{display:flex;justify-content:space-between;gap:16px;font-size:.72rem;letter-spacing:.04em;
  color:var(--dim);padding:7px 0;border-bottom:1px dashed var(--line-2)}
.rig-list li span:first-child{color:var(--acid);flex:none}
.rig-list li span:last-child{text-align:right}
.rig-foot{margin-top:12px;font-size:.68rem;color:var(--faint);line-height:1.7}
@media(max-width:959px){.hero-rig{max-width:460px}}

/* ---------- ticker ---------- */
.ticker{overflow:hidden;border-block:1px solid var(--line);background:rgba(8,8,10,.9);
  font-family:var(--mono);font-size:.78rem;letter-spacing:.1em;color:var(--acid);
  text-transform:uppercase;padding:10px 0;white-space:nowrap}
.ticker-track{display:inline-flex;width:max-content;animation:tick 30s linear infinite}
.ticker-run{display:inline-block;padding-right:2em}
@keyframes tick{to{transform:translateX(-50%)}}

/* ---------- section shell ---------- */
section{padding:clamp(72px,11vh,140px) clamp(16px,4vw,44px)}
.section-head{max-width:var(--max);margin:0 auto 3rem}
.kicker{display:block;margin-bottom:1.1rem}

/* ---------- roster ---------- */
.roster{border-top:1px solid var(--line-2)}
.roster-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr;
  gap:clamp(18px,2.6vw,30px)}
@media(min-width:640px){.roster-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1020px){.roster-grid{grid-template-columns:repeat(3,1fr)}}
.act{border:1px solid var(--line);background:var(--panel);padding:14px 14px 20px;
  transition:transform .25s var(--lash),border-color .2s var(--snap)}
/* controlled chaos: alternate tilts, straightened on hover */
@media(min-width:640px){
  .act:nth-child(6n+1){transform:rotate(-1.1deg)}
  .act:nth-child(6n+2){transform:rotate(.9deg) translateY(10px)}
  .act:nth-child(6n+3){transform:rotate(-.6deg)}
  .act:nth-child(6n+4){transform:rotate(1.2deg)}
  .act:nth-child(6n+5){transform:rotate(-.9deg) translateY(8px)}
  .act:nth-child(6n+6){transform:rotate(.7deg)}
  .act:hover{transform:rotate(0) translateY(0)}
}
.act:hover{border-color:var(--acid)}
.act-art{position:relative;aspect-ratio:1;background:#0a0a0d;overflow:hidden;margin-bottom:16px}
.act-art canvas{position:absolute;inset:0;width:100%;height:100%}
/* no-JS fallback art — one gradient dialect per generator */
.act[data-art="interference"] .act-art{background:repeating-linear-gradient(0deg,#0a0a0d 0 6px,#15151a 6px 7px)}
.act[data-art="grid"] .act-art{background:repeating-linear-gradient(90deg,#0a0a0d 0 22px,#131318 22px 23px),repeating-linear-gradient(0deg,#0a0a0d 0 22px,#131318 22px 23px)}
.act[data-art="moth"] .act-art{background:radial-gradient(circle at 50% 45%,#1a1a20 0 18%,#0a0a0d 55%)}
.act[data-art="concrete"] .act-art{background:linear-gradient(135deg,#141418 25%,#0a0a0d 25% 50%,#101014 50% 75%,#0a0a0d 75%)}
.act[data-art="drone"] .act-art{background:repeating-linear-gradient(180deg,#0a0a0d 0 28px,#121217 28px 30px)}
.act[data-art="hex"] .act-art{background:repeating-linear-gradient(60deg,#0a0a0d 0 16px,#131318 16px 18px)}
.act:hover .act-art canvas{animation:artjolt .3s var(--snap) 1}
@keyframes artjolt{
  0%{transform:translate(0,0) scale(1)}
  25%{transform:translate(-3px,2px) scale(1.02)}
  55%{transform:translate(3px,-2px) scale(1.01)}
  100%{transform:none}}
.act-name{margin-bottom:8px;transition:color .2s var(--snap)}
.act:hover .act-name{color:var(--acid)}
.act-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.act-tags span{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--dim);border:1px solid var(--line);padding:3px 8px}
.act-bio{color:var(--dim);font-size:.94rem}
.act-since{margin-top:14px;font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;color:var(--faint)}

/* ---------- releases ---------- */
.releases{border-top:1px solid var(--line-2)}
.release-list{max-width:var(--max);margin:0 auto;list-style:none;border-top:1px solid var(--line)}
.release{display:grid;grid-template-columns:76px 56px 1fr 110px 90px 64px;align-items:center;
  gap:14px;padding:16px 6px;border-bottom:1px solid var(--line);position:relative;
  transition:background .2s var(--snap),padding-left .25s var(--lash)}
.release:hover{background:rgba(198,255,0,.04);padding-left:14px}
.release.playing{background:rgba(198,255,0,.07)}
.release.playing::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--acid)}
.r-cat{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;color:var(--faint)}
.release.playing .r-cat{color:var(--acid)}
.r-play button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:transparent;
  cursor:pointer;display:grid;place-items:center;transition:border-color .2s var(--snap),background .2s var(--snap),transform .2s var(--lash)}
.r-play button span{width:0;height:0;border-left:9px solid var(--ink);border-block:6px solid transparent;margin-left:2px;transition:border-color .2s}
.r-play button:hover{border-color:var(--acid);transform:scale(1.1)}
.r-play button:hover span{border-left-color:var(--acid)}
.r-play button[aria-pressed="true"]{background:var(--acid);border-color:var(--acid)}
.r-play button[aria-pressed="true"] span{border:0;width:10px;height:10px;background:#0c0e00;margin:0}
.r-title{display:flex;flex-direction:column;gap:2px;min-width:0}
.r-title strong{font-family:var(--disp);font-weight:700;font-size:1.02rem;letter-spacing:.01em;
  text-transform:uppercase;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.r-title em{font-style:normal;color:var(--dim);font-size:.82rem}
.release.playing .r-title strong{color:var(--acid)}
.fmt{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;padding:4px 9px;border:1px solid var(--line);color:var(--dim)}
.fmt-vinyl{border-color:rgba(198,255,0,.5);color:var(--acid)}
.fmt-cass{border-color:rgba(255,46,136,.55);color:var(--magenta)}
.r-bpm{font-family:var(--mono);font-size:.72rem;color:var(--faint);letter-spacing:.06em}
.r-dur{font-family:var(--mono);font-size:.78rem;color:var(--dim);text-align:right;font-variant-numeric:tabular-nums}
/* animated equalizer glyph on the playing row (replaces duration) */
.release.playing .r-dur{color:var(--acid)}
.eq{display:inline-flex;align-items:flex-end;gap:2px;height:14px;margin-right:6px;vertical-align:-2px}
.eq i{width:3px;background:var(--acid);animation:eqb .5s var(--snap) infinite alternate}
.eq i:nth-child(1){height:40%;animation-delay:0s}
.eq i:nth-child(2){height:100%;animation-delay:.12s}
.eq i:nth-child(3){height:60%;animation-delay:.24s}
@keyframes eqb{from{transform:scaleY(.35)}to{transform:scaleY(1)}}
@media(max-width:860px){
  .release{grid-template-columns:44px 1fr 84px 56px;gap:10px}
  .r-cat,.r-bpm{display:none}
}
@media(max-width:480px){
  .release{grid-template-columns:44px 1fr 60px}
  .r-fmt{display:none}
}
.release-foot{max-width:var(--max);margin:1.6rem auto 0;color:var(--faint);font-size:.9rem;max-width:62ch;
  margin-left:auto;margin-right:auto}
@media(min-width:1280px){.release-foot{margin-left:calc((100% - var(--max))/2)}}

/* ---------- manifesto ---------- */
.manifesto{border-top:1px solid var(--line-2);overflow:hidden}
.manifesto .kicker{max-width:var(--max);margin:0 auto 2rem;display:block}
.mani-lines{max-width:var(--max);margin:0 auto}
.mani-line{font-family:var(--disp);font-weight:800;text-transform:uppercase;line-height:1.04;
  font-size:clamp(1.9rem,4.3vw,3.9rem);letter-spacing:-.015em;will-change:transform;white-space:nowrap}
.mani-line:nth-child(2){margin-left:clamp(14px,3.5vw,64px)}
.mani-line:nth-child(3){margin-left:clamp(6px,1.6vw,30px)}
.mani-line:nth-child(4){margin-left:clamp(20px,5.5vw,100px)}
.ml-outline{-webkit-text-stroke:2px var(--acid);color:transparent}
@supports not (-webkit-text-stroke:2px #000){.ml-outline{color:var(--acid)}}
.ml-hot{color:var(--magenta)}
@media(max-width:560px){
  .mani-line{white-space:normal;font-size:clamp(1.8rem,9.5vw,2.6rem)}
  .mani-line:nth-child(2),.mani-line:nth-child(3),.mani-line:nth-child(4){margin-left:0}
}
.mani-copy{max-width:var(--max);margin:3rem auto 0;display:grid;grid-template-columns:1fr;gap:1.2rem;color:var(--dim)}
@media(min-width:800px){.mani-copy{grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,60px)}}
.mani-copy p{max-width:56ch}

/* ---------- join ---------- */
.join{border-top:1px solid var(--line-2)}
.join-inner{max-width:var(--max);margin:0 auto;border:1px solid var(--line);background:var(--panel);
  padding:clamp(28px,5vw,64px);position:relative}
.join-inner::after{content:"";position:absolute;inset:10px;border:1px dashed var(--line-2);pointer-events:none}
.join h2{margin-bottom:.4rem}
.join-form{display:flex;gap:12px;flex-wrap:wrap;margin-top:1.8rem;position:relative;z-index:1}
.join-form input{flex:1 1 260px;background:#0a0a0d;border:1px solid var(--line);color:var(--ink);
  font-family:var(--mono);font-size:.9rem;padding:15px 16px;letter-spacing:.03em}
.join-form input::placeholder{color:var(--faint)}
.join-form input:focus-visible{outline:2px solid var(--acid);outline-offset:2px;border-color:var(--acid)}
.join-btn{font-family:var(--disp);font-weight:800;font-size:.95rem;letter-spacing:.08em;color:#0c0e00;
  background:var(--acid);border:0;padding:15px 26px;cursor:pointer;box-shadow:5px 5px 0 var(--magenta);
  transition:transform .18s var(--snap),box-shadow .18s var(--snap)}
.join-btn:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--magenta)}
.join-btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--magenta)}
.join-note{margin-top:1.1rem;font-family:var(--mono);font-size:.74rem;color:var(--faint);letter-spacing:.05em}
.join-note.ok{color:var(--acid)}

/* ---------- now-transmitting bar ---------- */
.nowbar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;align-items:center;gap:14px;
  padding:10px clamp(14px,3vw,28px);background:rgba(8,8,10,.92);backdrop-filter:blur(8px);
  border-top:1px solid var(--acid);transform:translateY(102%);transition:transform .35s var(--snap)}
.nowbar.on{transform:translateY(0)}
.nb-live{width:9px;height:9px;border-radius:50%;background:var(--magenta);flex:none;animation:blink 1s steps(2,start) infinite}
@keyframes blink{50%{opacity:.25}}
.nb-wave{width:clamp(80px,16vw,220px);height:34px;flex:none}
.nb-meta{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.nb-label{font-family:var(--mono);font-size:.58rem;letter-spacing:.22em;color:var(--acid)}
.nb-title{font-family:var(--disp);font-weight:700;font-size:.92rem;text-transform:uppercase;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nb-badge{margin-left:auto;font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;color:var(--magenta);
  border:1px solid rgba(255,46,136,.55);padding:4px 8px;flex:none}
.nb-time{font-family:var(--mono);font-size:.82rem;color:var(--dim);font-variant-numeric:tabular-nums;flex:none}
.nb-stop{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:transparent;
  cursor:pointer;display:grid;place-items:center;flex:none;transition:border-color .2s var(--snap),transform .2s var(--lash)}
.nb-stop span{width:11px;height:11px;background:var(--ink)}
.nb-stop:hover{border-color:var(--magenta);transform:scale(1.08)}
.nb-stop:hover span{background:var(--magenta)}
@media(max-width:640px){.nb-badge{display:none}.nb-wave{width:64px}}

/* ---------- footer ---------- */
.footer{border-top:1px solid var(--line);padding:clamp(40px,6vh,64px) clamp(16px,4vw,44px) calc(clamp(40px,6vh,64px) + 62px)}
.foot-top{max-width:var(--max);margin:0 auto 22px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.foot-brand{font-family:var(--mono);font-weight:700;font-size:.85rem;color:#0c0e00;background:var(--acid);padding:6px 10px}
.foot-links{display:flex;gap:20px;font-family:var(--mono);font-size:.76rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--dim)}
.foot-links a:hover{color:var(--acid)}
.foot-bottom{max-width:var(--max);margin:0 auto;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  font-family:var(--mono);font-size:.68rem;color:var(--faint);letter-spacing:.03em;line-height:1.8}
.foot-bottom a{color:var(--dim);text-decoration:underline;text-underline-offset:3px}
.foot-bottom a:hover{color:var(--acid)}

/* ---------- reveal + hero intro ---------- */
.js .reveal{opacity:0;transform:translateY(26px)}
.js .reveal.is-in{opacity:1;transform:none;transition:opacity .7s var(--snap),transform .7s var(--snap)}
.js .wm-row .wm-line{transform:translateY(104%);transition:transform .6s var(--snap)}
.js .hero.loaded .wm-row .wm-line{transform:translateY(0)}
.js .hero .hero-eyebrow,.js .hero .hero-sub,.js .hero .transmit-rig,.js .hero .hero-rig{opacity:0;transform:translateY(18px)}
.js .hero.loaded .hero-eyebrow,.js .hero.loaded .hero-sub,.js .hero.loaded .transmit-rig,.js .hero.loaded .hero-rig{
  opacity:1;transform:none;transition:opacity .6s var(--snap),transform .6s var(--snap)}
.hero .wm-row:nth-child(1) .wm-line{transition-delay:.08s}
.hero .wm-row:nth-child(2) .wm-line{transition-delay:.22s}
.hero.loaded .hero-eyebrow{transition-delay:.05s}
.hero.loaded .hero-sub{transition-delay:.42s}
.hero.loaded .transmit-rig{transition-delay:.5s}
.hero.loaded .hero-rig{transition-delay:.58s}

/* ---------- focus ---------- */
a:focus-visible,button:focus-visible{outline:2px solid var(--acid);outline-offset:3px}
.transmit:focus-visible{outline:2px solid var(--ink);outline-offset:4px}

/* ---------- reduced motion: damp everything ---------- */
@media (prefers-reduced-motion:reduce){
  .reveal,.js .reveal,.js .hero .hero-eyebrow,.js .hero .hero-sub,.js .hero .transmit-rig,.js .hero .hero-rig{
    opacity:1!important;transform:none!important;transition:none!important}
  .js .wm-row .wm-line{transform:none!important;transition:none!important}
  .js .wm-line.beat::before,.js .wm-line.beat::after{animation:none!important;opacity:0!important}
  .ticker-track{animation:none!important;transform:none!important}
  .eq i{animation:none!important;transform:none!important}
  .nb-live{animation:none!important}
  .act:hover .act-art canvas{animation:none!important}
  .nowbar{transition:none}
  .mani-line{transform:none!important}
  *{scroll-behavior:auto!important}
}
