/* Layout evolution inspired by Quantexa. Original theme tokens stay unchanged. */
html { scroll-padding-top: 110px; }
[hidden] { display: none !important; }
.hero { display: block; min-height: 850px; padding: 138px 0 65px; text-align: center; }
.hero::before { content: ""; position: absolute; inset: 110px 0 40px; border: 1px solid var(--line); border-radius: 38px; pointer-events: none; background: linear-gradient(145deg,rgba(117,106,167,.09),transparent); }
.hero-copy { max-width: 820px; margin: auto; }
.event-chip { padding: 10px 18px; border: 1px solid var(--line); border-radius: 30px; background: var(--night); }
.hero h1 { font-size: clamp(5rem,10vw,9.2rem); line-height: .94; margin: 28px auto 0; max-width: 800px; }
.hero h1 > span { display: block; }
.hero-tagline { color: var(--cyan); font-size: 15px; margin: 24px 0 0; letter-spacing: .04em; }
.hero-intro { max-width: 520px; margin: 18px auto 0; font-size: 16px; }
.hero-actions { justify-content: center; margin-top: 24px; }
.hero-meta { width: min(740px,90%); margin: 34px auto 0; padding: 0; border: 1px solid var(--line); border-radius: 18px; display: grid; grid-template-columns: repeat(4,1fr); gap: 0; background: var(--night); }
.hero-meta div { padding: 18px 12px; }
.hero-meta div + div { border-left: 1px solid var(--line); }
.hero-meta strong { font-size: 18px; }
.hero-meta span { font-size: 12px; }
.hero-stage { position: absolute; width: 245px; height: 350px; min-height: 0; right: 12px; top: 225px; margin: 0; pointer-events: none; }
.hero-character { width: 100%; opacity: .92; }
.stage-note { bottom: -55px; right: 20px; text-align: left; }
.stage-note span { font-size: 12px; }
.stage-note strong { font-size: 14px; }
.floating-code { display: none; }
.countdown-strip { max-width: 1180px; margin: 0 auto; padding: 28px 30px; border: 1px solid var(--line); border-radius: 24px; min-height: 120px; }
.countdown-strip>p { font-size: 12px; }
.manifesto { padding-top: 100px; text-align: center; overflow: visible; }
.manifesto h2 { font-size: clamp(3rem,5.5vw,5rem); margin-top: 20px; }
.manifesto-text { max-width: 720px; margin: 26px auto 40px; font-size: 19px; line-height: 1.65; letter-spacing: -.015em; }
.overview-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; text-align: left; }
.overview-card { border: 1px solid var(--line); border-radius: 24px; padding: 30px; background: linear-gradient(145deg,rgba(117,106,167,.1),transparent); }
.overview-symbol { font-size: 28px; color: var(--cyan); display: inline-block; transition: transform .4s; }
.overview-card:hover .overview-symbol { transform: translateY(-5px) rotate(12deg); }
.overview-card h3 { font-size: 21px; color: var(--cream); margin-bottom: 12px; }
.overview-card p { color: var(--muted); font-size: 16px; line-height: 1.65; margin: 0; }
.marquee { width: 100%; margin: 42px 0 0; border-radius: 12px; transform: none; }
.tracks,.schedule,.prizes,.judges,.faq { padding-top: 105px; }
.section-head { display: block; max-width: 760px; margin: 0 auto 42px; text-align: center; }
.section-head h2,.schedule h2,.faq h2 { font-size: clamp(3rem,5.5vw,5rem); line-height: 1.02; }
.section-head p { max-width: 550px; margin: 24px auto 0; }
.judge-avatar { height: 130px; }
.judge { padding: 16px; }
.judge p { font-size: 14px; }
.track-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; max-width: 1020px; margin: auto; }
.track-card { min-height: 300px; padding: 30px; overflow: hidden; }
.track-glyph { margin: 24px 0 18px; }
.track-card h3 { font-size: 27px; }
.track-card p { font-size: 16px; max-width: 330px; }
.track-card small { font-size: 12px; color: var(--muted); }
.track-number { position: absolute; right: 30px; top: 28px; font-size: 14px; }
.schedule { display: block; }
.schedule-copy { position: static; text-align: center; max-width: 760px; margin: 0 auto 40px; }
.schedule-copy>p { max-width: 580px; margin: 22px auto; }
.schedule-copy .secondary-button { display: none; }
.timeline { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; border: 0; max-width: 1020px; margin: auto; }
.timeline li { position: relative; grid-template-columns: 72px 1fr; min-height: 155px; border: 1px solid var(--line); border-radius: 20px; padding: 26px; background: rgba(117,106,167,.06); overflow: hidden; }
.timeline li:hover { padding-inline: 26px; }
.timeline time { font-size: 15px; }
.timeline span { font-size: 14px; line-height: 1.6; }
.timeline b { position: absolute; right: 12px; bottom: -8px; font-size: 52px; pointer-events: none; }
.prizes h2 { margin-bottom: 48px; font-size: clamp(3rem,5.5vw,5rem); }
.prize-card span { font-size: 13px; }
.prize-card p,.prize-footnote { font-size: 14px; line-height: 1.6; }
.prize-card.first { min-height: 340px; }
.faq { display: block; padding-bottom: 105px; }
.faq-heading { position: static; text-align: center; margin-bottom: 38px; }
.accordion { max-width: 820px; margin: auto; }
.accordion p { font-size: 16px; }
.final-cta { min-height: 520px; }
.final-cta h2 { font-size: clamp(3rem,5.5vw,5rem); }
.site-footer { padding-bottom: 80px; }
.event-dock { position: fixed; z-index: 45; bottom: 18px; left: 50%; translate: -50% 0; width: min(650px,calc(100% - 32px)); display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 14px 12px 24px; border: 1px solid var(--line); border-radius: 24px; background: var(--night); box-shadow: 0 10px 45px rgba(0,0,0,.25); animation: dock-enter .45s both; }
.event-dock strong,.event-dock span { display: block; }
.event-dock strong { font-size: 14px; }
.event-dock span { color: var(--muted); font-size: 12px; margin-top: 3px; }
.event-dock>a { font-size: 14px; }
.event-dock .primary-button { min-height: 44px; padding: 0 20px; font-size: 14px; }
.booting .event-dock { visibility: hidden; }
.reading-line { position: fixed; z-index: 80; top: 0; left: 0; width: 100%; height: 2px; background: var(--cyan); transform: scaleX(var(--reading,0)); transform-origin: left; pointer-events: none; }
.word-mask { display: inline-block; overflow: clip; vertical-align: bottom; padding-bottom: .12em; margin-bottom: -.12em; }
.motion-word { display: inline-block; will-change: transform; }
@keyframes dock-enter { from { opacity: 0; translate: -50% 20px; } to { opacity: 1; translate: -50% 0; } }
@media(min-width:1450px) { .hero-stage { right: -40px; width: 290px; height: 390px; } }
@media(max-width:1100px) { .hero-stage { width: 230px; height: 340px; right: -8px; top: 220px; opacity: .55; } .stage-note { display: none; } .hero-copy { max-width: 720px; } }
@media(max-width:760px) {
  .hero { padding-top: 120px; min-height: 0; padding-bottom: 40px; }
  .hero::before { inset: 95px 0 20px; border-radius: 26px; }
  .hero-copy { padding: 0 18px; }
  .hero h1 { font-size: clamp(4.1rem,15vw,7rem); }
  .hero-stage { position: relative; width: 240px; height: 310px; right: auto; top: auto; margin: 12px auto 0; opacity: 1; }
  .hero-stage .hero-character { width: 100%; }
  .hero-meta { width: 100%; grid-template-columns: repeat(2,1fr); }
  .hero-meta div:nth-child(3) { border-left: 0; }
  .hero-meta div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .hero-actions { gap: 16px; }
  .event-chip { font-size: 11px; letter-spacing: .035em; padding: 10px; }
  .countdown-strip { width: calc(100% - 28px); grid-template-columns: 1fr; gap: 18px; padding: 25px 14px; text-align: center; }
  .countdown-place { text-align: center; }
  .overview-grid { grid-template-columns: 1fr; }
  .track-grid,.timeline { grid-template-columns: 1fr; }
  .judge-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .judge h3 { font-size: 16px; }.judge p { font-size: 12px; }
  .judge-avatar { height: 100px; }
  .manifesto,.tracks,.schedule,.prizes,.judges,.faq { padding-top: 80px; }
  .manifesto-text { font-size: 17px; }
  .timeline li { min-height: 150px; padding: 20px; gap: 12px; }
  .timeline li:hover { padding-inline: 20px; }
  .event-dock { padding: 10px 12px; gap: 8px; border-radius: 18px; bottom: 10px; }
  .event-dock>a { display: none; }
  .event-dock .primary-button { padding-inline: 14px; font-size: 13px; }
  .event-dock span { font-size: 11px; }
  .site-footer { padding-bottom: 140px; }
}
@media(prefers-reduced-motion:reduce) { .motion-word { will-change:auto; } .overview-symbol { transition:none; } }

