:root{
  --ink:#1B1F4B; --paper:#FFFFFF; --sky:#EAF4FF;
  --ticket:#FFC93C; --pink:#FF4F8B; --sea:#1F7AE0; --mint:#2EC4B6; --violet:#7B5CFF;
  --muted:#4A5080; --line:#D6E2F5; --card:#FFFFFF;
  color-scheme:light;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ink:#F2F4FF; --paper:#14173A; --sky:#1C2050; --muted:#B5BBE6; --line:#2E3470; --card:#1E2254;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --ink:#F2F4FF; --paper:#14173A; --sky:#1C2050; --muted:#B5BBE6; --line:#2E3470; --card:#1E2254;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 80px)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:1.0625rem;line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--sea);outline-offset:3px;border-radius:6px}
.wrap{width:min(1120px,100% - 2.5rem);margin-inline:auto}
.display{font-family:"Bungee","Arial Black",Impact,sans-serif;font-weight:400;line-height:1.05;letter-spacing:.01em}

/* Header */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--paper)}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--paper);border-bottom:2px solid var(--line)}
.bar{display:flex;align-items:center;gap:1rem;justify-content:space-between;padding:.8rem 0}
.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.logo-mark{width:38px;height:38px;border-radius:50%;background:conic-gradient(var(--ticket) 0 25%,var(--pink) 0 50%,var(--sea) 0 75%,var(--mint) 0);flex:none}
.logo span{font-family:"Bungee","Arial Black",sans-serif;font-size:1.15rem}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:.25rem;flex-wrap:wrap}
nav a{display:block;padding:.45rem .9rem;border-radius:999px;text-decoration:none;font-weight:800;font-size:.95rem}
nav a:hover{background:var(--sky)}
nav a[aria-current="page"]{background:var(--ink);color:var(--paper)}
.menu-btn{display:none;background:none;border:2px solid var(--line);border-radius:10px;padding:.4rem .7rem;font:inherit;font-weight:800;color:var(--ink);cursor:pointer}
@media (max-width:760px){
  .menu-btn{display:block}
  nav{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:2px solid var(--line);display:none}
  nav.open{display:block}
  nav ul{flex-direction:column;padding:.75rem 1.25rem 1rem}
}

/* Views */
.view{display:none}
.view.active{display:block}
section{padding:4.5rem 0}
h1,h2,h3{margin:0}
h2{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:1rem}
.lead{font-size:1.2rem;color:var(--muted);max-width:60ch}

/* Hero: head office */
.hero{background:var(--sky);overflow:hidden;position:relative}
.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:2.5rem;align-items:center}
.hero h1{font-size:clamp(2.6rem,7vw,5.2rem);margin-bottom:1.2rem}
.hero h1 .l1{color:var(--sea)} .hero h1 .l2{color:var(--pink)}
.btns{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.8rem}
.btn{display:inline-block;padding:.85rem 1.4rem;border-radius:14px;font-weight:800;text-decoration:none;border:3px solid var(--ink)}
.btn.primary{background:var(--ticket);color:#1B1F4B;box-shadow:4px 4px 0 var(--ink)}
.btn.primary:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--ink)}
.btn.ghost{background:transparent}

