.touge-page{background:#090b0d;color:#f4f4f0;--pad:clamp(24px,4.2vw,72px)}.journey{height:790svh;position:relative}.cinema{height:100svh;min-height:640px;position:sticky;top:0;overflow:hidden;background:#090b0d;isolation:isolate}#world{position:absolute;inset:0;z-index:-3}#world canvas{display:block;width:100%;height:100%}.cinema-vignette{position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(180deg,#030405a3 0%,transparent 25%,transparent 64%,#030405bf 89%,#030405ed),linear-gradient(90deg,#02050544,transparent 35%,transparent 75%,#02050544)}.cinema-grain{position:absolute;inset:0;pointer-events:none;opacity:.035;z-index:6;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.6' filter='url(%23n)'/%3E%3C/svg%3E")}.run-header{position:absolute;top:0;left:var(--pad);right:var(--pad);height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #ffffff29}.run-header .hive-wordmark{width:125px}.run-edition{font-size:12px;letter-spacing:.1em}.run-edition span{color:var(--lime);margin:0 12px}.back-home{font-size:14px;padding:12px 0;border-bottom:1px solid #ffffff70}.opening{position:absolute;left:var(--pad);top:17%;pointer-events:none;opacity:var(--intro-opacity,1);transform:translateY(calc(var(--intro-travel,0)*-40px))}.opening>.eyebrow{font-size:12px;letter-spacing:.18em;color:var(--lime);margin-bottom:22px}.opening h1{font-family:Display,sans-serif;font-size:clamp(90px,11vw,172px);line-height:.8;letter-spacing:-.025em}.opening h1 span{display:block;font-size:.64em;line-height:1.08!important;margin-top:8px}.opening-note{font-size:16px;margin-top:25px;color:#d4d6ce}.location{position:absolute;left:var(--pad);top:19%;pointer-events:none;opacity:var(--location-opacity,0);transform:translateY(calc((1 - var(--location-opacity,0))*18px));text-shadow:0 2px 35px #0008}.location-kicker{font-size:12px;letter-spacing:.16em;color:var(--lime)}.location h2{font-size:clamp(64px,7.5vw,116px);line-height:1;margin:16px 0 12px;max-width:560px}.location p{font-size:16px;color:#e6e6df}.camera-label{position:absolute;right:var(--pad);top:140px;display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.1em}.record-mark{width:7px;height:7px;border:1px solid var(--lime);border-radius:50%}.camera-rule{width:40px;height:1px;background:#ffffff55}.camera-label #night-time{color:var(--lime);font-variant-numeric:tabular-nums}.journey-bottom{position:absolute;bottom:28px;left:var(--pad);right:var(--pad)}.drive-controls{display:flex;align-items:center;gap:8px;margin-bottom:29px}.drive-controls button{min-height:44px;border:1px solid #ffffff4f;background:#111612b3;backdrop-filter:blur(15px);padding:0 16px;font-size:13px;color:#f4f4f0;transition:background .2s,border-color .2s}.drive-controls button:hover,.drive-controls button[aria-pressed=true]{border-color:var(--lime);color:var(--lime)}.play-glyph{font-size:10px;margin-right:10px}.scroll-instruction{margin-left:auto;font-size:12px;letter-spacing:.14em;color:#dfdfd7;display:flex;align-items:center;gap:22px}.scroll-instruction>span{font-size:25px;color:var(--lime);animation:scrollNudge 2s ease-in-out infinite}.route-nav{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;padding-top:21px}.route-line{position:absolute;left:0;right:0;top:0;height:1px;background:#ffffff45}.route-line i{display:block;height:2px;width:0;background:var(--lime)}.route-nav button{border:0;background:none;color:#d1d3cc;display:flex;align-items:center;gap:16px;text-align:left;font-size:14px;line-height:1.4;padding:0;min-height:35px}.route-nav button>span{font-size:12px;color:#93998e}.route-nav button[aria-current=step],.route-nav button[aria-current=step]>span{color:var(--lime)}.route-nav button:hover{color:white}.journey-number{position:absolute;right:var(--pad);bottom:187px;font-family:Display;font-size:80px;line-height:.8;color:var(--lime);display:flex;gap:9px;align-items:end}.journey-number-unit{font-family:Body;font-size:12px;color:#d2d5cb;margin-bottom:2px}.edge-mark{position:absolute;right:15px;top:50%;writing-mode:vertical-rl;font-size:10px;letter-spacing:.16em;opacity:.55}.journey-loading{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#090b0d;gap:24px;font-size:13px;letter-spacing:.05em;transition:opacity .5s}.journey-loading .pegasus-mark{width:110px;color:var(--lime)}.loading-rule{display:block;width:120px;height:2px;background:linear-gradient(90deg,var(--lime),transparent);animation:loading 1.2s ease-in-out infinite}.scene-ready .journey-loading{opacity:0;pointer-events:none}.journey-fallback{position:absolute;inset:0;z-index:0;background:#090b0d}.journey-fallback>img{height:100%;opacity:.7;object-position:center 65%}.journey-fallback>div{position:absolute;left:var(--pad);bottom:200px}.journey-fallback p{font-size:22px;margin-bottom:20px}.journey-fallback[hidden],.journey-loading[hidden]{display:none}.archive{padding:70px var(--pad) 28px;background:#f0f0eb;color:#111210;position:relative;overflow:hidden;isolation:isolate}.archive-top{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid #1113;padding-bottom:28px}.archive-top .eyebrow,.archive-top>span{font-size:12px;letter-spacing:.1em}.archive-layout{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:70px 0;align-items:center}.archive h2{font-size:clamp(72px,7vw,112px);line-height:.85}.archive h2 .blackletter{display:block;font-size:.94em;margin-top:15px}.archive-layout p{font-size:18px;margin:25px 0}.archive-layout .button{margin-right:24px;margin-bottom:22px;background:#111;color:#f4f4f0}.archive-layout .text-link{margin-bottom:22px}.archive-film{position:relative;max-width:560px;margin-left:auto;width:100%;height:400px;transform:rotate(2deg);background:#111;padding:12px 12px 43px}.archive-film video{width:100%;height:100%;object-fit:cover;object-position:center 62%;display:block}.archive-caption{font-size:11px;letter-spacing:.1em;position:absolute;bottom:17px;left:17px;color:#f3f4ec}.archive-pegasus{position:absolute;left:-60px;bottom:30px;width:600px;z-index:-1;background:#dfff00;opacity:.6;transform:rotate(-8deg)}.archive footer{display:flex;align-items:center;gap:30px;border-top:1px solid #1113;padding-top:30px}.archive footer .hive-wordmark{width:100px}.archive footer p{font-size:12px;line-height:1.8;color:#55594e;flex:1}.archive footer button{padding:10px 0;font-size:14px;border:0;border-bottom:1px solid #111;background:none;color:#111}.archive #credits{font-size:12px;line-height:1.7;margin-top:20px}.archive #credits a{text-decoration:underline}.scene-failed .journey{height:100svh}.scene-failed .journey-bottom,.scene-failed .journey-number,.scene-failed .camera-label,.scene-failed .opening,.scene-failed .location{display:none}@keyframes loading{50%{opacity:.3;transform:scaleX(.6)}}@keyframes scrollNudge{50%{transform:translateY(6px)}}
@media(max-width:800px){.journey{height:700svh}.cinema{min-height:680px}.run-header{height:80px}.run-header .hive-wordmark{width:99px}.run-edition{display:none}.back-home{font-size:13px}.opening{top:16%}.opening h1{font-size:clamp(85px,20vw,135px)}.opening>.eyebrow{font-size:11px;letter-spacing:.1em;margin-bottom:20px}.opening-note{font-size:14px;margin-top:20px;max-width:230px;line-height:1.5}.camera-label{top:105px;font-size:10px;gap:8px}.camera-rule{width:20px}.location{top:20%;max-width:calc(100% - 48px)}.location h2{font-size:clamp(59px,12vw,85px);max-width:340px;margin:12px 0}.location-kicker{font-size:11px}.location p{font-size:14px;max-width:250px}.edge-mark{display:none}.journey-bottom{bottom:23px}.drive-controls{flex-wrap:wrap;gap:7px;margin-bottom:23px}.drive-controls button{padding:0 11px;font-size:12px;min-height:42px}.drive-controls #camera-toggle{font-size:11px}.scroll-instruction{order:-1;width:100%;margin-left:0;justify-content:space-between;font-size:10px;letter-spacing:.12em;margin-bottom:9px}.scroll-instruction>span{font-size:20px}.route-nav{gap:10px;padding-top:16px}.route-nav button{display:block;font-size:11px;line-height:1.45;min-height:51px;align-self:start}.route-nav button>span{display:block;font-size:10px;margin-bottom:7px}.journey-number{font-size:57px;bottom:228px}.journey-number-unit{font-size:10px}.archive{padding-top:50px}.archive-top{gap:20px}.archive-top .eyebrow,.archive-top>span{font-size:10px;line-height:1.5;max-width:150px}.archive-top>span{text-align:right}.archive-layout{grid-template-columns:1fr;gap:35px;padding:55px 0 35px}.archive h2{font-size:76px}.archive-layout p{font-size:16px}.archive-film{height:380px;width:93%;margin:0 auto}.archive-pegasus{width:460px;bottom:260px;left:-50px}.archive footer{flex-wrap:wrap;gap:20px;padding-top:30px}.archive footer .hive-wordmark{width:98px}.archive footer p{flex-basis:calc(100% - 130px);font-size:11px}.archive footer button{font-size:13px}.archive #credits{font-size:12px}.archive-layout .button{margin-right:16px}.archive-layout .text-link{font-size:13px}}
@media(max-width:370px){.drive-controls button{padding:0 9px;font-size:11px}.drive-controls #camera-toggle{font-size:10px}.opening h1{font-size:83px}.route-nav button{font-size:10px}}
@media(prefers-reduced-motion:reduce){.scroll-instruction>span,.loading-rule{animation:none}.journey{height:100svh}.cinema{position:relative}.opening,.location{transform:none}.scene-ready .journey-loading{transition:none}}

/* Film is rendered at native 1920 × 1080; no grain or blur over the pixels. */
#night-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%;display:block;background:#090b0d}.full-film #night-film{object-fit:contain}.cinema-grain{display:none}.cinema-vignette{background:linear-gradient(180deg,#0009 0%,transparent 24%,transparent 63%,#000b 100%)}.location p:empty{display:none}.archive .live-version{font-size:13px;border-bottom:1px solid #111;padding:10px 0}.drive-controls button{font-size:14px}.location{pointer-events:none}
@media(max-width:800px){#night-film{object-position:52% center}.drive-controls button{font-size:12px}.cinema{min-height:680px}.full-film #night-film{object-position:center}.location h2{font-size:clamp(54px,12vw,76px)}}
.cinema{min-height:0}.opening-note{max-width:280px}.journey-bottom{z-index:2}
@media(max-height:650px){.run-header{height:68px}.run-header .hive-wordmark{width:96px}.camera-label{top:85px}.opening{top:111px}.opening h1{font-size:76px}.opening>.eyebrow{margin-bottom:12px}.opening-note{display:none}.location{top:115px}.location h2{font-size:54px;margin:8px 0}.location-kicker{font-size:11px}.journey-number{display:none}.journey-bottom{bottom:18px}.drive-controls{margin-bottom:15px}.scroll-instruction{display:none}.route-nav{padding-top:12px}.route-nav button{min-height:35px}.edge-mark{display:none}}

html.touge-film{scroll-behavior:auto}

/* Keep the car and changing camera angles at the center of the experience. */
.location{top:130px}.location h2{font-size:clamp(38px,4vw,62px);letter-spacing:.015em;margin:10px 0;max-width:440px}.location-kicker{font-size:10px}.camera-label{top:140px}.opening h1{font-size:clamp(80px,8vw,125px)}.journey-number{font-size:56px;opacity:.8}.record-mark{background:var(--lime);box-shadow:0 0 12px #dfff0055}.scene-ready .record-mark{animation:recordPulse 2s ease-in-out infinite}@keyframes recordPulse{50%{opacity:.4}}
@media(max-width:800px){.location{top:145px}.location h2{font-size:36px;max-width:300px}.camera-label{top:107px}.location-kicker{font-size:9px}.journey-number{font-size:42px;bottom:225px}.opening{top:160px}.opening h1{font-size:88px}.opening>.eyebrow{font-size:10px}.full-film .cinema-vignette{background:linear-gradient(180deg,#0006,transparent 35%,transparent 65%,#0008)}}
@media(max-height:650px){.location{top:92px}.location h2{font-size:32px}.camera-label{top:92px}.opening{top:95px}.opening h1{font-size:70px}.opening>.eyebrow{display:none}}
@media(prefers-reduced-motion:reduce){.scene-ready .record-mark{animation:none}}

/* V7: motorsport typography and the custom HIVE wordmark. */
.touge-page .hive-wordmark{aspect-ratio:320/90;mask:url('hive-racing.svg') center/contain no-repeat;-webkit-mask:url('hive-racing.svg') center/contain no-repeat}.race-italic{font-family:Display,Impact,sans-serif!important;font-style:italic;font-weight:800;text-transform:uppercase;color:var(--lime);letter-spacing:-.025em}.opening h1 .race-italic{font-size:.87em}.archive h2 .race-italic{display:block;font-size:.9em;color:#111;margin-top:10px}.opening h1{line-height:.9}.archive .button{font-weight:700}

/* Keep the film and controls clear of phone cutouts and browser chrome. */
.route-nav button,.archive footer button,.archive .live-version{min-height:44px}
@media(max-width:900px){
  .touge-page{--pad:max(20px,env(safe-area-inset-left),env(safe-area-inset-right))}
  .run-header{height:calc(80px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}
  .run-header>a{display:flex;align-items:center;min-height:44px}
  .camera-label{top:calc(103px + env(safe-area-inset-top));font-size:11px}
  .opening{top:calc(145px + env(safe-area-inset-top))}
  .opening h1{font-size:clamp(60px,18vw,88px)}
  .opening>.eyebrow,.location-kicker{font-size:12px;letter-spacing:.06em}
  .location{top:calc(140px + env(safe-area-inset-top))}
  .location h2{font-size:clamp(30px,8.7vw,40px)}
  .journey-bottom{bottom:calc(12px + env(safe-area-inset-bottom))}
  .drive-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}
  .drive-controls button,.drive-controls #camera-toggle{min-height:44px;font-size:14px;padding:0 10px}
  .drive-controls #autoplay{grid-column:1/-1}
  .scroll-instruction{grid-column:1/-1;font-size:12px;margin-bottom:0}
  .route-nav{gap:8px;padding-top:12px;grid-template-columns:repeat(5,minmax(0,1fr))}
  .route-nav button{font-size:12px;min-height:56px;overflow-wrap:normal}
  .route-nav button>span{font-size:11px;margin-bottom:4px}
  .journey-number{display:none}
  .archive footer{padding-bottom:env(safe-area-inset-bottom)}
  .archive footer p,.archive #credits{font-size:14px}
  .archive h2{font-size:clamp(56px,17vw,76px)}
  .archive-film{height:clamp(290px,94vw,400px)}
}
@media(max-width:900px) and (max-height:650px){
  .run-header{height:calc(62px + env(safe-area-inset-top))}
  .run-header .hive-wordmark{width:90px}
  .opening,.location{top:calc(80px + env(safe-area-inset-top))}
  .opening h1{font-size:clamp(48px,14vw,68px)}
  .camera-label{display:none}
  .location h2{font-size:30px;margin:6px 0}
  .journey-bottom{bottom:calc(8px + env(safe-area-inset-bottom))}
  .drive-controls{margin-bottom:10px;display:flex;flex-wrap:wrap;gap:6px}
  .drive-controls #autoplay{flex-basis:100%}
  .drive-controls #sound-toggle,.drive-controls #camera-toggle{flex:1}
  .scroll-instruction{display:none}
  .route-nav button{min-height:44px}
}
@media(max-width:950px) and (max-height:500px) and (orientation:landscape){
  .run-header{height:58px}
  .run-edition{display:none}
  .opening,.location{top:73px}
  .location h2{font-size:28px}
  .opening h1{font-size:52px}
  .drive-controls{display:flex;flex-wrap:nowrap;gap:8px;margin-bottom:8px}
  .drive-controls #autoplay{flex-basis:auto}
  .drive-controls #sound-toggle,.drive-controls #camera-toggle{flex:initial}
  .route-nav button{display:flex;align-items:center;gap:8px;font-size:12px;min-height:44px}
  .route-nav button>span{margin:0}
  .journey-bottom{bottom:max(6px,env(safe-area-inset-bottom))}
}

/* The picture and navigation are present before the first video frame. */
.film-poster,.film-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.full-film .film-poster img{object-fit:contain;object-position:center}
#night-film{opacity:1}
#night-film[data-media-state="streaming"],#night-film[data-media-state="cached"]{opacity:1}
.touge-film body:not(.scene-ready) .journey,.touge-film .scene-compact .journey{height:100svh}
.journey-loading{inset:auto;top:calc(96px + env(safe-area-inset-top));right:var(--pad);left:auto;max-width:230px;z-index:2;display:block;background:#090b0dc9;padding:10px 12px;font-size:12px;line-height:1.4;letter-spacing:0;pointer-events:none}
.journey-loading .pegasus-mark,.journey-loading .loading-rule{display:none}
.touge-page:not(.scene-ready) .camera-label{display:none}
.scene-ready .journey-loading{opacity:1}
.journey-fallback{inset:auto;top:calc(96px + env(safe-area-inset-top));right:var(--pad);max-width:260px;z-index:4;background:#090b0dee;padding:16px}
.journey-fallback>div{position:static}
.journey-fallback p{font-size:14px;margin-bottom:12px}
.journey-fallback .button{font-size:12px;min-height:44px;margin:4px 0;padding:8px 12px}
.scene-failed .journey-bottom,.scene-failed .opening{display:block}
@media(max-width:900px){.journey-loading{top:calc(87px + env(safe-area-inset-top));font-size:12px}.journey-fallback{top:auto;bottom:calc(210px + env(safe-area-inset-bottom));left:var(--pad);right:var(--pad);max-width:none}}
@media(max-height:500px) and (orientation:landscape){.journey-loading{top:74px}.journey-fallback{top:72px;bottom:auto;left:auto;max-width:260px}}

.journey-fallback>img{display:none}
.scene-ready #world>canvas{position:relative}
@media(max-width:900px) and (min-height:501px){.journey-fallback{bottom:calc(228px + env(safe-area-inset-bottom))}}

.scroll-instruction .ui-arrow{display:inline-block;width:14px;height:14px;vertical-align:-.2em;margin-left:5px;color:inherit}
