/* KING'S LANE — spray, tape, toner. Tokens first; everything answers to them. */
:root{
  --asphalt:#161719; --asphalt2:#232528; --asphalt3:#2f3236;
  --concrete:#b5b5af; --concrete2:#a3a39d; --concrete3:#8a8a84;
  --paper:#ecece6; --ink:#121315;
  --volt:#d8ff00; --volt2:#c3e600;
  --hazard:#ff5500;
  --f-lat:"Anton",Impact,"Haettenschweiler","Arial Narrow Bold",sans-serif;
  --f-ja:"Dela Gothic One","Hiragino Kaku Gothic StdN",sans-serif;
  --f-body:"IBM Plex Sans JP","Hiragino Sans","Noto Sans JP",sans-serif;
  --f-mono:"Martian Mono",ui-monospace,Menlo,monospace;
  --m:clamp(16px,2.8vw,40px);
  --gap:clamp(8px,1.2vw,18px);
  --slam:cubic-bezier(.08,.94,.12,1);
  --cut:cubic-bezier(.86,0,.14,1);
  --grain-d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='360'%3E%3Cfilter id='n' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.15' numOctaves='3' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 -11.1'/%3E%3C/filter%3E%3Crect width='360' height='360' filter='url(%23n)' opacity='.2'/%3E%3C/svg%3E");
  --grain-l:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='360'%3E%3Cfilter id='n' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.05' numOctaves='3' seed='23' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 .97 0 0 0 16 -11.1'/%3E%3C/filter%3E%3Crect width='360' height='360' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--asphalt);scrollbar-color:var(--volt) var(--asphalt)}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-stopped{overflow:hidden}
body{margin:0;background:var(--asphalt);color:var(--ink);font:500 15px/1.85 var(--f-body);letter-spacing:.03em;overflow-x:clip;-webkit-font-smoothing:antialiased}
h1,h2,h3,p,ol,ul,dl,dd,figure,fieldset{margin:0;padding:0}
ol,ul{list-style:none} fieldset{border:0;min-width:0} legend{padding:0}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
svg,canvas{display:block}
.lk-switch img{max-width:none;width:18px}
:focus-visible{outline:3px solid var(--hazard);outline-offset:2px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
p,li,dd,span,strong,td{line-break:strict;word-break:auto-phrase}
p{text-wrap:pretty}
h1,h2{text-wrap:balance;line-break:strict;word-break:auto-phrase}
.kp{display:inline-block}
main{overflow-x:clip}
.mono{font-family:var(--f-mono);font-stretch:75%;font-weight:700;font-size:12px;letter-spacing:.06em;line-height:1.5}
.latin{font-family:var(--f-lat);font-style:italic;font-weight:400;letter-spacing:.005em;text-transform:uppercase}

/* LK mark */
.lk{fill:none;stroke:currentColor;stroke-width:40;stroke-linejoin:miter}
.patch{display:grid;place-items:center;width:44px;height:44px;flex:none;background:var(--volt);color:var(--ink);clip-path:polygon(22% 0,78% 0,100% 22%,100% 78%,78% 100%,22% 100%,0 78%,0 22%)}
.patch svg{width:32px;height:auto}
.patch--ink{background:var(--ink);color:var(--volt)}

/* blocks + toner */
.block{position:relative;isolation:isolate;overflow:clip}
.block::after{content:"";position:absolute;inset:0;z-index:30;pointer-events:none;background-image:var(--grain-d),var(--grain-l)}
.block--concrete{background:var(--concrete);color:var(--ink)}
.block--asphalt{background:var(--asphalt);color:var(--paper)}
.block--paper{background:var(--paper);color:var(--ink)}
.block--volt{background:var(--volt);color:var(--ink)}
.slug{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);padding:clamp(72px,8vw,110px) var(--m) 0;position:relative}
.slug span:nth-child(1){grid-column:1/3}.slug span:nth-child(2){grid-column:3/9}.slug__r{grid-column:9/13;text-align:right}
.slug::before{content:"";position:absolute;left:var(--m);right:var(--m);top:clamp(60px,6.8vw,96px);height:9px;
  background:repeating-linear-gradient(90deg,currentColor 0 1px,transparent 1px calc((100% - 11*var(--gap))/12 + var(--gap)))}

/* crop marks */
.crop{position:absolute;inset:14px;pointer-events:none;z-index:6}
.crop i{position:absolute;width:26px;height:26px}
.crop i::before,.crop i::after{content:"";position:absolute;background:currentColor}
.crop i::before{width:100%;height:2px}.crop i::after{width:2px;height:100%}
.crop i:nth-child(1){left:0;top:0}
.crop i:nth-child(2){right:0;top:0}.crop i:nth-child(2)::after{right:0}
.crop i:nth-child(3){left:0;bottom:0}.crop i:nth-child(3)::before{bottom:0}
.crop i:nth-child(4){right:0;bottom:0}.crop i:nth-child(4)::before{bottom:0}.crop i:nth-child(4)::after{right:0}

/* buttons: hard parallelograms, no radius, no glow */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border:0;text-decoration:none;font-family:var(--f-body);font-weight:700;font-size:15px;letter-spacing:.04em;transform:skewX(-12deg);transition:transform .14s var(--slam),background .01s,color .01s;background:none;color:inherit}
.btn span{transform:skewX(12deg);white-space:nowrap}
.btn--volt{background:var(--volt);color:var(--ink)}
.btn--line{box-shadow:inset 0 0 0 3px var(--paper);color:var(--paper)}
.btn--ink{background:var(--ink);color:var(--volt)}
.btn--xl{min-height:68px;width:100%;font-size:19px}
@media(hover:hover){.btn:hover{transform:skewX(-20deg) translateX(6px)}.btn--line:hover{background:var(--paper);color:var(--ink)}.btn--volt:hover{background:var(--paper)}.btn--ink:hover{background:var(--hazard);color:var(--ink)}}
.btn:active{transform:skewX(-4deg) translateX(-2px)}

/* tape */
.tape{background:var(--hazard);color:var(--ink);font-family:var(--f-lat);font-style:italic;white-space:nowrap;overflow:hidden;
  border-top:6px solid transparent;border-bottom:6px solid transparent;
  background-image:repeating-linear-gradient(-55deg,var(--ink) 0 8px,transparent 8px 20px),repeating-linear-gradient(-55deg,var(--ink) 0 8px,transparent 8px 20px);
  background-size:100% 6px,100% 6px;background-position:0 -6px,0 calc(100% + 6px);background-repeat:no-repeat;background-origin:border-box;background-clip:border-box}

/* ---------- LOADER ---------- */
.gun{position:fixed;inset:0;z-index:99999;color:var(--paper);pointer-events:none;animation:gunFail .01s linear 6.5s forwards}
@keyframes gunFail{to{visibility:hidden}}
.gun__panel{position:absolute;inset:0;background:var(--asphalt);transition:transform .46s var(--cut)}
.gun__panel--a{clip-path:polygon(0 0,62% 0,38% 100%,0 100%)}
.gun__panel--b{clip-path:polygon(62% 0,100% 0,100% 100%,38% 100%)}
.gun__stage{position:absolute;inset:0;display:grid;place-items:center;transition:opacity .08s linear}
.gun__mark{position:absolute;left:var(--m);top:18px;width:56px;color:var(--volt);height:auto}
.gun__call{position:absolute;left:var(--m);bottom:clamp(70px,9vh,100px);display:none;font-family:var(--f-lat);font-style:italic;line-height:.92;text-transform:uppercase;color:var(--paper)}
.gun__call span{display:block;font-size:min(30vw,52vh)}
.gun__call i{display:block;margin-top:.5em;font:400 clamp(20px,3vw,40px)/1 var(--f-ja);font-style:italic;letter-spacing:.06em;color:var(--volt)}
.gun__call--1 span{font-size:min(19vw,34vh)}
.gun[data-stage="1"] .gun__call--1,.gun[data-stage="2"] .gun__call--2,.gun[data-stage="3"] .gun__call--3{display:block;animation:slamIn .22s var(--slam) both}
.gun[data-stage="2"] .gun__panel{background:var(--concrete)}
.gun[data-stage="2"] .gun__call--2{color:var(--ink)}
.gun[data-stage="2"] .gun__call--2 i{color:var(--ink)}
.gun[data-stage="2"] .gun__mark{color:var(--ink)}
.gun[data-stage="3"] .gun__panel{background:var(--volt)}
.gun[data-stage="3"] .gun__call--3{color:var(--ink)}
.gun[data-stage="3"] .gun__call--3 i{color:var(--ink)}
.gun[data-stage="3"] .gun__mark{color:var(--ink)}
.gun__tape{position:absolute;left:0;right:0;top:0;height:14px;background:repeating-linear-gradient(-55deg,var(--ink) 0 14px,var(--hazard) 14px 28px)}
.gun.out .gun__stage{opacity:0}
.gun.out .gun__panel--a{transform:translate3d(-105%,0,0)}
.gun.out .gun__panel--b{transform:translate3d(105%,0,0)}
@keyframes slamIn{0%{opacity:0;transform:translate3d(-9vw,0,0) skewX(-24deg)}55%{opacity:1;transform:translate3d(0,0,0) skewX(4deg)}100%{transform:none}}

