/* Bespoke visual stages for the events without an existing custom landing page. */
.event-experience { --exp-accent:#9be8d1; --exp-secondary:#a6baff; }
.event-experience .exp-hero { min-height:auto; padding:70px 0 64px; overflow:hidden; background:radial-gradient(ellipse at 85% 40%,color-mix(in srgb,var(--exp-accent) 9%,transparent),transparent 55%),#090d17; }
.event-experience .exp-hero .cinematic-hud-frame { display:none; }
.event-experience .exp-hero .cinematic-hero-inner { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); align-items:center; gap:clamp(24px,4vw,70px); max-width:1440px; padding:0 clamp(20px,4vw,60px); }
.exp-copy { min-width:0; text-align:left; }
.event-experience .exp-copy .cinematic-title-box { width:100%; margin:0 0 24px; text-align:left; }
.event-experience .exp-copy .cinematic-hero-title { font-size:clamp(2.5rem,4.4vw,5rem)!important; line-height:1.06!important; letter-spacing:-.035em!important; margin:12px 0!important; text-align:left; overflow-wrap:normal!important; word-break:normal; background:linear-gradient(125deg,#fff,var(--exp-accent)); -webkit-background-clip:text; background-clip:text; color:transparent!important; filter:none; }
.event-experience .exp-copy .cinematic-hero-title::before,.event-experience .exp-copy .cinematic-hero-title::after { display:none; }
.event-experience .exp-copy .cyberpunk-line,.event-experience .exp-copy .cyber-dash-line { font:inherit!important; letter-spacing:inherit!important; line-height:1.12!important; color:inherit!important; background:none!important; -webkit-text-fill-color:inherit; }
.event-experience .exp-copy .cyberpunk-line-2 { display:block; font-size:.32em!important; letter-spacing:.08em!important; margin-top:14px; -webkit-text-fill-color:var(--exp-accent); }
.event-experience .exp-copy .hero-cinematic-desc { margin:20px 0; max-width:58ch; text-align:left; font:400 16px/1.85 var(--font-body); color:#b4c1cf; }
.event-experience .exp-copy .hero-cybernova-tagline { justify-content:flex-start; margin:16px 0!important; }
.event-experience .exp-copy .tagline-wing { display:none; }
.event-experience .exp-copy .tagline-text { font-size:12px; letter-spacing:.08em; white-space:normal; text-align:left; color:var(--exp-accent); }
.event-experience .exp-copy .hero-cyber-dept-pill { margin:0; }
.event-experience .exp-copy .hero-stats { justify-content:flex-start; gap:20px; padding:18px 0; margin:0; flex-wrap:wrap; }
.event-experience .exp-copy .stat-val { font-size:clamp(1rem,1.5vw,1.4rem); }
.event-experience .exp-copy .stat-label { font-size:11px; line-height:1.5; }
.event-experience .exp-copy .hero-prize-callout { margin:18px 0; background:color-mix(in srgb,var(--exp-accent) 6%,transparent); border-color:color-mix(in srgb,var(--exp-accent) 30%,transparent); }
.event-experience .exp-copy .hero-cinematic-actions { justify-content:flex-start; flex-wrap:wrap; gap:10px; }
.event-experience .exp-copy .hero-cinematic-actions .btn { font-size:12px; min-height:48px; padding:14px 18px; letter-spacing:.04em; }
.exp-eyebrow { font:500 11px/1.7 var(--font-mono); letter-spacing:.18em; color:var(--exp-accent); margin:0 0 22px; display:flex; align-items:center; gap:12px; }
.exp-eyebrow::before { content:''; width:28px; height:1px; background:currentColor; }
.exp-stage { margin:0; min-width:0; width:100%; position:relative; color:var(--exp-accent); background:linear-gradient(140deg,#17233390,#0b101b); border:1px solid color-mix(in srgb,var(--exp-accent) 25%,transparent); border-radius:22px; padding:20px; box-shadow:0 30px 100px #0004,inset 0 1px #ffffff10; }
.exp-stage-header { display:flex; gap:10px; align-items:center; justify-content:space-between; font:500 10px/1.6 var(--font-mono); letter-spacing:.08em; color:#a5b3c5; }
.exp-live { display:flex; align-items:center; gap:7px; font-size:9px; }
.exp-live i { width:5px; height:5px; border-radius:50%; background:var(--exp-accent); box-shadow:0 0 8px var(--exp-accent); }
.exp-art { width:100%; aspect-ratio:4/3; margin:14px 0; position:relative; isolation:isolate; }
.exp-art>svg { display:block; width:100%; height:100%; overflow:visible; }
.exp-stage figcaption h2 { font:600 clamp(1.25rem,2vw,1.8rem)/1.3 var(--font-body); letter-spacing:-.025em; color:#f3f6fa; margin:0 0 8px; }
.exp-stage figcaption p { color:#9eafc2; font:400 14px/1.7 var(--font-body); margin:0; max-width:46ch; }
.exp-controls { display:flex; gap:10px; align-items:center; margin-top:20px; border-top:1px solid #ffffff10; padding-top:16px; }
.exp-controls button { cursor:pointer; min-height:44px; border:1px solid #a8c4d43a; border-radius:8px; background:#101b29; color:#e4edf5; padding:10px 14px; font:500 12px/1.5 var(--font-body); }
.exp-controls button:hover { border-color:var(--exp-accent); background:color-mix(in srgb,var(--exp-accent) 12%,#101b29); }
.exp-controls button:focus-visible { outline:2px solid var(--exp-accent); outline-offset:4px; }
.exp-motion { margin-left:auto; width:44px; flex-shrink:0; }
.exp-cursor { animation:exp-cursor 7s ease-in-out infinite; }
.exp-variant .exp-browser rect { fill:transparent!important; stroke-dasharray:4 4; }
.exp-variant .exp-browser circle { stroke:var(--exp-secondary); }
.exp-squad-unit { opacity:.5; transition:opacity .5s,filter .5s; }
.exp-variant .exp-squad-unit { opacity:1; filter:drop-shadow(0 0 8px var(--exp-accent)); transition-delay:calc(var(--unit)*.12s); }
.exp-wheel { transform-origin:0 0; }
.exp-replay .exp-wheel { animation:exp-wheel-spin 2s cubic-bezier(.18,.65,.2,1); }
.exp-bike { transform-origin:50% 70%; animation:exp-bike-turn 12s ease-in-out infinite; }
.exp-variant .exp-bike { animation-direction:reverse; }
.exp-capsule { animation:exp-egg-float 5s ease-in-out infinite; }
.exp-replay .exp-capsule { animation:exp-egg-drop 2s cubic-bezier(.45,0,.8,.6) both; }
.exp-replay .exp-drop-shadow { animation:exp-egg-shadow 2s ease both; }
.exp-rover { transform-origin:240px 180px; animation:exp-rover-idle 4s ease-in-out infinite; }
.exp-replay .exp-rover { animation:exp-rover-drive 3s ease-in-out; }
.exp-terminal-word { opacity:1; }
.exp-variant .exp-terminal-word { fill:var(--exp-secondary); transform:translateX(10px); }
.exp-circuit-core { animation:exp-core 3s ease-in-out infinite; }
.exp-variant .exp-circuit-core { fill-opacity:1; }
/* Electronic Art: a dimensional CRT turns on, then pulls back into its display space. */
.exp-tv-space { width:100%; height:100%; display:grid; place-items:center; perspective:950px; overflow:visible; }
.exp-tv { width:84%; position:relative; transform-style:preserve-3d; transform:rotateX(5deg) rotateY(-14deg) scale(.9); animation:exp-tv-reveal 3.8s cubic-bezier(.16,1,.3,1) both; }
.exp-tv-face { position:relative; border:1px solid #859185; border-radius:22px; padding:12px 14px 10px; background:linear-gradient(135deg,#58605a,#262e31 35%,#111b22 90%); box-shadow:inset 1px 1px 1px #fff6,inset -3px -3px 4px #0009,0 20px 40px #0008; transform:translateZ(25px); }
.exp-tv-brand { text-align:left; font:500 8px/1.6 var(--font-mono); letter-spacing:.22em; color:#d3d9ca; padding-bottom:8px; }
.exp-tv-side { position:absolute; width:70px; height:90%; background:repeating-linear-gradient(0deg,#151d21 0 6px,#2c3536 7px 9px); right:-28px; top:5%; transform:rotateY(90deg) translateZ(5px); border:1px solid #626b63; }
.exp-tv-screen { position:relative; width:100%; aspect-ratio:4/3; border:8px solid #060e13; border-radius:20px/14px; overflow:hidden; background:radial-gradient(ellipse at 50% 60%,#3c245a,#07131c 75%); box-shadow:inset 0 0 25px #000,0 0 22px #dfff5420; }
.exp-tv-screen>svg { width:100%; height:100%; display:block; animation:exp-screen-on 3.8s ease both; }
.exp-tv-scan { position:absolute; inset:0; pointer-events:none; background:repeating-linear-gradient(transparent 0 3px,#0003 3px 4px); opacity:.6; }
.exp-tv-boot { position:absolute; inset:0; background:#e6ffb7; transform:scaleY(0); box-shadow:0 0 30px #e6ffb7; animation:exp-tv-boot 2s ease-out both; }
.exp-tv-bottom { display:flex; align-items:center; gap:8px; justify-content:space-between; color:#b1bcb5; font:400 7px/1.7 var(--font-mono); padding-top:10px; letter-spacing:.04em; }
.exp-tv-bottom i { width:5px; height:5px; border-radius:50%; background:#c6ff7a; box-shadow:0 0 6px #c6ff7a; margin-left:auto; }
.exp-tv-bottom b { font-size:16px; color:#738078; }
.exp-tv-foot { position:absolute; bottom:-29px; left:26%; width:48%; height:30px; background:linear-gradient(#263038,#0b1118); clip-path:polygon(30% 0,70% 0,76% 70%,100% 85%,100% 100%,0 100%,0 85%,24% 70%); }
.exp-tv-shadow { position:absolute; bottom:7%; left:20%; width:60%; height:8%; border-radius:50%; background:#0007; filter:blur(12px); z-index:-1; }
.exp-replay .exp-tv { animation:none; }
.exp-replay .exp-tv { animation:exp-tv-replay 3.8s cubic-bezier(.16,1,.3,1) both; }
.exp-replay .exp-tv-screen>svg { animation:exp-screen-replay 3.8s ease both; }
.exp-replay .exp-tv-boot { animation:exp-tv-reboot 2s ease-out both; }
.exp-stage.exp-paused *, .exp-stage.exp-paused *::before,.exp-stage.exp-paused *::after { animation-play-state:paused!important; }
@keyframes exp-tv-reveal { 0%{transform:rotateX(0) rotateY(0) scale(1.22) translateZ(90px)} 40%{transform:rotateX(0) rotateY(0) scale(1.08)} 100%{transform:rotateX(5deg) rotateY(-14deg) scale(.9)} }
@keyframes exp-tv-replay { 0%{transform:rotateX(0) rotateY(0) scale(1.22) translateZ(90px)} 40%{transform:rotateX(0) rotateY(0) scale(1.08)} 100%{transform:rotateX(5deg) rotateY(-14deg) scale(.9)} }
@keyframes exp-screen-on { 0%,20%{opacity:0;filter:brightness(4)} 46%{opacity:1;filter:brightness(2)} 100%{opacity:1;filter:brightness(1)} }
@keyframes exp-screen-replay { 0%,20%{opacity:0;filter:brightness(4)} 46%{opacity:1;filter:brightness(2)} 100%{opacity:1;filter:brightness(1)} }
@keyframes exp-tv-boot { 0%{transform:scale(.02,.003);opacity:1} 25%{transform:scale(1,.005);opacity:1} 60%{transform:scale(1,1);opacity:1} 100%{transform:scale(1,1);opacity:0} }
@keyframes exp-tv-reboot { 0%{transform:scale(.02,.003);opacity:1} 25%{transform:scale(1,.005);opacity:1} 60%{transform:scale(1,1);opacity:1} 100%{transform:scale(1,1);opacity:0} }
@keyframes exp-cursor { 0%,100%{transform:translate(0,0)} 45%{transform:translate(-95px,-55px)} 65%{transform:translate(-95px,-55px) scale(.97)} }
@keyframes exp-wheel-spin { from{transform:rotate(0)} to{transform:rotate(540deg)} }
@keyframes exp-bike-turn { 0%,100%{transform:perspective(800px) rotateY(-14deg)} 50%{transform:perspective(800px) rotateY(14deg)} }
@keyframes exp-egg-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
@keyframes exp-egg-drop { 0%{transform:translateY(-30px)} 65%{transform:translateY(50px) scaleY(.98)} 78%{transform:translateY(35px)} 100%{transform:translateY(46px)} }
@keyframes exp-egg-shadow { 0%{opacity:.05;transform:scaleX(.6);transform-origin:center} 100%{opacity:.3} }
@keyframes exp-rover-idle { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-3px)} }
@keyframes exp-rover-drive { 0%{transform:translate(-100px,60px) rotate(-8deg)} 45%{transform:translate(0,0) rotate(8deg)} 75%{transform:translate(60px,-25px) rotate(-8deg)} 100%{transform:translate(0,0)} }
@keyframes exp-core { 0%,100%{opacity:.35} 50%{opacity:1} }
@media(max-width:1000px) {
    .event-experience .exp-hero .cinematic-hero-inner { grid-template-columns:minmax(0,1fr); max-width:700px; gap:32px; }
    .event-experience .exp-hero { padding-block:30px 44px; }
    .event-experience .exp-copy .cinematic-hero-title { font-size:clamp(2.4rem,8vw,4.5rem)!important; }
    .event-experience .exp-copy .hero-stats { gap:16px; }
    .exp-stage { max-width:580px; margin:auto; }
}
@media(max-width:480px) {
    .event-experience .exp-hero .cinematic-hero-inner { padding-inline:18px; }
    .exp-eyebrow { font-size:10px; margin-bottom:16px; }
    .event-experience .exp-copy .cinematic-hero-title { font-size:clamp(2rem,9vw,3rem)!important; }
    .event-experience .exp-copy .hero-cinematic-desc { font-size:14px; line-height:1.75; }
    .event-experience .exp-copy .hero-cinematic-actions { display:grid; grid-template-columns:1fr; }
    .event-experience .exp-copy .hero-cinematic-actions .btn { width:100%; }
    .exp-stage { padding:15px; border-radius:16px; }
    .exp-stage-header { font-size:9px; }
    .exp-live { font-size:8px; letter-spacing:0; }
    .exp-stage figcaption p { font-size:13px; }
    .exp-tv-brand { font-size:6px; }
}
@media(prefers-reduced-motion:reduce) {
    .exp-stage *, .exp-stage *::before,.exp-stage *::after { animation:none!important; transition:none!important; }
    .exp-tv-boot { display:none; }
    .exp-tv-screen>svg { opacity:1; }
}
.event-experience .exp-copy .glitch::before,.event-experience .exp-copy .glitch::after { display:none!important; }
.event-experience .exp-copy .cyberpunk-line,.event-experience .exp-copy .cyber-dash-line { white-space:normal!important; max-width:100%; }
@media(max-width:1000px) {
    .event-experience .exp-copy { display:contents; }
    .event-experience .exp-stage { grid-row:3; }
    .event-experience .exp-copy .cinematic-title-box { margin-bottom:0; }
    .event-experience .exp-copy .hero-cinematic-actions { margin-top:0; }
    .event-experience .exp-hero .cinematic-hero-inner { gap:22px; }
}

/* RevPCCE's downloadable official document stays above the event hero. */
.rev-rulebook-download { display:flex; justify-content:space-between; align-items:center; gap:24px; margin:20px auto 10px; padding:24px 28px; border:1px solid #ecc27580; border-radius:14px; background:linear-gradient(110deg,#352b19,#151925); box-shadow:0 8px 36px #0003; }
.rev-rulebook-download>div>span { color:#efc980; font:600 .65rem/1.5 var(--font-body); letter-spacing:.15em; }
.rev-rulebook-download h2 { margin:6px 0; color:#fff0d3; font:700 clamp(1.25rem,2vw,1.8rem)/1.3 var(--font-heading); }
.rev-rulebook-download p { margin:0; color:#bfbcb4; font:400 .85rem/1.7 var(--font-body); }
.rev-rulebook-download-button { display:grid; grid-template-columns:1fr auto; align-items:center; gap:5px 20px; padding:17px 22px; min-height:64px; flex-shrink:0; border-radius:8px; border:1px solid #fff1b3; background:linear-gradient(120deg,#ffe1a0,#e7ae55); color:#20180b; font:700 .85rem/1.5 var(--font-body); letter-spacing:.04em; text-decoration:none; box-shadow:0 0 24px #e9b55a22; }
.rev-rulebook-download-button>span { font-size:1.5rem; grid-row:span 2; }
.rev-rulebook-download-button small { grid-column:1; font-size:.65rem; font-weight:500; letter-spacing:.07em; }
.rev-rulebook-download-button:hover { background:#ffe4ac; }
.rev-rulebook-download-button:focus-visible { outline:3px solid #9fe8ff; outline-offset:5px; }
@media(max-width:650px) { .rev-rulebook-download { flex-direction:column; align-items:stretch; width:calc(100% - 32px); padding:22px; gap:18px; } .rev-rulebook-download-button { width:100%; box-sizing:border-box; } }

/* RevPCCE prizes use a readable panel instead of holographic podium effects. */
.event-rev-bike-show .hero-prize-callout { display:flex; flex-direction:column; align-items:flex-start; gap:8px; width:fit-content; max-width:100%; box-sizing:border-box; padding:18px 22px; }
.event-rev-bike-show .hero-prize-callout .prize-callout-val { font-size:clamp(1.8rem,3vw,2.5rem); line-height:1.2; }
.rev-hero-prize-split { color:#ebd3aa; font:500 .85rem/1.6 var(--font-body); }
.rev-hero-individual { color:#b9c9d6; font:500 .8rem/1.5 var(--font-body); }
.rev-prizes-section { padding:64px 0; background:#0b101a; }
.rev-prizes-panel { border:1px solid #d6b07066; background:linear-gradient(125deg,#26231b,#101724); border-radius:18px; overflow:hidden; }
.rev-prizes-total { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:24px; padding:32px; border-bottom:1px solid #d6b07033; }
.rev-prize-eyebrow { color:#d1af76; font:600 .65rem/1.6 var(--font-body); letter-spacing:.13em; }
.rev-prizes-total h2 { color:#f8e7c5; margin:10px 0 0; font:700 clamp(1.5rem,3vw,2.5rem)/1.3 var(--font-display); }
.rev-prizes-total>div:last-child { display:flex; flex-direction:column; gap:6px; }
.rev-prizes-total strong { color:#ffda8d; font:800 clamp(2.4rem,5vw,4rem)/1.2 var(--font-body); }
.rev-prizes-total>div>span:last-child { color:#c1bcaf; font-size:.85rem; }
.rev-prizes-winners { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; padding:28px 32px; }
.rev-prize-winner { display:flex; flex-direction:column; gap:12px; padding:24px; border:1px solid #d6b07044; border-radius:12px; background:#0c111a99; }
.rev-prize-winner>span { color:#ebc77f; text-transform:uppercase; font:700 .85rem/1.5 var(--font-body); letter-spacing:.1em; }
.rev-prize-winner strong { color:#fff0cd; font:800 clamp(2rem,4vw,3rem)/1.2 var(--font-body); }
.rev-prize-winner small { color:#b9c7d4; font:400 .85rem/1.5 var(--font-body); }
.rev-prizes-individual { display:flex; align-items:center; gap:16px; margin:0 32px 32px; padding:20px 24px; border:1px solid #9cacc638; border-radius:10px; background:#8499bb0b; }
.rev-prizes-individual>span { color:#edc57d; font-size:1.5rem; }
.rev-prizes-individual strong { color:#e4edf7; font:700 1.1rem/1.5 var(--font-body); }
.rev-prizes-individual p { color:#b5c0cf; margin:4px 0 0; font:400 .85rem/1.7 var(--font-body); }
@media(max-width:600px) { .rev-prizes-total { padding:24px; } .rev-prizes-winners { padding:20px; grid-template-columns:minmax(0,1fr); gap:14px; } .rev-prizes-individual { margin:0 20px 20px; padding:18px; } .rev-prizes-section { padding:40px 0; } }
