@import url("../fonts.css");

@view-transition { navigation: auto; }

:root {
  --ink: #394746;
  --muted: #697875;
  --milk: #fbf7ef;
  --paper: #fffdf8;
  --mint: #d8eee7;
  --mint-deep: #82b5a8;
  --coral: #e8aaa0;
  --lavender: #bbb9d7;
  --line: rgba(57,71,70,.18);
  --px: 50vw;
  --py: 50vh;
}

* { box-sizing: border-box; }
html { color-scheme: light; scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; background: var(--milk); color: var(--ink); font-family: "Onest", Arial, sans-serif; }
body::before { content: ""; position: fixed; z-index: 200; left: var(--px); top: var(--py); width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.24), transparent 67%); transform: translate(-50%,-50%); pointer-events: none; mix-blend-mode: screen; }
button, a { font: inherit; }
img { display: block; max-width: 100%; }
.skip { position: fixed; z-index: 999; left: 16px; top: -80px; padding: 12px 17px; background: var(--ink); color: white; text-decoration: none; transition: top .2s; }
.skip:focus { top: 12px; }
.game-header { position: fixed; z-index: 120; left: 27px; right: 27px; top: 20px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: start; pointer-events: none; }
.game-header a, .game-header button { pointer-events: auto; }
.game-back { justify-self: start; display: inline-flex; align-items: center; gap: 11px; padding: 9px 13px; border: 1px solid rgba(57,71,70,.32); border-radius: 999px 8px 999px 7px; background: rgba(255,253,248,.62); color: var(--ink); text-decoration: none; font-size: 8px; letter-spacing: .1em; text-transform: uppercase; backdrop-filter: blur(12px); transition: transform .3s ease, background .3s ease; }
.game-back:hover, .game-back:focus-visible { outline: none; background: var(--paper); transform: rotate(-2deg) translateY(-2px); }
.game-brand { display: grid; gap: 3px; margin: 0; text-align: center; font-size: 7px; letter-spacing: .14em; text-transform: uppercase; }
.game-brand b { font-family: "Unbounded", sans-serif; font-size: 8px; font-weight: 500; }
.game-header__cta { justify-self: end; padding: 8px 0; border-bottom: 1px solid var(--ink); color: var(--ink); text-decoration: none; font-size: 8px; letter-spacing: .12em; text-transform: uppercase; }
.reading-progress { position: fixed; z-index: 125; left: 0; top: 0; width: 100%; height: 2px; background: rgba(57,71,70,.07); }
.reading-progress i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg,var(--mint-deep),var(--coral),var(--lavender)); transform: translateX(-100%); }

