/* TORII's native-scroll journey. Static chapter panels are the default. */
html:has(.landing){scroll-padding-top:0}
.landing{--ink:#12242b;--paper:#f2efe5;--gold:#efce92;--muted:#56655f;--fern:#698c82;--lavender:#b8a9cc;background:var(--paper)}
.landing h1,.landing h2{font-weight:400}.landing header{padding:25px 5vw;border:0}.landing header .wordmark{font-size:31px}.landing header nav a{font-size:12px}.landing .eyebrow{font-size:10px;letter-spacing:.22em}.landing :focus-visible{outline:2px solid var(--gold);outline-offset:6px}.landing .section :focus-visible{outline-color:var(--ink)}
.reading-progress{position:fixed;top:0;left:0;z-index:20;height:2px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;pointer-events:none}
.landing .hero{height:100svh;min-height:740px;max-height:1250px;background:#14262c}.landing .hero-scene{object-position:50% 53%;transform:scale(1.04);will-change:transform}.landing .hero:before{background:linear-gradient(90deg,#101f2cec 0%,#152738a8 36%,#15273818 80%),linear-gradient(0deg,#10202fed,transparent 48%,#101c285c)}
.landing .hero-copy{width:70%;max-width:1000px;margin:0;padding:clamp(160px,23vh,250px) 0 100px 9vw;will-change:transform,opacity}.landing .hero h1{font-size:clamp(64px,7vw,112px);line-height:1.1;letter-spacing:-.06em;margin:26px 0 32px}.landing .hero .lead{font-size:16px;line-height:1.9;max-width:370px}.landing .hero .button{margin-top:30px}.landing .button{border-radius:2px;padding:16px 24px;background:var(--gold);box-shadow:0 3px 28px #0614161a}.landing .availability{color:#e4e2d7;opacity:1;font-size:10px}
.hero-orbit{position:absolute;width:60vw;height:60vw;min-width:640px;min-height:640px;top:50%;left:63%;transform:translate(-50%,-50%);border:1px solid #f5db9e33;border-radius:50%;pointer-events:none}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;inset:18px;border:1px solid #efce9210;border-radius:50%}.hero-orbit:after{inset:50px}.landing .hero-fox{width:clamp(290px,29vw,440px);right:8vw;bottom:60px;will-change:transform;filter:drop-shadow(0 20px 35px #09131a80)}.landing .hero-bottom{left:5vw;right:5vw;font-size:10px;letter-spacing:.05em}.scroll-cue{display:flex;gap:24px;align-items:center;text-decoration:none}.scroll-cue>span{font-size:22px;color:var(--gold)}
.landing .section{padding:120px 9vw}.invitation{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;align-items:center;background:var(--paper)}.invitation h2{margin-top:24px;font-size:clamp(37px,4vw,65px);line-height:1.3}.invitation em{color:#467067}.invitation-aside>p{font-size:15px;color:var(--muted);max-width:410px}.journey-facts{display:flex;gap:30px;margin-top:36px;border-top:1px solid #12242b26;padding-top:24px}.journey-facts p{display:flex;flex-direction:column;flex:1}.journey-facts strong{font-family:var(--serif);font-size:35px;line-height:1.2;font-weight:400}.journey-facts span{font-size:10px;line-height:1.6;margin-top:10px;color:var(--muted);max-width:105px}
.journey{position:relative;background:var(--ink);color:var(--paper);scroll-margin-top:0}.journey-stage{position:relative}.journey-caption{position:absolute;z-index:7;left:5vw;right:5vw;top:30px;display:flex;justify-content:space-between;align-items:center;gap:15px}.journey-caption>a{font-size:11px;text-decoration:none}.world{position:relative;height:100svh;min-height:650px;overflow:hidden}.world-media,.world-shade{position:absolute;inset:0}.world-media img,.world-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.world-media video{opacity:0;transition:opacity 1s}.world-media video.is-ready{opacity:1}.world-media{transform:scale(1.035);transform-origin:center;will-change:transform}.world-shade{background:linear-gradient(90deg,#061c20a6,#061c2020 68%),linear-gradient(0deg,#081c27eb 0%,#0c1e2710 65%,#0c1e2759);pointer-events:none}.world-summit .world-shade{background:linear-gradient(90deg,#202338a3,#27274200 75%),linear-gradient(0deg,#181f32e6,transparent 70%,#28213c40)}.world-copy{position:absolute;left:9vw;bottom:22%;max-width:535px;width:70%;z-index:2;will-change:transform,opacity}.world-copy .eyebrow{color:var(--gold)}.world-copy .eyebrow>span{color:var(--paper);font-weight:400;letter-spacing:.09em}.world h2{font-size:clamp(85px,13vw,200px);letter-spacing:-.065em;line-height:1.08;margin:13px 0 23px;font-weight:400;text-shadow:0 3px 45px #09212433}.world-story{max-width:345px;font-size:14px;line-height:1.95;color:#faf3e9}.world-access{margin-top:26px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:12px}.world-access:before{content:"";width:24px;height:1px;background:var(--gold)}.world-symbol{position:absolute;right:7vw;bottom:24%;font:150px/1 var(--serif);color:#f5edd12b;writing-mode:vertical-rl;pointer-events:none}.journey-controls{display:none}.portal-rim{display:none}
.motion-enhanced .journey{height:420svh}.motion-enhanced .journey-stage{position:sticky;top:0;height:100svh;min-height:560px;overflow:hidden;isolation:isolate}.motion-enhanced .worlds,.motion-enhanced .world{position:absolute;inset:0;width:100%;height:100%;min-height:0}.motion-enhanced .world:nth-child(2),.motion-enhanced .world:nth-child(3){clip-path:circle(0% at 65% 48%)}.motion-enhanced .journey-controls{position:absolute;bottom:34px;left:5vw;right:5vw;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:5vw}.chapter-nav{display:flex;gap:25px;max-width:760px;flex:1}.chapter-nav button{position:relative;flex:1;text-align:left;background:none;border:0;padding:14px 0 20px;color:var(--paper);font:12px/1.5 Noto,Arial,sans-serif;cursor:pointer;min-height:55px}.nav-number{font-size:10px;color:var(--gold);margin-right:15px}.chapter-track{position:absolute;bottom:0;left:0;right:0;height:1px;background:#fff4d538}.chapter-track i{display:block;background:var(--gold);width:100%;height:2px;transform-origin:left;transform:scaleX(0)}.chapter-nav [aria-pressed=true]{color:var(--gold)}.chapter-nav button:hover{color:var(--gold)}.motion-toggle{border:1px solid #f2efe54d;color:var(--paper);background:#10212e59;border-radius:30px;min-height:44px;min-width:44px;padding:9px 15px;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;white-space:nowrap;font:10px/1.5 Noto,Arial,sans-serif}.motion-toggle>span:first-child{font-size:16px;min-width:14px}.motion-toggle:hover{background:#10212eaa}.motion-enhanced .portal-rim{display:block;position:absolute;left:65%;top:48%;width:0;height:0;transform:translate(-50%,-50%);border:1px solid #fce6ab8c;border-radius:50%;box-shadow:0 0 40px #ffe2aa26,inset 0 0 30px #ffe2aa26;opacity:0;z-index:6;pointer-events:none}
.landing .gameplay{background:#132a32;gap:15%;overflow:hidden}.landing .gameplay h2{font-size:clamp(42px,4.8vw,72px)}.landing .gameplay .lead{font-size:15px;max-width:420px}.landing .gameplay li{font-size:12px;margin-top:14px}.landing .gameplay figure{position:relative;isolation:isolate}.phone-halo{position:absolute;left:50%;top:45%;width:440px;height:440px;transform:translate(-50%,-50%);border:1px solid #a1c3b52e;border-radius:50%;z-index:-1;box-shadow:0 0 100px #779f8530,inset 0 0 120px #779f851c}.phone-halo:after{content:"";position:absolute;inset:35px;border:1px solid #a1c3b519;border-radius:50%}.landing .phone{border-radius:38px;max-width:268px;border:4px solid #567075;transform:rotate(5deg);will-change:transform}.landing .gameplay figcaption{font-size:10px;max-width:240px}.landing .gameplay .text-link{color:var(--gold);font-size:12px}
.landing .friends{background:var(--paper);position:relative}.landing .section-head h2{font-size:clamp(40px,4.5vw,67px);margin:20px 0}.landing .section-head>p:last-child{font-size:14px;max-width:500px}.landing .spirit-row{margin-top:55px;gap:45px}.landing .spirit img{height:280px;transition:transform .65s cubic-bezier(.2,.7,.2,1);filter:drop-shadow(0 20px 20px #21443914)}.landing .spirit:hover img{transform:translateY(-10px) rotate(-2deg)}.landing .spirit .eyebrow{color:#52786b;font-size:8px}.landing .spirit h3{font-size:37px;margin:10px 0 10px}.landing .spirit p:last-child{font-size:12px;max-width:225px}.landing .serif{font-size:17px}
.landing .offer{background:#e5e9de;border-color:#b7c7bb}.landing .offer h2{font-size:clamp(39px,4.2vw,62px)}.landing .offer .price{font-size:clamp(60px,6vw,90px);letter-spacing:-.06em;font-weight:400}.offer-free{font-size:13px;color:#46675b;max-width:290px;margin-top:30px}.landing .offer-details .lead{font-size:14px}.landing .offer .fineprint{max-width:420px;font-size:10px}.landing .faq{padding-top:95px;padding-bottom:95px}.landing .faq h2{font-size:40px}.landing .faq summary{font-size:13px}.landing .closing{position:relative;isolation:isolate;min-height:530px;display:grid;place-items:center;text-align:center;color:var(--paper);padding:80px 7vw;background:var(--ink);overflow:hidden}.closing>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 57%}.closing:after{content:"";position:absolute;inset:0;background:#101c2cc4;z-index:-1}.closing h2{font-size:clamp(38px,4.5vw,68px);margin:24px 0;line-height:1.3}.closing p:not(.eyebrow){font-size:11px;margin-bottom:28px}.closing .button{font-size:12px}.landing footer{background:#101f27}
.motion-enhanced [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1)}.motion-enhanced [data-reveal].revealed{opacity:1;transform:translateY(0)}.motion-enhanced .spirit:nth-child(2){transition-delay:.12s}.motion-enhanced .spirit:nth-child(3){transition-delay:.24s}.motion-paused [data-reveal]{transition:none}.motion-paused .world-media video{transition:none}.motion-paused .spirit:hover img{transform:none}
@media(min-width:1600px){.landing .hero-copy{padding-left:12vw}.world-copy{left:12vw}.landing .section{padding-left:12vw;padding-right:12vw}}
@media(max-width:1000px){.landing .hero h1{font-size:clamp(61px,8.5vw,86px)}.landing .hero-copy{width:83%;padding-left:7vw}.landing .hero-fox{right:1vw;width:310px}.landing .section{padding:90px 7vw}.invitation{gap:7%}.journey-facts{gap:18px}.world-copy{left:7vw}.landing .spirit-row{gap:24px}.landing .spirit img{height:230px}.motion-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.motion-toggle{padding:9px 12px}.landing .gameplay{gap:8%}.phone-halo{width:350px;height:350px}}
@media(max-width:680px){.landing header{padding:22px 6vw}.landing header .wordmark{font-size:26px}.landing header nav{gap:18px}.landing header nav a{font-size:11px}.landing .hero{min-height:740px;height:100svh;max-height:1050px}.landing .hero-copy{padding:145px 7vw 0;width:100%;max-width:600px}.landing .hero h1{font-size:clamp(49px,10.5vw,71px);margin:20px 0 24px}.landing .hero .lead{max-width:290px;font-size:14px}.landing .hero .button{margin-top:26px;font-size:12px;min-height:48px;padding:13px 20px}.landing .hero .availability{max-width:260px;font-size:9px}.landing .hero:before{background:linear-gradient(180deg,#142538bf,#142538b8 45%,#14253838 75%,#12222cf5)}.landing .hero-scene{object-position:59% 55%}.hero-orbit{left:50%;top:65%;min-width:500px;min-height:500px}.landing .hero-fox{width:240px;bottom:42px;right:-24px}.landing .hero-bottom{left:7vw;right:7vw;bottom:24px;font-size:8px;gap:20px}.scroll-cue{gap:10px;white-space:nowrap}.scroll-cue>span{font-size:18px}.landing .section{padding:75px 7vw}.invitation{grid-template-columns:1fr;gap:30px}.invitation h2{font-size:clamp(35px,7.6vw,50px);margin-top:18px}.invitation-aside>p{font-size:13px}.journey-facts{margin-top:26px;gap:20px}.journey-facts strong{font-size:31px}.journey-facts span{font-size:9px}.journey-caption{left:7vw;right:7vw;top:25px}.journey-caption .eyebrow{font-size:7px;letter-spacing:.12em;max-width:140px}.journey-caption>a{font-size:9px}.world{min-height:620px}.motion-enhanced .journey{height:380svh}.motion-enhanced .journey-stage{min-height:520px}.world-copy{bottom:24%;left:7vw;width:83%;max-width:410px}.world h2{font-size:clamp(77px,20vw,118px);margin:16px 0 21px}.world-copy .eyebrow{font-size:8px;letter-spacing:.13em}.world-story{font-size:13px;max-width:290px}.world-access{font-size:8px;margin-top:23px}.world-symbol{right:7vw;bottom:48%;font-size:95px;color:#fff2d31a}.world-media img,.world-media video{object-position:55% center}.world-river .world-media img,.world-river .world-media video{object-position:55% center}.world-shade{background:linear-gradient(0deg,#081c27f5,#081c2770 45%,#081c2715 80%,#081c2777)}.world-summit .world-shade{background:linear-gradient(0deg,#1c2036f5,#1c203650 55%,#1c20360a 80%,#1c203677)}.motion-enhanced .journey-controls{left:7vw;right:7vw;bottom:27px;gap:20px}.chapter-nav{gap:14px}.chapter-nav button{font-size:10px;padding-top:10px}.nav-number{display:block;margin:0 0 6px;font-size:8px}.motion-toggle{align-self:end;margin-bottom:0}.landing .gameplay{grid-template-columns:1fr;gap:65px}.landing .gameplay h2{font-size:44px}.landing .gameplay .lead{font-size:14px}.landing .gameplay figure{width:100%;max-width:320px}.landing .phone{max-width:245px}.landing .section-head h2{font-size:37px}.landing .section-head>p:last-child{font-size:13px}.landing .spirit-row{grid-template-columns:1fr;gap:36px;margin-top:35px}.landing .spirit{grid-template-columns:140px 1fr;column-gap:18px;text-align:left}.landing .spirit img{height:175px;grid-column:1;grid-row:1/5}.landing .spirit .eyebrow{font-size:7px;letter-spacing:.12em;grid-column:2;align-self:end}.landing .spirit h3{font-size:30px;margin:7px 0}.landing .spirit .serif{font-size:14px}.landing .spirit p:last-child{font-size:11px;margin:8px 0 0}.landing .offer{grid-template-columns:1fr;gap:40px}.landing .offer h2{font-size:39px}.offer-free{font-size:12px;margin-top:20px}.landing .offer .price{font-size:62px}.landing .faq{grid-template-columns:1fr;gap:25px}.landing .faq h2{font-size:33px;max-width:290px}.landing .closing{min-height:470px}.closing h2{font-size:38px}.landing footer{padding-left:7vw;padding-right:7vw}}
@media(max-width:380px){.landing .hero{min-height:760px}.landing .hero h1{font-size:47px}.landing .hero-copy{padding-top:138px}.landing .hero-fox{width:215px}.landing .hero-bottom{font-size:7px}.world h2{font-size:76px}.world-copy .eyebrow>span{display:block;margin-top:8px}.world-copy{bottom:23%}.chapter-nav{gap:9px}.landing .spirit{grid-template-columns:118px 1fr;column-gap:12px}.landing .spirit img{height:155px}}
@media(max-height:620px) and (min-width:681px){.motion-enhanced .journey-stage{min-height:0}.world-copy{bottom:22%}.world h2{font-size:90px;margin:8px 0 14px}.world-story{font-size:12px}.world-access{margin-top:12px}.journey-caption{top:15px}.motion-enhanced .journey-controls{bottom:15px}}
@media(prefers-reduced-motion:reduce){.landing .hero-scene,.landing .hero-copy,.landing .hero-fox,.landing .phone,.world-media{transform:none!important;will-change:auto}.world-media video{display:none}.hero-orbit{opacity:.5}.world{height:85svh;min-height:600px}.world-copy{bottom:16%}.world-symbol{display:none}.landing .spirit:hover img{transform:none}}

/* The second act reveals new mechanics after the cinematic opening. */
.beyond-worlds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:55px}.beyond-world{min-width:0}.beyond-art{position:relative;aspect-ratio:1/1.05;isolation:isolate}.beyond-art>img:first-child{width:100%;height:100%;object-fit:cover;border-radius:50% 50% 7px 7px}.beyond-art:after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(transparent 55%,#12223080);z-index:1;pointer-events:none}.beyond-spirit{position:absolute;width:52%;height:70%;object-fit:contain;right:-5%;bottom:-7%;z-index:2;filter:drop-shadow(0 12px 18px #0005)}.beyond-copy{padding:34px 6px 0}.beyond-copy h3{font:500 clamp(36px,4vw,57px) ToriiSerif,serif;margin:15px 0}.beyond-copy p{font-size:14px;line-height:1.9;max-width:340px;color:var(--muted)}.beyond-copy small{display:block;margin-top:20px;font-size:11px;letter-spacing:.03em}.beyond-copy .eyebrow{font-size:9px;line-height:1.7}.landing .spirit-row{row-gap:58px}
@media(max-width:680px){.beyond-worlds{grid-template-columns:1fr;gap:65px}.beyond-art{max-width:430px;aspect-ratio:1.2}.beyond-copy{padding-top:30px}.beyond-copy h3{font-size:44px}.beyond-copy p{font-size:13px}.beyond-spirit{right:0;width:45%}.landing .spirit-row{row-gap:36px}}
