
body{margin:0;background:#0A0A0C}
a{color:#2EF2E6;text-underline-offset:4px}a:hover{color:#ffffff}
::selection{background:#2EF2E6;color:#0A0A0C}
:focus-visible{outline:2px solid #2EF2E6;outline-offset:2px}
.wrap{max-width:1360px;margin:0 auto;padding-left:40px;padding-right:40px;box-sizing:border-box}
.sec{padding-top:120px;padding-bottom:120px}
.motif-text{color:#F2F2F4}
/* logo + halo */
.hero-logo{filter:drop-shadow(0 0 10px rgba(46,242,230,.5)) drop-shadow(0 0 32px rgba(139,108,255,.35))}
.lg-halo{animation:ignite 1700ms linear both,breathe 4.5s ease-in-out 1.7s infinite}
@keyframes ignite{0%{opacity:0}8%{opacity:.9}11%{opacity:.08}19%{opacity:1}22%{opacity:.25}32%{opacity:1}100%{opacity:1}}
@keyframes breathe{0%,100%{opacity:.7}50%{opacity:1}}
.lg-spark{stroke-dasharray:.05 .95;animation:spark 6.5s linear infinite}
/* climb */
.climb{display:flex;flex-direction:column;gap:24px}
.climb-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
.climb-steps li{display:flex;flex-direction:column;gap:10px;transition:opacity 400ms ease}
.climb.live .climb-steps li{opacity:.38}
.climb.live .climb-steps li.on{opacity:1}
.wp{transition:fill 300ms ease}
.climb.live .wp.on{fill:#2EF2E6}
/* road + car */
.road{position:relative;height:clamp(170px,19vw,280px);overflow:hidden;--cw:clamp(300px,36vw,540px)}
.road-line{position:absolute;left:0;right:0;bottom:26px;width:100%;height:40px;overflow:visible}
.car-wrap{position:absolute;bottom:calc(46px - var(--cw) * 0.0259);left:0;width:var(--cw);will-change:transform;transform:translateX(calc(50vw - 50%))}
.wheel{will-change:transform}
@media (max-width:760px){.climb-steps{grid-template-columns:1fr;gap:16px}.climb-steps li{display:grid;grid-template-columns:120px 1fr;gap:4px 16px}.climb-steps li p{grid-column:2}}
.motif-bg{background:#131317}
/* Light trail motif (option A) */
.lt{position:absolute;pointer-events:none;overflow:visible}
.lt-glow{filter:drop-shadow(0 0 6px rgba(46,242,230,.85)) drop-shadow(0 0 22px rgba(139,108,255,.55))}
.lt-draw{stroke-dasharray:1;stroke-dashoffset:0}
html.rv [data-reveal] .lt-draw{stroke-dashoffset:1;transition:stroke-dashoffset 2200ms cubic-bezier(.23,1,.32,1) 200ms}
html.rv [data-reveal].in .lt-draw{stroke-dashoffset:0}
@keyframes spark{from{stroke-dashoffset:0}to{stroke-dashoffset:-1}}
.lt-spark{stroke-dasharray:.07 .93;animation:spark 5.5s linear infinite}
.lt-spark.s2{animation-duration:7.5s;animation-delay:-3s}
.seam{position:relative;height:0;z-index:2;pointer-events:none}
.seam svg{position:absolute;left:0;top:-70px;width:100%;height:140px;display:block}
.neon-btn{box-shadow:0 0 18px rgba(46,242,230,.6),0 0 46px rgba(139,108,255,.4)}
.curve{filter:drop-shadow(0 0 5px rgba(46,242,230,.9)) drop-shadow(0 0 16px rgba(139,108,255,.6))}
/* Kit rail */
.rail{position:relative;list-style:none;margin:0;padding:0 0 0;display:flex;justify-content:center;align-items:flex-start;gap:12px;min-height:600px}
.rod{position:absolute;left:-40px;right:-40px;top:13px;height:4px;border-radius:4px;background:linear-gradient(90deg,#8B6CFF,#2EF2E6 30%,#BFFCF8 50%,#2EF2E6 70%,#8B6CFF);box-shadow:0 0 10px rgba(46,242,230,.85),0 0 34px rgba(139,108,255,.55)}
.rod::after{content:"";position:absolute;top:-2px;height:8px;width:120px;border-radius:8px;background:radial-gradient(closest-side,#fff,rgba(255,255,255,0));animation:rodspark 6s linear infinite}
@keyframes rodspark{from{left:-10%}to{left:105%}}
.slot{position:relative;flex:none;transition:width 560ms cubic-bezier(.23,1,.32,1)}
.hang{position:relative;display:block;width:100%;height:560px;padding:0;margin:0;border:0;background:none;cursor:pointer;transform-origin:50% 14px;transform:rotate(var(--rot,0deg));transition:transform 1100ms cubic-bezier(.34,1.56,.64,1)}
.sway{position:absolute;inset:0;transform-origin:50% 14px;animation:sway 6s ease-in-out infinite;animation-delay:var(--sd,0s)}
@keyframes sway{0%,100%{transform:rotate(-.8deg)}50%{transform:rotate(.8deg)}}
.hook{position:absolute;left:50%;top:0;width:40px;height:58px;margin-left:-20px;overflow:visible}
.hbar{position:absolute;left:50%;top:52px;height:6px;border-radius:6px;background:#9A9AA6;transform:translateX(-50%) scaleX(var(--bx,.25));transition:transform 560ms cubic-bezier(.23,1,.32,1)}
.gar{position:absolute;left:50%;top:52px;height:500px;transform:translateX(-50%)}
.gar img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 0;transition:opacity 280ms ease,transform 560ms cubic-bezier(.23,1,.32,1)}
.v-front{opacity:0;transform:scaleX(.4)}
.slot.on .v-front{opacity:1;transform:none}
.slot.on .v-side{opacity:0;transform:scaleX(1.7)}
.slot.on{--bx:1}
html.rv [data-reveal] .drop{transform:translateY(-110%);opacity:0;transition:transform 900ms cubic-bezier(.34,1.45,.64,1) var(--dd,0ms),opacity 300ms ease var(--dd,0ms)}
html.rv [data-reveal].in .drop{transform:none;opacity:1}
.focus{position:absolute;inset:0;z-index:5;background:#0A0A0C;display:flex;flex-wrap:wrap;align-items:center;gap:40px;padding:clamp(20px,4vw,56px);box-sizing:border-box;animation:lift 520ms cubic-bezier(.23,1,.32,1) both}
@keyframes lift{from{opacity:0;transform:translateY(32px) scale(.97)}to{opacity:1;transform:none}}
.stage{position:relative;flex:1 1 420px;height:min(640px,70vh);min-height:420px;touch-action:pan-y;cursor:grab;user-select:none}
.stage:active{cursor:grabbing}
.stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity 220ms ease}
.calc-range{width:100%;accent-color:#2EF2E6;height:32px}
.tab{transition:background-color 200ms ease,color 200ms ease}
input,select,button{font-family:inherit}
h1,h2,h3{text-wrap:balance}
[data-press]{transition:transform 160ms cubic-bezier(.23,1,.32,1),background-color 200ms ease,color 200ms ease}
[data-press]:active{transform:scale(.97)}
.arrow{transition:transform 240ms cubic-bezier(.23,1,.32,1)}
.prow{transition:background-color 200ms ease}
@media (hover:hover) and (pointer:fine){
.prow:hover{background:#E4E4EA}
.prow:hover .arrow{transform:translateX(-8px)}
.post:hover .post-t{color:#2EF2E6}
.lane-p:hover{color:#2EF2E6}
}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes settle{from{transform:scale(1.08)}to{transform:scale(1)}}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.hero-in>*{animation:rise 800ms cubic-bezier(.23,1,.32,1) both}
.hero-in>*:nth-child(2){animation-delay:80ms}
.hero-in>*:nth-child(3){animation-delay:160ms}
.hero-in>*:nth-child(4){animation-delay:240ms}
.hero-img{animation:settle 1800ms cubic-bezier(.23,1,.32,1) both}
.ticker-track{display:flex;width:max-content;animation:ticker 48s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
html.rv [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity 700ms cubic-bezier(.23,1,.32,1),transform 700ms cubic-bezier(.23,1,.32,1)}
html.rv [data-reveal="2"]{transition-delay:80ms}
html.rv [data-reveal="3"]{transition-delay:160ms}
html.rv [data-reveal="4"]{transition-delay:240ms}
html.rv [data-reveal].in{opacity:1;transform:none}
.nav-links{display:flex}
.menu-btn{display:none}
.band{transition:fill-opacity 240ms ease}
.probe{transition:transform 180ms cubic-bezier(.23,1,.32,1)}
.curve{stroke-dasharray:1;stroke-dashoffset:0}
html.rv [data-reveal] .curve{stroke-dashoffset:1;transition:stroke-dashoffset 1800ms cubic-bezier(.23,1,.32,1) 300ms}
html.rv [data-reveal].in .curve{stroke-dashoffset:0}
.hero{display:flex;flex-wrap:wrap;align-items:stretch}
.hero-text{padding-right:max(40px,calc((100vw - 1360px) / 2 + 40px));padding-left:40px}
.sched-list{display:none}
@media (max-width:960px){
.sched-table{display:none}
.sched-list{display:flex}
}
@media (max-width:760px){
.hero-text{padding-right:20px;padding-left:20px}
.wrap{padding-left:20px;padding-right:20px}
.sec{padding-top:72px;padding-bottom:72px}
.nav-links,.hide-sm{display:none}
.menu-btn{display:inline-flex}
.sched-table{display:none}
.sched-list{display:flex}
.prow{grid-template-columns:minmax(0,1fr) 32px !important}
.prow .pmeta,.prow .pdesc{grid-column:1 / -1}
.kit-line{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.tp-stage{padding-bottom:0 !important}
.tp-stage>div:first-child{width:100% !important}
.tp-phone{position:static !important;width:72% !important;margin:16px auto 0}
.rail{justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;min-height:470px;padding:0 20px;margin:0 -20px;gap:8px}
.rod{left:0;right:0}
.slot{scroll-snap-align:center}
.hang{height:440px}
.gar{height:380px}
.seam svg{height:90px;top:-45px}
}
@media (prefers-reduced-motion:reduce){
.lg-halo{animation:none}
.lg-spark{animation:none;opacity:0}
.lt-spark,.sway,.rod::after{animation:none}
.lt-spark{opacity:0}
.hang,.slot,.gar img,.hbar{transition:none}
html.rv [data-reveal] .drop{transform:none}
.focus{animation:none}
.hero-in>*,.hero-img{animation:none}
.ticker-track{animation:none}
html.rv [data-reveal]{transform:none;transition:opacity 300ms ease}
[data-press]:active{transform:none}
.probe{transition:none}
}
.field{transition:transform 600ms cubic-bezier(.23,1,.32,1)}
@media (hover:hover) and (pointer:fine){.post:hover .field{transform:scale(.98)}}

.partners{display:flex;flex-wrap:wrap;align-items:center;gap:28px 48px;list-style:none;margin:0;padding:0}
.partners li{display:flex;align-items:center;justify-content:center;min-height:64px}
.partners img{display:block;opacity:.55;transition:opacity 300ms ease,filter 300ms ease,transform 300ms cubic-bezier(.23,1,.32,1)}
.partners li:hover img{opacity:1;filter:drop-shadow(0 0 6px rgba(46,242,230,.55));transform:translateY(-2px)}
@media (max-width:600px){.partners{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 16px;justify-items:center}.partners li{min-height:52px}.partners img{max-width:88%;height:auto;max-height:46px;width:auto}}
.pgrid img{max-width:76%;height:auto}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;list-style:none;margin:0;padding:0}
.pgrid li{display:flex;align-items:center;justify-content:center;height:112px;border-radius:20px;background:#0A0A0C;box-shadow:inset 0 0 0 1px #1C1C22;transition:box-shadow 300ms ease}
.pgrid li.lead{grid-column:1/-1;height:168px}
.pgrid img{display:block;opacity:.7;transition:opacity 300ms ease,filter 300ms ease}
.pgrid li:hover{box-shadow:inset 0 0 0 1px #2EF2E6,0 0 24px -8px rgba(46,242,230,.6)}
.pgrid li:hover img{opacity:1;filter:drop-shadow(0 0 6px rgba(46,242,230,.5))}