.game-hero { position: relative; min-height: 100svh; overflow: hidden; isolation: isolate; }
.game-hero::before { content: ""; position: absolute; z-index: -4; inset: 0; background: radial-gradient(circle at 72% 12%, rgba(216,238,231,.92), transparent 44%), radial-gradient(circle at 17% 88%, rgba(232,170,160,.2), transparent 31%), var(--milk); }
.hero-atmosphere { position: absolute; z-index: -2; inset: 0; overflow: hidden; pointer-events: none; }
.hero-atmosphere::before, .hero-atmosphere::after { content: ""; position: absolute; border-radius: 50%; filter: blur(1px); }
.hero-atmosphere::before { right: -15vw; top: -35vh; width: 69vw; height: 80vh; background: rgba(216,238,231,.76); }
.hero-atmosphere::after { left: -12vw; bottom: -28vh; width: 48vw; height: 52vh; background: rgba(187,185,215,.14); }
.hero-copy { position: relative; z-index: 7; width: 56vw; padding: 17vh 0 10vh 7vw; }
.hero-kicker, .section-kicker { margin: 0 0 22px; color: #548b7e; font-size: 9px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.hero-title { margin: 0; font-family: "Unbounded", sans-serif; font-size: clamp(64px,8vw,128px); font-weight: 500; letter-spacing: -.065em; line-height: .91; }
.hero-title span { display: block; color: var(--mint-deep); }
body[data-game="wholeness"] .hero-copy { width: 52vw; }
body[data-game="wholeness"] .hero-title { font-size: clamp(52px,6.15vw,94px); }
body[data-game="wholeness"] .hero-media { right: 2vw; width: 44vw; }
.hero-lead { max-width: 600px; margin: 35px 0 0 2px; color: var(--muted); font-size: clamp(15px,1.25vw,19px); line-height: 1.65; }
.hero-media { position: absolute; z-index: 3; right: 3vw; top: 12vh; width: 46vw; height: 76vh; margin: 0; overflow: hidden; border-radius: 42px 42px 80px 25px; clip-path: polygon(8% 0,100% 7%,94% 100%,0 91%); box-shadow: 0 40px 110px rgba(57,71,70,.2); transform: translate3d(calc((var(--px) - 50vw) * .015),calc((var(--py) - 50vh) * .012),0); }
.hero-media::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.54); clip-path: inherit; pointer-events: none; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.83) contrast(.95) brightness(1.05); }
body[data-game="wholeness"] .hero-media img { view-transition-name: game-wholeness-hero; }
body[data-game="psychosomatics"] .hero-media img { view-transition-name: game-psychosomatics-hero; }
.hero-facts { position: absolute; z-index: 9; left: 7vw; bottom: 5vh; display: flex; gap: 8px; margin: 0; padding: 0; list-style: none; }
.hero-facts li { min-width: 105px; padding: 12px 16px; border: 1px solid rgba(57,71,70,.19); border-radius: 999px 12px 999px 9px; background: rgba(255,253,248,.58); backdrop-filter: blur(10px); }
.hero-facts small { display: block; color: var(--muted); font-size: 7px; letter-spacing: .13em; text-transform: uppercase; }
.hero-facts b { display: block; margin-top: 5px; font-family: "Unbounded", sans-serif; font-size: 9px; font-weight: 500; }
.hero-scroll { position: absolute; z-index: 9; right: 4vw; bottom: 4vh; display: flex; align-items: center; gap: 11px; color: var(--muted); font-size: 7px; letter-spacing: .13em; text-transform: uppercase; writing-mode: vertical-rl; }
.hero-scroll::before { content: ""; width: 1px; height: 50px; background: var(--ink); animation: scroll-pulse 1.8s ease-in-out infinite; transform-origin: top; }
@keyframes scroll-pulse { 0%,100%{transform:scaleY(.28);opacity:.35} 50%{transform:scaleY(1);opacity:1} }
.hero-die { position: absolute; z-index: 12; width: 76px; height: 76px; background: center/contain no-repeat; filter: drop-shadow(0 16px 16px rgba(57,71,70,.2)); pointer-events: none; }
.hero-die--a { left: 53vw; top: 16vh; background-image: url("../assets/game-die-coral-v2.webp"); transform: rotate(-13deg); animation: hero-drift-a 6.5s ease-in-out infinite; }
.hero-die--b { right: 4vw; bottom: 15vh; width: 67px; height: 67px; background-image: url("../assets/game-die-lavender-v2.webp"); transform: rotate(15deg); animation: hero-drift-b 7.4s ease-in-out infinite; }
@keyframes hero-drift-a { 50%{transform:translate3d(14px,-17px,0) rotate(19deg)} }
@keyframes hero-drift-b { 50%{transform:translate3d(-18px,13px,0) rotate(-21deg)} }