/* A dedicated interaction space, independent of the event hero. */
body { cursor:auto; }
a,button,summary { cursor:pointer; }
.cursor-orbit { display:none; }
.cursor-showcase { padding:50px 0 70px; }
.showcase-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:30px; }
.showcase-heading h2 { font-size:clamp(38px,5vw,68px); margin-top:14px; }
.showcase-heading p { max-width:360px; color:var(--muted); font-size:14px; line-height:1.7; margin:0; }
.cursor-showcase .hero-stage { position:relative; inset:auto; width:100%; height:580px; min-height:0; margin:0; opacity:1; pointer-events:auto; overflow:hidden; isolation:isolate; border:1px solid var(--line); border-radius:32px; touch-action:none; cursor:crosshair; background:radial-gradient(ellipse at 50% 50%,rgba(85,75,129,.38),transparent 65%),var(--night); }
.cursor-showcase .hero-stage:focus-visible { outline:2px solid var(--cyan); outline-offset:5px; }
.cursor-showcase .hero-character { width:290px; height:360px; top:50%; opacity:1; pointer-events:none; animation:none; transform:translate3d(calc(-50% + var(--char-x,0px)),calc(-50% + var(--char-y,0px)),0) rotateY(var(--char-ry,0deg)); }
.cursor-showcase .orbit-one { width:70%; height:55%; }
.cursor-showcase .orbit-two { width:45%; height:75%; }
.cursor-showcase .floating-code { pointer-events:none; opacity:.5; }
.showcase-label { position:absolute; inset:24px 28px auto; display:flex; justify-content:space-between; gap:12px; color:var(--cyan); font:11px 'DM Mono',monospace; letter-spacing:.1em; pointer-events:none; }
.showcase-label span:last-child { color:var(--muted); letter-spacing:0; }
.showcase-caption { position:absolute; bottom:24px; width:100%; text-align:center; color:var(--muted); font:10px 'DM Mono',monospace; letter-spacing:.18em; pointer-events:none; }
.sky-target { position:absolute; z-index:5; left:var(--target-x,50%); top:var(--target-y,50%); width:24px; height:24px; border:1px solid var(--cyan); border-radius:50%; transform:translate(-50%,-50%); opacity:0; pointer-events:none; box-shadow:0 0 20px rgba(110,231,255,.2); }
.is-exploring .sky-target { opacity:.8; }
.dreamer-portrait { position:absolute; z-index:3; width:320px; height:480px; left:50%; top:50%; transform:translate(-50%,-50%); pointer-events:none; }
.dreamer-portrait img { position:absolute; inset:0; width:100%; height:100%; object-fit:fill; user-select:none; }
/* Reuse the illustration's actual eye pixels as two independent animation layers. */
.eye-bed { position:absolute; background:#202039; border-radius:50%; filter:blur(2px); }
.eye-bed-left { left:45.8%; top:24.1%; width:9.2%; height:3.5%; }
.eye-bed-right { left:56.9%; top:22.7%; width:8%; height:4.3%; }
.dreamer-eye { transform:translate(var(--eye-x,0px),var(--eye-y,0px)); mix-blend-mode:lighten; will-change:transform; }
.dreamer-eye-left { clip-path:ellipse(4.5% 2.1% at 50.3% 25.8%); }
.dreamer-eye-right { clip-path:ellipse(4.1% 2.3% at 60.5% 24.8%); }
.cursor-showcase .orbit { animation:none; }
.dreamer-instructions { color:var(--muted); font-size:14px; line-height:1.6; }
.showcase-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:16px; color:var(--muted); font-size:13px; }
.showcase-footer button { background:none; border:0; border-bottom:1px solid var(--line); color:var(--cream); }
@media(max-width:760px) {
  .showcase-heading { flex-direction:column; align-items:start; gap:20px; }
  .showcase-heading p { max-width:100%; }
  .cursor-showcase .hero-stage { height:460px; border-radius:24px; }
  .cursor-showcase .hero-character { width:180px; height:240px; }
  .dreamer-portrait { width:240px; height:360px; }
  .showcase-label { inset:20px 18px auto; font-size:9px; letter-spacing:0; }
  .showcase-footer { font-size:11px; }
  .showcase-footer .text-link { font-size:11px; }
  .showcase-caption { font-size:8px; }
}