/* Ticket strip – the signature element */
.tickets{display:flex;flex-direction:column;gap:1rem;transform:rotate(-4deg)}
.ticket{--c:var(--ticket);position:relative;background:var(--c);color:#1B1F4B;border-radius:12px;padding:1.1rem 1.4rem 1.1rem 4.2rem;font-weight:800;box-shadow:0 6px 0 rgba(27,31,75,.25);
  -webkit-mask:radial-gradient(circle 10px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 10px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;
          mask:radial-gradient(circle 10px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 10px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat}
.ticket::before{content:"";position:absolute;left:3rem;top:12%;bottom:12%;border-left:3px dashed rgba(27,31,75,.4)}
.ticket b{font-family:"Bungee","Arial Black",sans-serif;font-weight:400;font-size:1.25rem;display:block}
.ticket small{font-weight:600;font-size:.95rem}
.ticket:nth-child(2){--c:var(--pink);color:#fff;margin-left:2rem}
.ticket:nth-child(2)::before{border-color:rgba(255,255,255,.55)}
.ticket:nth-child(3){--c:var(--mint)}
@media (prefers-reduced-motion:no-preference){
  .ticket{animation:feed .7s cubic-bezier(.2,.8,.2,1.2) both}
  .ticket:nth-child(2){animation-delay:.15s}
  .ticket:nth-child(3){animation-delay:.3s}
  @keyframes feed{from{transform:translateX(120%)}to{transform:none}}
}
@media (max-width:760px){.hero-grid{grid-template-columns:1fr}.tickets{transform:rotate(-2deg)}}

/* What we do */
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}
.what{padding:1.5rem;border-radius:18px;border:2px solid var(--line);background:var(--card)}
.what h3{font-size:1.25rem;margin:.75rem 0 .4rem}
.what p{margin:0;color:var(--muted)}
.dot{width:46px;height:46px;border-radius:14px}
@media (max-width:860px){.three{grid-template-columns:1fr}}

/* Partners */
.partners{background:var(--ink);color:var(--paper)}
:root[data-theme="dark"] .partners{background:#0E1030;color:#F2F4FF}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .partners{background:#0E1030;color:#F2F4FF}}
.partners .lead{color:inherit;opacity:.8}
.logos{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.logos li{list-style:none;font-family:"Bungee","Arial Black",sans-serif;font-size:clamp(1.1rem,2.4vw,1.6rem);padding:.8rem 1.4rem;border-radius:999px;border:3px solid currentColor}
.logos{padding:0}
.logos li:nth-child(6n+1){color:var(--ticket)} .logos li:nth-child(6n+2){color:var(--pink)}
.logos li:nth-child(6n+3){color:#5FB0FF} .logos li:nth-child(6n+4){color:var(--mint)}
.logos li:nth-child(6n+5){color:#B9A6FF} .logos li:nth-child(6n+6){color:#FF9F5A}

/* Contact / office */
.office{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
.card{background:var(--card);border:2px solid var(--line);border-radius:18px;padding:1.6rem}
.card h3{font-size:1.2rem;margin-bottom:.5rem}
address{font-style:normal}
@media (max-width:760px){.office{grid-template-columns:1fr}}

/* Accounting */
.acc-hero{background:linear-gradient(135deg,var(--sky),var(--paper))}
.acc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:2rem}
.acc-grid .card p{margin:.2rem 0 0;color:var(--muted)}
.acc-form{display:grid;gap:1rem;max-width:560px}
label{font-weight:800;display:block;margin-bottom:.3rem}
input,select,textarea{width:100%;font:inherit;padding:.75rem .9rem;border-radius:12px;border:2px solid var(--line);background:var(--card);color:var(--ink)}
textarea{min-height:120px;resize:vertical}
.notice{padding:1rem 1.2rem;border-radius:12px;background:var(--mint);color:#0E2A27;font-weight:700}
@media (max-width:760px){.acc-grid{grid-template-columns:1fr}}

/* Reflex21 arcade */
.arcade-hero{background:var(--ink);color:#fff;position:relative;overflow:hidden}
:root[data-theme="dark"] .arcade-hero{background:#0E1030}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .arcade-hero{background:#0E1030}}
.marquee{font-size:clamp(3.2rem,12vw,8.5rem);line-height:.9;
  background:linear-gradient(90deg,var(--ticket),var(--pink),#5FB0FF,var(--mint));-webkit-background-clip:text;background-clip:text;color:transparent}
.bulbs{display:flex;gap:14px;margin:1.6rem 0;flex-wrap:wrap}
.bulbs i{width:14px;height:14px;border-radius:50%;background:var(--ticket);box-shadow:0 0 12px var(--ticket)}
.bulbs i:nth-child(even){background:var(--pink);box-shadow:0 0 12px var(--pink)}
@media (prefers-reduced-motion:no-preference){
  .bulbs i{animation:blink 1.2s steps(2) infinite}
  .bulbs i:nth-child(even){animation-delay:.6s}
  @keyframes blink{50%{opacity:.25}}
}
.arcade-hero p{max-width:56ch;font-size:1.15rem;opacity:.9}
.arcade-hero .btn{border-color:#fff;color:#fff}
.arcade-hero .btn.primary{color:#1B1F4B;box-shadow:4px 4px 0 #fff}

.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.5rem 0 2rem}
.filters button{font:inherit;font-weight:800;padding:.5rem 1rem;border-radius:999px;border:2px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}

.games{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}
.game{background:var(--card);border:2px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column}
.game[hidden]{display:none}
.pic{aspect-ratio:4/3;position:relative;display:grid;place-items:center;overflow:hidden}
.pic img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.pic .ph{font-family:"Bungee","Arial Black",sans-serif;font-size:1.6rem;color:#fff;text-align:center;padding:1rem;text-shadow:0 3px 0 rgba(0,0,0,.25)}
.game-body{padding:1.1rem 1.25rem 1.4rem}
.game h3{font-size:1.2rem;margin-bottom:.35rem}
.game p{margin:0;color:var(--muted);font-size:.98rem}
.tag{display:inline-block;margin-top:.8rem;font-size:.85rem;font-weight:800;padding:.2rem .65rem;border-radius:999px;background:var(--sky)}

.how{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}
.step{border-radius:18px;padding:1.5rem;color:#1B1F4B}
.step:nth-child(1){background:var(--ticket)} .step:nth-child(2){background:var(--pink);color:#fff} .step:nth-child(3){background:var(--mint)}
.step b{font-family:"Bungee","Arial Black",sans-serif;font-weight:400;font-size:2.2rem;display:block}
.step p{margin:.4rem 0 0;font-weight:600}
@media (max-width:760px){.how{grid-template-columns:1fr}}

.visit{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.map{border-radius:18px;min-height:240px;background:
  linear-gradient(180deg,#5FB0FF 0 38%,#F7D58B 38% 52%,#FFFFFF 52%);position:relative;border:2px solid var(--line)}
.map::after{content:"Reflex21";position:absolute;left:50%;top:60%;transform:translate(-50%,-50%);font-family:"Bungee","Arial Black",sans-serif;background:var(--pink);color:#fff;padding:.5rem .9rem;border-radius:12px}
.map span{position:absolute;left:1rem;top:1rem;font-weight:800;color:#0E2A55}
.map em{position:absolute;left:1rem;top:44%;font-style:normal;font-weight:800;color:#6B4A00}
@media (max-width:760px){.visit{grid-template-columns:1fr}}

footer{border-top:2px solid var(--line);padding:2rem 0;color:var(--muted);font-size:.95rem}
footer .wrap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}

/* Arcade hero with video */
.arcade-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:2.5rem;align-items:center}
.hero-video{margin:0;position:relative;border-radius:22px;overflow:hidden;border:4px solid var(--ticket);box-shadow:0 0 0 4px var(--pink),0 0 40px rgba(255,79,139,.45);aspect-ratio:832/464;background:#000}
.hero-video video{width:100%;height:100%;object-fit:cover;display:block}
.hero-video figcaption{position:absolute;left:.8rem;bottom:.8rem;background:var(--ticket);color:#1B1F4B;font-weight:800;padding:.3rem .8rem;border-radius:999px}
@media (max-width:860px){.arcade-grid{grid-template-columns:1fr}}

/* AstroLOLogy spotlight */
.spotlight{background:linear-gradient(160deg,#FFF3B0,#FFD6E7 55%,#D9C9FF)}
.spotlight,.spotlight .lead{color:#1B1F4B}
.spot-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:center}
.spot-machine{border-radius:20px;background:#fff;padding:1rem;box-shadow:6px 6px 0 #1B1F4B}
.spot-screen{border-radius:16px;margin-top:1.5rem;border:3px solid #1B1F4B}
.spot-crew{width:70%;margin:-2.5rem 0 0 auto;position:relative}
@media (max-width:860px){.spot-grid{grid-template-columns:1fr}.spot-machine{max-width:360px;margin-inline:auto}}

/* Game photos */
.pic.contain img{object-fit:contain;padding:.8rem}

/* Collect the cards */
.collect-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1.5rem;margin-top:2rem}
.c-card{margin:0;background:var(--card);border:2px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column}
.c-card img{height:300px;width:100%;object-fit:contain;background:linear-gradient(160deg,#5FB0FF,#7B5CFF);padding:1rem}
.c-card figcaption{padding:1rem 1.2rem 1.3rem;color:var(--muted)}
.c-card figcaption b{display:block;color:var(--ink);font-size:1.15rem}
.reflex-tip{margin-top:1.5rem;padding:1rem 1.3rem;border-radius:14px;background:var(--ticket);color:#1B1F4B;max-width:60ch}
@media (max-width:860px){.collect-grid{grid-template-columns:1fr}}

/* Flowing photo strip */
.strip-sec{padding:0 0 4.5rem}
.strip{overflow:hidden}
.strip-track{display:flex;gap:1rem;width:max-content}
.strip-track img{height:260px;width:auto;border-radius:18px;flex:none}
@media (prefers-reduced-motion:no-preference){
  .strip-track{animation:flow 45s linear infinite}
  .strip:hover .strip-track{animation-play-state:paused}
  @keyframes flow{to{transform:translateX(-50%)}}
}
@media (prefers-reduced-motion:reduce){.strip{overflow-x:auto}}
@media (max-width:600px){.strip-track img{height:190px}}

/* VR CyberX */
.vr{background:#14141C;color:#F2F4FF}
.vr .lead{color:#C9CDF0}
.vr h2{background:linear-gradient(90deg,#3FD8F0,#8B5CFF);-webkit-background-clip:text;background-clip:text;color:transparent}
.vr-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:center}
.vr-list{padding-left:1.2rem;margin:1.2rem 0 0}
.vr-list li{margin:.35rem 0}
.vr-list li::marker{color:#FF9F2E}
.vr-media{display:grid;gap:1rem}
.vr-media video{width:100%;border-radius:18px;border:3px solid #3FD8F0;box-shadow:0 0 30px rgba(63,216,240,.35);background:#000;aspect-ratio:16/9;object-fit:cover}
.vr-media img{border-radius:18px;width:60%;justify-self:end;margin-top:-4rem;position:relative;border:3px solid #FF9F2E}
@media (max-width:860px){.vr-grid{grid-template-columns:1fr}.vr-media img{width:75%;margin-top:-2rem}}

/* Lightning Ball */
.lb{background:linear-gradient(150deg,#F2FFD1,#D3F7FF 60%,#E6DCFF)}
.lb,.lb .lead{color:#1B1F4B}
.lb-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:3rem;align-items:center}
.lb-machine{max-height:520px;width:auto;margin-inline:auto;filter:drop-shadow(0 18px 30px rgba(27,31,75,.25))}
.lb h2{color:#1B1F4B}
.lb video{width:100%;margin-top:1.5rem;border-radius:18px;border:3px solid #C6F432;box-shadow:0 0 0 3px #1B1F4B;aspect-ratio:16/9;object-fit:cover;background:#000}
@media (max-width:860px){.lb-grid{grid-template-columns:1fr}.lb-machine{max-height:380px}}

.c-full{grid-column:1/-1;display:grid;grid-template-columns:2fr 1fr;align-items:center}
.c-full img{height:340px;object-fit:cover;padding:0;background:none}
.c-full figcaption{font-size:1.05rem}
@media (max-width:860px){.c-full{grid-template-columns:1fr}.c-full img{height:240px}}

/* Play card steps */
.how .step{display:flex;flex-direction:column}
.how .step img{height:230px;width:100%;object-fit:contain;margin-bottom:1rem;filter:drop-shadow(0 10px 18px rgba(27,31,75,.3))}
.how .step h3{font-size:1.25rem;margin:.2rem 0 0}
.how .step b{font-size:1.6rem}

.how{grid-template-columns:repeat(4,1fr)}
.how .step:nth-child(4){background:var(--violet);color:#fff}
@media (max-width:1000px){.how{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.how{grid-template-columns:1fr}}

/* Partner tiles */
.logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1rem}
.logos li{background:#fff;border:none;border-radius:16px;height:96px;display:grid;place-items:center;padding:.8rem 1rem;text-align:center;border-bottom:6px solid currentColor}
.logos li img{max-height:64px;max-width:100%;width:auto}
.logos li:nth-child(6n+1){color:var(--ticket)} .logos li:nth-child(6n+2){color:#E4006F}
.logos li:nth-child(6n+3){color:var(--sea)} .logos li:nth-child(6n+4){color:#FF9F2E}
.logos li:nth-child(6n+5){color:var(--violet)} .logos li:nth-child(6n+6){color:#13A89E}

/* Rilix Coaster VR */
.rilix{border-top:1px solid #2A2A3A}
.rilix-grid{display:grid;grid-template-columns:.6fr 1.4fr;gap:3rem;align-items:center}
.rilix-machine{max-height:520px;width:auto;margin-inline:auto;filter:drop-shadow(0 0 30px rgba(255,201,60,.35))}
.rides{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.4rem 0 1rem}
.rides button{font:inherit;font-weight:800;padding:.5rem 1rem;border-radius:999px;border:2px solid #3FD8F0;background:transparent;color:#F2F4FF;cursor:pointer}
.rides button[aria-pressed="true"]{background:#FFC93C;border-color:#FFC93C;color:#1B1F4B}
#rilix-video{width:100%;border-radius:18px;border:3px solid #FFC93C;aspect-ratio:16/9;object-fit:cover;background:#000;box-shadow:0 0 30px rgba(255,201,60,.3)}
@media (max-width:860px){.rilix-grid{grid-template-columns:1fr}.rilix-machine{max-height:360px}}
.logos{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
.logos img[alt="Rilix"]{max-height:42px}


/* Privacy policy */
.privacy h1{font-size:clamp(2.2rem,6vw,3.6rem);margin-bottom:1rem;color:var(--sea)}
.prose{max-width:760px}
.prose h2{font-size:1.4rem;margin:2.2rem 0 .5rem;font-family:"Nunito",system-ui,sans-serif;font-weight:800}
.prose p{margin:.5rem 0;max-width:68ch}
.prose a{color:var(--sea);font-weight:700}
.updated{margin-top:2.5rem!important;color:var(--muted);font-size:.95rem}
/* Consent checkbox */
.consent{display:flex;gap:.7rem;align-items:flex-start}
.consent input{width:22px;height:22px;flex:none;margin-top:.15rem;accent-color:var(--sea)}
.consent label{font-weight:600;margin:0}
.consent a{color:var(--sea)}

.acc-grid .card a{color:var(--sea);font-weight:700;overflow-wrap:break-word;white-space:nowrap}

/* Clickable map */
a.map{display:block;text-decoration:none;transition:transform .15s}
a.map:hover{transform:translateY(-2px)}
.map-hint{position:absolute;right:1rem;bottom:1rem;background:#1B1F4B;color:#fff;font-size:.9rem;padding:.35rem .8rem;border-radius:999px}

/* Visit Reflex 21 tile */
.visit-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;min-height:240px;border-radius:22px;text-decoration:none;text-align:center;padding:2rem;
  background:linear-gradient(135deg,#1F7AE0,#7B5CFF);color:#fff;box-shadow:6px 6px 0 #1B1F4B;transition:transform .15s}
.visit-tile:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 #1B1F4B}
.visit-tile .pin{width:48px;height:64px;filter:drop-shadow(0 6px 8px rgba(0,0,0,.3))}
.visit-title{font-family:"Bungee","Arial Black",sans-serif;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1}
.visit-sub{font-weight:800;background:#FFC93C;color:#1B1F4B;padding:.35rem .9rem;border-radius:999px}

/* Play button on game cards */
.pic .play{text-decoration:none;position:absolute;left:.8rem;bottom:.8rem;z-index:1;font:inherit;font-weight:800;font-size:.9rem;padding:.4rem .9rem;border-radius:999px;border:0;background:#FFC93C;color:#1B1F4B;cursor:pointer;box-shadow:0 3px 0 rgba(27,31,75,.35)}
.pic .play:hover{background:#fff}
.pic video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}

/* Furious Speed DX */
.fs{background:linear-gradient(150deg,#1B1F4B,#3A0F2E 60%,#5A0E1E);color:#fff}
.fs .lead{color:#F3D5DD}
.fs h2{background:linear-gradient(90deg,#FFC93C,#FF4F4F);-webkit-background-clip:text;background-clip:text;color:transparent}
.fs-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:3rem;align-items:center}
.fs-machine{width:100%;max-width:460px;margin-inline:auto;filter:drop-shadow(0 0 34px rgba(255,79,79,.45))}
.fs video{width:100%;margin-top:1.5rem;border-radius:18px;border:3px solid #FF4F4F;box-shadow:0 0 30px rgba(255,79,79,.35);aspect-ratio:16/9;object-fit:cover;background:#000}
@media (max-width:860px){.fs-grid{grid-template-columns:1fr}.fs-machine{max-width:340px}}

/* Tornado */
.tor{background:linear-gradient(150deg,#2A0A3D,#1B1F4B 55%,#0B2C52);color:#fff}
.tor .lead{color:#D9D2F5}
.tor h2{background:linear-gradient(90deg,#FF9F2E,#FF4F4F);-webkit-background-clip:text;background-clip:text;color:transparent}
.tor-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:3rem;align-items:center}
.tor-machine{max-height:500px;width:auto;margin-inline:auto;filter:drop-shadow(0 0 30px rgba(255,159,46,.4))}
.tor video{width:100%;margin-top:1.5rem;border-radius:18px;border:3px solid #FF9F2E;box-shadow:0 0 30px rgba(255,159,46,.35);aspect-ratio:16/9;object-fit:cover;background:#000}
@media (max-width:860px){.tor-grid{grid-template-columns:1fr}.tor-machine{max-height:360px}}

/* Ocean Elf */
.oe{background:linear-gradient(160deg,#0B3D91,#1F7AE0 55%,#3FD8F0);color:#fff}
.oe .lead{color:#E3F4FF}
.oe h2{color:#fff;text-shadow:0 3px 0 #0B2C6B}
.oe-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.oe video{width:100%;max-width:420px;margin-top:1.5rem;border-radius:18px;border:3px solid #fff;box-shadow:0 0 30px rgba(255,255,255,.35);aspect-ratio:1/1;object-fit:cover;background:#000;display:block}
.oe-machine{width:100%;max-width:520px;margin-inline:auto;filter:drop-shadow(0 12px 30px rgba(11,44,107,.5))}
@media (max-width:860px){.oe-grid{grid-template-columns:1fr}.oe video{max-width:none}}

/* Ocean Party */
.op{background:linear-gradient(160deg,#120B3D,#2A1A7A 55%,#0E5C8C);color:#fff}
.op .lead{color:#DCE6FF}
.op h2{background:linear-gradient(90deg,#3FD8F0,#C6F432);-webkit-background-clip:text;background-clip:text;color:transparent}
.op-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:center}
.op-machine{width:100%;max-width:420px;margin-inline:auto;border-radius:20px;border:3px solid #3FD8F0;box-shadow:0 0 30px rgba(63,216,240,.4)}
.op video{width:100%;margin-top:1.5rem;border-radius:18px;border:3px solid #C6F432;box-shadow:0 0 30px rgba(198,244,50,.3);aspect-ratio:16/9;object-fit:cover;background:#000}
@media (max-width:860px){.op-grid{grid-template-columns:1fr}.op-machine{max-width:340px}}
.pic img[alt^="Derby Day"]{object-position:center 15%}

/* Language switch */
.lang-switch{display:flex;border:2px solid var(--ink);border-radius:999px;overflow:hidden;margin-left:.4rem;align-self:center}
.lang-switch button{font:inherit;font-weight:800;font-size:.85rem;padding:.35rem .7rem;border:0;background:transparent;color:var(--ink);cursor:pointer}
.lang-switch button[aria-pressed="true"]{background:var(--ticket);color:#1B1F4B}
@media (max-width:760px){.lang-switch{margin:.5rem 0 0 .9rem;width:max-content}}
