.world{position:relative;isolation:isolate;background:#142333}.world-track{position:absolute;inset:0;pointer-events:none}.world-stage{position:sticky;top:var(--header);height:calc(100svh - var(--header));min-height:580px;overflow:hidden;pointer-events:auto}.world-stage picture,.world-stage picture img,.world-stage canvas,.world-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.world-stage canvas{opacity:0;transition:opacity .7s}.world.ready canvas{opacity:1}.world-shade{background:linear-gradient(90deg,#0b172cec 0%,#0b172cb8 26%,#0b172c28 59%,transparent 90%),linear-gradient(0deg,#101924d9,transparent 24%);pointer-events:none}.world-stop{height:calc(100svh - var(--header));min-height:580px}.world.enhanced .world-stop{height:120svh}.world.enhanced .world-stop:last-child{height:100svh}.world-copy-wrap{position:relative;display:flex;align-items:center;height:100%;padding-bottom:55px}.world-copy{width:52%;max-width:650px}.world-copy h1,.world-copy h2{font-size:clamp(48px,6.5vw,96px);line-height:.99;letter-spacing:-.055em}.world-copy .lede{max-width:35ch;font-size:18px;color:#d9e2e5}.world-copy .actions{gap:25px}.world-fact{font-size:12px;color:var(--mint);margin-top:24px}.world-fact span{color:var(--muted)}.world-disclaimer{font-size:10px;color:#c2ccd2;margin-top:22px}.hero-proof{display:flex;gap:9px;align-items:center;font-size:11px;color:#d0d9df;margin-top:35px}.proof-dot{height:5px;width:5px;border-radius:50%;background:var(--mint)}.world-bottom{position:absolute;bottom:24px;left:0;right:0;display:flex;align-items:end;justify-content:flex-end;gap:20px}.world-skip{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;background:#15202caa;border:1px solid #ffffff35;border-radius:30px;padding:10px 18px;font-size:12px;white-space:nowrap;transition:background .2s,border-color .2s}.world-skip:hover{background:#223442;border-color:#ffffff66}.world-progress{position:absolute;right:max(56px,calc((100% - 1320px)/2));top:50%;transform:translateY(-50%);display:grid;padding:6px 2px;background:none;border:0;box-shadow:none;backdrop-filter:none}.world-progress button{display:grid;place-items:center;width:32px;height:28px;border:0;padding:0;background:transparent;border-radius:50%;cursor:pointer}.world-progress button span{width:6px;height:6px;border-radius:50%;background:#a5bdc77a;transition:background .2s,transform .2s}.world-progress button[aria-current] span{width:8px;height:8px;background:var(--mint);transform:none}.world-progress button:hover span{background:#d0e5e8}.world-progress button:focus-visible{outline:2px solid var(--mint);outline-offset:0}.world.travel .world-copy{pointer-events:none}.proof-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center}.proof-editorial{max-width:500px}.proof-editorial .muted{font-size:14px;max-width:46ch}.proof-grid figure img{width:100%;aspect-ratio:1.2;object-fit:cover;object-position:43% center}.proof-metrics{display:flex;gap:46px;margin:32px 0 20px}.proof-metrics strong{font:400 42px/1.2 var(--display);letter-spacing:-.04em;display:block}.proof-metrics strong span{font-size:22px;color:var(--muted)}.proof-metrics div>span{display:block;font-size:10px;color:var(--muted);margin-top:8px}.intent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.intent-image{position:relative;overflow:hidden}.intent-image img{aspect-ratio:1.1;object-fit:cover;transition:transform .6s}.intent-card:hover img{transform:scale(1.025)}.intent-image>span{position:absolute;bottom:12px;left:14px;font-size:9px;text-transform:uppercase;letter-spacing:.09em;padding:5px 8px;background:#101924dc;color:#d5dee5}.intent-title{display:flex;gap:16px;align-items:start;margin-top:23px}.intent-title>span{font-size:10px;color:var(--mint);margin-top:6px}.intent-title h3{font-size:26px;max-width:15ch}.intent-title b{font-weight:400;margin-left:auto;color:var(--mint)}.intent-card>p{font-size:13px;color:var(--muted);margin:7px 0 0 30px;max-width:33ch}.home-method{background:#1c2834}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.method-grid>div>.text-link{margin-top:22px}.method-steps{margin:0;padding:0;list-style:none}.method-steps li{display:flex;gap:30px;padding:26px 0;border-top:1px solid #ffffff29}.method-steps li>span{font-size:11px;color:var(--mint);padding-top:4px}.method-steps h3{font-size:29px;max-width:22ch}.method-steps p{font-size:13px;color:var(--muted);margin:12px 0 0;max-width:49ch}.play-invite{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.play-invite .lede{font-size:18px}.play-invite .button-secondary{margin-top:14px}.play-preview{position:relative}.play-preview img{aspect-ratio:1.5;object-fit:cover}.play-preview>span{position:absolute;bottom:20px;right:20px;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--ink);font-size:24px}
@media(min-width:1700px){.world-progress{right:max(80px,calc((100% - 1460px)/2))}}
@media(max-width:1000px){.world-progress{right:32px}.world-copy{width:58%}.world-copy h1,.world-copy h2{font-size:64px}.world-copy .lede{font-size:16px}.proof-grid,.method-grid,.play-invite{gap:40px}.intent-title h3{font-size:23px}}
@media(max-width:760px){.world-stage,.world-stop{height:calc(100svh - var(--header));min-height:680px}.world-shade{background:linear-gradient(0deg,#101924fa 0%,#101924c4 28%,#10192415 70%),linear-gradient(180deg,#10192477,transparent 25%)}.world-copy-wrap{align-items:end;padding-bottom:112px}.world-copy{width:100%;max-width:440px}.world-copy h1,.world-copy h2{font-size:clamp(43px,10.8vw,62px);line-height:1.03;margin-bottom:14px}.world-copy .eyebrow{font-size:9px;margin-bottom:14px}.world-copy .lede{font-size:14px;max-width:36ch;line-height:1.6;margin-bottom:0}.world-copy .actions{gap:16px;margin-top:22px}.world-copy .button{font-size:11px;padding:12px 16px;min-height:46px;gap:12px}.world-copy .text-link{font-size:10px}.hero-proof{margin-top:22px;font-size:9px;gap:7px}.world-bottom{bottom:22px;align-items:center;gap:10px}.world-progress{right:20px;top:42%;padding:6px 2px}.world-skip{font-size:11px;padding:10px 13px;gap:8px}.world-copy{width:calc(100% - 22px)}.world-fact{font-size:10px;margin:18px 0 0}.world-disclaimer{font-size:9px;margin-top:12px}.proof-grid,.method-grid,.play-invite{grid-template-columns:1fr;gap:32px}.proof-grid figure img{aspect-ratio:1.15}.proof-metrics{gap:45px}.intent-grid{grid-template-columns:1fr;gap:36px}.intent-image img{aspect-ratio:1.3}.intent-title h3{font-size:29px;max-width:23ch}.intent-card>p{font-size:14px;max-width:36ch}.method-steps li{gap:22px}.method-steps h3{font-size:27px}.play-invite .lede{font-size:17px}}
@media(max-height:720px) and (min-width:761px){.world-copy h1,.world-copy h2{font-size:62px}.world-copy .eyebrow{margin-bottom:15px}.world-copy .lede{font-size:15px}.world-copy .actions{margin-top:20px}.hero-proof{margin-top:22px}.world-stage,.world-stop{min-height:530px}}

/* Keep the scroll cue and skip control clear of copy on compact screens. */
@media(max-width:760px){.world-stage,.world-stop{min-height:0}.world-bottom{bottom:16px;min-height:44px}.world-copy-wrap{padding-bottom:96px}.world-copy .world-fact{max-width:34ch}.world-copy .world-disclaimer{max-width:40ch}}
@media(max-height:700px) and (max-width:760px){.world-copy h1,.world-copy h2{font-size:40px}.world-copy .lede{font-size:13px}.world-copy .eyebrow{margin-bottom:10px}.world-copy .actions{margin-top:16px}.hero-proof{margin-top:14px}.world-copy .world-disclaimer{margin-top:9px}.world-copy-wrap{padding-bottom:90px}}

.world-progress{visibility:hidden}.world.enhanced .world-progress{visibility:visible}

/* Chapter choreography: masked headline, staggered copy, then the invitation. */
.world-title-line{display:block;overflow:hidden;padding:.09em .035em;margin:-.09em -.035em}
.world-title-ink{display:block;transform-origin:left bottom}
.world-copy.is-entering .world-title-ink{animation:world-line-in .8s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(70ms + var(--line)*110ms)}
.world-copy.is-entering .eyebrow{animation:world-label-in .65s cubic-bezier(.16,1,.3,1) both}
.world-copy.is-entering .lede,.world-copy.is-entering .world-fact,.world-copy.is-entering .world-disclaimer,.world-copy.is-entering .hero-proof{animation:world-detail-in .65s cubic-bezier(.16,1,.3,1) both;animation-delay:.24s}
.world-copy.is-entering .world-fact{animation-delay:.32s}
.world-copy.is-entering .world-disclaimer,.world-copy.is-entering .hero-proof{animation-delay:.55s}
.world-copy.is-entering .actions{animation:world-action-in .7s cubic-bezier(.16,1,.3,1) .4s both}
.world-copy .actions .button{position:relative;overflow:hidden;isolation:isolate}
.world-copy .actions .button::before{content:'';position:absolute;inset:-60% -35%;pointer-events:none;background:linear-gradient(110deg,transparent 30%,#ffffff70 48%,transparent 65%);transform:translateX(-110%)}
.world-copy.is-entering .actions .button::before{animation:world-action-sweep 1s cubic-bezier(.3,0,.2,1) .72s both}
.world-copy.is-entering .actions .button::after{animation:world-arrow-callout .7s cubic-bezier(.22,1,.36,1) .88s both}
.world-copy .actions .button:hover{transform:translateY(-2px)}
.world-copy .actions .button:focus-visible{outline:2px solid white;outline-offset:5px}
.world-copy.is-leaving .world-title-ink{animation:world-line-out .34s cubic-bezier(.6,0,.8,.4) both;animation-delay:calc(var(--line)*35ms)}
.world-copy.is-leaving .eyebrow,.world-copy.is-leaving .lede,.world-copy.is-leaving .world-fact,.world-copy.is-leaving .actions,.world-copy.is-leaving .world-disclaimer,.world-copy.is-leaving .hero-proof{animation:world-detail-out .27s ease-in both}
@keyframes world-line-in{from{transform:translateY(115%) rotate(2deg);opacity:.25}to{transform:translateY(0) rotate(0);opacity:1}}
@keyframes world-line-out{from{transform:translateY(0);opacity:1}to{transform:translateY(-115%);opacity:0}}
@keyframes world-label-in{from{clip-path:inset(0 100% 0 0);transform:translateX(-12px)}to{clip-path:inset(0);transform:translateX(0)}}
@keyframes world-detail-in{from{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes world-detail-out{to{transform:translateY(-12px);opacity:0}}
@keyframes world-action-in{from{transform:translateY(20px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
@keyframes world-action-sweep{from{transform:translateX(-110%)}to{transform:translateX(110%)}}
@keyframes world-arrow-callout{0%{transform:translate(0,0)}40%{transform:translate(4px,-4px)}100%{transform:translate(0,0)}}
@media(prefers-reduced-motion:reduce){.world-copy *,.world-copy *::before,.world-copy *::after{animation:none!important;transform:none!important}.world-title-line{overflow:visible}.world-copy .actions .button::before{display:none}}
.world.static-scene .world-copy *,.world.static-scene .world-copy *::before,.world.static-scene .world-copy *::after{animation:none!important}
.world.static-scene .world-copy .actions .button::before{display:none}

/* Keep actual guest photography intact at every breakpoint. */
.proof-grid figure picture,.intent-image picture{display:block}
.proof-grid figure img{aspect-ratio:4/3;object-fit:contain;object-position:center}
.intent-image img{width:100%;aspect-ratio:16/9;object-fit:contain}
.world-skip[hidden]{display:none}

/* Two user-selected moments of play and a supporting photograph. */
.proof-collage{min-width:0;margin:0}
.proof-collage-link{display:block}
.proof-moment{overflow:hidden;background:#0b151e;aspect-ratio:16/9}
.proof-moment video{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.proof-stills{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.proof-stills>div{min-width:0;overflow:hidden}
.proof-stills img,.proof-stills video{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.proof-stills .proof-gate img{object-fit:cover;object-position:center}

/* Proof of Play is the first tangible step towards a physical installation. */
.home-method{position:relative;background:linear-gradient(125deg,#213440,#182632 68%);border-block:1px solid #91d7c526}
.method-intro{border-left:2px solid var(--mint);padding-left:34px;max-width:600px}
.method-promise{font-size:clamp(20px,2vw,28px);letter-spacing:-.025em;color:var(--paper);margin:26px 0 14px}
.method-intro>.muted{line-height:1.7;max-width:42ch}
.method-intro>.button{margin-top:24px}
.method-byline{font-size:12px;line-height:1.6;color:var(--muted);margin:20px 0 0}
@media(max-width:760px){.method-intro{padding-left:20px}.method-promise{font-size:22px}.method-intro>.button{margin-top:18px}}

/* The sample is a full-bleed scene, with quiet controls drawn over the world. */
.home-play>.section-head{align-items:end;margin-bottom:40px}
.home-play>.section-head .lede{max-width:34ch;font-size:18px;margin:0}
.home-game-stage{width:100%;max-width:none;margin:0;outline:0;scroll-margin:0;background:#0d1326}
.home-game-stage:focus-visible{outline:2px solid var(--mint);outline-offset:-2px}
.home-showcase-visual{position:relative;height:clamp(480px,72svh,900px);background:#0d1326;transition:height .42s cubic-bezier(.16,1,.3,1)}
.home-game-showcase.is-expanded .home-showcase-visual{height:100svh;height:100dvh;min-height:0}
.home-game-stage [data-game-mount],.home-game-stage .play-frame{display:block;width:100%;height:100%;border:0;border-radius:0}
.home-game-toolbar{position:absolute;inset:0 0 auto;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px max(24px,4.1667vw) 52px;background:linear-gradient(#091421bb,#09142152 62%,transparent);pointer-events:none}
.home-game-toolbar>div{pointer-events:auto}
.home-game-toolbar button{font:inherit;font-size:12px;min-height:44px;min-width:44px;border:0;border-radius:0;color:var(--paper);background:transparent;padding:10px 14px;cursor:pointer}
.home-game-toolbar button:focus-visible{outline:2px solid var(--mint);outline-offset:2px}
.home-scene-navigation{display:flex;align-items:center;gap:12px}
.home-game-toolbar .home-scene-arrow{display:grid;place-items:center;flex:0 0 44px;padding:0;font-size:25px;line-height:1;transition:color .2s,background .2s}
.home-game-toolbar .home-scene-arrow:hover{color:var(--mint);background:#b4eadb12}
.home-scene-label{min-width:144px;text-align:center}
.home-scene-label>span{font-size:10px;letter-spacing:.15em;color:#c2d9d4;line-height:1.5}
.home-scene-label h3{font-size:21px;font-weight:400;line-height:1.25;letter-spacing:-.025em;margin:4px 0 0;text-shadow:0 2px 18px #091421}
.home-showcase-controls{display:flex;gap:10px;align-items:center}
.home-game-toolbar [data-showcase-device]{font-size:12px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#b4eadb66}
.home-game-toolbar [data-showcase-device][aria-pressed="true"]{color:var(--mint);text-decoration-color:var(--mint)}
.home-game-toolbar [data-restart-games]{border:1px solid #b4d5d552;background:#101b2799}
.home-game-toolbar [data-stop-games]{display:inline-flex;align-items:center;gap:16px;background:var(--mint);color:var(--ink);border:1px solid var(--mint)}
.home-game-toolbar [data-stop-games] span{font-size:19px;line-height:1}
.home-showcase-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.home-showcase-invite{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;pointer-events:none}
.home-showcase-invite .button-secondary{pointer-events:auto;background:#101b27d9;border-color:#9ee7dcab;font-size:12px;min-height:48px;padding:14px 22px;color:var(--mint);box-shadow:0 8px 36px #06112755}
.home-showcase-caveat{font-size:11px;line-height:1.5;letter-spacing:.015em;color:#e5eee9;text-shadow:0 2px 14px #061127}
.home-game-stage [data-game-status]:not(.sr-only){position:absolute;z-index:4;top:calc(50% + 80px);left:50%;transform:translateX(-50%);width:min(38ch,calc(100% - 40px));margin:0;text-align:center;font-size:14px;line-height:1.6;color:var(--paper)}
.home-game-showcase[data-play-state="error"] [data-game-mount]{display:none}
@media(max-width:760px){.home-play>.section-head .lede{font-size:17px;max-width:36ch;margin-top:22px}.home-game-toolbar{gap:8px;padding:18px 12px 45px;align-items:start}.home-scene-navigation{gap:0}.home-scene-label{min-width:116px}.home-scene-label h3{font-size:17px}.home-scene-label>span{font-size:9px}.home-game-toolbar [data-showcase-device]{font-size:11px;padding-inline:8px}.home-showcase-controls{gap:8px}.home-showcase-visual{height:clamp(500px,72svh,720px)}.home-game-showcase.is-expanded .home-scene-navigation{display:none}.home-game-showcase.is-expanded .home-game-toolbar{justify-content:flex-end}.home-showcase-invite .button-secondary{font-size:11px;min-height:44px;padding:12px 18px}}
@media(prefers-reduced-motion:reduce){.home-showcase-visual,.home-game-toolbar .home-scene-arrow{transition:none}}

html.play-immersive{scroll-padding-top:0}
html.play-immersive .site-header{transform:translateY(-100%);visibility:hidden;pointer-events:none}
.home-showcase-timer{font-size:14px;font-variant-numeric:tabular-nums;letter-spacing:.05em;color:var(--mint);min-width:44px;text-align:center}
.home-showcase-complete{font-size:clamp(24px,3vw,42px);line-height:1.2;letter-spacing:-.04em;margin:0 20px 6px;text-align:center;text-shadow:0 3px 24px #061127}

.proof-stills video{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 35%;pointer-events:none}