/* ---------- CURSOR ---------- */
.tick{position:fixed;left:0;top:0;z-index:99000;pointer-events:none;display:none}
.has-tick .tick{display:block}
.tick b{display:block;margin:-7px 0 0 -9px;width:18px;height:14px;background:var(--volt);box-shadow:0 0 0 2px var(--ink);transform:skewX(-14deg);overflow:hidden;font:400 0/1 var(--f-lat);color:var(--ink);text-align:center;transition:width .1s var(--slam),height .1s var(--slam),margin .1s var(--slam)}
.tick.is-on b{width:58px;height:34px;margin:-17px 0 0 -29px;font-size:22px;line-height:34px;font-style:italic}
.tick.is-off b{opacity:0}

/* ---------- HEADER ---------- */
.top{position:fixed;inset:0 0 auto 0;z-index:9000;display:flex;justify-content:space-between;align-items:flex-start;padding:14px var(--m);pointer-events:none}
.top a{pointer-events:auto}
.top__brand{display:flex;align-items:center;gap:10px;text-decoration:none;background:var(--ink);color:var(--paper);padding:0 16px 0 0;height:44px;pointer-events:auto}
.top__name{font:italic 400 22px/1 var(--f-lat);letter-spacing:.02em}
.top__nav{display:flex;align-items:stretch;background:var(--ink);height:44px;pointer-events:auto}
.top__nav a{display:flex;align-items:center;padding:0 13px;color:var(--paper);text-decoration:none;font:700 12px/1 var(--f-mono);font-stretch:75%;letter-spacing:.08em}
.top__nav .top__join{background:var(--volt);color:var(--ink);padding:0 18px;box-shadow:inset 0 0 0 3px var(--ink)}
@media(hover:hover){.top__nav a:hover{background:var(--paper);color:var(--ink)}}

/* ---------- HERO ---------- */
.hero{position:relative;height:100svh;min-height:620px;overflow:hidden;background:var(--concrete);color:var(--ink);isolation:isolate}
.hero::after{content:"";position:absolute;inset:0;z-index:7;pointer-events:none;background-image:var(--grain-d),var(--grain-l)}
.hero__volt{position:absolute;inset:0 -14% 0 47%;background:var(--volt);transform:skewX(-11deg);transform-origin:50% 100%;z-index:0}
.hero__fig{position:absolute;left:0;top:0;z-index:1}
.hero__title{position:absolute;left:var(--m);top:68px;z-index:2;font:italic 400 min(25.2vw,calc((73vh - 72px)/1.86))/.93 var(--f-lat);color:var(--ink);text-transform:uppercase;letter-spacing:0;text-wrap:initial}
.hl{display:block;transform-origin:0 100%;will-change:transform;white-space:nowrap}
.ch{display:inline-block}
.hero__figtop{position:absolute;z-index:3}
.hero__meta{position:absolute;right:var(--m);top:70px;z-index:4;display:flex;flex-direction:column;align-items:flex-end;background:var(--ink);color:var(--volt);padding:6px 10px}
.crop--hero{inset:66px 14px auto 14px;height:calc(73% - 80px);color:var(--ink);z-index:2}
.hero__badge{position:absolute;z-index:5;right:calc(var(--m) + 3vw);top:calc(73% - 196px);width:clamp(90px,10vw,150px);rotate:-11deg}
.hero__badge svg{width:100%;height:auto}
.hero__badge-t{position:absolute;right:-16%;bottom:-6%;background:var(--ink);color:var(--volt);font:italic 400 clamp(13px,1.4vw,20px)/1 var(--f-lat);padding:4px 7px;rotate:14deg}
.hero__tape{position:absolute;z-index:5;left:-3vw;width:46vw;bottom:calc(27% - 12px);min-height:0;transform:rotate(-2.6deg);transform-origin:0 100%;font-size:clamp(17px,1.9vw,27px);line-height:1.5;padding:0 10px}
.tape__run{display:inline-flex;will-change:transform}
.mq{display:inline-flex;flex:none;white-space:pre;align-items:center}
.hero__track{position:absolute;left:0;right:0;bottom:0;height:27%;min-height:236px;z-index:4;background:var(--asphalt);color:var(--paper);display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);padding:38px var(--m) 76px;align-items:start;overflow:hidden}
.lane-dash{position:absolute;left:0;top:16px;width:calc(100% + 400px);height:6px;background:repeating-linear-gradient(90deg,var(--volt) 0 104px,transparent 104px 180px);will-change:transform}
.hero__copy{grid-column:1/8}
.hero__shout{font:italic 400 clamp(28px,3.9vw,56px)/1.15 var(--f-ja);letter-spacing:.02em;color:var(--volt);text-wrap:balance}
.hero__lead{margin-top:10px;font-size:clamp(13px,1.05vw,15px);line-height:1.8;max-width:38em}
.hero__cta{grid-column:8/13;justify-self:end;display:flex;gap:14px;align-items:center;padding-top:12px}

/* hero entrance: everything mounted, held back until the gate flips */
.js:not(.go) .ch{opacity:0;transform:translate3d(-.4em,0,0) skewX(-32deg)}
.js .ch{transition:transform .4s var(--slam) calc(var(--i)*34ms + 60ms),opacity .01s linear calc(var(--i)*34ms + 60ms)}
.js:not(.go) .hero__volt{transform:skewX(-11deg) translate3d(70vw,0,0)}
.js .hero__volt{transition:transform .46s var(--slam)}
.js:not(.go) .hero__tape{transform:rotate(-2.6deg) translate3d(-104%,0,0)}
.js .hero__tape{transition:transform .36s var(--slam) .3s}
.js:not(.go) .hero__track{transform:translate3d(0,102%,0)}
.js .hero__track{transition:transform .36s var(--slam) .08s}
.js:not(.go) .hero__badge{transform:scale(2.4);opacity:0}
.js .hero__badge{transition:transform .22s var(--slam) .62s,opacity .01s linear .62s}
.js:not(.go) .hero__meta{opacity:0}
.js .hero__meta{transition:opacity .01s linear .5s}

/* ---------- TICKERS ---------- */
.ticker{position:relative;z-index:5;overflow:hidden;white-space:nowrap;background:var(--ink);color:var(--volt);font:italic 400 clamp(40px,6.4vw,92px)/1.26 var(--f-lat)}
.ticker__run{display:inline-flex;will-change:transform}
.ticker span{padding:0 .28em}
.ticker em{font-style:italic;color:var(--paper);padding:0 .05em}
.ticker span:nth-child(3),.ticker span:nth-child(7){font-family:var(--f-ja);font-size:.72em;letter-spacing:.02em}
.ticker--tape{background:var(--hazard);color:var(--ink);font-size:clamp(26px,3vw,44px);transform:rotate(-1.4deg) scale(1.03);margin-block:-16px;z-index:40;border-block:7px solid var(--ink)}
.ticker--tape em{color:var(--ink)}