body[data-game="psychosomatics"] { --mint: #e4efeb; --mint-deep: #8faea9; }
body[data-game="psychosomatics"] .game-hero::before { background: radial-gradient(circle at 80% 16%, rgba(187,185,215,.52), transparent 38%), radial-gradient(circle at 12% 82%, rgba(232,170,160,.23), transparent 34%), #fbf8f1; }
body[data-game="psychosomatics"] .hero-copy { width: 61vw; padding-top: 16vh; }
body[data-game="psychosomatics"] .hero-title { max-width: 850px; font-size: clamp(55px,7.2vw,110px); }
body[data-game="psychosomatics"] .hero-title span { color: #9c99bf; }
body[data-game="psychosomatics"] .hero-media { right: -2vw; top: 13vh; width: 45vw; height: 72vh; border-radius: 49% 15% 48% 22% / 25% 22% 46% 42%; clip-path: none; }
body[data-game="psychosomatics"] .hero-media::after { border-radius: inherit; clip-path: none; box-shadow: inset 0 0 0 13px rgba(255,253,248,.14); }
body[data-game="psychosomatics"] .hero-media img { filter: saturate(.72) contrast(.93) brightness(1.08); }
.medical-banner { position: absolute; z-index: 10; right: 6vw; bottom: 6vh; max-width: 480px; margin: 0; padding: 14px 18px; border-left: 3px solid var(--coral); background: rgba(255,253,248,.76); color: #5d6967; font-size: 10px; line-height: 1.5; backdrop-filter: blur(12px); }

.game-story { position: relative; min-height: 360vh; background: var(--paper); }
.story-sticky { position: sticky; top: 0; height: 100svh; overflow: hidden; }
.story-sticky::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 72% 50%, rgba(216,238,231,.62), transparent 36%), linear-gradient(120deg,var(--paper),rgba(251,247,239,.88)); }
.story-counter { position: absolute; z-index: 4; left: 7vw; top: 10vh; color: rgba(57,71,70,.32); font-family: "Unbounded",sans-serif; font-size: 9px; letter-spacing: .15em; }
.story-counter b { color: var(--ink); font-weight: 500; }
.story-chapters { position: absolute; z-index: 10; left: 7vw; top: 0; width: 43vw; height: 100%; }
.story-chapter { position: absolute; left: 0; top: 50%; width: 100%; opacity: 0; visibility: hidden; transform: translate3d(0,45px,0); transition: opacity .5s ease, transform .7s cubic-bezier(.18,.75,.18,1), visibility 0s .7s; }
.story-chapter.is-active { opacity: 1; visibility: visible; transform: translate3d(0,-50%,0); transition-delay: 0s; }
.story-chapter h2 { max-width: 640px; margin: 0; font-family: "Unbounded",sans-serif; font-size: clamp(36px,4.5vw,70px); font-weight: 500; letter-spacing: -.055em; line-height: 1.02; }
.story-chapter > p:not(.section-kicker) { max-width: 570px; margin: 26px 0 0; color: var(--muted); font-size: 16px; line-height: 1.65; }
.story-chapter ul { display: grid; gap: 10px; max-width: 570px; margin: 25px 0 0; padding: 0; list-style: none; }
.story-chapter li { position: relative; padding: 9px 0 9px 26px; border-bottom: 1px solid var(--line); color: #566461; font-size: 13px; line-height: 1.45; }
.story-chapter li::before { content: ""; position: absolute; left: 0; top: 15px; width: 8px; height: 8px; border-radius: 50% 3px 50% 4px; background: var(--coral); transform: rotate(28deg); }
.story-art { position: absolute; z-index: 3; right: 3vw; top: 8vh; width: 47vw; height: 84vh; }
.sky-core, .signal-core { position: absolute; left: 50%; top: 50%; width: min(37vw,570px); aspect-ratio: 1; border-radius: 50%; transform: translate(-50%,-50%) rotate(var(--story-r,0deg)); transition: transform .18s linear; }
.sky-core { background: radial-gradient(circle at 36% 30%,rgba(255,255,255,.96),rgba(216,238,231,.72) 47%,rgba(187,185,215,.2) 72%,transparent 73%); box-shadow: 0 40px 100px rgba(82,125,116,.16), inset 0 0 0 1px rgba(57,71,70,.08); }
.sky-core::before, .sky-core::after { content: ""; position: absolute; border-radius: 50%; background: rgba(255,255,255,.75); filter: blur(10px); }
.sky-core::before { left: -18%; top: 28%; width: 58%; height: 22%; animation: cloud-cross 10s ease-in-out infinite; }
.sky-core::after { right: -12%; bottom: 18%; width: 52%; height: 20%; animation: cloud-cross 12s -4s ease-in-out infinite reverse; }
@keyframes cloud-cross { 50%{transform:translateX(46px) scale(1.08);opacity:.52} }
.orbit-word { position: absolute; z-index: 4; left: 50%; top: 50%; padding: 8px 12px; border: 1px solid rgba(57,71,70,.12); border-radius: 999px 7px 999px 8px; background: rgba(255,253,248,.73); color: #5f706c; font-size: 8px; letter-spacing: .12em; text-transform: uppercase; backdrop-filter: blur(8px); transform: rotate(var(--word-a,0deg)) translateX(clamp(150px,17vw,255px)) rotate(calc(var(--word-a,0deg) * -1)); }
.orbit-word:nth-child(2) { --word-a: 65deg; }.orbit-word:nth-child(3) { --word-a: 137deg; }.orbit-word:nth-child(4) { --word-a: 208deg; }.orbit-word:nth-child(5) { --word-a: 289deg; }
.story-dots { position: absolute; z-index: 12; right: 30px; top: 50%; display: grid; gap: 10px; transform: translateY(-50%); }
.story-dots i { width: 5px; height: 17px; border-radius: 50%; background: rgba(57,71,70,.16); transition: height .3s ease, background .3s ease; }
.story-dots i.is-active { height: 44px; background: var(--ink); }

body[data-game="psychosomatics"] .story-sticky::before { background: radial-gradient(circle at 72% 50%,rgba(187,185,215,.32),transparent 37%),radial-gradient(circle at 80% 68%,rgba(232,170,160,.2),transparent 27%),var(--paper); }
.signal-core { border: 1px solid rgba(57,71,70,.1); background: radial-gradient(circle at 50% 42%,rgba(255,253,248,.95),rgba(187,185,215,.28) 43%,rgba(232,170,160,.17) 62%,transparent 63%); box-shadow: 0 40px 120px rgba(133,126,161,.14); }
.signal-core::before, .signal-core::after { content: ""; position: absolute; inset: 17%; border: 1px solid rgba(156,153,191,.43); border-radius: 45% 55% 48% 52%; animation: signal-breathe 5s ease-in-out infinite; }
.signal-core::after { inset: 31%; border-color: rgba(232,170,160,.54); animation-delay: -2.2s; }
@keyframes signal-breathe { 50%{transform:scale(1.17) rotate(12deg);border-radius:55% 45% 57% 43%;opacity:.42} }
.pulse-line { position: absolute; z-index: 5; left: 5%; top: 48%; width: 90%; overflow: visible; fill: none; stroke: #9c99bf; stroke-width: 1.4; stroke-dasharray: 8 9; opacity: .62; }
.pulse-line path { stroke-dashoffset: var(--pulse-offset,0); }
.signal-word { position: absolute; z-index: 6; color: #6e6c86; font-family: "Unbounded",sans-serif; font-size: 8px; letter-spacing: .12em; text-transform: uppercase; }
.signal-word--one { left: 8%; top: 24%; }.signal-word--two { right: 6%; top: 34%; }.signal-word--three { left: 13%; bottom: 19%; }.signal-word--four { right: 12%; bottom: 22%; }

.game-process { position: relative; padding: 14vh 7vw 16vh; background: var(--milk); overflow: hidden; }
.game-process::before { content: attr(data-word); position: absolute; right: -3vw; top: 1vh; color: rgba(57,71,70,.045); font-family: "Unbounded",sans-serif; font-size: 15vw; font-weight: 600; white-space: nowrap; }
.section-head { position: relative; z-index: 2; display: grid; grid-template-columns: .75fr 1.25fr; gap: 6vw; align-items: end; }
.section-head h2 { max-width: 760px; margin: 0; font-family: "Unbounded",sans-serif; font-size: clamp(43px,6vw,88px); font-weight: 500; letter-spacing: -.06em; line-height: .98; }
.section-head > p { max-width: 560px; margin: 0 0 5px; color: var(--muted); font-size: 16px; line-height: 1.65; }
.process-steps { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(5,1fr); gap: 0; margin: 11vh 0 0; padding: 0; list-style: none; counter-reset: process; }
.process-steps li { position: relative; min-height: 270px; padding: 85px 22px 25px; border-top: 1px solid var(--ink); border-right: 1px solid var(--line); counter-increment: process; }
.process-steps li:last-child { border-right: 0; }
.process-steps li::before { content: "0" counter(process); position: absolute; left: 21px; top: 22px; color: var(--mint-deep); font-family: "Unbounded",sans-serif; font-size: 12px; }
.process-steps h3 { margin: 0; font-family: "Unbounded",sans-serif; font-size: 14px; font-weight: 500; line-height: 1.35; }
.process-steps p { margin: 17px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }

.game-results { position: relative; padding: 15vh 7vw; background: var(--ink); color: var(--paper); overflow: hidden; }
.game-results::before { content: ""; position: absolute; right: -10vw; top: -25vh; width: 64vw; height: 70vh; border-radius: 50%; background: rgba(216,238,231,.08); }
.game-results h2 { position: relative; z-index: 2; max-width: 1080px; margin: 0; font-family: "Unbounded",sans-serif; font-size: clamp(45px,6.5vw,98px); font-weight: 500; letter-spacing: -.06em; line-height: .98; }
.results-list { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(2,1fr); gap: 0 6vw; max-width: 1100px; margin: 10vh 0 0 auto; padding: 0; list-style: none; }
.results-list li { padding: 22px 0; border-top: 1px solid rgba(255,255,255,.22); color: rgba(255,253,248,.78); font-size: 15px; line-height: 1.5; }
.results-list li::before { content: "↗"; display: inline-block; margin-right: 14px; color: var(--coral); }

.game-boundary { display: grid; grid-template-columns: .7fr 1.3fr; gap: 8vw; padding: 12vh 7vw; background: #f5efe9; }
.game-boundary h2 { margin: 0; font-family: "Unbounded",sans-serif; font-size: clamp(35px,4vw,60px); font-weight: 500; letter-spacing: -.045em; }
.boundary-copy { max-width: 760px; }
.boundary-copy p { margin: 0; color: #5f6c69; font-size: 16px; line-height: 1.7; }
.boundary-copy strong { color: var(--ink); }
.boundary-copy p + p { margin-top: 20px; }

.game-booking { position: relative; min-height: 92svh; display: grid; place-items: center; padding: 12vh 7vw; background: var(--paper); text-align: center; overflow: hidden; }
.booking-orbit { position: absolute; left: 50%; top: 50%; width: min(72vw,920px); aspect-ratio: 1.6; border: 1px solid rgba(57,71,70,.17); border-radius: 50%; transform: translate(-50%,-50%) rotate(-5deg); }
.booking-orbit::before { content: ""; position: absolute; inset: 8% -3% -6% 5%; border: 1px solid rgba(232,170,160,.48); border-radius: 50%; transform: rotate(9deg); }
.booking-copy { position: relative; z-index: 3; max-width: 960px; }
.booking-copy h2 { margin: 0; font-family: "Unbounded",sans-serif; font-size: clamp(48px,7.5vw,110px); font-weight: 500; letter-spacing: -.065em; line-height: .93; }
.booking-copy > p { max-width: 600px; margin: 30px auto 0; color: var(--muted); font-size: 16px; line-height: 1.65; }
.price-options { display: flex; justify-content: center; gap: 12px; margin: 36px 0 0; }
.price-options span { padding: 13px 18px; border: 1px solid var(--line); border-radius: 999px 8px 999px 7px; background: rgba(216,238,231,.4); font-size: 11px; }
.booking-cta { display: inline-flex; align-items: center; justify-content: center; gap: 18px; width: 230px; height: 78px; margin-top: 36px; border: 1px solid var(--ink); border-radius: 50%; background: var(--ink); color: white; text-decoration: none; font-family: "Unbounded",sans-serif; font-size: 10px; transform: rotate(-3deg); transition: transform .4s cubic-bezier(.18,.75,.18,1), background .3s ease, color .3s ease; }
.booking-cta:hover, .booking-cta:focus-visible { outline: none; background: var(--mint); color: var(--ink); transform: rotate(1deg) scale(1.05); }
.game-footer { display: flex; justify-content: space-between; gap: 20px; padding: 25px 28px; border-top: 1px solid var(--line); background: var(--paper); color: var(--muted); font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.game-footer a { color: inherit; }

::view-transition-old(root) { animation: root-old .46s ease both; }
::view-transition-new(root) { animation: root-new .72s cubic-bezier(.18,.75,.18,1) both; }
::view-transition-group(game-wholeness-hero), ::view-transition-group(game-psychosomatics-hero) { animation-duration: .82s; animation-timing-function: cubic-bezier(.18,.75,.18,1); }
@keyframes root-old { to { opacity: 0; filter: blur(7px); } }
@keyframes root-new { from { opacity: 0; clip-path: circle(4% at 72% 54%); } to { opacity: 1; clip-path: circle(145% at 72% 54%); } }

@media (max-width: 760px) {
  body::before { display: none; }
  .game-header { left: 15px; right: 15px; top: 14px; grid-template-columns: auto 1fr auto; }
  .game-brand { align-self: center; font-size: 5px; }.game-brand b { font-size: 6px; }.game-header__cta { font-size: 6px; }
  .game-back { padding: 8px 10px; font-size: 6px; }
  .game-hero { min-height: 1050px; }
  .hero-copy, body[data-game="psychosomatics"] .hero-copy { width: auto; padding: 13vh 18px 0; }
  .hero-kicker { margin-bottom: 17px; font-size: 7px; }
  .hero-title, body[data-game="psychosomatics"] .hero-title { max-width: 95vw; font-size: clamp(47px,14vw,69px); }
  body[data-game="wholeness"] .hero-copy { width: auto; }
  body[data-game="wholeness"] .hero-title { font-size: clamp(40px,11.3vw,47px); }
  body[data-game="wholeness"] .hero-media { left: 18px; right: auto; width: calc(100vw - 36px); }
  .hero-lead { max-width: 92vw; margin-top: 24px; font-size: 13px; line-height: 1.55; }
  .hero-media, body[data-game="psychosomatics"] .hero-media { left: 18px; right: auto; top: 49%; width: calc(100vw - 36px); height: 40%; border-radius: 26px 26px 47px 17px; clip-path: polygon(5% 0,100% 5%,95% 100%,0 94%); }
  body[data-game="psychosomatics"] .hero-media { top: 50%; border-radius: 44% 13% 42% 20% / 19% 18% 36% 33%; clip-path: none; }
  .hero-facts { left: 18px; right: 18px; bottom: 4vh; gap: 6px; overflow: hidden; }
  .hero-facts li { flex: 1; min-width: 0; padding: 10px 9px; }.hero-facts small { font-size: 5px; }.hero-facts b { font-size: 7px; }
  .hero-scroll { display: none; }.hero-die { width: 57px; height: 57px; }.hero-die--a { left: 7vw; top: 44%; }.hero-die--b { right: 3vw; bottom: 13%; width: 52px; height: 52px; }
  .medical-banner { left: 18px; right: 18px; bottom: 12vh; max-width: none; font-size: 8px; }
  .game-story { min-height: 390vh; }
  .story-counter { left: 18px; top: 10vh; }
  .story-chapters { left: 18px; top: 0; width: calc(100vw - 36px); height: 58%; }
  .story-chapter { top: 48%; }.story-chapter h2 { font-size: clamp(31px,10vw,47px); }.story-chapter > p:not(.section-kicker) { margin-top: 17px; font-size: 12px; line-height: 1.55; }.story-chapter ul { gap: 4px; margin-top: 15px; }.story-chapter li { padding: 6px 0 6px 21px; font-size: 10px; }.story-chapter li::before { top: 11px; }
  .story-art { left: 7vw; right: auto; top: 56%; width: 86vw; height: 39%; }
  .sky-core, .signal-core { width: 58vw; }
  .orbit-word { padding: 5px 7px; font-size: 5px; transform: rotate(var(--word-a,0deg)) translateX(31vw) rotate(calc(var(--word-a,0deg) * -1)); }
  .story-dots { right: 10px; }
  .signal-word { font-size: 5px; }
  .game-process { padding: 11vh 18px 12vh; }.section-head { grid-template-columns: 1fr; gap: 24px; }.section-head h2 { font-size: clamp(38px,12vw,55px); }.section-head > p { font-size: 13px; }
  .process-steps { grid-template-columns: 1fr; margin-top: 7vh; }.process-steps li { min-height: 0; padding: 55px 12px 22px 58px; border-right: 0; }.process-steps li::before { left: 4px; top: 20px; }.process-steps h3 { font-size: 12px; }.process-steps p { margin-top: 10px; font-size: 11px; }
  .game-results { padding: 12vh 18px; }.game-results h2 { font-size: clamp(39px,12vw,57px); }.results-list { grid-template-columns: 1fr; margin-top: 7vh; }.results-list li { padding: 17px 0; font-size: 12px; }
  .game-boundary { grid-template-columns: 1fr; gap: 28px; padding: 10vh 18px; }.game-boundary h2 { font-size: 37px; }.boundary-copy p { font-size: 13px; }
  .game-booking { min-height: 790px; padding: 10vh 18px; }.booking-orbit { width: 115vw; aspect-ratio: 1.15; }.booking-copy h2 { font-size: clamp(45px,14vw,67px); }.booking-copy > p { font-size: 13px; }.price-options { flex-direction: column; align-items: center; }.price-options span { font-size: 9px; }.booking-cta { width: 210px; height: 70px; }
  .game-footer { padding: 20px 18px; font-size: 6px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
  body::before, .hero-scroll, .hero-die { display: none; }
  .hero-media { transform: none; }
  .game-story { min-height: auto; }
  .story-sticky { position: relative; height: auto; overflow: visible; padding: 11vh 7vw; }
  .story-art, .story-counter, .story-dots { display: none; }
  .story-chapters { position: relative; left: auto; top: auto; width: auto; height: auto; }
  .story-chapter, .story-chapter.is-active { position: relative; top: auto; opacity: 1; visibility: visible; transform: none; margin-bottom: 70px; }
}
