:root {
  --ink: #06103d;
  --ink-2: #0a1754;
  --violet: #241a62;
  --blue: #1d67ff;
  --blue-deep: #083bc4;
  --red: #ff304f;
  --ice: #f4f8ff;
  --ice-blue: #dceaff;
  --green: #7dff9a;
  --body: 'Archivo', sans-serif;
  --display: 'Unbounded', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body { margin: 0; color: var(--ink); background: var(--ice); font-family: var(--body); overflow-x: clip; }
html { scrollbar-color: var(--blue) var(--ink); scrollbar-width: thin; }
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: var(--ink); }
::-webkit-scrollbar-thumb { background: linear-gradient(var(--red), var(--blue)); border: 2px solid var(--ink); }
::selection { color: var(--ink); background: var(--green); text-shadow: none; }
body::before { content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 50; opacity: .15; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.34'/%3E%3C/svg%3E"); mix-blend-mode: multiply; }
a { color: inherit; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:where(h1,h2,h3) { text-wrap: balance; font-optical-sizing: auto; }
:where(p,blockquote) { text-wrap: pretty; }
:focus-visible { outline: 3px solid var(--green); outline-offset: 4px; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; background: var(--green); padding: .8rem 1rem; font-weight: 800; text-decoration: none; }
.skip-link:focus { top: 1rem; }

.site-header { position: absolute; top: 0; left: 0; right: 0; z-index: 12; height: 84px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 clamp(1rem, 3vw, 3.5rem); color: white; border-bottom: 1px solid rgba(255,255,255,.24); }
.wordmark { display: inline-flex; align-items: center; gap: .7rem; width: max-content; font-family: var(--display); font-size: .82rem; font-weight: 700; letter-spacing: .12em; text-decoration: none; }
.wordmark-mark { display: flex; gap: 4px; }
.wordmark-mark i { display: block; width: 5px; height: 29px; background: var(--red); transform: skew(-11deg); }
.wordmark-mark i:last-child { background: var(--blue); }
.site-header nav { display: flex; align-items: center; gap: clamp(1rem, 3vw, 2.8rem); }
.site-header nav a { min-height: 44px; display: inline-flex; align-items: center; font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; position: relative; }
.site-header nav a::after { content:''; position:absolute; left:0; right:100%; bottom:7px; height:2px; background:white; transition:right .25s ease; }
.site-header nav a:hover::after { right:0; }
.header-status { justify-self: end; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.header-status span { display: inline-block; width: 7px; height: 7px; margin-right: .45rem; border-radius: 50%; background: var(--green); box-shadow: 0 0 12px var(--green); animation: pulse 1.8s ease-in-out infinite; }

.hero { min-height: 100svh; position: relative; display: flex; align-items: center; overflow: hidden; color: white; background: radial-gradient(circle at 50% 22%, #315cb2 0, #101d67 28%, #080d34 70%); isolation: isolate; }
.hero::before { content:''; position:absolute; inset:0; z-index:-1; background: linear-gradient(90deg, rgba(255,48,79,.13), transparent 25%, transparent 70%, rgba(29,103,255,.2)), linear-gradient(180deg, transparent 60%, rgba(3,7,29,.85)); }
.floodlights { position:absolute; inset:0; z-index:-1; }
.floodlights i { position:absolute; top:-4%; width: 7px; height: 36%; background: #fff; filter: blur(2px); opacity:.65; transform-origin:top; }
.floodlights i::after { content:''; position:absolute; top:0; left:50%; width:22vw; height:85vh; transform:translateX(-50%); background:linear-gradient(180deg,rgba(221,237,255,.2),transparent 76%); clip-path:polygon(47% 0,53% 0,100% 100%,0 100%); }
.floodlights i:nth-child(1){left:8%;transform:rotate(-10deg)} .floodlights i:nth-child(2){left:35%;transform:rotate(-3deg)} .floodlights i:nth-child(3){left:65%;transform:rotate(4deg)} .floodlights i:nth-child(4){left:91%;transform:rotate(10deg)}
.hero-mountain { position:absolute; inset:14% 0 0; z-index:-1; opacity:.95; }
.hero-mountain svg { width:100%; height:100%; }
.mountain-back { fill:#182a75; filter:drop-shadow(0 -15px 40px rgba(172,204,255,.1)); }
.mountain-front { fill:#0d164b; }
.piste-line { fill:none; stroke:rgba(226,240,255,.78); stroke-width:70; filter:drop-shadow(0 0 35px rgba(191,222,255,.45)); }
.hero-copy { position:relative; z-index:2; width:min(1180px, calc(100% - 10vw)); margin: 4rem auto 0; }
.kicker,.eyebrow { margin:0 0 1.25rem; font-size:.71rem; line-height:1.4; font-weight:800; text-transform:uppercase; letter-spacing:.18em; }
.kicker { display:flex; align-items:center; gap:.8rem; }
.kicker::before { content:''; width:42px; height:2px; background:var(--red); }
.hero h1 { margin:0; font-family:var(--display); font-size:clamp(4.2rem, 10vw, 9.4rem); font-weight:900; line-height:.79; letter-spacing:-.085em; text-shadow:0 8px 40px rgba(0,0,0,.22); }
.hero h1 span { color:transparent; -webkit-text-stroke:1.5px white; }
.hero-sub { display:grid; grid-template-columns:minmax(260px, 440px) auto; gap:clamp(2rem,6vw,6rem); align-items:end; margin:2.3rem 0 0 clamp(0px, 10vw, 130px); }
.hero-sub p { margin:0; color:#dce8ff; font-size:clamp(.95rem,1.4vw,1.15rem); line-height:1.55; }
.hero-sub strong { color:white; }
.start-link { display:inline-flex; align-items:center; gap:1.8rem; min-height:52px; width:max-content; font-family:var(--display); font-size:.65rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; text-decoration:none; border-bottom:2px solid var(--red); }
.start-link b { font-size:1.2rem; transition:transform .2s ease; } .start-link:hover b { transform:translateY(5px); }
.hero-timing { position:absolute; right:clamp(1rem,3vw,3.5rem); bottom:clamp(2rem,4vw,4rem); display:flex; flex-direction:column; align-items:flex-end; gap:.15rem; padding-left:2rem; border-left:1px solid rgba(255,255,255,.3); font-family:var(--display); }
.hero-timing strong { font-size:clamp(2rem,4vw,4.2rem); line-height:1; font-variant-numeric:tabular-nums; letter-spacing:-.08em; }
.timing-label,.timing-meta { font-size:.51rem; letter-spacing:.13em; }
.timing-meta b { color:var(--green); }
.hero-gates i { position:absolute; bottom:-12vh; width:13px; height:62vh; box-shadow:0 0 18px currentColor; transform:rotate(8deg); }
.hero-gates .red { left:8%; color:var(--red); background:var(--red); } .hero-gates .blue { right:12%; color:var(--blue); background:var(--blue); transform:rotate(-7deg); }
.scroll-cue { position:absolute; left:clamp(1rem,3vw,3.5rem); bottom:2.5rem; display:flex; align-items:center; gap:.8rem; font-size:.58rem; font-weight:700; text-transform:uppercase; letter-spacing:.15em; }
.scroll-cue span { width:48px; height:1px; background:white; position:relative; overflow:hidden; } .scroll-cue span::after{content:'';position:absolute;inset:0;background:var(--red);transform:translateX(-100%);animation:scan 2.2s ease-in-out infinite}
.reveal { animation:reveal .9s cubic-bezier(.2,.8,.2,1) both; } .r1{animation-delay:.12s}.r2{animation-delay:.24s}.r3{animation-delay:.42s}.r4{animation-delay:.62s}

.race-brief { max-width:1380px; margin:auto; padding:clamp(5rem,10vw,9rem) clamp(1.2rem,6vw,7rem); display:grid; grid-template-columns:150px minmax(0,1fr); gap:2rem 4vw; }
.section-index,.card-label { font-family:var(--display); font-size:.59rem; line-height:1.5; font-weight:700; letter-spacing:.12em; color:#566187; }
.race-brief h2,.profile-copy h2,.physics-intro h2,.wax-heading h2,.racecraft h2 { margin:0; font-family:var(--display); font-size:clamp(2.1rem,4.5vw,4.8rem); line-height:1.04; letter-spacing:-.055em; }
.race-brief > div:nth-child(2) { max-width:970px; }
.race-brief .eyebrow,.profile-section .eyebrow,.physics .eyebrow,.wax-room .eyebrow { color:var(--blue-deep); }
.brief-grid { grid-column:2; display:grid; grid-template-columns:minmax(250px,.8fr) 1.2fr; gap:clamp(2rem,7vw,7rem); margin-top:2rem; }
.brief-grid > p { margin:0; font-size:clamp(1.05rem,1.5vw,1.3rem); line-height:1.7; color:#35416c; }
.brief-grid dl { margin:0; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #c2cce1; }
.brief-grid dl div { padding:1.05rem 0; border-bottom:1px solid #c2cce1; }
.brief-grid dl div:nth-child(odd) { margin-right:1.5rem; }
.brief-grid dt { font-size:.65rem; color:#667093; text-transform:uppercase; letter-spacing:.12em; }
.brief-grid dd { margin:.28rem 0 0; font-family:var(--display); font-size:.72rem; font-weight:600; }

.course { position:relative; min-height:570vh; color:white; background:linear-gradient(180deg,#071448 0%,#0a1d69 30%,#25185f 66%,#06103d 100%); isolation:isolate; }
#snow-canvas { position:fixed; inset:0; width:100vw; height:100vh; z-index:4; pointer-events:none; }
.course-atmosphere { position:absolute; inset:0; width:100%; height:100%; z-index:-1; pointer-events:none; background:radial-gradient(ellipse at 50% 20%,rgba(100,143,255,.4),transparent 28%),repeating-linear-gradient(108deg,transparent 0 120px,rgba(255,255,255,.018) 121px 122px); }
.course-head { position:absolute; top:0; left:0; right:0; min-height:82vh; padding:clamp(6rem,12vw,11rem) max(6vw,calc((100vw - 1240px)/2)); background:linear-gradient(180deg,rgba(5,13,48,.9),transparent); }
.course-head h2 { max-width:900px; margin:0; font-family:var(--display); font-size:clamp(3.3rem,8vw,8rem); line-height:.9; letter-spacing:-.07em; }
.course-head > p:last-child { max-width:430px; margin:2rem 0 0 auto; color:#c7d9ff; font-size:1.05rem; line-height:1.65; }
.timing-tower { position:sticky; z-index:10; top:94px; margin-left:auto; margin-right:clamp(1rem,3vw,3.5rem); width:min(210px,30vw); padding:1rem 1.1rem; display:flex; flex-direction:column; background:rgba(2,8,35,.9); border:1px solid rgba(255,255,255,.28); border-top:3px solid var(--green); backdrop-filter:blur(16px); box-shadow:0 20px 60px rgba(0,0,0,.35); transform:translateY(28px); font-family:var(--display); }
.tower-tag { font-size:.49rem; color:#b6c9ed; letter-spacing:.16em; }
.timing-tower strong { margin:.32rem 0 .2rem; color:var(--green); font-size:clamp(1.7rem,3.2vw,3.1rem); line-height:1; font-variant-numeric:tabular-nums; letter-spacing:-.08em; }
.timing-tower strong.behind { color:#ff6177; }
#split-label { font-size:.48rem; color:white; letter-spacing:.12em; }
.tower-meter { height:5px; margin-top:.85rem; position:relative; background:#242e5b; }
.tower-meter b { position:absolute; left:50%; top:-3px; width:1px; height:11px; background:white; }
.tower-meter i { position:absolute; top:0; height:100%; left:50%; width:25%; background:var(--green); transform-origin:left; transition:width .3s ease; }
.gate-run { position:absolute; top:70vh; left:0; right:0; bottom:0; display:grid; grid-template-rows:repeat(8,1fr); }
.gate-chapter { min-height:63vh; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(2rem,7vw,8rem); padding:4vh max(7vw,calc((100vw - 1200px)/2)); position:relative; }
.gate-visual { width:min(330px,35vw); height:58vh; min-height:380px; position:relative; justify-self:center; transition:transform .14s linear; will-change:transform; filter:drop-shadow(0 25px 30px rgba(0,0,0,.3)); }
.gate-visual::before,.gate-visual::after { content:''; position:absolute; bottom:4%; width:13px; height:86%; background:currentColor; border-radius:8px 8px 2px 2px; box-shadow:0 0 18px currentColor; }
.gate-visual::before { left:13%; transform:rotate(-1deg); } .gate-visual::after { right:13%; transform:rotate(2deg); }
.gate-visual i { position:absolute; left:13%; right:13%; top:27%; height:29%; background:currentColor; clip-path:polygon(2% 0,100% 7%,96% 100%,0 92%); opacity:.95; }
.gate-visual b { position:absolute; z-index:1; top:34%; left:0; right:0; text-align:center; font-family:var(--display); font-size:clamp(2rem,5vw,4.8rem); color:white; }
.gate-visual span { position:absolute; right:-.4rem; top:17%; color:white; font-family:var(--display); font-size:.6rem; writing-mode:vertical-rl; letter-spacing:.16em; }
.gate-red .gate-visual { color:var(--red); } .gate-blue .gate-visual { color:var(--blue); }
.side-left .gate-copy { grid-column:2; } .side-left .gate-visual { grid-column:1; grid-row:1; }
.side-right .gate-copy { grid-column:1; grid-row:1; } .side-right .gate-visual { grid-column:2; }
.gate-copy { max-width:490px; position:relative; z-index:3; }
.gate-number { font-family:var(--display); font-size:.58rem; font-weight:700; letter-spacing:.14em; color:#b6c9ed; }
.gate-copy h3 { margin:1rem 0 1.25rem; font-family:var(--display); font-size:clamp(1.8rem,3.7vw,4.2rem); line-height:1.02; letter-spacing:-.05em; }
.gate-copy p { margin:0; max-width:440px; color:#cbd9f7; line-height:1.7; font-size:clamp(.95rem,1.2vw,1.12rem); }
.gate-copy small { display:block; margin-top:1.4rem; padding-top:1rem; width:max-content; max-width:100%; border-top:2px solid currentColor; color:white; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.gate-red .gate-copy small { color:#ff8b9c; } .gate-blue .gate-copy small { color:#88adff; }
.gate-unforgettable::before { content:''; position:absolute; inset:7% 4%; border:1px solid rgba(125,255,154,.35); background:radial-gradient(circle,rgba(125,255,154,.1),transparent 60%); transform:skewY(-2deg); }
.gate-unforgettable .gate-copy h3 { color:var(--green); }
.ghost-trace { position:absolute; inset:2% 0; z-index:1; width:100%; height:96%; opacity:0; overflow:visible; pointer-events:none; transition:opacity .6s cubic-bezier(.16,1,.3,1); filter:drop-shadow(0 0 10px rgba(125,255,154,.22)); }
.ghost-trace path { fill:none; vector-effect:non-scaling-stroke; }
.trace-nord { stroke:rgba(218,232,255,.42); stroke-width:2; stroke-dasharray:8 10; }
.trace-marat { stroke:var(--green); stroke-width:3; stroke-dasharray:0 1900; stroke-dashoffset:0; }
.trace-wire path { stroke:rgba(255,255,255,.22); stroke-width:1; stroke-dasharray:4 9; }
.trace-wire text,.trace-label { fill:#b9caed; font-family:var(--display); font-size:10px; font-weight:650; letter-spacing:1.7px; }
.trace-label.marat { fill:var(--green); }
.gate-unforgettable.is-active .ghost-trace { opacity:.19; }
.gate-unforgettable.ghost-open .ghost-trace { opacity:.88; }
.gate-unforgettable.ghost-open .trace-marat { animation:traceRun 1.25s cubic-bezier(.16,1,.3,1) forwards; }
.gate-unforgettable.ghost-open .gate-visual { opacity:.26; filter:blur(1px) saturate(.6); }
.ghost-toggle { width:min(330px,100%); min-height:52px; margin-top:1.25rem; padding:0 1rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; color:white; background:rgba(2,8,35,.5); border:1px solid rgba(125,255,154,.48); cursor:pointer; font-family:var(--display); font-size:.48rem; font-weight:650; letter-spacing:.08em; text-transform:uppercase; transition:color .25s ease,background .25s ease,transform .25s cubic-bezier(.16,1,.3,1); }
.ghost-toggle b { color:var(--green); font-size:.43rem; white-space:nowrap; }
.ghost-toggle:hover,.ghost-toggle[aria-pressed=true] { color:var(--ink); background:var(--green); transform:translateX(6px); }
.ghost-toggle:hover b,.ghost-toggle[aria-pressed=true] b { color:var(--ink); }
.gate-finish { background:linear-gradient(180deg,transparent,rgba(255,255,255,.08)); }

.profile-section { min-height:100vh; display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:4vw; padding:clamp(5rem,10vw,10rem) max(6vw,calc((100vw - 1320px)/2)); background:#e9f1ff; position:relative; overflow:hidden; }
.profile-section::before { content:'221 M'; position:absolute; right:-.05em; top:-.18em; color:rgba(7,20,72,.05); font-family:var(--display); font-size:clamp(8rem,24vw,24rem); font-weight:900; letter-spacing:-.1em; }
.profile-copy { position:relative; z-index:1; }
.profile-copy h2 { max-width:640px; }
.profile-copy > p:last-of-type { max-width:550px; color:#3d496f; font-size:1.08rem; line-height:1.7; }
.profile-legend { display:flex; flex-wrap:wrap; gap:1rem 1.6rem; padding:0; margin:2.2rem 0 0; list-style:none; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.profile-legend i { display:inline-block; width:28px; height:4px; margin-right:.4rem; background:var(--c); vertical-align:middle; }
.profile-graphic { position:relative; z-index:1; padding:1rem; border:1px solid #a8b9da; background:rgba(255,255,255,.35); box-shadow:18px 22px 0 rgba(29,103,255,.08); }
.profile-graphic svg { display:block; width:100%; height:auto; }
.contour { fill:none; stroke:#8da5cf; stroke-width:1; opacity:.55; }
.profile-path-shadow { fill:none; stroke:#b6c5df; stroke-width:42; stroke-linecap:round; }
.profile-path { fill:none; stroke:url(#profileStroke); stroke-width:20; stroke-linecap:round; }
.profile-labels { font-family:var(--display); font-size:12px; font-weight:600; fill:#14225b; }
#profile-dot { fill:var(--red); stroke:white; stroke-width:4; filter:drop-shadow(0 0 9px var(--red)); }

.physics { padding:clamp(5rem,10vw,10rem) max(6vw,calc((100vw - 1280px)/2)); color:white; background:var(--ink); }
.physics-intro { display:grid; grid-template-columns:130px 1fr 1fr; gap:2rem 4vw; align-items:end; }
.physics-intro .section-index { color:#8997c8; }
.physics-intro .eyebrow { grid-column:2 / -1; margin-bottom:-.5rem; color:#8fb4ff; }
.physics-intro h2 { grid-column:2; }
.physics-intro > p:last-child { margin:0; color:#becbec; line-height:1.7; }
.angle-lab { margin-top:clamp(3rem,7vw,6rem); display:grid; grid-template-columns:1.2fr .8fr; min-height:570px; border:1px solid #40518a; background:linear-gradient(135deg,#101e59,#090e35); }
.ski-stage { position:relative; overflow:hidden; min-height:500px; background:radial-gradient(circle at center,rgba(56,113,255,.28),transparent 48%); }
.angle-rings { position:absolute; width:440px; height:440px; top:50%; left:50%; transform:translate(-50%,-50%); border:1px solid rgba(255,255,255,.18); border-radius:50%; }
.angle-rings::before,.angle-rings::after { content:''; position:absolute; border:1px solid rgba(255,255,255,.13); border-radius:50%; } .angle-rings::before{inset:18%}.angle-rings::after{inset:36%}
.snow-plane { position:absolute; left:10%; right:10%; top:67%; height:3px; background:#eaf3ff; box-shadow:0 0 30px white; transform:rotate(-7deg); }
.ski { position:absolute; left:50%; top:53%; width:22px; height:330px; border-radius:100% 12px 100% 12px; background:linear-gradient(90deg,#306eff,#f7faff 40%,#174cde); transform:translate(-50%,-50%) rotate(35deg); transform-origin:center; transition:transform .25s ease; box-shadow:0 0 28px rgba(63,125,255,.45); }
.ski i { position:absolute; left:-5px; right:-5px; top:45%; height:30px; border:4px solid var(--red); }
.knee-line { position:absolute; left:50%; top:16%; width:4px; height:205px; background:linear-gradient(var(--red),white); transform-origin:bottom; transform:translateX(-50%) rotate(-20deg); transition:transform .25s ease; }
.knee-line::before { content:''; position:absolute; top:-9px; left:-6px; width:16px; height:16px; background:var(--red); border-radius:50%; box-shadow:0 0 18px var(--red); }
.angle-controls { display:flex; flex-direction:column; justify-content:center; padding:clamp(2rem,5vw,4.5rem); border-left:1px solid #40518a; }
.angle-controls label { display:flex; justify-content:space-between; align-items:baseline; font-family:var(--display); font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.angle-controls output { font-size:2rem; color:var(--green); letter-spacing:-.07em; }
input[type=range] { width:100%; height:44px; appearance:none; background:transparent; cursor:pointer; }
input[type=range]::-webkit-slider-runnable-track { height:5px; background:linear-gradient(90deg,var(--blue),var(--green),var(--red)); }
input[type=range]::-webkit-slider-thumb { appearance:none; width:24px; height:34px; margin-top:-14px; border:3px solid white; background:var(--ink); }
input[type=range]::-moz-range-track { height:5px; background:linear-gradient(90deg,var(--blue),var(--green),var(--red)); }
input[type=range]::-moz-range-thumb { width:20px; height:30px; border:3px solid white; border-radius:0; background:var(--ink); }
.physics-readout { margin-top:1.4rem; border-top:1px solid #35457e; }
.physics-readout div { display:flex; justify-content:space-between; align-items:center; min-height:54px; border-bottom:1px solid #35457e; }
.physics-readout span { color:#8d9bc4; font-size:.6rem; font-weight:700; letter-spacing:.12em; }
.physics-readout strong { font-family:var(--display); font-size:.85rem; }
.physics-readout .good { color:var(--green); }
#angle-note { color:#aebce3; line-height:1.55; font-size:.9rem; }

.wax-room { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(3rem,8vw,9rem); align-items:center; padding:clamp(5rem,10vw,10rem) max(6vw,calc((100vw - 1280px)/2)); background:#dbe8fc; }
.wax-heading p:last-child { color:#3c496e; line-height:1.75; font-size:1.05rem; }
.cabinet { position:relative; padding:1.2rem; color:#eaf1ff; background:linear-gradient(145deg,#172459,#070d30 70%); box-shadow:25px 30px 0 #a9c3eb,0 30px 80px rgba(8,19,61,.25); border:8px solid #24356f; }
.cabinet::before { content:''; position:absolute; inset:8px; pointer-events:none; border:1px solid rgba(255,255,255,.16); }
.cabinet-top { position:relative; z-index:1; display:flex; justify-content:space-between; padding:.55rem .4rem 1.2rem; font-family:var(--display); font-size:.5rem; letter-spacing:.11em; }
.cabinet-top b { color:var(--red); }
.drawer { width:100%; min-height:78px; position:relative; z-index:1; display:grid; grid-template-columns:1fr 60px auto; gap:1rem; align-items:center; padding:0 1.1rem; color:white; background:#111d52; border:1px solid #405086; border-radius:0; cursor:pointer; text-align:left; transition:background .2s ease,transform .2s ease; }
.drawer + .drawer-content + .drawer { border-top:0; }
.drawer:hover,.drawer[aria-expanded=true] { background:#1b2b6f; transform:translateX(-7px); }
.drawer-code { font-family:var(--display); font-size:.62rem; font-weight:600; letter-spacing:.1em; }
.drawer i { width:45px; height:11px; border:2px solid #8391ba; border-radius:8px; }
.drawer b { color:#9ebdff; font-size:.62rem; letter-spacing:.1em; }
.drawer-content { max-height:0; overflow:hidden; position:relative; z-index:0; padding:0 1.2rem; color:#bdc9e8; background:#050a26; transition:max-height .35s ease,padding .35s ease; }
.drawer-content.open { max-height:160px; padding:1.2rem; }
.drawer-content strong { color:var(--green); font-family:var(--display); font-size:.7rem; letter-spacing:.08em; }
.drawer-content p { margin:.5rem 0 0; line-height:1.5; font-size:.88rem; }
.cabinet-stamp { position:absolute; right:1.2rem; bottom:-2.4rem; width:74px; height:74px; display:grid; place-items:center; color:var(--ink); background:var(--red); border-radius:50%; font-family:var(--display); font-weight:800; transform:rotate(-12deg); box-shadow:0 10px 20px rgba(0,0,0,.2); }

.racecraft { display:grid; grid-template-columns:1fr 1fr; background:var(--ice); }
.racecraft article { min-width:0; padding:clamp(5rem,9vw,9rem) max(6vw,calc((100vw - 1320px)/2)); }
.bib-draw { padding-right:clamp(2rem,6vw,6rem)!important; border-right:1px solid #b8c4dd; }
.judge-card { padding-left:clamp(2rem,6vw,6rem)!important; background:#eef4ff; }
.racecraft h2 { margin:1.5rem 0; font-size:clamp(2rem,3.2vw,3.4rem); }
.racecraft article > p { color:#465274; line-height:1.7; }
.bib-machine { display:grid; grid-template-columns:1fr; gap:1.2rem; margin-top:2rem; }
.bib-card { aspect-ratio:1.6; position:relative; display:grid; place-items:center; align-content:center; color:white; background:var(--blue); clip-path:polygon(7% 0,100% 0,93% 100%,0 100%); box-shadow:inset 0 0 0 10px rgba(255,255,255,.12); }
.bib-card::before,.bib-card::after { content:''; position:absolute; top:0; bottom:0; width:11%; background:var(--red); } .bib-card::before{left:0}.bib-card::after{right:0}
.bib-card span { font-family:var(--display); font-size:.55rem; letter-spacing:.2em; }
.bib-card strong { font-family:var(--display); font-size:clamp(5rem,10vw,8rem); line-height:.9; letter-spacing:-.12em; }
.bib-card b { font-family:var(--display); font-size:.65rem; letter-spacing:.12em; }
#draw-bib { min-height:52px; display:flex; justify-content:space-between; align-items:center; padding:0 1.2rem; color:white; background:var(--ink); border:0; cursor:pointer; font-weight:700; }
#draw-bib:hover { background:var(--red); }
.draw-note { min-height:3.4em; font-style:italic; }
.flag-console { display:grid; gap:.7rem; margin:2rem 0; }
.flag-choice { min-height:58px; display:grid; grid-template-columns:44px 1fr; align-items:center; color:var(--ink); background:transparent; border:1px solid #aab7d1; text-align:left; cursor:pointer; }
.flag-choice:hover,.flag-choice.active { color:white; background:var(--ink); }
.flag-choice i { width:22px; height:28px; justify-self:center; border-left:3px solid currentColor; position:relative; }
.flag-choice i::after { content:''; position:absolute; left:0; top:0; width:17px; height:12px; background:var(--blue); }
.flag-choice.fault i::after { background:var(--red); }.flag-choice.review i::after { background:linear-gradient(90deg,var(--red) 50%,var(--blue) 50%); }
.flag-choice span { font-family:var(--display); font-size:.62rem; font-weight:600; letter-spacing:.06em; }
.judge-result { display:grid; grid-template-columns:70px 1fr; gap:1rem; align-items:center; padding-top:1.2rem; border-top:4px solid var(--blue); }
.judge-result > span { font-family:var(--display); font-size:3.5rem; font-weight:800; color:var(--blue); }
.judge-result p { margin:0; color:#465274; line-height:1.5; font-size:.85rem; }.judge-result b{color:var(--ink);display:block;letter-spacing:.08em}

.finish-board { min-height:92vh; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:6rem 1.2rem; overflow:hidden; color:white; text-align:center; background:radial-gradient(circle at 50% 20%,#304ba6,#080d35 62%); }
.finish-snow { position:absolute; inset:0; opacity:.34; background:
  linear-gradient(105deg,transparent 0 27%,rgba(218,234,255,.12) 27.1% 27.18%,transparent 27.3%),
  linear-gradient(75deg,transparent 0 71%,rgba(218,234,255,.09) 71.1% 71.18%,transparent 71.3%),
  radial-gradient(circle at 18% 28%,#fff 0 1px,transparent 1.5px),
  radial-gradient(circle at 76% 62%,#fff 0 1px,transparent 1.5px);
  background-size:auto,auto,92px 71px,133px 109px; mask-image:linear-gradient(transparent,#000 28%,#000 82%,transparent); }
.finish-board::before,.finish-board::after { content:''; position:absolute; top:-20%; width:12px; height:135%; background:var(--red); transform:rotate(28deg); box-shadow:0 0 30px var(--red); }.finish-board::before{left:8%}.finish-board::after{right:8%;background:var(--blue);box-shadow:0 0 30px var(--blue);transform:rotate(-28deg)}
.finish-board h2 { margin:0; font-family:var(--display); font-size:clamp(6rem,18vw,17rem); line-height:.9; letter-spacing:-.12em; }
.finish-line { width:min(660px,100%); display:grid; grid-template-columns:50px 1fr auto; gap:1rem; align-items:center; padding:1rem 1.3rem; color:var(--ink); background:var(--green); text-align:left; font-family:var(--display); font-size:.7rem; }
.finish-line strong { font-size:.85rem; }.finish-line b{font-size:1.1rem}.finish-line.muted{margin-top:4px;background:#d8e6ff;color:#39446c}
.finish-board blockquote { max-width:670px; margin:3rem 0; color:#d2def8; font-size:clamp(1rem,1.7vw,1.35rem); line-height:1.6; }
.finish-board cite { display:block; margin-top:1rem; color:white; font-size:.65rem; font-style:normal; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.run-again { min-height:50px; display:inline-flex; align-items:center; gap:2rem; border-bottom:2px solid var(--red); font-family:var(--display); font-size:.61rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; text-decoration:none; }

footer { min-height:190px; display:grid; grid-template-columns:1fr auto; gap:2.2rem 3rem; align-items:end; padding:3rem clamp(1.2rem,4vw,4rem); color:#b9c6e8; background:#04081f; font-size:.72rem; }
.footer-mark { grid-column:1/-1; display:flex; align-items:center; gap:5px; font-family:var(--display); font-size:.7rem; color:white; }.footer-mark i{width:7px;height:45px;background:var(--red);transform:skew(-10deg)}.footer-mark i:nth-child(2){background:var(--blue)}.footer-mark span{margin-left:.7rem}
footer p { margin:0; }
footer nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:1rem 2rem; }
footer a { min-height:44px; display:inline-flex; align-items:center; text-decoration:none; border-bottom:1px solid transparent; }footer a:hover{color:white;border-color:var(--red)}

@keyframes reveal { from{opacity:0;transform:translateY(24px);clip-path:inset(0 0 100%)} to{opacity:1;transform:none;clip-path:inset(0)} }
@keyframes scan { 50%{transform:translateX(100%)} 100%{transform:translateX(100%)} }
@keyframes pulse { 50%{opacity:.35;box-shadow:0 0 4px var(--green)} }
@keyframes traceRun { from{stroke-dasharray:0 1900} to{stroke-dasharray:1900 0} }

@media (max-width: 900px) {
  .site-header { grid-template-columns:1fr auto; }
  .site-header nav { display:flex; gap:1rem; }
  .site-header nav a { font-size:.58rem; }
  .header-status { display:none; }
  .hero-copy { width:calc(100% - 3rem); }
  .hero-sub { margin-left:0; }
  .race-brief { grid-template-columns:1fr; }
  .race-brief .section-index,.brief-grid { grid-column:1; }
  .profile-section,.wax-room { grid-template-columns:1fr; }
  .physics-intro { grid-template-columns:1fr 1fr; }.physics-intro .section-index{grid-column:1/-1}.physics-intro .eyebrow{grid-column:1/-1}.physics-intro h2{grid-column:1}
  .angle-lab { grid-template-columns:1fr; }.angle-controls{border-left:0;border-top:1px solid #40518a}
  .racecraft { grid-template-columns:1fr; }.bib-draw{border-right:0;border-bottom:1px solid #b8c4dd}.racecraft article{padding-left:8vw!important;padding-right:8vw!important}
}

@media (max-width: 600px) {
  .site-header { height:70px; padding:0 1rem; }.header-status{font-size:.58rem}.header-status span{margin-right:.25rem}
  .site-header nav { gap:.62rem; }.site-header nav a{font-size:.48rem;letter-spacing:.04em}.site-header nav a::after{bottom:4px}
  .wordmark{font-size:.7rem;gap:.5rem}.wordmark-mark i{height:26px;width:4px}
  .hero { min-height:790px; align-items:flex-start; }.hero-copy{margin-top:9.8rem;width:calc(100% - 2rem)}
  .hero h1 { font-size:clamp(3.7rem,19vw,5.5rem); line-height:.84; max-width:100%; }.hero h1 span{display:block;width:max-content;margin-bottom:.12em}.kicker{font-size:.57rem}.kicker::before{width:22px}
  .hero-sub { grid-template-columns:1fr; gap:1.4rem; margin-top:1.7rem; padding-right:2rem; }.hero-sub p{font-size:.98rem}.start-link{min-height:48px}
  .hero-timing { right:1rem; bottom:3.7rem; }.hero-timing strong{font-size:2rem}.scroll-cue{display:none}.hero-gates i{height:45vh;width:8px}
  .race-brief { padding:5rem 1.2rem; gap:1.2rem; }.brief-grid{grid-template-columns:1fr;margin-top:1rem}.brief-grid dl{grid-template-columns:1fr}.brief-grid dl div:nth-child(odd){margin-right:0}
  .course { min-height:585vh; }.course-head{min-height:84vh;padding:5.5rem 1.2rem}.course-head h2{font-size:3.6rem}.course-head > p:last-child{margin-left:0}.timing-tower{top:78px;margin-right:.75rem;width:128px;padding:.72rem}.timing-tower strong{font-size:1.6rem}
  .gate-run{top:82vh}.gate-chapter{min-height:64vh;grid-template-columns:1fr;padding:3vh 1.2rem;align-content:center;gap:1rem}.gate-visual{position:absolute;width:160px;height:44vh;min-height:300px;opacity:.47}.side-left .gate-visual{left:-38px;grid-column:1}.side-right .gate-visual{right:-35px;grid-column:1}.side-left .gate-copy,.side-right .gate-copy{grid-column:1;grid-row:1;max-width:82%;position:relative}.side-left .gate-copy{margin-left:auto}.side-right .gate-copy{margin-right:auto}.gate-copy h3{font-size:2.05rem}.gate-copy p{font-size:.95rem}.gate-copy small{font-size:.62rem}.gate-visual b{font-size:2.6rem}
  .profile-section,.physics,.wax-room { padding:5rem 1.2rem }.profile-section{gap:3rem}.profile-graphic{padding:0;box-shadow:10px 12px 0 rgba(29,103,255,.08)}.profile-labels{font-size:14px}
  .physics-intro{grid-template-columns:1fr;gap:1.2rem}.physics-intro h2{grid-column:1}.physics-intro>p:last-child{grid-column:1}.angle-lab{min-height:0}.ski-stage{min-height:420px}.angle-rings{width:340px;height:340px}.ski{height:270px}.knee-line{height:160px}.angle-controls{padding:2rem 1.2rem}
  .wax-room{gap:2rem}.cabinet{padding:.7rem;border-width:5px;box-shadow:12px 15px 0 #a9c3eb}.cabinet-top{gap:.5rem}.cabinet-top b{font-size:.43rem;text-align:right}.drawer{grid-template-columns:1fr auto;min-height:68px;padding:0 .7rem}.drawer i{display:none}.drawer-code{font-size:.52rem}.drawer-content.open{max-height:190px}.cabinet-stamp{width:58px;height:58px;bottom:-1.8rem}
  .racecraft article{padding:5rem 1.2rem!important}.bib-card strong{font-size:6rem}.judge-result{grid-template-columns:54px 1fr}.judge-result>span{font-size:2.6rem}
  .finish-board{min-height:800px}.finish-board h2{font-size:28vw}.finish-line{grid-template-columns:32px 1fr auto;padding:.9rem .7rem;gap:.5rem}.finish-line strong{font-size:.62rem}.finish-board::before{left:-5%}.finish-board::after{right:-5%}
  footer{grid-template-columns:1fr;min-height:0;padding:3rem 1.2rem;gap:1.15rem}footer nav{justify-content:flex-start;gap:.2rem 1.2rem}footer a{min-height:40px}
}

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

/* PASS 2 — a sharper, faster race line */
body::before { opacity:.085; mix-blend-mode:soft-light; }
.site-header { height:76px; border-color:rgba(229,240,255,.18); background:linear-gradient(180deg,rgba(3,8,35,.34),transparent); }
.site-header nav a { font-size:.66rem; letter-spacing:.12em; }
.wordmark { letter-spacing:.16em; }

.hero { min-height:100svh; background:
  radial-gradient(ellipse at 63% 8%,rgba(83,142,255,.72) 0,rgba(24,68,168,.22) 29%,transparent 50%),
  linear-gradient(112deg,#160d4a 0%,#07144b 38%,#0a2477 70%,#07103b 100%); }
.hero::before { background:
  linear-gradient(104deg,rgba(255,42,74,.13),transparent 22%,transparent 74%,rgba(28,102,255,.18)),
  repeating-linear-gradient(100deg,transparent 0 12vw,rgba(255,255,255,.012) 12.1vw 12.2vw),
  linear-gradient(180deg,transparent 55%,rgba(2,6,28,.9)); }
.floodlights i { height:30%; width:5px; opacity:.82; box-shadow:0 0 10px #d9e9ff; }
.floodlights i::after { width:19vw; opacity:.72; background:linear-gradient(180deg,rgba(213,233,255,.25),rgba(109,158,255,.045) 54%,transparent 82%); }
.mountain-back { fill:#1a327e; }
.mountain-front { fill:#091342; }
.piste-line { stroke:rgba(226,240,255,.88); stroke-width:48; filter:drop-shadow(0 0 28px rgba(191,222,255,.5)); }
.hero-copy { width:min(1240px,calc(100% - 12vw)); margin-top:0; transform:translateY(-1vh); }
.hero h1 { position:relative; width:max-content; font-size:clamp(4.6rem,10.7vw,10rem); line-height:.76; letter-spacing:-.098em; text-shadow:0 16px 55px rgba(0,0,0,.3); }
.hero h1 span { font-weight:300; -webkit-text-stroke:1.2px rgba(255,255,255,.95); }
.hero h1 i { position:absolute; right:-.22em; top:-.39em; z-index:-1; color:rgba(213,231,255,.08); font-size:1.42em; font-style:normal; letter-spacing:-.14em; }
.hero-sub { grid-template-columns:minmax(280px,460px) minmax(230px,auto); margin-top:2.8rem; }
.hero-sub p { color:#e0eaff; font-size:clamp(1rem,1.35vw,1.18rem); }
.start-link { border-bottom-color:var(--red); }
.hero-spec { position:absolute; right:clamp(1.2rem,3.5vw,4rem); top:108px; display:grid; gap:.45rem; color:#b6cbf3; font-family:var(--display); font-size:.48rem; letter-spacing:.12em; text-align:right; }
.hero-spec span::after { content:''; display:inline-block; width:18px; height:1px; margin-left:.55rem; background:currentColor; vertical-align:middle; }
.start-wand { position:absolute; left:50%; bottom:0; width:1px; height:20vh; color:#fff; background:rgba(255,255,255,.28); transform:translateX(-50%); }
.start-wand i { position:absolute; left:0; top:0; width:26vw; height:2px; background:linear-gradient(90deg,var(--red),white 48%,var(--blue)); transform:translateX(-50%) rotate(-5deg); box-shadow:0 0 16px rgba(255,255,255,.65); }
.start-wand b { position:absolute; left:1rem; top:.8rem; width:max-content; font-family:var(--display); font-size:.43rem; letter-spacing:.14em; }

.race-brief { position:relative; max-width:none; min-height:92vh; padding:clamp(6rem,10vw,10rem) max(6vw,calc((100vw - 1280px)/2)); grid-template-columns:170px minmax(0,1fr); background:
  linear-gradient(90deg,transparent 0 61%,rgba(29,103,255,.055) 61%),
  linear-gradient(180deg,#f8fbff,#e9f2ff); overflow:hidden; }
.race-brief::before { content:'19:43'; position:absolute; right:-.04em; bottom:-.23em; color:rgba(8,24,77,.045); font-family:var(--display); font-size:clamp(8rem,25vw,25rem); font-weight:900; letter-spacing:-.13em; }
.race-brief::after { content:'START WAND / ARMED'; position:absolute; right:4vw; top:8rem; color:var(--red); font-family:var(--display); font-size:.5rem; font-weight:700; letter-spacing:.16em; writing-mode:vertical-rl; }
.race-brief h2 { max-width:1020px; font-size:clamp(2.7rem,5.4vw,5.8rem); line-height:.96; }
.brief-grid { position:relative; z-index:1; grid-template-columns:minmax(280px,.75fr) 1.25fr; align-items:start; }
.brief-grid > p { padding-left:1.4rem; border-left:4px solid var(--red); }
.brief-grid dl { background:rgba(255,255,255,.45); }
.brief-grid dl div { padding:1.15rem; }

.course { --velocity:0; min-height:608vh; background:
  radial-gradient(ellipse at 50% 14%,#20479e 0%,#0a226c 19%,transparent 42%),
  linear-gradient(180deg,#061038 0%,#0a1b62 31%,#221653 66%,#050b31 100%); }
.course-atmosphere { position:absolute; inset:0; background:
  linear-gradient(90deg,transparent 0 24%,rgba(205,226,255,.025) 43%,rgba(232,242,255,.07) 50%,rgba(205,226,255,.025) 57%,transparent 76%),
  repeating-linear-gradient(105deg,transparent 0 9vw,rgba(255,255,255,.025) 9.1vw 9.18vw); transform:translate3d(calc(var(--velocity) * -1px),0,0); will-change:transform; }
.course-fall-line { position:absolute; z-index:0; top:62vh; bottom:0; left:50%; width:18vw; min-width:120px; transform:translateX(-50%); opacity:.3; border-left:1px solid rgba(255,255,255,.13); border-right:1px solid rgba(255,255,255,.08); background:linear-gradient(90deg,transparent,rgba(215,232,255,.08),transparent); clip-path:polygon(34% 0,72% 0,100% 100%,0 100%); }
.course-fall-line i { position:absolute; left:50%; width:2px; height:12vh; background:rgba(255,255,255,.8); transform:translateX(-50%); box-shadow:0 0 14px white; }
.course-fall-line i:nth-child(1){top:4%}.course-fall-line i:nth-child(2){top:42%}.course-fall-line i:nth-child(3){top:79%}
.course-head { min-height:88vh; padding-top:clamp(7rem,13vw,12rem); }
.course-head::after { content:'52'; position:absolute; right:4vw; top:.52em; color:rgba(255,255,255,.045); font-family:var(--display); font-size:clamp(12rem,32vw,32rem); font-weight:900; line-height:.8; letter-spacing:-.15em; }
.course-head h2 { position:relative; z-index:1; max-width:1060px; font-size:clamp(4rem,9vw,9rem); }
.course-head > p:last-child { position:relative; z-index:1; padding:1.2rem 0 1.2rem 1.4rem; border-left:3px solid var(--blue); }
.timing-tower { top:calc(100vh - 190px); width:min(220px,31vw); padding:1rem 1.1rem 1.05rem; border-color:rgba(190,212,255,.32); border-top-width:4px; box-shadow:0 22px 70px rgba(0,0,0,.46),inset 0 0 26px rgba(44,93,255,.07); transform:translateY(22px); }
.tower-head { display:flex; justify-content:space-between; align-items:center; }
.tower-head > b { color:#8ba4d7; font-size:.44rem; letter-spacing:.12em; }
.tower-wires { display:grid; grid-template-columns:repeat(4,1fr); gap:4px; margin-top:.85rem; }
.tower-wires i { height:2px; background:#354373; }
.tower-wires i.passed { background:var(--green); box-shadow:0 0 8px var(--green); }
.gate-run { top:76vh; }
.gate-chapter { min-height:66vh; perspective:900px; }
.gate-chapter::after { content:''; position:absolute; left:50%; top:50%; width:1px; height:12vh; background:linear-gradient(transparent,rgba(255,255,255,.5),transparent); transform:translate(-50%,-50%); }
.gate-visual { width:min(350px,36vw); height:63vh; min-height:420px; opacity:.42; filter:drop-shadow(0 25px 30px rgba(0,0,0,.34)) saturate(.85); transition:opacity .35s ease,filter .35s ease; }
.gate-chapter.is-active .gate-visual { opacity:1; filter:drop-shadow(0 30px 38px rgba(0,0,0,.4)) saturate(1.2); }
.gate-visual::before,.gate-visual::after { width:11px; box-shadow:0 0 calc(12px + var(--velocity) * .25px) currentColor; }
.gate-visual i { top:29%; height:27%; background:linear-gradient(112deg,currentColor 0 48%,color-mix(in srgb,currentColor,white 18%) 49% 100%); }
.gate-copy { opacity:.84; transform:translateY(18px); transition:opacity .4s ease,transform .5s cubic-bezier(.16,1,.3,1); }
.gate-chapter.is-active .gate-copy { opacity:1; transform:none; }
.gate-copy h3 { font-size:clamp(2.2rem,4.2vw,4.7rem); line-height:.96; }
.gate-copy p { color:#d6e2fb; }
.gate-unforgettable::before { inset:3% 2%; border-color:rgba(125,255,154,.55); background:radial-gradient(circle at 50% 45%,rgba(125,255,154,.16),transparent 58%); box-shadow:inset 0 0 80px rgba(125,255,154,.04); }
.gate-unforgettable .gate-visual { filter:drop-shadow(0 0 38px rgba(125,255,154,.18)); }
.gate-unforgettable .gate-copy h3 { text-shadow:0 0 28px rgba(125,255,154,.17); }
.split-impact { position:fixed; z-index:30; inset:0; display:grid; place-content:center; pointer-events:none; opacity:0; color:var(--green); text-align:center; background:rgba(3,9,35,.72); backdrop-filter:blur(4px); }
.split-impact span { font-family:var(--display); font-size:clamp(7rem,22vw,20rem); font-weight:900; line-height:.75; letter-spacing:-.13em; text-shadow:0 0 55px rgba(125,255,154,.45); }
.split-impact b { margin-top:2rem; font-family:var(--display); font-size:clamp(.55rem,1vw,.8rem); letter-spacing:.22em; }
.split-impact.hit { animation:splitHit .82s cubic-bezier(.16,1,.3,1) both; }

.profile-section { min-height:112vh; grid-template-columns:1.05fr .95fr; background:
  linear-gradient(115deg,#f9fbff 0 46%,#dce9ff 46% 100%); }
.profile-section::after { content:'PROFILE / LIVE POSITION'; position:absolute; left:1.4rem; bottom:2rem; color:#65759d; font-family:var(--display); font-size:.46rem; letter-spacing:.15em; writing-mode:vertical-rl; }
.profile-copy h2 { font-size:clamp(2.7rem,5.2vw,5.5rem); line-height:.97; }
.profile-graphic { padding:1.4rem; transform:rotate(1.5deg); background:rgba(255,255,255,.64); box-shadow:24px 28px 0 rgba(29,103,255,.12),0 30px 80px rgba(17,46,110,.12); }
.physics { position:relative; overflow:hidden; background:linear-gradient(135deg,#050a2b,#09184e 62%,#151048); }
.physics::after { content:'35°'; position:absolute; right:-.09em; top:.05em; color:rgba(255,255,255,.035); font-family:var(--display); font-size:clamp(11rem,29vw,29rem); font-weight:900; letter-spacing:-.16em; }
.physics-intro,.angle-lab { position:relative; z-index:1; }
.angle-lab { border:0; background:linear-gradient(120deg,rgba(27,58,143,.72),rgba(4,9,35,.92)); box-shadow:0 30px 90px rgba(0,0,0,.35); }
.ski-stage { background:radial-gradient(circle at 50% 50%,rgba(68,126,255,.34),transparent 46%),repeating-radial-gradient(circle at center,transparent 0 54px,rgba(255,255,255,.035) 55px 56px); }
.wax-room { position:relative; background:linear-gradient(105deg,#d7e6fb 0 44%,#c5daf7 44% 100%); }
.cabinet { transform:rotate(-1deg); box-shadow:30px 34px 0 #91b3e8,0 38px 90px rgba(8,19,61,.28); }
.racecraft { background:#f7faff; }
.racecraft article { position:relative; overflow:hidden; }
.bib-draw::after,.judge-card::after { position:absolute; right:-.06em; bottom:-.3em; color:rgba(9,25,78,.045); font-family:var(--display); font-size:12rem; font-weight:900; }
.bib-draw::after { content:'07'; }.judge-card::after { content:'31'; }
.racecraft article > * { position:relative; z-index:1; }
.finish-board { min-height:105vh; background:radial-gradient(ellipse at 50% 8%,#3a5fc5,#0b154e 38%,#040926 76%); }
.finish-board h2 { text-shadow:0 18px 60px rgba(0,0,0,.35); }
.finish-line { clip-path:polygon(0 0,98% 0,100% 50%,98% 100%,0 100%); }
footer { min-height:230px; border-top:1px solid rgba(255,255,255,.08); background:linear-gradient(110deg,#02051a,#06103d); }
footer a { font-weight:500; }

@keyframes splitHit { 0%{opacity:0;transform:scale(1.16)} 14%{opacity:1;transform:scale(1)} 68%{opacity:1} 100%{opacity:0;transform:scale(.98)} }

@media (max-width:900px) {
  .hero-copy { width:calc(100% - 3rem); }
  .hero h1 { font-size:clamp(4rem,13vw,7rem); }
  .hero-spec { display:none; }
  .course { min-height:620vh; }
  .race-brief { grid-template-columns:1fr; }
  .race-brief .section-index,.brief-grid { grid-column:1; }
  .profile-section { grid-template-columns:1fr; }
  .gate-visual { opacity:.32; }
  .gate-chapter.is-active .gate-visual { opacity:.82; }
  .profile-section { background:linear-gradient(180deg,#f9fbff 0 52%,#dce9ff 52%); }
}

@media (max-width:600px) {
  .site-header { height:112px; grid-template-columns:1fr auto; align-content:start; padding:0 1rem; }
  .wordmark { height:62px; }
  .site-header nav { grid-column:1/-1; width:100%; height:50px; justify-content:space-between; border-top:1px solid rgba(255,255,255,.16); }
  .site-header nav a { justify-content:center; min-width:88px; font-size:.56rem; letter-spacing:.07em; }
  .hero { min-height:820px; }
  .hero-copy { margin-top:10.5rem; width:calc(100% - 2rem); transform:none; }
  .hero h1 { width:100%; font-size:clamp(3.65rem,18.5vw,5rem); line-height:.82; }
  .hero h1 i { right:.02em; top:-.15em; font-size:1.05em; }
  .hero-sub { grid-template-columns:1fr; gap:1.4rem; margin-top:1.9rem; padding-right:0; }
  .hero-sub p { max-width:350px; }
  .start-link { width:100%; justify-content:space-between; }
  .hero-timing { bottom:2.2rem; }
  .start-wand { left:52%; height:18vh; }
  .race-brief { min-height:0; padding:5.5rem 1.2rem; }
  .race-brief::after { display:none; }
  .race-brief h2 { font-size:2.55rem; }
  .brief-grid { grid-template-columns:1fr; }
  .brief-grid dl { grid-template-columns:1fr; }
  .brief-grid dl div:nth-child(odd) { margin-right:0; }
  .brief-grid > p { font-size:1.03rem; }
  .course { min-height:640vh; }
  .course-head { min-height:90vh; padding:6.5rem 1.2rem; }
  .course-head h2 { font-size:3.75rem; }
  .course-head > p:last-child { margin-top:2.5rem; }
  .gate-run { top:88vh; }
  .timing-tower { top:124px; width:139px; margin-right:.7rem; padding:.72rem .78rem; }
  .tower-wires { margin-top:.55rem; }
  .gate-chapter { min-height:68vh; }
  .gate-chapter::after { display:none; }
  .gate-visual { width:180px; height:48vh; min-height:320px; opacity:.23; }
  .gate-chapter.is-active .gate-visual { opacity:.65; }
  .side-left .gate-copy,.side-right .gate-copy { max-width:86%; }
  .gate-copy { opacity:.78; transform:none; }
  .gate-chapter.is-active .gate-copy { opacity:1; }
  .gate-copy h3 { font-size:2.2rem; }
  .ghost-trace { inset:1% -34%; width:168%; }
  .ghost-toggle { min-height:56px; flex-direction:column; align-items:flex-start; justify-content:center; gap:.28rem; }
  .split-impact span { font-size:29vw; }
  .profile-section { min-height:0; padding-top:6rem; }
  .profile-copy h2 { font-size:2.7rem; }
  .profile-graphic { transform:rotate(.6deg); }
  .cabinet { transform:none; }
  .finish-board { min-height:860px; }
  footer a { min-height:44px; }
}

@media (prefers-reduced-motion:reduce) {
  .course-atmosphere { transform:none!important; }
  .split-impact { display:none; }
  .ghost-trace { display:none; }
  .gate-copy,.gate-visual { opacity:1; transform:none; }
}