/* ---------- REVEALS ---------- */
.io .rv{opacity:0}
.io .rv.in{opacity:1;animation:rvHit .34s var(--slam) both}
.io .rv--slam.in{animation:rvSlam .42s var(--slam) both}
@keyframes rvHit{0%{opacity:0;transform:translate3d(0,44px,0) skewX(-7deg)}60%{opacity:1}100%{transform:none}}
@keyframes rvSlam{0%{opacity:0;transform:translate3d(-12vw,0,0) skewX(-26deg)}55%{opacity:1;transform:translate3d(0,0,0) skewX(3deg)}72%{transform:skewX(-1.2deg)}100%{transform:none}}
.ln{display:block}

/* ---------- MANIFESTO ---------- */
.mani{padding-bottom:clamp(80px,10vw,150px)}
.mani__title{padding:clamp(28px,4vw,60px) var(--m) 0;font:400 clamp(38px,7.1vw,112px)/1.2 var(--f-ja);font-style:italic;letter-spacing:.01em;text-wrap:initial}
.mani__title .ln:nth-child(2){padding-left:calc((100vw - 2*var(--m))/12*1)}
.mani__title .ln:nth-child(3){padding-left:calc((100vw - 2*var(--m))/12*0)}
.mani__title .ln--big{font-size:1.72em;line-height:1.1;color:var(--ink);padding-left:calc((100vw - 2*var(--m))/12*2)}
.mani__title .ln--big .kp{background:var(--volt);padding:.02em .22em .08em .14em;transform:skewX(-4deg)}
.mani__body{position:absolute;right:var(--m);top:clamp(150px,17vw,230px);width:calc((100vw - 2*var(--m))/12*3.1);font-size:15px;z-index:2}
.mani__body p+p{margin-top:1em}
.mani__mark{position:absolute;right:-2vw;top:calc(clamp(150px,17vw,230px) + 340px);width:30vw;opacity:.1;z-index:0;transform:rotate(-7deg)}
.rules{margin-top:clamp(50px,7vw,110px);padding:0 var(--m);position:relative;z-index:2}
.rule{display:grid;grid-template-columns:clamp(70px,10vw,150px) 1fr;align-items:center;border-top:3px solid var(--ink);padding:10px 0;column-gap:var(--gap)}
.rule:last-child{border-bottom:3px solid var(--ink)}
/* staggered start: each rule begins one lane further along, like a 400m start */
.rule--2{margin-left:calc((100vw - 2*var(--m))/12*1)}
.rule--3{margin-left:calc((100vw - 2*var(--m))/12*2)}
.rule--4{margin-left:calc((100vw - 2*var(--m))/12*3)}
.rule__n{font:italic 400 clamp(64px,9vw,136px)/1 var(--f-lat)}
.rule p{display:grid;grid-template-columns:90px 1fr auto;align-items:center;column-gap:var(--gap)}
.rule strong{font:400 clamp(21px,2.5vw,38px)/1.45 var(--f-ja);letter-spacing:.02em}
.rule__s{text-align:right;font-size:14px;padding-right:12px}