/* Cinematic editorial direction: one opening scene, hard cuts, oversized type. */
.hero { display:grid; grid-template-columns:1.1fr 1fr; gap:24px; align-items:center; min-height: min(940px,100svh); padding:120px 0 55px; text-align:left; isolation:isolate; }
.hero::before { inset:90px -24px 20px; border-radius:8px; border-width:0 0 1px; background:linear-gradient(120deg,rgba(85,75,129,.28),transparent 48%,rgba(110,231,255,.035)); transform:skewY(-2deg); }
.hero::after { content:'24'; position:absolute; right:0; top:90px; z-index:-1; color:transparent; -webkit-text-stroke:1px rgba(117,106,167,.2); font:900 clamp(220px,36vw,540px)/1 Arial,sans-serif; letter-spacing:-.09em; transform:translateY(var(--hero-drift,0px)); pointer-events:none; }
.hero-copy { margin:0; max-width:none; }
.hero h1 { font-size:clamp(72px,8.7vw,132px); text-transform:uppercase; font-weight:900; line-height:.88; letter-spacing:-.07em; margin:30px 0 0; transform:skewY(-3deg); }
.hero h1 em { display:block; color:var(--cream); -webkit-text-stroke:0; text-shadow:4px 4px 0 var(--violet); }
.hero .event-chip { border-radius:3px; font-size:11px; padding:10px 12px; letter-spacing:.035em; border-left:3px solid var(--cyan); }
.hero-tagline { margin-top:32px; font-size:16px; line-height:1.5; }
.hero-intro { margin:16px 0 0; max-width:450px; }
.hero-actions { justify-content:flex-start; gap:20px; }
.hero .hero-meta { width:100%; margin:30px 0 0; border-radius:3px; background:rgba(25,23,38,.65); }
.hero-meta div { padding:16px 10px; }
.hero-meta strong { font-size:17px; }
.hero-meta span { font-size:11px; }
.hero .cursor-showcase { position:relative; padding:0; min-width:0; }
.hero .cursor-showcase .hero-stage { height:560px; border:0; border-radius:0; background:radial-gradient(ellipse,rgba(85,75,129,.28),transparent 68%); }
.hero .dreamer-portrait { width:320px; height:480px; }
.hero .showcase-label { inset:10px 12px auto; font-size:10px; }
.hero .showcase-caption { bottom:16px; font-size:9px; }
.hero .dreamer-instructions { margin:0; position:absolute; bottom:-24px; left:0; max-width:330px; font-size:12px; }
.hero .showcase-footer { justify-content:flex-end; padding:0; }
.hero .showcase-footer>span { display:none; }
.primary-button,.secondary-button { border-radius:4px; text-transform:uppercase; letter-spacing:.045em; transition:background .25s,color .25s,box-shadow .25s; }
.primary-button:hover { background:var(--cyan); box-shadow:6px 6px 0 var(--violet); }
.primary-button span,.text-link span { display:inline-block; transition:transform .3s; }
.primary-button:hover span,.text-link:hover span { transform:translate(3px,-3px); }
.site-header { border-radius:0 0 6px 6px; }
.site-header.scrolled { border-radius:6px; }
.countdown-strip { border-radius:4px; background:linear-gradient(100deg,var(--violet),var(--night) 70%); border-left:4px solid var(--cyan); }
.section-kicker { letter-spacing:.16em; }
.manifesto h2,.section-head h2,.schedule h2,.prizes h2,.faq h2,.final-cta h2 { font-weight:850; text-transform:uppercase; letter-spacing:-.055em; }
.manifesto,.tracks,.judges,.schedule,.prizes,.faq { position:relative; }
.manifesto::before,.tracks::before,.prizes::before { content:''; position:absolute; top:65px; left:0; width:65px; height:4px; background:var(--cyan); transform-origin:left; transform:scaleX(var(--scene-progress,.2)); }
.overview-card,.track-card,.judge,.timeline li,.prize-card { border-radius:6px; position:relative; transition:border-color .3s,background .3s,box-shadow .3s,transform .7s,opacity .7s; }
.overview-card,.track-card { background:linear-gradient(145deg,rgba(85,75,129,.3),rgba(25,23,38,.9)); }
.overview-card:hover,.track-card:hover,.judge:hover,.timeline li:hover,.prize-card:hover { border-color:var(--cyan); box-shadow:0 14px 40px rgba(0,0,0,.2); }
.track-card::after,.overview-card::after { content:''; position:absolute; width:40%; height:200%; top:-50%; left:-65%; background:linear-gradient(90deg,transparent,rgba(110,231,255,.06),transparent); transform:skewX(-25deg); transition:left .75s; pointer-events:none; }
.track-card:hover::after,.overview-card:hover::after { left:130%; }
.track-number { font-size:60px; line-height:1; font-weight:800; color:rgba(117,106,167,.45); }
.track-glyph { transition:transform .45s; }
.track-card:hover .track-glyph { transform:rotate(-12deg) scale(1.12); }
.marquee { border-radius:0; transform:rotate(-2deg); width:100%; background:var(--violet); padding-block:18px; }
.timeline li::before { content:''; position:absolute; inset:0 auto 0 0; width:3px; background:var(--cyan); transform:scaleY(0); transform-origin:top; transition:transform .5s; }
.timeline li.in-view::before { transform:scaleY(1); }
.prize-card.first { background:linear-gradient(150deg,var(--violet),var(--night)); }
.faq details { transition:background .3s,border-color .3s; }
.faq details[open] { background:rgba(85,75,129,.18); border-color:var(--cyan); }
.faq details[open] p { animation:answer-cut .35s ease-out; }
.final-cta { border-radius:6px; background:linear-gradient(135deg,var(--violet),var(--plum) 60%,var(--night)); }
@keyframes answer-cut { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@media(min-width:761px) { .overview-card.reveal:nth-child(2),.timeline li.reveal:nth-child(2n) { transition-delay:.1s; } .overview-card.reveal:nth-child(3) { transition-delay:.2s; } }
@media(max-width:1000px) and (min-width:761px) { .hero { gap:0; } .hero h1 { font-size:76px; } .hero .dreamer-portrait { width:280px; height:420px; } .hero .cursor-showcase .hero-stage { height:520px; } .hero-actions { flex-wrap:wrap; } }
@media(max-width:760px) {
 .hero { grid-template-columns:1fr; gap:12px; padding-top:112px; padding-bottom:65px; min-height:0; }
 .hero::before { inset:85px 0 20px; }.hero::after { top:150px; font-size:280px; }
 .hero h1 { font-size:clamp(64px,15vw,108px); }
 .hero .event-chip { font-size:9px; }
 .hero-copy { text-align:left; }.hero-actions { flex-direction:row; flex-wrap:wrap; }
 .hero .hero-meta { margin-top:22px; }.hero-meta strong { font-size:14px; }.hero-meta span { font-size:9px; }
 .hero .cursor-showcase .hero-stage { height:430px; }
 .hero .dreamer-portrait { width:240px; height:360px; }
 .hero .dreamer-instructions { position:static; max-width:none; padding-right:85px; font-size:12px; }
 .hero .showcase-footer { margin-top:4px; }
 .hero .showcase-caption { bottom:8px; }
 .countdown-strip { margin-top:0; }
}
@media(prefers-reduced-motion:reduce) { .hero::after { transform:none; } .faq details[open] p { animation:none; } .track-card::after,.overview-card::after { display:none; } }

/* The car enters once; the dreamer's body never follows the pointer. */
.hero .cursor-showcase .hero-stage { max-width:510px; margin-inline:auto; container-type:inline-size; }
.hero .dreamer-portrait { width:280px; height:420px; top:auto; bottom:calc(47.3cqw - 183px); left:56%; z-index:5; transform:translateX(-50%); }
.cloud-car { position:absolute; z-index:4; width:100%; max-width:510px; height:auto; bottom:5px; left:0; pointer-events:none; filter:drop-shadow(0 15px 24px rgba(25,23,38,.7)); }
html:not(.booting) .cloud-car { animation:car-arrive 1.35s cubic-bezier(.16,1,.3,1) both; }
.hero .showcase-caption { z-index:5; bottom:0; }
@keyframes car-arrive { from { opacity:0; } to { opacity:1; } }
@media(max-width:760px) { .hero .cursor-showcase .hero-stage { max-width:400px; } .hero .dreamer-portrait { width:210px; height:315px; bottom:calc(45.4cqw - 129px); } .cloud-car { width:96%; max-width:400px; left:2%; bottom:12px; } }
@media(prefers-reduced-motion:reduce) { html:not(.booting) .cloud-car { animation:none; translate:0 0; } }

/* Technical cloud-drive scene. Pointer input only steers the light, never the car. */
.hero h1 { transform:none; text-transform:none; font-weight:700; letter-spacing:-.06em; }
.hero h1 em { color:var(--cyan); text-shadow:none; }
.hero::before { transform:none; border:1px solid var(--line); background:linear-gradient(120deg,rgba(85,75,129,.16),transparent); }
.hero::after { content:'</>'; font-family:monospace; font-size:230px; opacity:.35; top:130px; }
.hero .cursor-showcase .drive-stage { height:530px; perspective:800px; background:radial-gradient(ellipse at 50% 45%,rgba(85,75,129,.4),transparent 65%); border:1px solid var(--line); border-radius:12px; }
.tech-grid { position:absolute; inset:25% -40% -35%; background-image:linear-gradient(rgba(110,231,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(110,231,255,.12) 1px,transparent 1px); background-size:40px 40px; transform:rotateX(65deg); mask-image:linear-gradient(transparent,black 30%,transparent); pointer-events:none; }
.car-rig { position:absolute; width:94%; left:3%; top:35%; aspect-ratio:1672/941; z-index:3; transform-origin:55% 40%; pointer-events:none; }
.drive-car { display:block; width:100%; height:100%; filter:drop-shadow(0 22px 20px rgba(25,23,38,.8)); }
#headlightCanvas { position:absolute; inset:0; width:100%; height:100%; z-index:4; pointer-events:none; mix-blend-mode:screen; }
.cloud-bank { position:absolute; width:85%; height:55%; top:18%; border-radius:45%; pointer-events:none; background:radial-gradient(ellipse at 20% 65%,rgba(85,75,129,.85),transparent 45%),radial-gradient(ellipse at 45% 30%,rgba(117,106,167,.8),transparent 46%),radial-gradient(ellipse at 75% 60%,rgba(74,49,84,.9),transparent 48%); filter:blur(12px); }
.cloud-back { left:10%; z-index:1; opacity:.65; }
.cloud-left { left:-45%; z-index:5; opacity:.5; }
.cloud-right { right:-45%; z-index:5; opacity:.5; }
.arriving .car-rig { animation:cloud-approach 2.8s cubic-bezier(.16,.7,.2,1) both; }
.arriving .cloud-left { animation:cloud-part-left 2.8s ease both; }
.arriving .cloud-right { animation:cloud-part-right 2.8s ease both; }
.hero .showcase-label { z-index:7; inset:18px 14px auto; }
.hero .showcase-caption { bottom:18px; font-size:11px; }
.hero .dreamer-instructions { position:static; padding:0; margin:12px 0; font-size:13px; max-width:none; }
.hero .showcase-footer { justify-content:space-between; gap:12px; padding-top:12px; }
.section-kicker,.showcase-label,.hero-meta strong { font-family:'DM Mono',monospace; }
.track-card { background-image:linear-gradient(135deg,rgba(85,75,129,.25),rgba(25,23,38,.9)); }
@keyframes cloud-approach { 0% { transform:translateY(-65px) translateZ(-550px) scale(.28); opacity:0; filter:blur(5px); } 35% { opacity:.65; } 75% { transform:translateY(4px) translateZ(25px) scale(1.03); filter:blur(0); } 100% { transform:none; opacity:1; filter:none; } }
@keyframes cloud-part-left { 0%,15% { transform:translateX(60%); opacity:1; } 100% { transform:none; opacity:.5; } }
@keyframes cloud-part-right { 0%,15% { transform:translateX(-60%); opacity:1; } 100% { transform:none; opacity:.5; } }
@media(max-width:760px) { .hero .cursor-showcase .drive-stage { height:390px; } .hero::after { font-size:150px; } .hero .showcase-caption { font-size:10px; } }
@media(prefers-reduced-motion:reduce) { .arriving .car-rig,.arriving .cloud-bank { animation:none; } }

/* Full-screen approach: the clouds form a dark opening around the vehicle. */
.hero { width:100%; max-width:none; display:flex; flex-direction:column; padding:0 0 60px; gap:0; }
.hero::before,.hero::after { display:none; }
.hero .cursor-showcase { order:0; width:100%; display:flex; flex-direction:column; }
.hero .cursor-showcase .drive-stage { order:0; width:100%; max-width:none; height:100svh; min-height:620px; margin:0; border:0; border-radius:0; perspective:1000px; background:radial-gradient(ellipse at 50% 42%,var(--night-2) 8%,rgba(85,75,129,.55) 43%,var(--night) 80%); }
.hero .hero-copy { order:1; width:min(1180px,calc(100% - 40px)); display:grid; grid-template-columns:1fr 1fr; gap:16px 40px; padding-top:60px; }
.hero .hero-copy .event-chip { grid-column:1/-1; justify-self:start; }
.hero .hero-tagline { margin:0; font-size:clamp(22px,3vw,36px); }
.hero .hero-intro { margin:0; }
.hero .hero-meta { margin:0; }
.hero .hero-actions { margin:0; }
.hero .dreamer-instructions { order:1; width:min(1180px,calc(100% - 40px)); margin:16px auto 0; }
.hero .showcase-footer { order:2; width:min(1180px,calc(100% - 40px)); margin:0 auto; }
.drive-stage .car-rig { width:min(96%,1250px); left:50%; top:53%; aspect-ratio:1672/941; transform:translate(-50%,-50%); container-type:inline-size; }
.hero h1.windshield-title { position:absolute; left:34%; top:20%; width:36%; margin:0; max-width:none; font:800 4.5cqw/.85 Arial,sans-serif; letter-spacing:-.055em; text-align:center; text-transform:uppercase; color:var(--cream); transform:rotate(-6deg) skewX(-13deg); text-shadow:0 0 8px rgba(110,231,255,.6),0 2px 2px var(--night-2); pointer-events:none; }
.windshield-title span,.windshield-title strong { display:block; }
.windshield-title strong { color:var(--cyan); font-size:1.15em; }
.hero .showcase-label { top:105px; left:5%; right:5%; font-size:12px; }
.hero .showcase-caption { bottom:35px; font-size:12px; letter-spacing:.3em; }
.drive-stage .cloud-bank { width:85%; height:90%; top:0; filter:blur(22px); }
.drive-stage .cloud-back { left:8%; opacity:.8; }
.drive-stage .cloud-left { left:-48%; opacity:.85; }
.drive-stage .cloud-right { right:-48%; opacity:.85; }
.arriving .car-rig { animation:screen-approach 3.8s cubic-bezier(.18,.55,.16,1) both; }
.arriving .cloud-left { animation:cave-open-left 3.8s ease both; }
.arriving .cloud-right { animation:cave-open-right 3.8s ease both; }
.arriving .windshield-title { animation:windshield-boot 1.15s 2.65s both; }
@keyframes screen-approach { 0% { transform:translate(-50%,-68%) scale(.08); opacity:0; filter:blur(6px); } 20% { opacity:.5; } 65% { opacity:1; filter:blur(0); } 87% { transform:translate(-50%,-49%) scale(1.035); } 100% { transform:translate(-50%,-50%) scale(1); opacity:1; filter:none; } }
@keyframes cave-open-left { 0%,18% { transform:translateX(57%); opacity:1; } 100% { transform:none; opacity:.85; } }
@keyframes cave-open-right { 0%,18% { transform:translateX(-57%); opacity:1; } 100% { transform:none; opacity:.85; } }
@keyframes windshield-boot { 0% { opacity:0; clip-path:inset(0 100% 0 0); filter:blur(4px); } 35% { opacity:1; } 100% { opacity:1; clip-path:inset(0); filter:none; } }
@media(max-width:760px) { .hero .cursor-showcase .drive-stage { min-height:540px; } .drive-stage .car-rig { width:118%; max-width:none; top:52%; } .hero .hero-copy { grid-template-columns:1fr; padding-top:35px; } .hero .hero-copy .event-chip { grid-column:auto; } .hero .hero-meta { margin-top:12px; } .hero .hero-actions { margin-top:12px; } .hero .showcase-label { top:88px; font-size:10px; } .hero .showcase-caption { font-size:10px; letter-spacing:.15em; } .hero .dreamer-instructions { padding:0; } }
@media(prefers-reduced-motion:reduce) { .arriving .car-rig,.arriving .cloud-bank,.arriving .windshield-title { animation:none; } }
.scene-exit { position:absolute; z-index:8; bottom:25px; right:5%; padding:12px 18px; border:1px solid var(--line); background:var(--night-2); border-radius:4px; color:var(--cream); font-size:14px; }
@media(max-width:760px) { .hero .showcase-caption { bottom:86px; } .scene-exit { bottom:24px; right:50%; transform:translateX(50%); white-space:nowrap; } }
