@charset "UTF-8";
:root{color-scheme:dark;--bg:#0c171d;--ink:#f1ecdf;--muted:#bcc7c4;--accent:#a8d5ca;--line:#344249;--gutter:clamp(1.25rem,5vw,5.5rem);font-family:system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;font-size:16px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-block-start:2rem}
body{margin:0;background:var(--bg);color:var(--ink);line-height:1.65}
a{color:inherit;text-decoration:none}
button,summary{cursor:pointer}
button,select{font:inherit}
button{color:inherit}
a,button,summary{-webkit-tap-highlight-color:transparent}
a:hover{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
[hidden]{display:none!important}
img{display:block;max-width:100%;height:auto}
figure,p,h1,h2,h3{margin:0}
p{color:var(--muted);overflow-wrap:break-word;hyphens:auto}
h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.12;letter-spacing:-.025em;text-wrap:balance}
h2{font-size:clamp(2.25rem,4.5vw,4.6rem)}
h3{font-size:clamp(2rem,3.4vw,3.65rem)}
bdi{unicode-bidi:isolate}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:20;inset-block-start:1rem;inset-inline-start:1rem;transform:translateY(-200%);padding:.7rem 1.2rem;background:var(--ink);color:var(--bg)}
.skip-link:focus{transform:none}
.site-header{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:92px;padding:1rem max(var(--gutter),env(safe-area-inset-left)) 1rem max(var(--gutter),env(safe-area-inset-right));border-bottom:1px solid var(--line)}
.brand,.footer-brand{font-family:Georgia,"Times New Roman",serif;letter-spacing:.25em;font-size:1.6rem;line-height:1;direction:ltr;unicode-bidi:isolate}
.header-nav{display:flex;align-items:center;gap:clamp(1rem,3vw,3rem);font-size:.875rem}
.header-nav>a{padding-block:.6rem}
.language-menu{position:relative}
.language-menu summary{display:flex;align-items:center;gap:.65rem;min-height:44px;list-style:none}
.language-menu summary::-webkit-details-marker{display:none}
.language-menu summary::after{content:"⌄";font-size:1rem}
.language-options{position:absolute;inset-block-start:calc(100% + .5rem);inset-inline-end:0;width:max-content;min-width:12rem;padding:.65rem;background:#15272d;border:1px solid #526460;box-shadow:0 12px 28px #0005}
.language-options a,.language-options button{display:block;min-height:44px;padding:.65rem .8rem;text-align:start;width:100%;border:0;background:none;font-size:.9rem;white-space:normal}
.language-options a[aria-current]{color:#fff;background:#29423f}
.language-options a:hover,.language-options button:hover{background:#29423f}
.hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:min(790px,calc(100svh - 92px));padding:3.5rem var(--gutter) 6rem;overflow:hidden;direction:ltr}
.hero-backdrop{position:absolute;z-index:-2;inset:0 0 0 35%;opacity:.55;mask-image:linear-gradient(90deg,transparent,#000 35%)}
.hero-backdrop img{width:100%;height:100%;object-fit:cover}
.hero-copy{position:relative;z-index:1;max-width:650px;padding-block:1.5rem}
.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;font-weight:600;color:var(--accent);margin-block-end:1.5rem}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(6rem,13.1vw,13rem);letter-spacing:.12em;line-height:.93;margin-inline-start:-.025em;color:var(--ink);direction:ltr}
.hero-tagline{font-family:Georgia,"Times New Roman",serif;color:var(--ink);font-size:clamp(1.45rem,2.35vw,2.5rem);line-height:1.35;max-width:22ch;margin-block-start:1.6rem}
.hero-summary{max-width:31ch;margin-block-start:1.25rem;font-size:1.05rem}
.platform-note{font-size:.875rem;margin-block-start:1.5rem}
.primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem 1.3rem;border:1px solid #a8c4bb;margin-block-start:2.2rem;font-size:.9rem;background:#16282d;transition:background .2s}
.primary-link:hover{background:#243c40;color:#fff}
.arrow{font-size:1.25rem;line-height:1;direction:ltr}
.iris{position:relative;width:125%;max-width:780px;aspect-ratio:1;justify-self:center;margin-inline-start:-7%;direction:ltr}
.iris picture{position:absolute;inset:0}
.iris img{width:100%;height:100%}
.iris-inner{animation:iris-turn 85s linear infinite;animation-play-state:paused}
.iris-outer{animation:iris-counter 145s linear infinite;animation-play-state:paused}
[data-motion=running] .iris-inner,[data-motion=running] .iris-outer{animation-play-state:running}
.hero-bottom{position:absolute;inset-inline:var(--gutter);inset-block-end:1.6rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;direction:ltr}
.hero-bottom>span{font-size:.75rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}
.motion-button{position:fixed;z-index:6;inset-inline-end:max(1rem,env(safe-area-inset-right));inset-block-end:max(1rem,env(safe-area-inset-bottom));border:1px solid #657c79;border-radius:2rem;background:#102228;color:#e4f0eb;min-height:44px;padding:.55rem .95rem;font-size:.8rem;box-shadow:0 3px 12px #0003}
.motion-button:disabled{cursor:default}
.section{padding:clamp(4.5rem,9vw,8rem) var(--gutter)}
.puzzle{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,6vw,7rem);align-items:center;background:#111f25;border-block:1px solid var(--line)}
.section-copy>p:not(.eyebrow){font-size:1.05rem;max-width:39ch;margin-block-start:1.6rem}
.puzzle-copy h2{max-width:13ch}
.puzzle-sequence{margin:2rem 0 0;padding-inline-start:1.4rem;color:var(--muted)}
.puzzle-sequence li{padding:.5rem 0 .5rem .4rem}
.puzzle-sequence li::marker{color:var(--accent);font-size:.875rem}
.puzzle-captures{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start;direction:ltr}
.puzzle-captures figure:nth-child(2){margin-block-start:3.6rem}
.puzzle-captures img{width:100%;aspect-ratio:941/990;object-fit:cover;background:#3b4537}
.puzzle-captures figcaption{font-size:.875rem;color:var(--ink);margin-block-start:.8rem}
.capture-note{font-size:.75rem;margin-block-start:1.8rem;color:var(--muted)}
.worlds-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-block-end:3.4rem}
.worlds-heading h2{max-width:15ch}
.worlds-heading>p{max-width:25ch}
.world{display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;border-block-start:1px solid var(--line);min-width:0}
.world-copy{padding:3.5rem clamp(1.5rem,4vw,4rem) 3.5rem 0}
.world-copy>p{max-width:32ch;margin-block-start:1.5rem}
.world-number{display:block;color:var(--accent);font-size:.8rem;margin-block-end:1.2rem;letter-spacing:.12em}
.world-art{background:#20251d}
.world-art img{width:100%;aspect-ratio:1440/1100;object-fit:cover}
.world:nth-child(odd){grid-template-columns:1.18fr .82fr}
.world:nth-child(odd) .world-art{order:-1}
.world:nth-child(odd) .world-copy{padding-inline-start:clamp(1.5rem,4vw,4rem);padding-inline-end:0}
.companion-section{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:4rem;background:#17231f}
.companion-section h2{max-width:13ch}
.companion-art{direction:ltr;position:relative}
.companion-art img{width:100%;aspect-ratio:4/3;object-fit:contain}
.companion-art::after{content:"";position:absolute;inset:75% 0 0;background:linear-gradient(transparent,#17231f);pointer-events:none}
.final-section{padding:clamp(5rem,10vw,9rem) var(--gutter);text-align:center}
.final-mark{font-family:Georgia,"Times New Roman",serif;font-size:1.5rem;letter-spacing:.3em;margin-block-end:2rem;direction:ltr}
.final-section h2{max-width:16ch;margin-inline:auto}
.final-section .platform-note{margin-block-start:1.5rem}
.enter-link{display:inline-flex;gap:2rem;align-items:center;min-height:44px;border-block-end:1px solid #8ba59a;margin-block-start:2rem}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;padding:2.5rem var(--gutter) 6rem;border-block-start:1px solid var(--line);font-size:.875rem}
.site-footer nav{display:flex;flex-wrap:wrap;gap:2rem}
.site-footer a{display:inline-block;padding-block:.5rem}
.copyright{font-size:.8rem}
.legal-page{min-height:100svh;display:flex;flex-direction:column}
.legal-main{width:min(100% - var(--gutter)*2,760px);margin-inline:auto;padding-block:5rem 7rem;flex:1}
.legal-main h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(2.4rem,5vw,4.5rem);line-height:1.15;overflow-wrap:anywhere}
.legal-main h2{font-family:inherit;font-size:1.2rem;font-weight:500;margin-block:2.5rem .8rem;letter-spacing:0}
.legal-main p{margin-block-start:1rem}
.legal-lede{font-size:1.1rem}
.legal-updated{font-size:.875rem;margin-block-start:3rem!important}
.support-card{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;border-block:1px solid #698479;padding:1.4rem 0;margin-block:2rem;font-size:1.15rem;overflow-wrap:anywhere}
.support-card small{width:100%;color:var(--muted);font-size:.8rem}
html[dir=rtl] .hero-copy{direction:rtl}
html[dir=rtl] .hero h1{text-align:right}
html[dir=rtl] .hero-copy .eyebrow,html[dir=rtl] .hero-tagline,html[dir=rtl] .hero-summary{text-align:right}
html[dir=rtl] h2,html[dir=rtl] h3,html[dir=rtl] .hero-tagline,html[dir=rtl] .legal-main h1{font-family:Tahoma,"Segoe UI",Arial,sans-serif;letter-spacing:0;line-height:1.45}
html[dir=rtl] .eyebrow{letter-spacing:0;font-size:.9rem}
html[dir=rtl] .puzzle-captures figcaption{direction:rtl;text-align:right}
@keyframes iris-turn{to{transform:rotate(360deg)}}
@keyframes iris-counter{to{transform:rotate(-360deg)}}
@media(hover:hover) and (pointer:fine){.enter-link:hover .arrow{transform:translateY(-2px)}}
@media(min-width:1600px){.site-header,.hero,.section,.final-section,.site-footer{padding-inline:max(var(--gutter),calc((100vw - 1440px)/2))}}
@media(max-width:900px){.hero{min-height:660px;padding-block:2rem 5rem}.hero h1{font-size:clamp(5.5rem,12vw,8rem)}.puzzle{gap:2rem}.worlds-heading{display:block}.worlds-heading>p{margin-block-start:1.5rem}.companion-section{gap:2rem}.world-copy{padding-block:2rem}}
@media(max-width:620px){
.site-header{min-height:76px;gap:1rem;padding-block:.8rem}.brand{font-size:1.4rem}.header-nav{gap:1rem}.header-nav>.journey-link,.header-nav>.worlds-link{display:none}
.hero{grid-template-columns:1fr;min-height:0;padding-block:2rem 4.5rem;gap:0;text-align:center}
.hero-copy{padding:0;max-width:none}.hero-copy .eyebrow{margin-block-end:1rem;font-size:.75rem}
.hero h1{font-size:clamp(5.7rem,24vw,8rem);padding-inline-start:.1em}
.hero-tagline{font-size:1.65rem;margin:1.1rem auto 0;max-width:22ch}.hero-summary{font-size:1rem;max-width:28ch;margin:1rem auto 0}.platform-note{margin-block-start:1rem;font-size:.8rem}.primary-link{margin-block-start:1.5rem;min-height:48px;padding:.7rem 1rem}
.iris{width:min(110%,420px);max-width:none;margin:-.5rem 0 -2rem}.hero-backdrop{inset:25% -20% 0;mask-image:linear-gradient(transparent,#000 45%);opacity:.45}
.hero-bottom{inset-block-end:1rem;justify-content:center}.hero-bottom>span{font-size:.65rem}
.puzzle{grid-template-columns:1fr;gap:2rem}.puzzle-copy h2{max-width:17ch}.puzzle-sequence{display:none}.puzzle-captures{gap:.65rem}.puzzle-captures figure:nth-child(2){margin-block-start:2rem}.puzzle-captures figcaption{font-size:.8rem}.capture-note{font-size:.75rem}
.worlds-heading{margin-block-end:2rem}.world,.world:nth-child(odd){grid-template-columns:1fr;padding-block:1.5rem 0;gap:1.8rem}.world-copy,.world:nth-child(odd) .world-copy{padding:0}.world-art,.world:nth-child(odd) .world-art{order:0;margin-inline:calc(var(--gutter)*-1)}.world-copy p{margin-block-start:1rem;max-width:37ch}.world-number{margin-block-end:.65rem}.world h3{font-size:2.25rem}.world+.world{margin-block-start:1.5rem}.worlds-section{padding-block-end:0}
.companion-section{grid-template-columns:1fr;gap:2rem}.companion-section .section-copy{order:-1}.companion-art{margin-inline:-1rem}.companion-section h2{max-width:18ch}
.site-footer{align-items:start;gap:1.5rem}.footer-brand{width:100%}.site-footer nav{gap:1.5rem}.copyright{width:100%}
html[dir=rtl] .hero h1,html[dir=rtl] .hero-copy .eyebrow,html[dir=rtl] .hero-tagline,html[dir=rtl] .hero-summary{text-align:center}
}
@media(max-height:500px) and (min-width:621px){.hero{min-height:530px}.hero h1{font-size:6rem}.hero-copy{padding-block:0}.hero .eyebrow{margin-block-end:.75rem}.iris{width:110%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.iris-inner,.iris-outer{animation:none!important}*,*::before,*::after{transition:none!important}}
@media(forced-colors:active){.hero-backdrop{display:none}.primary-link,.motion-button{border:1px solid ButtonText}}

/* Shared material color joins each scene to its quiet text area. */
.world--lumen{background:#20251d}
.world--gravity{background:#25263c}
.world--hollow{background:#111b35}
.world .world-copy{padding-inline:clamp(1.5rem,4vw,4rem)}
.world:nth-child(odd) .world-copy{padding-inline-end:clamp(1.5rem,4vw,4rem)}
.language-options{min-width:min(12rem,calc(100vw - 2.5rem));max-width:calc(100vw - 2.5rem)}
.motion-button{max-width:calc(100vw - 2rem);text-align:center}
.hero h1{font-size:min(13.1vw,13rem)}
@media(max-width:620px){.hero h1{font-size:min(24vw,8rem)}.world{margin-inline:calc(var(--gutter)*-1)}.world .world-copy,.world:nth-child(odd) .world-copy{padding-inline:var(--gutter)}.world-art,.world:nth-child(odd) .world-art{margin-inline:0}}