/* ---------- CREW ---------- */
.crew{padding-bottom:clamp(70px,8vw,120px)}
.crew__title{padding:clamp(18px,2.5vw,36px) var(--m) clamp(14px,2vw,30px);font-size:clamp(84px,17vw,270px);line-height:.98;color:var(--volt);font-weight:400}
.crew__wrap{position:relative;margin:0 var(--m)}
.crew__fig{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
.lane{position:relative;display:grid;grid-template-columns:clamp(72px,8vw,120px) calc((100vw - 2*var(--m))*.2) 1fr auto;align-items:center;column-gap:var(--gap);height:clamp(96px,8.6vw,124px);border-top:3px solid var(--concrete3);cursor:pointer;outline-offset:-3px;transition:background .01s}
.lane:last-child{border-bottom:3px solid var(--concrete3)}
.lane__n{font:italic 400 clamp(46px,5.4vw,84px)/1 var(--f-lat);color:var(--paper)}
.lane__who strong{display:block;font:400 clamp(20px,2vw,30px)/1.3 var(--f-ja)}
.lane__who span{display:block;font-size:13px;line-height:1.6;color:var(--concrete)}
.lane__pb{grid-column:4;font-size:clamp(12px,1.05vw,15px);color:var(--volt);text-align:right;background:var(--asphalt);padding:4px 0 4px 10px;z-index:4;position:relative}
@media(hover:hover){.lane:hover{background:var(--asphalt2)}.lane:hover .lane__n{color:var(--volt)}}
.lane:focus-visible .lane__n{color:var(--volt)}

/* ---------- DROP ---------- */
.drop{padding-bottom:clamp(80px,8vw,120px)}
.drop__edge{position:absolute;left:0;right:0;top:0;height:110px;background-repeat:repeat-x;z-index:0}
.drop .slug{padding-top:128px}
.drop .slug::before{top:114px}
.drop__head{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);padding:clamp(14px,2vw,30px) var(--m) clamp(20px,2.4vw,36px);align-items:end;position:relative;z-index:1}
.drop__title{grid-column:1/13;font-size:28.6vw;line-height:.98;font-weight:400;text-wrap:initial}
.drop__title .latin{display:block;transform-origin:0 100%;will-change:transform;white-space:nowrap}
.drop__lede{grid-column:1/10;margin-top:clamp(8px,1vw,16px);font:400 clamp(18px,2.2vw,32px)/1.6 var(--f-ja);letter-spacing:.02em}
.drop__hint{grid-column:10/13;text-align:right;align-self:end;padding-bottom:8px}
.pieces{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(300px,27vw,410px);gap:4px;padding:0 var(--m);position:relative;z-index:1}
.piece--1{grid-column:1/8;grid-row:1/3}
.piece--2{grid-column:8/13;grid-row:1}
.piece--3{grid-column:8/13;grid-row:2}
.piece--4{grid-column:1/5;grid-row:3}
.piece--5{grid-column:5/9;grid-row:3}
.piece--6{grid-column:9/13;grid-row:3}
.flip{display:block;width:100%;height:100%;padding:0;border:0;background:none;perspective:1500px;text-align:left;outline-offset:-4px}
.flip__in{display:block;position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .44s var(--cut)}
.flip[aria-pressed="true"] .flip__in{transform:rotateY(180deg)}
@media(hover:hover){.flip:hover .flip__in{transform:rotateY(180deg)}.flip[aria-pressed="true"]:hover .flip__in{transform:rotateY(180deg)}}
.face{position:absolute;inset:0;display:block;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;color:var(--t);background:var(--f)}
.face--b{transform:rotateY(180deg)}
.bg-volt{--f:var(--volt);--t:var(--ink)}
.bg-asphalt{--f:var(--asphalt);--t:var(--paper)}
.bg-concrete{--f:var(--concrete);--t:var(--ink)}
.bg-paper{--f:#f6f6f0;--t:var(--ink)}
.bg-paper-d{--f:#d7d7d1;--t:var(--ink)}
.bg-black{--f:var(--ink);--t:var(--paper)}
.face__code{position:absolute;left:14px;top:12px;font:700 12px/1.4 var(--f-mono);font-stretch:75%;letter-spacing:.06em;z-index:3}
.face__num{position:absolute;right:10px;top:-.06em;font:italic 400 clamp(90px,11vw,170px)/1 var(--f-lat);opacity:.14;z-index:0}
.piece--1 .face__num{font-size:clamp(150px,24vw,380px)}
.gar{position:absolute;left:50%;top:50%;height:80%;width:auto;max-width:92%;transform:translate(-50%,-52%);z-index:1;overflow:visible}
.piece--1 .gar{height:80%;transform:translate(-50%,-56%)}
.face__name{position:absolute;left:14px;bottom:10px;font:italic 400 clamp(26px,2.9vw,44px)/1 var(--f-lat);text-transform:uppercase;z-index:3}
.face__name small{display:block;margin-top:6px;font:700 12px/1.3 var(--f-body);font-style:normal;letter-spacing:.06em}
.piece--1 .face__name{font-size:clamp(40px,6vw,96px)}
.face__price{position:absolute;right:12px;bottom:12px;background:var(--ink);color:var(--volt);font:700 clamp(13px,1.1vw,16px)/1 var(--f-mono);font-stretch:75%;padding:8px 10px;transform:rotate(-3deg);z-index:3;white-space:nowrap}
.bg-asphalt .face__price,.bg-black .face__price{background:var(--volt);color:var(--ink)}
.gl path,.gl{fill:none;stroke:var(--ink);stroke-width:3.2;stroke-linejoin:round;stroke-linecap:round}
.gst path,.gst{fill:none;stroke:var(--ink);stroke-width:1.3;stroke-dasharray:5 4;opacity:.75}
.gsh{fill:#000;opacity:.14}
.gs{opacity:.9}
.gf-a path,.gf-a{fill:#1d1e21}
.gf-p{fill:#f4f4ee}
.gf-v{fill:var(--volt)}
.gf-c{fill:#c9c9c3}
.piece--1 .gl path,.piece--1 .gl{stroke:#5d6066}
.piece--1 .gst path,.piece--1 .gst{stroke:#7a7d83}
.piece--1 .gsh{fill:#fff;opacity:.06}
.piece--3 .face--a .gl path{stroke:var(--ink)}
.spec{position:absolute;inset:44px 14px 14px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px}
.spec__t{font:400 clamp(20px,2.3vw,36px)/1.35 var(--f-ja);letter-spacing:.02em}
.piece--1 .spec__t{font-size:clamp(28px,4.4vw,70px);line-height:1.25}
.spec__p{font-size:14px;line-height:1.8}
.spec__d{display:grid;grid-template-columns:auto 1fr;column-gap:14px;row-gap:1px;border-top:2px solid currentColor;padding-top:8px}
.spec__d i{font-style:normal;opacity:.7;font-family:var(--f-body);font-weight:700;font-size:12px}
.spec__d b{font-weight:700;text-align:right;font-size:12px}

/* ---------- SPRINT ---------- */
.sprint{position:relative;height:560vh;background:var(--concrete);z-index:10}
.sprint__pin{--sb:#b5b5af;--sn:#a5a59f;--st:#121315;--sa:#121315;--sat:#d8ff00;position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--sb);color:var(--st);isolation:isolate}
.sprint__pin[data-seg="1"]{--sb:#161719;--sn:#2a2c30;--st:#ecece6;--sa:#d8ff00;--sat:#121315}
.sprint__pin[data-seg="2"]{--sb:#ecece6;--sn:#dadad4;--st:#121315;--sa:#121315;--sat:#ecece6}
.sprint__pin[data-seg="3"]{--sb:#d8ff00;--sn:#c4e800;--st:#121315;--sa:#121315;--sat:#d8ff00}
.sprint__pin::after{content:"";position:absolute;inset:0;z-index:9;pointer-events:none;background-image:var(--grain-d),var(--grain-l)}
.sprint__pin.hit{animation:hit .26s steps(4) both}
@keyframes hit{0%{transform:translate3d(-16px,6px,0)}25%{transform:translate3d(12px,-5px,0)}50%{transform:translate3d(-7px,3px,0)}75%{transform:translate3d(4px,-1px,0)}100%{transform:none}}
.sprint__num{position:absolute;right:calc(var(--m) - 1vw);top:13vh;z-index:0;font:italic 400 min(68vh,44vw)/.9 var(--f-lat);color:var(--sn);display:flex;align-items:flex-start}
.sprint__num span{display:block;width:.5em;text-align:center}
.sprint__num i{font-size:.18em;font-style:italic;margin-left:.2em;line-height:1.2}
.sprint__world{position:absolute;inset:0;width:100%;height:100%;z-index:2}
.sprint__fig{position:absolute;z-index:3}
.sprint__hud--tl{position:absolute;left:var(--m);top:72px;z-index:5;max-width:40vw}
.sprint__title{font:italic 400 clamp(46px,6.2vw,104px)/.98 var(--f-lat);text-transform:uppercase;text-wrap:initial}
.sprint__how{margin-top:10px;font-size:clamp(13px,1.05vw,15px);line-height:1.7;font-weight:700;max-width:20em}
.sprint__how .kp{background:var(--sa);color:var(--sat);padding:0 .4em;margin-right:0;margin-bottom:3px}
.sprint__splits{position:absolute;right:var(--m);top:72px;z-index:5;width:min(290px,28vw);display:grid;gap:3px}
.sprint__splits li{display:flex;justify-content:space-between;padding:5px 8px;border:2px solid var(--st);background:var(--sb);font-size:13px}
.sprint__splits i{font-style:normal}
.sprint__splits b{font-weight:700}
.sprint__splits li.on{background:var(--sa);color:var(--sat);border-color:var(--sa)}
.sprint__state{position:absolute;right:var(--m);top:calc(68% + 26px);z-index:6;background:var(--volt);color:var(--ink);font:italic 400 clamp(38px,5.4vw,84px)/1.1 var(--f-lat);padding:.04em .3em .08em .2em;transform:skewX(-6deg)}
.sprint__state[data-s="REWIND"]{background:var(--hazard)}
.sprint__meters{position:absolute;left:var(--m);top:calc(68% + 26px);z-index:6;color:var(--paper);display:flex;align-items:flex-end;gap:clamp(16px,2.6vw,42px)}
[data-seg="1"] .sprint__meters{color:var(--volt)}
.sprint__meters dt{font-size:12px;opacity:.8;margin-bottom:2px}
.sprint__meters dd{font:700 clamp(19px,2vw,30px)/1.1 var(--f-mono);font-stretch:75%;white-space:nowrap}
.sprint__meters .big dd{font-size:clamp(34px,5.4vw,84px);line-height:1;letter-spacing:-.01em}
.sprint__meters small{font-size:12px;margin-left:4px;font-weight:700}
.sprint__bar{position:absolute;left:var(--m);right:var(--m);bottom:76px;height:12px;z-index:6;background:var(--asphalt3)}
.sprint__bar i{position:absolute;inset:0;background:var(--volt);transform:scaleX(0);transform-origin:0 50%}
.sprint__bar u{position:absolute;top:-4px;bottom:-4px;width:3px;background:var(--paper)}
.sprint__bar u:nth-of-type(1){left:25%}.sprint__bar u:nth-of-type(2){left:50%}.sprint__bar u:nth-of-type(3){left:75%}
.sprint__flash{position:absolute;left:var(--m);top:40%;z-index:7;display:none;background:var(--hazard);color:var(--ink);padding:.05em .4em;font-family:var(--f-lat);font-style:italic;transform:rotate(-3deg)}
.sprint__flash b{font:inherit;font-size:clamp(52px,8vw,130px);line-height:1.1;margin-right:.25em}
.sprint__flash span{font:700 clamp(18px,2.4vw,36px)/1 var(--f-mono);font-stretch:75%;font-style:normal}
.sprint__flash.on{display:block;animation:flash .85s var(--slam) both}
@keyframes flash{0%{transform:translate3d(-30vw,0,0) rotate(-3deg) skewX(-30deg)}24%{transform:translate3d(0,0,0) rotate(-3deg)}82%{transform:translate3d(0,0,0) rotate(-3deg);opacity:1}100%{transform:translate3d(130vw,0,0) rotate(-3deg) skewX(-30deg);opacity:1}}
.sprint__finish{display:contents}
.sprint__fin{position:absolute;left:0;right:0;top:11vh;z-index:1;text-align:center;font-size:min(33vw,62vh);line-height:.9;color:var(--ink);visibility:hidden;white-space:nowrap}
.sprint__fin .latin{display:inline-block}
.tape--f1,.tape--f2{position:absolute;left:-10vw;right:-10vw;z-index:2;font-size:clamp(24px,3vw,44px);line-height:1.5;visibility:hidden}
.tape--f1{top:7.5%;transform:rotate(-3deg) translate3d(-120%,0,0)}
.tape--f2{top:calc(68% - 5em);transform:rotate(2deg) translate3d(120%,0,0);font-family:var(--f-ja);font-style:italic;font-size:clamp(18px,2.1vw,30px)}
.tape--f1 span,.tape--f2 span{display:block}
.sprint__res{position:absolute;left:var(--m);top:calc(68% + 26px);z-index:8;display:none;color:var(--volt);background:var(--ink)}
.sprint__pin.is-finish .sprint__fin{visibility:visible;animation:finSlam .34s var(--slam) both}
.sprint__pin.is-finish .sprint__num{visibility:hidden}
.sprint__pin.is-finish .tape--f1,.sprint__pin.is-finish .tape--f2{visibility:visible;transition:transform .3s var(--slam) .1s}
.sprint__pin.is-finish .tape--f1{transform:rotate(-3deg)}
.sprint__pin.is-finish .tape--f2{transform:rotate(2deg)}
.sprint__pin.is-finish .sprint__res{display:flex;align-items:center;gap:14px;padding:6px 14px;animation:slamIn .24s var(--slam) .18s both}
.sprint__pin.is-finish .sprint__meters,.sprint__pin.is-finish .sprint__state,.sprint__pin.is-finish .sprint__hud--tl{visibility:hidden}
.sprint__res b{font:700 clamp(30px,4.4vw,64px)/1.1 var(--f-mono);font-stretch:75%}
.sprint__rank{background:var(--volt);color:var(--ink);font:italic 400 clamp(26px,3vw,46px)/1.2 var(--f-lat);padding:0 .35em;transform:skewX(-8deg)}
@keyframes finSlam{0%{transform:scale(1.6) skewX(-22deg);opacity:0}45%{transform:scale(1) skewX(2deg);opacity:1}100%{transform:none}}
.nojs{padding:20px var(--m)}

/* ---------- ROUTE ---------- */
.route{height:400vh;overflow:visible;z-index:5}
.route::after{display:none}
.route__pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);background:var(--asphalt);color:var(--paper)}
.route__pin::after{content:"";position:absolute;inset:0;z-index:30;pointer-events:none;background-image:var(--grain-l)}
.route__map{grid-column:1/9;position:relative;min-width:0;background:#101113;overflow:hidden;color:var(--volt)}
.route__map .crop{inset:66px 14px 80px 14px}
#routeSvg{width:100%;height:100%}
.r-minor{fill:none;stroke:#2a2c30;stroke-width:2}
.r-major{fill:none;stroke:#44474d;stroke-width:6}
.r-canal{fill:#050506;stroke:#44474d;stroke-width:3}
.r-canal-l{fill:none;stroke:#2a2c30;stroke-width:2;stroke-dasharray:20 16}
.r-rail{fill:none;stroke:#8a8a84;stroke-width:9}
.r-rail-t{fill:none;stroke:#101113;stroke-width:5;stroke-dasharray:18 18}
.r-high{fill:none;stroke:#8a8a84;stroke-width:26}
.r-high-c{fill:none;stroke:#232528;stroke-width:20}
.r-piers rect{fill:#232528;stroke:#44474d;stroke-width:2}
.r-case{fill:none;stroke:#101113;stroke-width:24;stroke-linejoin:miter}
.r-line{fill:none;stroke:var(--volt);stroke-width:11;stroke-linejoin:miter}
.r-pt rect{fill:#101113;stroke:#8a8a84;stroke-width:4;transform:rotate(45deg);transform-box:fill-box;transform-origin:center}
.r-pt text{fill:#8a8a84;font:italic 400 24px var(--f-lat)}
.r-pt.on rect{fill:var(--volt);stroke:#121315;animation:ptHit .26s var(--slam) both}
.r-pt.on text{fill:#121315}
@keyframes ptHit{0%{scale:2.4}100%{scale:1}}
.r-me rect:first-child{fill:var(--paper);stroke:#121315;stroke-width:3}
.r-lab text{fill:#a3a39d;font:700 17px var(--f-body);letter-spacing:.08em}
.route__legend{position:absolute;right:14px;bottom:84px;display:flex;gap:18px;color:var(--paper);background:#101113;padding:4px 8px}
.route__side{grid-column:9/13;padding:72px var(--m) 84px 0;display:flex;flex-direction:column;min-height:0}
.route__tag{color:var(--concrete)}
.route__title{margin-top:6px;font:400 clamp(26px,2.9vw,44px)/1.25 var(--f-ja);font-style:italic}
.route__title small{display:block;font-size:.72em;color:var(--volt)}
.route__km{display:flex;align-items:flex-start;margin-top:4px;color:var(--volt)}
.route__km b{font:italic 400 clamp(84px,min(11vw,18vh),180px)/1 var(--f-lat)}
.route__km i{font:italic 400 clamp(20px,2vw,32px)/1.2 var(--f-lat);margin-left:1.1em}
.wps{margin-top:auto;display:grid;gap:0}
.wps li{display:grid;grid-template-columns:42px 1fr;column-gap:8px;padding:6px 8px;border-top:2px solid var(--asphalt3);align-items:baseline}
.wps b{color:var(--concrete3)}
.wps strong{display:block;font:700 clamp(14px,1.15vw,17px)/1.5 var(--f-body);color:var(--concrete)}
.wps span{display:none;font-size:13px;line-height:1.6}
.wps li.on{background:var(--volt);color:var(--ink);border-top-color:var(--volt)}
.wps li.on b,.wps li.on strong{color:var(--ink)}
.wps li.on span{display:block}

/* ---------- RUNS ---------- */
.runs{padding-bottom:clamp(70px,8vw,120px)}
.runs__title{padding:clamp(20px,3vw,44px) var(--m) clamp(24px,3vw,44px);font:400 clamp(52px,11vw,176px)/1.12 var(--f-ja);font-style:italic;letter-spacing:.01em;text-wrap:initial}
.runs__title .ln:nth-child(2){padding-left:calc((100vw - 2*var(--m))/12*3)}
.runs__wrap{padding:0 var(--m)}
.week{width:100%;border-collapse:collapse;table-layout:fixed}
.week thead th{text-align:left;padding:6px 10px;border-bottom:4px solid var(--ink);font-weight:700}
.week thead th:nth-child(1){width:17%}.week thead th:nth-child(2){width:10%}.week thead th:nth-child(3){width:33%}.week thead th:nth-child(4){width:9%}.week thead th:nth-child(5){width:11%}.week thead th:nth-child(6){width:20%}
.week tbody tr{border-bottom:3px solid var(--ink)}
.week th[scope=row]{text-align:left;padding:0 10px;position:relative;white-space:nowrap}
.week th b{font:italic 400 clamp(52px,7.4vw,118px)/1.08 var(--f-lat)}
.week th i{font:400 clamp(16px,1.5vw,22px)/1 var(--f-ja);font-style:normal;margin-left:.5em;vertical-align:.8em}
.week td{padding:10px;vertical-align:middle}
.week .t{font:700 clamp(20px,2.1vw,32px)/1 var(--f-mono);font-stretch:75%}
.week .n strong{display:block;font:400 clamp(18px,1.9vw,28px)/1.45 var(--f-ja);letter-spacing:.02em}
.week .n span{display:block;font-size:14px;line-height:1.7}
.week .d{font:italic 400 clamp(18px,1.6vw,24px)/1 var(--f-lat);white-space:nowrap}
.week .d em{font-size:2.2em;font-style:italic;margin-right:.08em}
.week .p{font:700 clamp(12px,1.05vw,15px)/1.3 var(--f-mono);font-stretch:75%}
.week .m{font-size:14px;font-weight:700;line-height:1.6}
.week tr.off{color:rgba(18,19,21,.74)}
.week tr.hot{background:var(--ink);color:var(--volt)}
.week tr.hot .m,.week tr.hot .n span{color:var(--paper)}
.tonight{position:absolute;left:10px;top:8px;background:var(--hazard);color:var(--ink);padding:2px 7px;transform:rotate(-3deg);font-size:12px}
@media(hover:hover){.week tbody tr:hover{background:var(--paper);color:var(--ink)}.week tbody tr.hot:hover .m,.week tbody tr.hot:hover .n span{color:var(--ink)}}

/* ---------- KIT ---------- */
.kit{padding-bottom:clamp(80px,8vw,120px)}
.kit__grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);padding:clamp(14px,2vw,30px) var(--m) 0;align-items:start}
.kit__head{grid-column:1/13}
.kit__title{font-size:15.7vw;line-height:.98;font-weight:400;text-wrap:initial;white-space:nowrap}
.kit__title .latin{display:block;transform-origin:0 100%;will-change:transform}
.kit__stage{grid-column:1/9;position:relative;background:var(--paper);padding:clamp(14px,2vw,30px);margin-top:clamp(14px,2vw,28px);color:var(--ink);
  --k-body:#d8ff00;--k-sl:#121315;--k-rib:#121315;--k-num:#121315;--k-p:#121315;--k-p2:#121315;--k-word:#121315;--k-ln:#121315;--k-st:rgba(0,0,0,.5);--k-pb:#121315;--k-pm:#d8ff00}
.kit__stage[data-way="asphalt"]{--k-body:#1b1c1f;--k-sl:#2c2e32;--k-rib:#d8ff00;--k-num:#d8ff00;--k-p:#d8ff00;--k-p2:#d8ff00;--k-word:#ecece6;--k-ln:#050506;--k-st:rgba(255,255,255,.42);--k-pb:#d8ff00;--k-pm:#121315}
.kit__stage[data-way="concrete"]{--k-body:#c2c2bc;--k-sl:#121315;--k-rib:#121315;--k-num:#121315;--k-p:#121315;--k-p2:#ecece6;--k-word:#121315;--k-ln:#121315;--k-st:rgba(0,0,0,.5);--k-pb:#d8ff00;--k-pm:#121315}
.kit__stage[data-way="tape"]{--k-body:#f6f6f0;--k-sl:#ff5500;--k-rib:#121315;--k-num:#121315;--k-p:#ff5500;--k-p2:#ff5500;--k-word:#121315;--k-ln:#121315;--k-st:rgba(0,0,0,.5);--k-pb:#121315;--k-pm:#ff5500}
.kit__stage.bump .jersey{animation:bump .22s var(--slam)}
@keyframes bump{0%{transform:skewX(-5deg) translate3d(-10px,0,0)}60%{transform:skewX(1deg)}100%{transform:none}}
.jersey{width:100%;height:auto}
.j-body{fill:var(--k-body)}.j-sl{fill:var(--k-sl)}.j-rib{fill:var(--k-rib)}
.j-ln path{fill:none;stroke:var(--k-ln);stroke-width:3.2;stroke-linejoin:round}
.j-st path{fill:none;stroke:var(--k-st);stroke-width:1.5;stroke-dasharray:6 5}
.j-pf{fill:var(--k-p)}.j-pf2{fill:var(--k-p2)}
.jp{display:none}
[data-pat="slash"] .jp--slash,[data-pat="dots"] .jp--dots,[data-pat="lane"] .jp--lane{display:inline}
.j-word{font:italic 400 36px var(--f-lat);fill:var(--k-word)}
.j-num{font-family:var(--f-lat);font-style:italic;fill:var(--k-num);paint-order:stroke;stroke:var(--k-body);stroke-width:10px;stroke-linejoin:round}
.j-num--f{font-size:150px}
.j-num--b{font-size:236px}
.j-name{font-family:var(--f-lat);font-style:italic;fill:var(--k-num);font-size:84px;paint-order:stroke;stroke:var(--k-body);stroke-width:8px;stroke-linejoin:round}
.j-tag{font:700 14px var(--f-mono);fill:var(--k-word);letter-spacing:.12em;paint-order:stroke;stroke:var(--k-body);stroke-width:5px}
.j-patch rect{fill:var(--k-pb)}.j-patch g{stroke:var(--k-pm)}
.j-note text{font:700 13px var(--f-mono);fill:var(--ink);letter-spacing:.14em}
.kit__sku{margin-top:6px;word-break:break-all;line-break:anywhere}
.kit__ctrl{grid-column:9/13;margin-top:clamp(14px,2vw,28px);display:grid;gap:clamp(14px,1.6vw,24px)}
.ctrl legend,.ctrl label.mono{display:block;margin-bottom:6px}
.ways{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.way{position:relative;display:flex;align-items:center;gap:8px;padding:0 8px;min-height:56px;background:var(--paper);cursor:pointer;box-shadow:inset 0 0 0 2px var(--ink);font-family:var(--f-lat);font-style:italic}
.way input,.seg input{position:absolute;opacity:0;width:100%;height:100%;left:0;top:0;margin:0;cursor:pointer}
.way b{font-weight:400;font-size:clamp(16px,1.4vw,21px)}
.way__s{flex:none;width:30px;height:30px;background:linear-gradient(135deg,var(--a) 50%,var(--b) 50%);box-shadow:0 0 0 2px var(--ink)}
.way:has(input:checked){background:var(--ink);color:var(--volt)}
.way:has(input:focus-visible){outline:3px solid var(--hazard);outline-offset:2px}
.seg{display:flex;gap:4px}
.seg label,.seg--d button{position:relative;flex:1 1 0;display:grid;place-items:center;min-height:50px;padding:0 6px;background:transparent;box-shadow:inset 0 0 0 2px currentColor;border:0;cursor:pointer;font:700 12px/1.2 var(--f-mono);font-stretch:75%;letter-spacing:.04em;text-align:center}
.seg label:has(input:checked){background:var(--ink);color:var(--volt);box-shadow:inset 0 0 0 2px var(--ink)}
.seg label:has(input:focus-visible){outline:3px solid var(--hazard);outline-offset:2px}
.ctrl--two{display:grid;grid-template-columns:auto 1fr;gap:10px}
.numbox{display:flex;height:64px;box-shadow:inset 0 0 0 2px var(--ink);background:var(--paper)}
.numbox button{width:44px;border:0;background:var(--ink);color:var(--volt);font:700 22px/1 var(--f-mono)}
.numbox input{width:64px;min-width:0;border:0;background:none;text-align:center;font:italic 400 40px/1 var(--f-lat);outline-offset:-3px;border-radius:0}
.namebox{display:block;width:100%;height:64px;border:0;box-shadow:inset 0 0 0 2px var(--ink);background:var(--paper);padding:0 12px;font:italic 400 30px/1 var(--f-lat);text-transform:uppercase;outline-offset:-3px;border-radius:0;min-width:0}
.kit__buy{display:flex;flex-direction:column;gap:10px}
.kit__price{display:flex;justify-content:space-between;align-items:flex-end;border-top:3px solid var(--ink);padding-top:8px}
.kit__price b{font:italic 400 clamp(36px,3.8vw,58px)/1 var(--f-lat)}
.kit__buy .btn{width:100%}
.kit__done{min-height:1.5em;line-break:anywhere}

/* ---------- WALL ---------- */
.wallsec{padding-bottom:96px}
.wallsec__head{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);padding:clamp(12px,2vw,30px) var(--m) clamp(16px,1.8vw,26px);align-items:end}
.wallsec__title{grid-column:1/10;font-size:clamp(60px,11.6vw,190px);line-height:.98;color:var(--volt);font-weight:400;text-wrap:initial}
.wallsec__title .latin{display:block;transform-origin:0 100%;will-change:transform;white-space:nowrap}
.wallsec__lead{grid-column:10/13;font:400 clamp(15px,1.5vw,22px)/1.6 var(--f-ja);letter-spacing:.02em}
.wallsec__lead .kp{display:block}
.wall{position:relative;margin:0 var(--m);height:min(calc(100vh - 286px),720px);min-height:420px;background:#a9a9a3;overflow:hidden;user-select:none;-webkit-user-select:none}
.wall canvas{position:absolute;inset:0;width:100%;height:100%}
.wall__pits{pointer-events:none}
.wall__ui{touch-action:pan-y;outline-offset:-4px}
.wall.is-spray .wall__ui{touch-action:none;-webkit-touch-callout:none}
@media(hover:hover){.wall__ui{cursor:none}}
.wall__toggle{display:none;position:absolute;right:10px;top:10px;z-index:4;align-items:center;gap:8px;min-height:52px;padding:0 16px;border:0;background:var(--ink);color:var(--paper);font:700 13px/1 var(--f-mono);font-stretch:75%;letter-spacing:.06em}
.wall__toggle i{width:14px;height:14px;background:var(--concrete3)}
.wall__toggle[aria-pressed="true"]{background:var(--volt);color:var(--ink)}
.wall__toggle[aria-pressed="true"] i{background:var(--hazard)}
.wall__off{display:none;position:absolute;left:10px;bottom:10px;z-index:4;background:var(--ink);color:var(--paper);padding:6px 10px;font-size:13px;line-height:1.6;pointer-events:none}
@media(hover:none){.wall__toggle{display:flex}.wall__off{display:block}.wall.is-spray .wall__off{display:none}}
.wall.nudge .wall__toggle{animation:nudge .34s steps(4)}
@keyframes nudge{0%{transform:translateX(-8px)}33%{transform:translateX(7px)}66%{transform:translateX(-4px)}100%{transform:none}}
.wall.wiped::after{content:"";position:absolute;inset:0;z-index:3;background:var(--volt);animation:wipe .22s steps(3) both;pointer-events:none}
@keyframes wipe{to{opacity:0}}
.tools{display:flex;justify-content:space-between;align-items:stretch;gap:var(--gap);padding:12px var(--m) 0;flex-wrap:wrap}
.tools__cans{display:flex;gap:4px}
.can{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;width:clamp(58px,6vw,84px);min-height:96px;padding:6px 2px;border:0;background:transparent;color:var(--paper);font:700 12px/1.2 var(--f-mono);font-stretch:75%;letter-spacing:.02em;transition:transform .12s var(--slam),background .01s;outline-offset:-2px}
.can svg{width:28px;height:50px}
.can[aria-checked="true"]{background:var(--asphalt3);box-shadow:inset 0 -6px 0 var(--volt);color:var(--volt);transform:translateY(-8px)}
.tools__set{display:flex;gap:var(--gap);flex:1;justify-content:flex-end;flex-wrap:wrap;align-items:center}
.seg--d{color:var(--paper);flex:0 1 auto}
.seg--d button{color:var(--paper);padding:0 12px;white-space:nowrap}
.seg--d button[aria-checked="true"]{background:var(--volt);color:var(--ink);box-shadow:inset 0 0 0 2px var(--volt)}
.tools__act{display:flex;gap:4px}
.act{min-height:50px;padding:0 16px;border:0;background:var(--asphalt3);color:var(--paper);font:700 12px/1 var(--f-mono);font-stretch:75%;letter-spacing:.06em}
.act--volt{background:var(--volt);color:var(--ink)}
.wall__note{padding:10px var(--m) 0;color:var(--concrete);text-align:right}

/* ---------- JOIN ---------- */
.join{padding-bottom:clamp(80px,9vw,130px)}
.join__grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);padding:clamp(14px,2vw,30px) var(--m) 0;align-items:start;position:relative}
.join__title{grid-column:1/7;grid-row:1;font-size:min(17.5vw,29vh);line-height:.98;font-weight:400;text-wrap:initial}
.join__title .latin{display:inline-block;line-height:.98}
.join__title .ln:nth-child(2){padding-left:.22em}
.join__title .ln:nth-child(3){padding-left:.44em;color:var(--ink)}
.join__title .ln:nth-child(3) .latin{background:var(--volt);padding:0 .14em 0 .06em}
.entry{grid-column:7/13;grid-row:1;display:grid;gap:clamp(14px,1.6vw,22px);padding-top:clamp(10px,2vw,30px);transition:opacity .01s}
.entry__lead{font:400 clamp(20px,2.1vw,32px)/1.55 var(--f-ja);letter-spacing:.02em}
.field label,.field legend{display:flex;align-items:baseline;gap:10px;font-weight:700;font-size:14px;line-height:1.6;margin-bottom:4px}
.field input{display:block;width:100%;height:60px;border:0;border-bottom:4px solid var(--ink);background:transparent;padding:0 2px;font:700 22px/1 var(--f-body);letter-spacing:.03em;outline-offset:2px;border-radius:0}
.field input::placeholder{color:rgba(18,19,21,.42)}
.field--r .seg label{display:grid;margin:0;align-items:center;justify-items:center;color:var(--ink);font:700 12px/1.2 var(--f-mono);font-stretch:75%}
.entry__err{min-height:1.2em;color:var(--ink);font-weight:700;line-height:1.4}
.entry__err:not(:empty){background:var(--hazard);padding:6px 10px}
.entry__note{font-size:13px;line-height:1.7}
.entry.is-done{visibility:hidden}
.stamp{grid-column:7/13;grid-row:1;align-self:center;visibility:hidden;position:relative;outline:0;text-align:left}
.stamp.on{visibility:visible;animation:finSlam .34s var(--slam) both}
.stamp__tape{font-size:clamp(20px,2.4vw,34px);line-height:1.5;transform:rotate(-2deg);margin:0 -8px 12px}
.stamp__no{display:flex;flex-direction:column}
.stamp__no b{font:italic 400 clamp(110px,16vw,250px)/1 var(--f-lat)}
.stamp__msg{font:400 clamp(21px,2.4vw,36px)/1.55 var(--f-ja);letter-spacing:.02em}
.stamp__sub{margin-top:10px;font-size:13px}

/* ---------- FOOTER ---------- */
.foot{position:relative;padding:clamp(60px,6vw,90px) var(--m) 74px}
.foot__grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);align-items:end;position:relative;z-index:2}
.foot__mark{grid-column:1/7;width:100%;margin-left:-1vw}
.foot__mark svg{width:100%;height:auto;overflow:visible}
.foot__col{grid-column:span 3;font-size:14px;line-height:1.8;padding-bottom:10px}
.foot__h{margin-bottom:6px}
.foot__col a{font-weight:700;word-break:break-all;display:inline-block;min-height:28px}
.foot__p{margin-top:6px;font-size:13px}
.foot__credit{display:flex;align-items:center;gap:10px;line-height:1.3}
.foot__credit b{font:italic 400 28px/1.1 var(--f-lat);letter-spacing:.02em}
.foot__big{font-size:20.4vw;line-height:.98;white-space:nowrap;margin-top:clamp(6px,1.4vw,20px);transform-origin:0 100%}

/* ---------- TABLET AND DOWN ---------- */
@media(max-width:1100px){
  .top__nav a:not(.top__join){padding:0 8px}
}
@media(max-width:767px){
  body{font-size:14px}
  .top{padding:10px 12px}
  .top__nav a:not(.top__join){display:none}
  .top__nav .top__join{min-width:64px;justify-content:center}
  .top__name{font-size:20px}
  .slug{padding-top:64px;grid-template-columns:auto 1fr;column-gap:12px;row-gap:0}
  .slug span:nth-child(1){grid-column:1}.slug span:nth-child(2){grid-column:2;text-align:right}.slug__r{grid-column:1/3;text-align:left}
  .slug::before{top:52px}
  .drop .slug{padding-top:128px}
  .drop .slug::before{top:114px}

  .hero{height:100svh;min-height:680px}
  .hero__volt{inset:0 -40% 0 42%}
  .hero__title{top:66px;left:12px;font-size:38.5vw;line-height:.94}
  .hero__meta{display:none}
  .crop--hero{display:none}
  .hero__badge{display:none}
  .hero__tape{left:-3vw;width:112vw;bottom:calc(330px - 14px);font-size:18px}
  .hero__track{height:330px;min-height:0;display:block;padding:40px 16px 76px}
  .hero__shout{font-size:33px}
  .hero__lead{font-size:13.5px;margin-top:6px}
  .hero__cta{margin-top:12px;padding-top:0;gap:8px}
  .hero__cta .btn{flex:1 1 0;min-height:50px;padding:0 6px;font-size:13px}
  .ticker{font-size:44px}

  .mani__title{font-size:clamp(33px,9.6vw,44px);padding-top:22px}
  .mani__title .ln:nth-child(2){padding-left:0}
  .mani__title .ln--big{font-size:1.9em;padding-left:0;margin-top:.1em}
  .mani__body{position:static;width:auto;padding:22px 16px 0}
  .mani__mark{display:none}
  .rules{margin-top:34px}
  .rule{grid-template-columns:58px 1fr;padding:8px 0}
  .rule--2{margin-left:12px}.rule--3{margin-left:24px}.rule--4{margin-left:36px}
  .rule__n{font-size:64px}
  .rule p{display:block}
  .rule p .mono{display:block}
  .rule strong{display:block;font-size:19px}
  .rule__s{display:block;text-align:left;padding:0;font-size:13px;line-height:1.6}

  .crew__title{font-size:23.4vw;white-space:nowrap}
  .lane{grid-template-columns:62px 1fr;height:112px;padding-right:0}
  .lane__n{font-size:52px;grid-row:1/3;align-self:center}
  .lane__who{grid-column:2;align-self:end}
  .lane__pb{grid-column:2;grid-row:2;text-align:left;padding:0;background:none;align-self:start}
  .lane__who strong{font-size:19px}
  .lane__who span{font-size:12px;line-height:1.5}

  .drop__head{display:block;padding-top:12px}
  .drop__title{font-size:28.4vw}
  .drop__lede{margin-top:8px;font-size:18px}
  .pieces{display:block;padding:0 12px}
  .piece{height:440px;margin-bottom:4px}
  .piece--1{height:500px}
  .gar{height:68%;top:47%}
  .piece--1 .gar{height:70%;top:46%}
  .face__name{font-size:34px}
  .piece--1 .face__name{font-size:46px}
  .spec__t,.piece--1 .spec__t{font-size:26px}

  .sprint{height:520vh}
  .sprint__num{top:21%;right:8px;font-size:47vw}
  .sprint__hud--tl{top:62px;left:12px;max-width:none}
  .sprint__title{font-size:33px;line-height:1}
  .sprint__title br{display:none}
  .sprint__how{margin-top:4px;font-size:12px;max-width:none}
  .sprint__how .kp{margin-bottom:2px}
  .sprint__splits{top:auto;bottom:88px;left:12px;right:12px;width:auto;grid-template-columns:repeat(4,1fr);gap:3px;color:var(--paper)}
  .sprint__splits li{display:block;border:0;background:var(--asphalt3);padding:3px 5px;font-size:12px;line-height:1.35;color:var(--paper);letter-spacing:.01em}
  .sprint__splits i,.sprint__splits b{display:block}
  .sprint__splits li.on{background:var(--volt);color:var(--ink)}
  .sprint__state{right:12px;top:calc(60% + 16px);font-size:36px}
  .sprint__meters{left:12px;right:12px;top:calc(60% + 14px);display:grid;grid-template-columns:repeat(3,auto);justify-content:space-between;gap:6px 10px}
  .sprint__meters .big{grid-column:1/-1}
  .sprint__meters .big dd{font-size:44px}
  .sprint__meters dd{font-size:18px}
  .sprint__meters small{display:none}
  .sprint__bar{left:12px;right:12px;bottom:68px;height:10px}
  .sprint__flash{top:24%;left:10px}
  .sprint__flash b{font-size:64px}
  .sprint__fin{font-size:35vw;top:17%}
  .tape--f1{top:26%}.tape--f2{top:42%}
  .sprint__res{top:calc(60% + 16px);width:calc(100% - 24px);justify-content:space-between}
  .sprint__pin.is-finish .sprint__state{display:none}

  .route{height:360vh}
  .route__pin{display:flex;flex-direction:column}
  .route__map{flex:none;height:44svh;min-height:280px}
  .route__map .crop{display:none}
  .route__legend{display:none}
  .r-lab text{font-size:30px}
  .route__side{flex:1;padding:8px 14px 70px;min-height:0;overflow:hidden}
  .route__tag{display:none}
  .route__head{display:flex}
  .route__title{font-size:22px;margin-top:0;display:flex;align-items:baseline;gap:10px}
  .route__title small{display:inline;font-size:20px}
  .route__km b{font-size:56px}
  .route__km{margin-top:0}
  .wps{margin-top:6px}
  .wps li{padding:3px 8px}
  .wps li.on{padding:6px 8px}
  .wps strong{font-size:14px}
  .wps li.on strong{font-size:17px}
  .wps span{font-size:13px}

  .runs__title{font-size:15.5vw}
  .runs__title .ln:nth-child(2){padding-left:0}
  .week,.week tbody,.week tr,.week td,.week th[scope=row]{display:block}
  .week thead{display:none}
  .week tbody tr{display:grid;grid-template-columns:1fr auto;column-gap:10px;padding:8px 0}
  .week th[scope=row]{grid-column:1;padding:0}
  .week th b{font-size:60px}
  .week .t{grid-column:2;grid-row:1;align-self:center;padding:0;text-align:right;font-size:24px}
  .week .n{grid-column:1/3;padding:0}
  .week .d{grid-column:1;padding:6px 0 0}
  .week .p{grid-column:2;padding:6px 0 0;align-self:end;text-align:right;font-size:13px}
  .week .m{grid-column:1/3;padding:2px 0 0;font-size:13px}
  .week tr.hot{padding-inline:10px;margin-inline:-10px}
  .tonight{left:auto;right:auto;position:static;display:inline-block;margin-left:10px;vertical-align:.8em}

  .kit__title{font-size:27.4vw;white-space:normal}
  .kit__grid{display:block}
  .kit__stage{padding:10px}
  .kit__stage .crop{display:none}
  .jersey{--w:100%}
  .j-note text{font-size:22px}
  .kit__ctrl{margin-top:12px}
  .numbox input{width:60px}

  .wallsec__head{display:block}
  .wallsec__title{font-size:13.7vw}
  .wallsec__lead{margin-top:6px;font-size:16px}
  .wallsec__lead .kp{display:inline-block}
  .wall{margin:0 22px;height:62svh;min-height:380px}
  .tools{padding:14px 22px 0;display:block}
  .tools__cans{justify-content:space-between;margin-bottom:10px}
  .can{flex:1 1 0;min-width:0;width:auto;font-size:12px;letter-spacing:0}
  .tools__set{display:grid;gap:6px;justify-content:stretch}
  .seg--d{display:flex;width:100%}
  .seg--d button{padding:0 2px;white-space:normal}
  .tools__act{display:grid;grid-template-columns:1fr 1fr}
  .wall__note{text-align:left;padding-inline:22px}

  .join__grid{display:block}
  .join__title{font-size:29vw;display:flex;flex-wrap:wrap;column-gap:.12em}
  .join__title .ln{display:inline-block;padding-left:0!important}
  .entry{padding-top:18px}
  .stamp{display:none;margin-top:-40px}
  .stamp.on{display:block}
  .entry.is-done{display:none}

  .foot{padding-bottom:84px}
  .foot__grid{display:block}
  .foot__mark{width:86vw}
  .foot__big{font-size:20.2vw;margin-top:16px}
  .foot__col{margin-top:18px}
}

/* ---------- REDUCED MOTION: calm, complete, still loud in print ---------- */
@media(prefers-reduced-motion:reduce){
  .js .ch,.js .hero__volt,.js .hero__tape,.js .hero__track,.js .hero__badge,.js .hero__meta{transition:none}
  .io .rv.in,.io .rv--slam.in,.sprint__pin.hit,.sprint__flash.on,.stamp.on,.kit__stage.bump .jersey,.r-pt.on rect{animation:none}
  .sprint__flash{display:none!important}
  .flip__in{transition:none}
  .io .rv{opacity:1}
  .gun__call{animation:none!important}
}

@media(max-width:767px) and (max-height:720px){
  .wps li:not(.on){display:none}
  .route__map{height:40svh}
  .sprint__splits{display:none}
}
/* tablet portrait: stacks that keep the grid */
@media(min-width:768px) and (max-width:1023px){
  .mani__body{position:static;width:auto;padding:24px var(--m) 0;columns:2;column-gap:var(--gap)}
  .mani__mark{display:none}
  .rule p{grid-template-columns:70px 1fr}
  .rule__s{grid-column:2;text-align:left}
  .hero__copy{grid-column:1/8}
  .hero__cta{flex-direction:column;align-items:stretch;padding-top:0;gap:6px}
  .hero__cta .btn{min-height:46px}
  .kit__stage{grid-column:1/13}
  .kit__ctrl{grid-column:1/13;grid-template-columns:1fr 1fr}
  .route__pin{display:flex;flex-direction:column}
  .route__map{flex:none;height:54%}
  .route__map .crop{inset:66px 14px 14px 14px}
  .route__legend{bottom:14px}
  .route__side{flex:1;padding:12px var(--m) 76px;min-height:0}
  .route__km b{font-size:90px}
  .wps li:not(.on){padding-block:3px}
  .week td{padding:8px 4px}
  .week th b{font-size:48px}
  .week .m{font-size:12px}
  .week .n span{font-size:12px}
}
@media(max-height:560px) and (min-width:768px){
  .sprint__title{font-size:40px}.sprint__how{display:none}
  .sprint__splits li{padding:1px 6px}
  .route__km b{font-size:60px}
}
