@font-face { font-family:'Chakra Petch'; src:url(fonts/chakra-petch-latin-600-normal.woff2) format('woff2'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'Chakra Petch'; src:url(fonts/chakra-petch-latin-700-normal.woff2) format('woff2'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:Figtree; src:url(fonts/figtree-latin-400-normal.woff2) format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:Figtree; src:url(fonts/figtree-latin-600-normal.woff2) format('woff2'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'JetBrains Mono'; src:url(fonts/jetbrains-mono-latin-500-normal.woff2) format('woff2'); font-weight:500; font-style:normal; font-display:swap; }
:root { color-scheme:dark; --bg:#0b0f14; --surface:#151b23; --text:#eef1f4; --muted:#b4bec9; --accent:#ff4d2e; --accent2:#3fe0c5; --rule:#35414d; --heading:'Chakra Petch',system-ui,sans-serif; --body:Figtree,system-ui,sans-serif; --mono:'JetBrains Mono',monospace; --gutter:clamp(22px,5vw,80px); }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:120px; }
body { margin:0; background:var(--bg); color:var(--text); font:400 1rem/1.65 var(--body); overflow-wrap:break-word; }
body::after { content:''; position:fixed; inset:0; pointer-events:none; z-index:90; opacity:.035; background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxODAiIGhlaWdodD0iMTgwIj48ZmlsdGVyIGlkPSJuIj48ZmVUdXJidWxlbmNlIHR5cGU9ImZyYWN0YWxOb2lzZSIgYmFzZUZyZXF1ZW5jeT0iLjkiIG51bU9jdGF2ZXM9IjMiIHN0aXRjaFRpbGVzPSJzdGl0Y2giLz48L2ZpbHRlcj48cGF0aCBmaWx0ZXI9InVybCgjbikiIG9wYWNpdHk9Ii43IiBkPSJNMCAwaDE4MHYxODBIMHoiLz48L3N2Zz4="); }
.page { min-width:0; }
main { isolation:isolate; overflow:clip; }
::selection { background:var(--accent2); color:var(--bg); }
a { color:inherit; text-underline-offset:.25em; text-decoration-thickness:1px; }
a:hover { color:var(--accent2); }
:focus-visible { outline:3px solid var(--accent2); outline-offset:6px; }
img { display:block; width:100%; height:auto; object-fit:cover; }
svg,canvas { display:block; max-width:100%; }
figure,p,ul,ol { margin:0; }
h1,h2,h3 { margin:0; font-family:var(--heading); font-weight:700; line-height:1.05; text-wrap:balance; }
p+p { margin-top:1.2em; }
.wrap { width:min(100% - 2 * var(--gutter),1440px); margin-inline:auto; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.skip-link { position:fixed; top:14px; left:14px; z-index:110; padding:12px 20px; background:var(--accent2); color:var(--bg); transform:translateY(-180%); }
.skip-link:focus { transform:none; }
.cursor { display:none; pointer-events:none; }
.cursor.is-active { background:#3fe0c518; }
.scroll-progress { position:fixed; inset:0 0 auto; height:3px; pointer-events:none; z-index:100; }
.scroll-progress span { display:block; height:100%; background:var(--accent); box-shadow:0 0 16px var(--accent); transform:scaleX(0); transform-origin:left; }
.site-header { position:fixed; inset:0 0 auto; z-index:50; border-bottom:1px solid #eef1f422; background:linear-gradient(#0b0f14b8,transparent); transition:transform .3s,background .3s; }
.site-header.is-scrolled { background:#0b0f14e8; backdrop-filter:blur(18px); }
.site-header.is-hidden { transform:translateY(-100%); }
.site-header:focus-within { transform:none; }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:88px; }
.brand { display:inline-flex; align-items:center; gap:14px; flex-shrink:0; text-transform:uppercase; font:700 1.25rem/1 var(--heading); letter-spacing:-.04em; text-decoration:none; }
.brand-mark { width:25px; height:30px; transform:skew(-22deg); background:repeating-linear-gradient(0deg,var(--accent) 0 6px,transparent 6px 10px); }
.site-nav ul,.footer-nav ul { display:flex; flex-wrap:wrap; gap:6px 24px; padding:0; list-style:none; }
.site-nav a { display:block; padding:15px 0; font-size:.78rem; font-weight:600; text-decoration:none; }
.site-nav a:hover,.site-nav a[aria-current] { color:var(--accent2); box-shadow:inset 0 -2px var(--accent); }
.hero { min-height:100vh; min-height:100svh; position:relative; isolation:isolate; display:flex; align-items:center; padding:150px 0 110px; background:var(--bg); }
.hero-canvas { position:absolute; inset:0; width:100%; height:100%; z-index:-2; visibility:hidden; pointer-events:none; }
.hero-inner { position:static; }
.hero-media { position:absolute; inset:0; z-index:-3; }
.hero-media img { height:100%; object-position:65% center; }
.hero-media::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#0b0f14ef 0%,#0b0f1499 48%,#0b0f1420),linear-gradient(0deg,var(--bg),transparent 40%); }
.js .hero.scene-ready:not(.no-webgl) .hero-media { visibility:hidden; }
html:not(.js) .hero-canvas,.no-webgl .hero-canvas { display:none; }
.hero::before { content:''; position:absolute; inset:88px var(--gutter) 55px auto; width:14%; border-right:1px solid #eef1f42b; background:repeating-linear-gradient(0deg,transparent 0 39px,#eef1f418 39px 40px); pointer-events:none; }
.hero::after { content:''; position:absolute; bottom:28px; left:40%; width:65%; height:4px; transform:rotate(-9deg); background:repeating-linear-gradient(110deg,var(--accent) 0 36px,var(--text) 36px 72px); box-shadow:0 -12px 0 #ff4d2e25; }
.hero-text { max-width:970px; }
.eyebrow { font:500 .7rem/1.6 var(--mono); color:var(--accent2); text-transform:uppercase; letter-spacing:.16em; margin-bottom:24px; }
.eyebrow::before { content:''; display:inline-block; width:22px; height:3px; background:var(--accent); margin:0 12px 3px 0; }
.display { font:700 clamp(3rem,7.6vw,8rem)/.98 var(--heading); text-transform:uppercase; letter-spacing:-.055em; }
.hero .display { max-width:11ch; font-size:clamp(3.6rem,8.6vw,9rem); text-shadow:0 3px 35px #0b0f1480; }
.hero .display .word:last-child { color:var(--accent); }
.word { display:inline-block; vertical-align:top; max-width:100%; }
.word-inner { display:inline-block; max-width:100%; }
.display em,.section-title em { color:var(--accent); font-style:normal; }
.lead { font-size:clamp(1.05rem,1.35vw,1.25rem); color:#d0d7de; line-height:1.7; max-width:60ch; }
.hero .lead { max-width:46ch; margin-top:30px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:14px 24px; font:600 .86rem var(--body); border:1px solid #a3aebc60; text-decoration:none; transition:background .2s,box-shadow .2s; }
.btn-primary { background:var(--accent); border-color:var(--accent); color:var(--bg); box-shadow:5px 5px 0 #ff4d2e22; }
.btn-primary:hover { color:var(--bg); background:#ff785e; box-shadow:7px 7px 0 #ff4d2e38; }
.btn-primary::after { content:'\2197'; margin-left:30px; }
.btn-ghost { background:#0b0f1480; }
.btn-ghost:hover { background:var(--surface); }
.scroll-cue { position:absolute; bottom:32px; left:var(--gutter); font:500 .72rem var(--mono); text-transform:uppercase; letter-spacing:.16em; }
.scroll-cue span::before { content:''; display:inline-block; width:35px; height:1px; background:var(--accent2); vertical-align:middle; margin-right:14px; }
.section { position:relative; padding-block:clamp(80px,9vw,144px); }
.section-title { max-width:17ch; font-size:clamp(2.4rem,4.6vw,5rem); text-transform:uppercase; letter-spacing:-.045em; }
.section-intro { max-width:58ch; margin-top:24px; color:var(--muted); }
.section-intro a { color:var(--text); }
.section-intro-band { padding-block:100px 110px; background:var(--surface); clip-path:polygon(0 12%,100% 0,100% 88%,0 100%); }
.intro-line { max-width:1000px; margin-left:auto; padding-left:clamp(24px,4vw,64px); border-left:3px solid var(--accent); font:600 clamp(1.4rem,2.5vw,2.5rem)/1.45 var(--heading); letter-spacing:-.02em; }
.section-ladder { background:radial-gradient(ellipse at 0 55%,#3fe0c508,transparent 65%); }
.ladder-pin,.line-pin,.circuits-pin { position:relative; min-width:0; }
.ladder-inner { display:grid; grid-template-columns:.85fr 1.35fr; gap:7%; align-items:start; }
.ladder-head { min-width:0; }
.ladder-meter { height:4px; margin-top:36px; background:var(--rule); }
.ladder-meter-fill { display:block; width:100%; height:100%; background:var(--accent2); box-shadow:0 0 18px #3fe0c54d; transform-origin:left; }
.rung-list { padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 24px; }
.rung { position:relative; display:grid; grid-template-columns:28px 1fr; gap:10px; padding:20px 12px 20px 0; border-top:1px solid var(--rule); transition:background .3s,border-color .3s; }
.rung-no,.rung-meta,.line-step-no { font-family:var(--mono); color:var(--accent2); }
.rung-no { font-size:.75rem; padding-top:3px; }
.rung-title { font-size:clamp(1.15rem,1.7vw,1.6rem); }
.rung-text,.rung-meta { grid-column:2; }
.rung-text { color:#c6cfd8; font-size:.88rem; line-height:1.6; }
.rung-meta { font-size:.72rem; }
.rung.is-active { border-color:var(--accent); background:linear-gradient(120deg,#ff4d2e16,transparent); }
.rung.is-active .rung-no { color:var(--accent); }
.rung.is-passed { border-color:#3fe0c570; }
.section-anatomy { background:var(--surface); clip-path:polygon(0 4%,100% 0,100% 96%,0 100%); padding-block:150px; }
.anatomy-inner { display:grid; grid-template-columns:1.2fr 1fr; gap:6%; align-items:center; }
.anatomy-media { clip-path:polygon(8% 0,100% 0,92% 100%,0 100%); margin-left:calc(-1 * var(--gutter)); }
.anatomy-media img { height:clamp(450px,48vw,740px); object-position:56% center; }
.anatomy-text { min-width:0; }
.spec-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 24px; list-style:none; padding:0; margin-top:38px; }
.spec { border-top:1px solid #65727e; padding-top:16px; }
.spec-value { font:500 clamp(2.3rem,3.8vw,4.1rem)/1 var(--mono); color:var(--accent2); letter-spacing:-.08em; }
.spec-unit { font:500 .75rem var(--mono); color:var(--accent2); }
.spec-label { display:block; margin-top:12px; color:var(--muted); font-size:.76rem; line-height:1.6; }
.section-line { background:var(--bg); }
.line-inner { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:7%; }
.line-text { min-width:0; }
.line-steps { list-style:none; padding:0; margin-top:30px; }
.line-step { display:grid; grid-template-columns:30px 1fr; gap:6px 14px; border-top:1px solid var(--rule); padding:14px 0; }
.line-step-no { font-size:.72rem; }
.line-step h3 { font-size:1.2rem; }
.line-step p { grid-column:2; font-size:.86rem; color:#c6cfd8; }
.line-step.is-active { border-top-color:var(--accent2); }
.line-step.is-active h3 { color:var(--accent2); }
.line-figure { position:relative; border:1px solid var(--rule); background:repeating-linear-gradient(0deg,transparent 0 49px,#3fe0c510 49px 50px),repeating-linear-gradient(90deg,transparent 0 49px,#3fe0c510 49px 50px),var(--surface); }
.line-figure::after { content:''; position:absolute; width:16px; height:16px; right:-1px; top:-1px; border-top:2px solid var(--accent2); border-right:2px solid var(--accent2); }
.corner-svg { width:100%; height:auto; }
.track-edge { fill:none; stroke:#8595a3; stroke-width:3; }
.kerb { fill:none; stroke:var(--text); stroke-width:14; stroke-dasharray:16 12; }
.racing-line { fill:none; stroke:var(--accent); stroke-width:5; stroke-linecap:round; stroke-dasharray:none; stroke-dashoffset:0; filter:drop-shadow(0 0 7px #ff4d2eaa); }
.line-marker { fill:var(--accent2); stroke:var(--bg); stroke-width:4; }
.line-marker.is-active { filter:drop-shadow(0 0 7px #3fe0c580); }
.section-circuits { isolation:isolate; background:var(--surface); border-block:1px solid var(--rule); }
.circuits-head .section-title { max-width:none; }
.circuits-media { position:absolute; inset:0; z-index:-1; opacity:.2; overflow:hidden; }
.circuits-media img { height:100%; }
.circuits-media::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,var(--bg),transparent); }
.circuit-reel { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; padding:0; list-style:none; width:min(100% - 2 * var(--gutter),1440px); margin:44px auto 0; counter-reset:venue; }
.circuit-card { position:relative; min-width:0; padding:30px; border:1px solid #6b7a8955; border-top:3px solid var(--accent); background:#0b0f14ed; counter-increment:venue; }
.circuit-card::after { content:'0' counter(venue); position:absolute; right:25px; top:23px; color:#94a2b0; font:500 .7rem var(--mono); }
.circuit-country { color:var(--accent2); font:500 .7rem var(--mono); letter-spacing:.12em; text-transform:uppercase; padding-right:28px; }
.circuit-name { font-size:clamp(1.8rem,2.8vw,3rem); margin-top:30px; letter-spacing:-.035em; }
.circuit-figure { margin-top:36px; }
.circuit-value { font:500 clamp(2.1rem,3.6vw,3.8rem)/1 var(--mono); letter-spacing:-.06em; }
.circuit-unit { display:block; color:var(--accent2); font:500 .72rem var(--mono); margin-top:8px; }
.circuit-text { color:var(--muted); font-size:.9rem; margin-top:26px; }
.card-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:48px 28px; margin-top:50px; counter-reset:guide; }
.card { grid-column:span 2; min-width:0; position:relative; display:flex; flex-direction:column; padding-bottom:24px; border-bottom:1px solid var(--rule); counter-increment:guide; }
.card:first-child,.card:nth-child(2) { grid-column:span 3; }
.card-media { overflow:hidden; clip-path:polygon(0 0,100% 0,100% 92%,0 100%); margin-bottom:26px; }
.card-media img { aspect-ratio:1.65; transition:transform .6s; }
.card:hover .card-media img { transform:scale(1.045); }
.card-title { font-size:clamp(1.6rem,2.5vw,2.5rem); text-transform:uppercase; letter-spacing:-.025em; }
.card-title::before { content:'0' counter(guide); display:inline-block; vertical-align:middle; font:500 .72rem var(--mono); color:var(--accent); margin-right:14px; }
.card-text { color:var(--muted); font-size:.95rem; margin:16px 0 28px; max-width:52ch; }
.card-link { margin-top:auto; align-self:flex-start; color:var(--accent2); font:500 .75rem var(--mono); padding:8px 0; }
.card-link::after { content:'\2197'; padding-left:24px; color:var(--accent); }
.partners-slot { min-height:0; }
.partners-slot:empty { display:none; }
.section-partners { padding-inline:var(--gutter); border-top:1px solid var(--rule); background:var(--surface); }
.section-partners .section-title { margin-bottom:40px; }
.partner-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:20px; padding:0; list-style:none; }
.partner { min-width:0; padding:28px; background:var(--bg); border-top:2px solid var(--accent); overflow-wrap:anywhere; }
.partner-link { color:var(--accent2); overflow-wrap:anywhere; }
.partner-phrase { font:600 1.2rem/1.4 var(--heading); margin-top:18px; }
.partner-desc { color:var(--muted); font-size:.9rem; }
.page-sub { background:var(--bg); }
.article { position:relative; isolation:isolate; padding:145px 0 110px; }
.page-hero { position:absolute; inset:0 0 auto; height:780px; overflow:hidden; z-index:-1; }
.page-hero img { height:100%; opacity:.42; object-position:center 40%; }
.page-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#0b0f14cc,transparent),linear-gradient(0deg,var(--bg),transparent 90%); }
.breadcrumb { display:flex; flex-wrap:wrap; gap:12px; font:500 .7rem/1.7 var(--mono); color:var(--muted); }
.breadcrumb a { color:var(--accent2); }
.page-header { padding:clamp(32px,6vw,80px) 0; max-width:1100px; background:linear-gradient(90deg,#0b0f14 15%,#0b0f1480),url('img/street.jpg') center / cover; }
.page-header .display { font-size:clamp(2.5rem,5.8vw,6rem); max-width:22ch; }
.title-line { display:block; height:4px; width:110px; background:var(--accent); margin-block:30px; box-shadow:18px 0 0 #ff4d2e33; transform:skew(-25deg); }
.page-header .lead { max-width:65ch; }
.prose { position:relative; isolation:isolate; max-width:850px; padding:clamp(24px,4vw,64px); margin-left:clamp(0px,8vw,120px); background:transparent; border-top:2px solid var(--accent); color:#d0d7de; font-size:clamp(1rem,1.2vw,1.125rem); line-height:1.85; }
.prose::before { content:''; position:absolute; inset:-12px 0; z-index:-1; background:var(--surface); clip-path:polygon(0 12px,100% 0,100% calc(100% - 12px),0 100%); }
.prose h2 { color:var(--text); font-size:clamp(1.6rem,2.6vw,2.4rem); line-height:1.2; letter-spacing:-.025em; margin:2.2em 0 .8em; }
.prose h2:first-child { margin-top:0; }
.prose h3 { margin:2em 0 .7em; }
.prose a { color:var(--accent2); overflow-wrap:anywhere; }
.prose ul,.prose ol { padding-left:1.3em; margin-block:1.5em; }
.prose li { padding-left:.3em; margin-block:.6em; }
.prose li::marker { color:var(--accent2); }
.prose strong { color:var(--text); }
.note { padding:24px; margin-block:32px; border-left:3px solid var(--accent2); background:#1b3034; color:#e0eceb; font-size:.95rem; }
.sources { margin-top:40px; padding-top:24px; border-top:1px solid #53616e; color:var(--muted); font-size:.8rem; }
.more-guides { margin-top:70px; padding-top:30px; border-top:1px solid var(--rule); }
.more-guides h2 { font-size:1.6rem; text-transform:uppercase; }
.more-guides ul { display:grid; grid-template-columns:1fr 1fr; gap:0 40px; list-style:none; padding:0; margin-top:24px; }
.more-guides li { border-bottom:1px solid var(--rule); }
.more-guides a { display:block; padding:20px 0; text-decoration:none; }
.page-plain .page-header { max-width:900px; }
.page-plain .article { background:radial-gradient(ellipse at 90% 10%,#3fe0c50a,transparent 45%); }
.site-footer { position:relative; padding:60px 0; background:#080b10; border-top:1px solid var(--rule); }
.site-footer::before { content:''; position:absolute; top:-3px; left:var(--gutter); width:180px; height:5px; background:repeating-linear-gradient(110deg,var(--accent) 0 16px,var(--text) 16px 32px); }
.footer-inner { display:grid; grid-template-columns:1.2fr 1fr; gap:10%; }
.footer-note { font-size:.8rem; color:var(--muted); max-width:64ch; }
.footer-nav ul { gap:10px 22px; }
.footer-nav a { display:inline-block; font-size:.8rem; padding:5px 0; text-decoration:none; }
@media (max-width:1100px) {
 .header-inner { gap:10px; flex-wrap:wrap; padding-block:17px 10px; }
 .site-nav ul { gap:4px 16px; }
 .site-nav a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; padding-block:7px; }
 .ladder-inner { grid-template-columns:.8fr 1.2fr; gap:5%; }
 .rung-list { grid-template-columns:1fr; }
 .anatomy-inner { grid-template-columns:1fr 1.1fr; gap:4%; }
}
@media (max-width:899px) {
 .hero { padding-top:180px; }
 .hero .display { font-size:clamp(3.6rem,10vw,6.5rem); }
 .hero::before { width:20%; }
 .section-title { max-width:20ch; }
 .ladder-inner,.line-inner,.anatomy-inner { grid-template-columns:1fr; gap:42px; }
 .rung-list { grid-template-columns:1fr 1fr; }
 .ladder-head { max-width:620px; }
 .section-anatomy { padding-block:100px; }
 .anatomy-media { margin-inline:calc(-1 * var(--gutter)); }
 .anatomy-media img { height:430px; }
 .anatomy-text { order:-1; }
 .line-figure { width:min(100%,580px); margin:auto; }
 .circuit-reel { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .card-grid { gap:36px 22px; }
 .card,.card:first-child,.card:nth-child(2) { grid-column:span 3; }
 .card:last-child { grid-column:span 6; }
 .card:last-child .card-media img { aspect-ratio:2.2; }
 .prose { margin-left:0; }
 .article { padding-top:165px; }
 .footer-inner { grid-template-columns:1fr; gap:30px; }
}
@media (max-width:540px) {
 .header-inner { min-height:116px; }
 .brand { font-size:1.08rem; }
 .brand-mark { width:20px; height:24px; }
 .site-nav { width:100%; }
 .site-nav li { flex:0 0 calc((100% - 32px) / 3); }
 .hero { padding:195px 0 95px; }
 .article { padding-top:195px; }
 .hero .display { font-size:clamp(3.25rem,13.7vw,4.6rem); }
 .hero .lead { font-size:1rem; margin-top:24px; }
 .hero .eyebrow { font-size:.72rem; letter-spacing:.08em; }
 .hero::before { inset:135px var(--gutter) 70px auto; width:12%; }
 .hero-actions { gap:10px; }
 .btn { padding:13px 16px; font-size:.78rem; }
 .btn-primary::after { margin-left:12px; }
 .hero::after { left:62%; bottom:40px; }
 .section-intro-band { padding-block:78px; }
 .rung-list { grid-template-columns:1fr; }
 .rung { padding-block:24px; }
 .rung-title { font-size:1.5rem; }
 .rung-text { font-size:.95rem; }
 .rung-meta { font-size:.7rem; }
 .anatomy-media img { height:300px; }
 .spec-list { gap:26px 18px; }
 .circuit-reel { grid-template-columns:1fr; }
 .circuit-card { padding:28px; }
 .circuit-name { font-size:2.4rem; }
 .circuit-value { font-size:3rem; }
 .card-grid { grid-template-columns:1fr; }
 .card,.card:first-child,.card:nth-child(2),.card:last-child { grid-column:auto; }
 .card:last-child .card-media img { aspect-ratio:1.65; }
 .page-header .display { font-size:clamp(2.2rem,9.5vw,3.2rem); }
 .prose { padding:26px 20px; }
 .note { padding:18px; }
 .more-guides ul { grid-template-columns:1fr; }
 .breadcrumb { font-size:.72rem; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { animation:none !important; transition:none !important; }
 .hero-canvas,.cursor { display:none !important; }
 .js .hero.scene-ready .hero-media { visibility:visible; }
 .site-header.is-hidden { transform:none !important; }
 .word-inner,[data-reveal],.rung,.line-step,.circuit-card,.prose h2,.note { opacity:1 !important; transform:none !important; }
 .racing-line { stroke-dasharray:none !important; stroke-dashoffset:0 !important; }
 .card:hover .card-media img { transform:none; }
}
.page-home { background-color:var(--bg); }
html:not(.js) .racing-line,.racing-line:not(.is-drawing) { stroke-dasharray:none !important; stroke-dashoffset:0 !important; }

.nowrap { white-space:nowrap; }

/* Mobile: one-row header, nav scrolls sideways inside it */
@media (max-width:760px) {
 .site-header .header-inner { flex-direction:row; flex-wrap:nowrap; align-items:center; min-height:64px; padding-block:4px; gap:12px; }
 .brand { flex-shrink:0; }
 .site-nav { flex:1 1 0; width:auto; min-width:0; overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none; -webkit-overflow-scrolling:touch; }
 .site-nav::-webkit-scrollbar { display:none; }
 .site-nav ul { flex-wrap:nowrap; gap:0 16px; width:max-content; }
 .site-nav li { flex:0 0 auto; }
 .site-nav a { display:inline-flex; align-items:center; min-height:44px; padding-block:0; white-space:nowrap; }
 .site-nav a:focus-visible { outline-offset:-3px; }
 .hero { padding-top:120px; }
 .article { padding-top:110px; }
}
