/* Night Camp motion system. Original painted scenes never translate. */
:root{--night:#071426;--moon:#86bfff;--ember:#ff9d42;--motion-fast:180ms;--motion-ui:340ms;--motion-scene:760ms;--accent:#d2acff}body{background:radial-gradient(ellipse at 15% 24%,#192c48 0,transparent 23%),radial-gradient(ellipse at 88% 60%,#192843 0,transparent 22%),#071426}main{overflow:clip}header{height:110px}.experience-controls{display:flex;gap:8px;margin-left:auto}.experience-controls button{border:1px solid #d9b97655;color:#ecdcbd;background:#071426b0;border-radius:22px;min-height:38px;padding:7px 13px;letter-spacing:.2px;font-size:13px;white-space:nowrap}.experience-controls button[aria-pressed=false]{color:#a7b6c9}.experience-controls button:hover{border-color:var(--gold)}.hero{min-height:760px;height:100svh;max-height:1080px}.hero-image{background-image:image-set(url('/assets/images/hero-1600.webp') type('image/webp'),url('/assets/images/hero-cinematic-v2.jpg') type('image/jpeg'));transform:none!important}.hero-shade{background:linear-gradient(90deg,#06122359,transparent 70%),linear-gradient(0deg,#071426,transparent 20%)}.hero-copy{left:5.5%;top:16%;width:42%;text-shadow:0 3px 15px #030c1c}.hero-logo{width:73%;max-width:360px}.hero-copy>.eyebrow{font-size:9px;letter-spacing:4px}.hero h1{font-size:clamp(39px,3.7vw,63px)}.hero-sub{font-size:16px}.hero-actions{gap:20px}.hero .gold-button{font-size:27px;min-width:335px;padding:14px 26px}.gold-button{isolation:isolate;overflow:hidden;transition:transform var(--motion-fast),box-shadow var(--motion-ui),filter var(--motion-fast)}.gold-button:before{content:'';position:absolute;inset:-100% auto -100% -90%;width:35%;background:linear-gradient(90deg,transparent,#fff6,transparent);transform:skewX(-22deg);pointer-events:none}.gold-button:hover:before{animation:gold-sweep .7s ease-out}.gold-button:active{transform:translateY(2px) scale(.98)}.gold-button:after{content:'✧';position:absolute;right:12%;top:8%;color:#fff1bb;font-size:18px;opacity:0}.gold-button:hover:after{animation:cta-spark .7s ease-out}.gold-button:hover{box-shadow:0 8px 32px #dc9b4455,inset 0 0 10px #ffe8b47d}.scene-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.scene-anchor{position:absolute;left:var(--anchor-x,63%);top:var(--anchor-y,74%)}.moon-halo{width:110px;height:110px;background:radial-gradient(circle,#fff0b225,transparent 67%);border-radius:50%;transform:translate(-50%,-50%);animation:moon-breathe 8s ease-in-out infinite}.lantern-halo{width:115px;height:130px;transform:translate(-50%,-50%);background:radial-gradient(#ffbf6648,transparent 65%);animation:lantern-light 5.3s ease-in-out infinite}.fire-light{width:200px;height:210px;transform:translate(-50%,-70%);color:#ffbd56;isolation:isolate}.fire-light:before{content:'';position:absolute;inset:-30%;border-radius:50%;background:radial-gradient(#ffb84a38,#f2922220 30%,transparent 65%);animation:fire-glow 3.4s ease-in-out infinite}.flame-light{position:absolute;width:62px;height:98px;bottom:25%;left:35%;opacity:.19;transform-origin:50% 100%;mix-blend-mode:screen;animation:flame-flicker 1.8s ease-in-out infinite}.fire-light.fire-bright:before{opacity:1;filter:brightness(1.7)}.fire-light.fire-bright .flame-light{opacity:.42}.campfire-hotspot{z-index:2;transform:translate(-50%,-12%);width:92px;height:66px;background:transparent;border:0;color:#ffe2a6;text-shadow:0 2px 8px #000;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:50%;font-size:22px}.campfire-hotspot small{font-size:10px;letter-spacing:.5px;opacity:0;transition:opacity .2s}.campfire-hotspot:hover small,.campfire-hotspot:focus-visible small{opacity:1}.campfire-hotspot>span{opacity:.65}.hidden-star{position:absolute;left:52%;top:15%;width:44px;height:44px;background:transparent;border:0;color:#ffe6ad;font-size:24px;text-shadow:0 0 12px #f3ca61}.hidden-star.star-burst{animation:star-burst .8s ease-out}.interaction-caption{position:absolute;right:19%;bottom:17%;font-size:12px;color:#ffdf9d;text-shadow:0 2px 4px #000;pointer-events:none}.stars,.fireflies,.embers{position:absolute;inset:0;pointer-events:none;overflow:hidden}.stars{bottom:62%}.stars i{position:absolute;width:3px;height:3px;background:#e5efff;border-radius:50%;animation:twinkle var(--duration,5s) ease-in-out infinite;animation-delay:var(--delay,0s)}.fireflies i{position:absolute;left:var(--x);top:var(--y);width:3px;height:3px;background:#ffe69a;border-radius:50%;box-shadow:0 0 8px #fbe3959c;animation:firefly-drift var(--duration,7s) ease-in-out infinite alternate;animation-delay:var(--delay,0s)}.embers{inset:-55% -30% 0}.embers i{position:absolute;left:var(--x);bottom:3%;width:3px;height:5px;background:#ffd48d;border-radius:60%;animation:ember-rise var(--duration,4s) ease-out infinite;animation-delay:var(--delay,0s)}.spark-pop{position:absolute;left:50%;top:50%;width:4px;height:4px;background:#ffdfa0;border-radius:50%;animation:spark-pop 850ms ease-out forwards;pointer-events:none}.smoke{position:absolute;bottom:70%;left:45%;width:27px;height:66px;border-radius:50%;background:linear-gradient(#d5e2ed00,#d5e2ed17);animation:smoke-rise 7s ease-in-out infinite}.intro-layout{position:relative}.intro-layout>.fireflies{inset:-40px -20px}.story-image{border-radius:8px 75px 8px 65px;border-color:#cdb47780;transform:perspective(1000px) rotateY(var(--scene-rx,0deg));transition:transform .45s ease-out}.story-image:after{content:'';pointer-events:none;position:absolute;inset:7px;border:1px solid #e8c98940;border-radius:4px 68px 4px 58px}.intro-features article{position:relative;padding:9px 0 9px 13px;border-left:1px solid #cfac6750}.intro-features article:nth-child(2){margin-left:20px}.intro-features article:nth-child(3){margin-left:40px}.feature-symbol{background:#142741;transition:transform .35s,background .35s}.intro-features article:hover .feature-symbol{transform:rotate(-12deg);background:#6b4c24}.chapter-divider{left:46%}.classes{--accent:#bba0ef}.classes .section-heading:after{content:'✦';color:var(--gold);display:block;margin-top:20px}.class-tabs{position:relative;margin:0 auto 45px;gap:0;border-bottom:1px solid #cbb37d45}.class-tabs button{position:relative;background:transparent;border:0;border-radius:0;padding:16px 18px;min-height:52px;font-size:15px;max-width:none;color:#b2c0d3}.class-tabs button:after{content:'';position:absolute;bottom:-2px;left:15%;width:70%;height:3px;background:var(--gold);transform:scaleX(0);transition:transform .3s}.class-tabs button[aria-selected=true]{background:linear-gradient(transparent,#9f7b3621);border:0;box-shadow:none;color:#f6d893}.class-tabs button[aria-selected=true]:after{transform:scaleX(1)}.class-stage{position:relative;min-height:575px;gap:65px;isolation:isolate;transition:opacity .18s}.class-stage:before{content:'';position:absolute;z-index:-1;inset:4% 0;background:radial-gradient(ellipse at 28% 50%,color-mix(in srgb,var(--accent) 15%,transparent),transparent 60%);pointer-events:none}.class-stage[data-class=knight]{--accent:#e4b37a}.class-stage[data-class=archer]{--accent:#8cc897}.class-stage[data-class=mage]{--accent:#b99dec}.class-stage[data-class=priest]{--accent:#f1d98b}.class-stage[data-class=rogue]{--accent:#b58bdc}.class-changing{opacity:.4}.class-art{padding:18px 15px;max-width:400px;width:100%;z-index:0}.class-art img{border-radius:15px;box-shadow:0 0 50px #0005;border-color:color-mix(in srgb,var(--accent) 70%,transparent);position:relative}.class-orbit{position:absolute;inset:-8px -22px 30px;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:50%;transform:rotate(-16deg);pointer-events:none}.class-orbit:after{content:'';position:absolute;inset:20px -10px;border:1px dashed color-mix(in srgb,var(--accent) 30%,transparent);border-radius:50%;transform:rotate(28deg)}.class-orbit i{position:absolute;font-style:normal;font-size:24px;color:var(--accent);text-shadow:0 0 12px var(--accent);animation:rune-float 5s ease-in-out infinite}.class-orbit i:nth-child(1){top:20%;left:-4%}.class-orbit i:nth-child(2){top:60%;right:-2%;animation-delay:-2s}.class-orbit i:nth-child(3){bottom:8%;left:15%;animation-delay:-4s}.class-info .eyebrow{color:var(--accent)}.class-info .elements span{border-radius:12px 3px;transform:rotate(-4deg);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,#13253d),#102039);transition:transform .25s}.elements span:hover{transform:rotate(0deg) translateY(-3px)}.world{max-width:1450px}.exploration{border:1px solid #e6c48765;background:#0a182b;position:relative;padding:8px;box-shadow:0 15px 65px #0005;border-radius:5px 45px 5px 5px}.exploration:before,.exploration:after{content:'✧';position:absolute;color:var(--gold);font-size:24px;z-index:2;left:-12px;top:-20px}.exploration:after{left:auto;right:-12px;top:auto;bottom:-20px}.explore-scene{position:relative;aspect-ratio:16/9;min-height:340px;overflow:hidden;border-radius:2px 37px 0 0;touch-action:pan-y;background:#102440;isolation:isolate}.explore-scene>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;opacity:1;transition:opacity .6s}.explore-scene:after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(0deg,#071426dc,transparent 50%),linear-gradient(90deg,#07142655,transparent)}.explore-scene.changing>img{opacity:.25}.explore-hud{position:absolute;z-index:2;top:20px;left:22px;display:flex;align-items:center;gap:13px}.compass{display:grid;place-items:center;border:1px solid #f6d99c80;border-radius:50%;width:45px;height:45px;font-size:28px;color:#ffe3a5;background:#07142675}.explore-hud span:last-child{font-size:9px;letter-spacing:2px;color:#fff1ce}.scene-counter{position:absolute;top:22px;right:22px;font-size:11px;letter-spacing:2px;color:#fff0cf;z-index:2}.scene-markers{position:absolute;inset:0;z-index:2;pointer-events:none}.scene-markers button{pointer-events:auto;position:absolute;left:var(--marker-x);top:var(--marker-y);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:7px;min-width:100px;background:transparent;border:0;color:#f6ebd3;padding:10px;isolation:isolate}.scene-markers button>span{width:42px;height:42px;border:1px solid var(--gold);border-radius:50%;background:#071426bb;color:var(--gold);font-size:20px;display:grid;place-items:center;transition:background .3s,transform .3s}.scene-markers button>span:before{content:'';position:absolute;width:42px;height:42px;border:1px solid #e8cf8d80;border-radius:50%;animation:marker-ring 4s ease-out infinite}.scene-markers button small{padding:3px 10px;background:#071426cc;border:1px solid #d8bc7440;border-radius:3px;font-size:11px;white-space:nowrap}.scene-markers button[aria-pressed=true]>span{background:#d3a256;color:#10213a;box-shadow:0 0 15px #f6c97b40}.scene-markers button:hover>span{transform:scale(1.15)}.explore-preview{position:absolute;top:70px;left:20px;font-size:11px;color:#f5d292;z-index:2;text-shadow:0 2px 3px #000}.explore-controls{position:absolute;bottom:20px;right:20px;z-index:3;display:flex;gap:8px}.explore-controls button{width:44px;height:44px;border:1px solid #e4c99490;background:#08172ab8;border-radius:50%;color:var(--gold);font-size:22px}.location-detail{display:grid;grid-template-columns:.7fr 1.3fr;align-items:center;gap:20px;min-height:150px;padding:25px 25px 20px;border-top:1px solid var(--line);background:linear-gradient(110deg,#1a2b40,#0a192b)}.location-detail .eyebrow{font-size:9px;letter-spacing:2px}.location-detail h3{font-size:27px;margin-top:7px;color:var(--gold)}.location-detail p{font-size:14px;color:#cbd5e0}.exploration[data-location=snow]{--scene-color:#bfe8ff}.exploration[data-location=dark]{--scene-color:#d6a4ff}.exploration[data-location=camp]{--scene-color:#f3d68b}.scene-weather{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}.scene-weather i{position:absolute;left:var(--x);top:var(--y);width:3px;height:3px;background:var(--scene-color);border-radius:50%;animation:scene-drift var(--duration,9s) linear infinite;animation-delay:var(--delay,0s);opacity:.7}.exploration[data-location=snow] .scene-weather i{animation-name:snowfall;width:4px;height:4px}.world-source-enhanced{display:none}.together{min-height:760px;isolation:isolate;overflow:hidden}.together-bg{background-image:linear-gradient(90deg,#071426fa 5%,#071426d9 42%,#0714261a 100%),url('/assets/images/hero-cinematic-v2.webp')}.together-light{position:absolute;right:15%;bottom:3%;width:30%;height:45%;background:radial-gradient(#ffba6025,transparent 65%);z-index:-1;pointer-events:none;animation:fire-glow 6s ease-in-out infinite}.together-content h2{max-width:650px}.team-features article{padding:13px 0;border-top:1px solid #f2ce7b55}.team-features article span{display:inline-block;transition:transform .3s}.team-features article:hover span{transform:rotateY(180deg)}.team-features article:nth-child(2){margin-top:15px}.team-features article:nth-child(3){margin-top:30px}.news{padding-top:110px}.news-grid{position:relative;padding:25px 22px 30px;background:linear-gradient(90deg,#201c1d,#342821,#211c1b);border:1px solid #a27e47;border-radius:6px;box-shadow:inset 0 0 0 5px #141c26,0 12px 45px #0004;gap:22px}.news-grid:before{content:'✦';position:absolute;left:50%;top:-22px;transform:translateX(-50%);color:var(--gold);font-size:27px;background:#102039;padding:0 15px}.news-card{position:relative;border-radius:4px;border-color:#b8975f;background:linear-gradient(#152741,#101f33);transform:rotate(-1deg);transition:transform .35s,border-color .35s}.news-card:nth-child(2){transform:rotate(1deg)}.news-card:nth-child(3){transform:rotate(-.6deg)}.news-card:before{content:'';position:absolute;width:12px;height:12px;top:8px;left:8px;border-top:1px solid #ffe3a6;border-left:1px solid #ffe3a6;z-index:2}.news-card:after{content:'✧';position:absolute;right:12px;bottom:8px;color:var(--gold);opacity:.3;transition:opacity .2s}.news-card:hover{transform:translateY(-7px) rotate(0);border-color:#ffe2a6}.news-card:hover:after{opacity:1}.news-card img{transition:transform .7s;object-fit:cover}.news-card:hover img{transform:scale(1.025)}.faq{padding-top:90px;padding-bottom:100px}.faq-list{position:relative;padding:20px;background:linear-gradient(90deg,#18243a,#11233b);border:1px solid #a98a5466;border-radius:2px 22px 22px 2px;box-shadow:-8px 0 0 #0d1a2e,-10px 0 0 #8e774a55}.faq details{border:0;border-bottom:1px solid #e8cd882b;border-radius:0;background:transparent;padding:18px 4px}.faq details:last-child{border-bottom:0}.faq summary{font-size:14px;min-height:30px;align-items:center}.faq summary:after{content:'✧';font-size:20px;transition:transform .35s}.faq details[open] summary:after{content:'✧';transform:rotate(90deg);text-shadow:0 0 12px #edc97c}.faq details p{padding-right:20px}.guide-character{position:relative;width:fit-content;margin:20px auto 0}.guide-character img{height:220px;width:auto;transform-origin:50% 90%}.guide-speech{position:absolute;bottom:95%;left:40%;width:180px;max-width:55vw;font-size:12px;color:#ebdcc1;background:#122a45;border:1px solid #b59460;padding:12px 15px;border-radius:16px 16px 16px 0;opacity:0;transform:translateY(5px);pointer-events:none;transition:opacity .3s,transform .3s}.guide-character:hover .guide-speech,.guide-character:focus-visible .guide-speech{opacity:1;transform:translateY(0)}.guide-character:hover img{animation:guide-nod 2s ease-in-out infinite}.community{position:relative;isolation:isolate;overflow:hidden;min-height:710px;background-image:linear-gradient(#07142600,#07142677),url('/assets/images/hero-a.webp');padding-top:100px;padding-bottom:100px}.community-overlay{position:relative;z-index:1}.community .gold-button{font-size:30px;padding:16px 38px;min-width:340px}.community-overlay>.eyebrow{font-size:9px}.final-lantern{position:absolute;left:12%;top:28%;font-size:43px;color:#ffe4a0;opacity:.4;text-shadow:0 0 30px #ffc275;animation:lantern-light 6s ease-in-out infinite;pointer-events:none}.rail{width:112px;right:20px}.rail nav a{min-height:31px;padding:6px 4px}.rail nav a[aria-current]:before{content:'✧';margin-right:4px}.rail .social-icon:hover{transform:translateX(-3px)}.magic-cursor{position:fixed;z-index:1000;left:0;top:0;width:9px;height:9px;border-radius:50%;pointer-events:none;opacity:0;transform:translate(-100px,-100px);background:#ffe4a6;box-shadow:0 0 12px #e9b95799;transition:width .15s,height .15s}.magic-cursor.pointer-active{opacity:.75}.magic-cursor.on-control{width:15px;height:15px;background:transparent;border:1px solid #ffe4a6;box-shadow:0 0 9px #ffcd6c80}.magic-cursor i{position:absolute;width:2px;height:2px;background:#ffe4a6;border-radius:50%;left:-7px;top:8px;opacity:.5}.magic-cursor i:nth-child(2){left:-13px;top:15px;opacity:.3}.magic-cursor i:nth-child(3){left:-18px;top:22px;opacity:.15}.motion-off .magic-cursor{display:none}.scene-outside *,.page-hidden *{animation-play-state:paused!important}.motion-off *,.motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-off .flame-light{opacity:.12}.motion-off .fireflies i,.motion-off .embers i,.motion-off .scene-weather i,.motion-off .smoke{display:none}.motion-off .hero-copy,.motion-off .story-image{transform:none!important}.motion-off .campfire-hotspot small{opacity:1}.effects-ready .section-heading h2{transform-origin:left center}.effects-ready .in-view .section-heading h2{animation:heading-arrive .65s ease-out both}.effects-ready .intro.in-view .intro-features article:nth-child(2){animation:feature-arrive .6s .08s ease-out both}.effects-ready .intro.in-view .intro-features article:nth-child(3){animation:feature-arrive .6s .16s ease-out both}
@keyframes gold-sweep{to{left:160%}}@keyframes cta-spark{0%{opacity:0;transform:translateY(8px)}50%{opacity:1}100%{opacity:0;transform:translateY(-12px)}}@keyframes twinkle{0%,100%{opacity:.15}45%{opacity:.8}70%{opacity:.3}}@keyframes firefly-drift{0%{transform:translate3d(0,0,0);opacity:.2}45%{opacity:.8}100%{transform:translate3d(18px,-25px,0);opacity:.35}}@keyframes ember-rise{0%{transform:translate(0,20px);opacity:0}15%{opacity:.9}100%{transform:translate(var(--drift,20px),-140px) scale(.1);opacity:0}}@keyframes fire-glow{0%,100%{opacity:.4}30%{opacity:.7}65%{opacity:.48}82%{opacity:.8}}@keyframes flame-flicker{0%,100%{transform:scale(.92,1);opacity:.12}35%{transform:scale(1.03,.91);opacity:.25}70%{transform:scale(.94,1.05);opacity:.17}}@keyframes lantern-light{0%,100%{opacity:.5}45%{opacity:.85}52%{opacity:.55}59%{opacity:.8}}@keyframes moon-breathe{0%,100%{opacity:.45}50%{opacity:.85}}@keyframes smoke-rise{0%{transform:translate(0,20px) scale(.7);opacity:0}40%{opacity:.45}100%{transform:translate(15px,-90px) scale(1.7);opacity:0}}@keyframes rune-float{0%,100%{transform:translateY(0) rotate(0);opacity:.5}50%{transform:translateY(-10px) rotate(20deg);opacity:1}}@keyframes marker-ring{0%{transform:scale(.9);opacity:.6}75%,100%{transform:scale(1.6);opacity:0}}@keyframes scene-drift{0%{transform:translate(0,20px);opacity:0}30%{opacity:.7}100%{transform:translate(25px,-55px);opacity:0}}@keyframes snowfall{0%{transform:translate(0,-50px);opacity:0}20%{opacity:.8}100%{transform:translate(20px,240px);opacity:0}}@keyframes guide-nod{50%{transform:rotate(1deg)}}@keyframes star-burst{50%{transform:rotate(90deg) scale(1.7);text-shadow:0 0 25px #ffe3a5}}@keyframes spark-pop{to{transform:translate(var(--spark-x),var(--spark-y));opacity:0}}@keyframes heading-arrive{from{transform:translateX(-7px);letter-spacing:.4px}to{transform:translateX(0);letter-spacing:0}}@keyframes feature-arrive{from{transform:translateX(10px);opacity:.6}to{transform:translateX(0);opacity:1}}
@media(min-width:1600px){.hero-copy{left:7%;width:41%;top:17%}.hero-logo{max-width:420px}.section{max-width:1400px;padding-left:65px;padding-right:100px}}
@media(max-width:1100px){header{padding-right:150px}.experience-controls button{padding:6px 9px;font-size:11px}.hero-copy{left:3%;width:51%}.hero-logo{max-width:300px}.hero h1{font-size:44px}.hero .gold-button{min-width:300px;font-size:23px}.hero-sub{font-size:14px}.rail{width:99px;right:15px}.rail nav a{font-size:10px;min-height:29px;padding:5px 2px}.section{padding-right:135px;padding-left:35px}.class-stage{gap:35px}.location-detail{grid-template-columns:1fr 1.2fr}.location-detail h3{font-size:23px}}
@media(max-height:850px) and (min-width:901px){.hero{min-height:700px}.hero-copy{top:14%}.hero-logo{width:58%;max-width:310px}.hero h1{font-size:44px}.hero .gold-button{min-width:310px;font-size:23px}.hero-copy>.eyebrow{letter-spacing:3px}.hero-sub{margin-top:13px}.platform{margin-top:10px}.hero-actions{margin-top:22px}.rail .social-icon{width:25px;height:25px}.rail nav a{min-height:27px;padding:4px}.rail nav{gap:5px}}
@media(max-width:900px){.rail{display:none}.rail.open{display:block;right:16px;top:auto;bottom:75px;transform:none;width:125px;max-height:calc(100svh - 100px);background:#08182de8;border-radius:22px;padding:8px 6px 15px}.rail-toggle{display:flex;align-items:center;gap:7px;position:fixed;z-index:31;bottom:18px;right:16px;border:1px solid var(--gold);background:#10213bf2;color:var(--gold);border-radius:30px;padding:10px 16px;min-height:44px;font-size:17px;box-shadow:0 5px 20px #0007}.rail-toggle span{font-size:10px}.rail nav a{min-height:34px}.rail .social-icon{min-width:30px;min-height:30px}.mascot{height:48px}.mascot img{width:66px}.social-ribbon{padding-top:8px}#rail-socials{gap:8px;padding-top:8px}.section{padding-right:35px}.together{padding-right:35px}.community{padding-right:35px}header{padding-right:25px}.header-note{display:none}footer{padding-right:35px;padding-bottom:80px}.hero-copy{width:57%}.explore-scene{min-height:320px}.scene-markers button{min-width:85px}.scene-markers button small{font-size:10px}.magic-cursor{display:none}}
@media(max-width:760px){.hero{height:100svh;min-height:830px;max-height:1000px}.hero-image{background-image:url('/assets/images/hero-1600.webp');background-position:62% center}.hero-shade{background:linear-gradient(#07142644,#07142622 50%,#071426 100%)}header{height:85px;align-items:flex-start;padding:18px}header img{width:78px}.experience-controls{gap:6px;padding-top:3px}.experience-controls button{font-size:13px;min-width:38px;min-height:38px;padding:6px 9px}.experience-controls button span{font-size:9px}.hero-copy{top:14%;left:5%;width:90%;max-width:none;transform:none!important}.hero-logo{width:63%;max-width:265px;margin-bottom:15px}.hero h1{font-size:36px}.hero-copy>.eyebrow{font-size:7px;letter-spacing:2.5px}.hero-sub{font-size:13px;margin-top:15px}.hero .gold-button{min-width:295px;max-width:95%;font-size:25px;padding:14px 25px}.hero-actions{margin-top:30px;gap:23px}.hero .trailer-link{background:#07142655;padding:5px 12px;border-radius:20px}.hero .scroll-cue{font-size:8px;bottom:25px}.hidden-star{top:11%;left:78%;font-size:19px}.hero .interaction-caption{bottom:12%;right:auto;left:12%;font-size:10px}.campfire-hotspot{width:66px;height:55px}.campfire-hotspot small{font-size:9px;opacity:.7}.fire-light{width:150px;height:150px}.flame-light{width:44px;height:70px}.moon-halo{width:70px;height:70px}.lantern-halo{width:75px;height:90px}.fireflies i:nth-child(n+5),.stars i:nth-child(n+7),.embers i:nth-child(n+5){display:none}.section{padding:65px 23px 45px}.section-heading .eyebrow{font-size:8px}.section-heading h2{font-size:29px}.section-heading>p:last-child{font-size:13px}.intro-features article:nth-child(2){margin-left:10px}.intro-features article:nth-child(3){margin-left:20px}.intro-features h3{font-size:15px}.intro-features p{font-size:12px}.story-image img{min-height:210px}.story-image{border-radius:5px 40px 5px 40px}.story-image:after{border-radius:3px 35px 3px 35px}.class-tabs{flex-wrap:nowrap;gap:0;overflow:visible;margin-bottom:28px}.class-tabs button{min-width:0;flex:1 1 20%;font-size:12px;padding:12px 3px;min-height:48px}.class-stage{display:grid;grid-template-columns:1fr;gap:26px;min-height:900px}.class-art{width:82%;max-width:300px;min-height:415px;padding-top:15px}.class-art img{max-height:none;aspect-ratio:2/3;object-fit:cover}.class-orbit{inset:0 -8px 26px}.class-orbit i{font-size:20px}.class-info{min-height:420px;text-align:center}.class-info h3{font-size:36px}.class-info .eyebrow{font-size:10px}.class-info>p:not(.eyebrow){font-size:13px}.class-info .elements{margin:22px 0}.elements span{width:72px;height:72px;font-size:11px}.paths{min-height:75px;align-content:start}.paths span{font-size:11px}.exploration{padding:5px;border-radius:4px 28px 4px 4px}.explore-scene{aspect-ratio:4/5;min-height:360px;border-radius:3px 23px 0 0}.explore-scene>img{object-fit:cover}.explore-hud{top:15px;left:12px;gap:8px}.compass{width:35px;height:35px;font-size:23px}.explore-hud span:last-child{font-size:8px;letter-spacing:1px}.scene-counter{top:20px;right:12px;font-size:9px}.scene-markers button{min-width:80px;padding:7px;min-height:76px}.scene-markers button>span{width:43px;height:43px}.scene-markers button small{font-size:9px;padding:4px 6px}.scene-markers button:nth-child(1){--marker-x:24%!important;--marker-y:68%!important}.scene-markers button:nth-child(2){--marker-x:70%!important;--marker-y:38%!important}.scene-markers button:nth-child(3){--marker-x:73%!important;--marker-y:75%!important}.location-detail{grid-template-columns:1fr;gap:10px;min-height:210px;padding:24px 18px}.location-detail h3{font-size:25px}.location-detail p{font-size:13px;min-height:50px}.explore-controls{bottom:12px;left:12px;right:auto}.explore-preview{top:61px;left:13px;font-size:10px}.together{padding:70px 23px;min-height:720px}.together-content h2{font-size:36px}.together-bg{background:linear-gradient(90deg,#071426ed,#07142699),url('/assets/images/hero-800.webp') 66% center/cover}.team-features{gap:13px}.team-features article:nth-child(2){margin-top:10px}.team-features article:nth-child(3){margin-top:20px}.news-grid{padding:23px 14px;gap:24px}.news-card,.news-card:nth-child(n){transform:none}.news-card:hover{transform:translateY(-3px)}.news-card>img{height:195px}.news-card h3{font-size:18px}.faq{padding-bottom:65px}.faq>div:first-child{min-height:160px;padding-right:95px}.faq .guide-character{position:absolute;right:0;top:0;height:150px;margin:0}.guide-character img{height:150px;position:static}.guide-speech{left:auto;right:80%;bottom:35%;width:170px}.faq-list{padding:12px 15px}.faq details{padding:16px 0}.faq summary{font-size:13px}.community{min-height:670px;padding:80px 18px 105px;background-position:52% center}.community .gold-button{font-size:26px;padding:15px 24px;min-width:285px;max-width:100%}.community h2{font-size:30px}.community-overlay{max-width:100%;padding:25px 5px}.community-links a{min-height:44px;display:flex;align-items:center}.footer-socials .social-icon{width:36px;height:36px}.footer-socials{max-width:300px;margin:auto;gap:10px}.final-lantern{left:8%;top:16%;font-size:28px}.hero-copy .platform{font-size:8px;letter-spacing:1px}.magic-cursor{display:none}}
@media(max-width:374px){.hero{min-height:800px}.hero-copy{top:16%}.hero h1{font-size:31px}.hero-logo{max-width:215px}.hero .gold-button{min-width:260px;font-size:22px;gap:15px}.hero-sub{font-size:12px}.hero-copy>.eyebrow{font-size:6px;letter-spacing:2px}.experience-controls button{min-width:36px;padding:6px}.experience-controls button span{font-size:8px}.section{padding-inline:18px}.section-heading h2{font-size:26px}.class-tabs button{font-size:11px}.class-stage{min-height:870px}.class-art{min-height:360px}.class-info{min-height:430px}.community .gold-button{min-width:250px;font-size:22px;gap:14px}.location-detail h3{font-size:23px}.faq-list{padding:12px}.faq summary{font-size:12px}.community-links a{font-size:10px;padding:10px 12px}.team-features h3{font-size:12px}.caption{font-size:9px}}
@media(hover:none),(pointer:coarse){.magic-cursor{display:none}.campfire-hotspot small{opacity:.7}.guide-character img{animation:none}.hero-copy,.story-image{transform:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.magic-cursor,.fireflies,.embers,.smoke,.scene-weather{display:none}.hero-copy,.story-image{transform:none!important}.campfire-hotspot small{opacity:1}}
.gold-button>span{flex-shrink:0}.gold-button>span:has(small){white-space:nowrap}
@media(max-width:760px){.hero .gold-button{font-size:23px;gap:14px;padding:14px 20px;min-width:285px}.hero .trailer-link{align-self:flex-start;margin-left:12px}.community .gold-button{gap:14px;font-size:23px;padding:15px 20px}.rail.open{max-height:calc(100svh - 100px)}}
@media(max-width:374px){.hero .gold-button,.community .gold-button{font-size:21px;gap:12px;min-width:252px;padding:14px 17px}}
.class-stage[data-class=knight] .class-orbit{border-radius:8px;transform:rotate(-5deg);border-style:double}.class-stage[data-class=knight] .class-orbit:after{border-radius:8px;transform:rotate(9deg)}.class-stage[data-class=archer] .class-orbit{border-style:dashed;transform:rotate(8deg)}.class-stage[data-class=archer] .class-orbit i{animation-duration:7s}.class-stage[data-class=priest] .class-orbit:after{border-style:solid;inset:35px -8px}.class-stage[data-class=rogue] .class-orbit{border-style:dotted;transform:rotate(-8deg)}.class-stage[data-class=rogue] .class-orbit i{animation-duration:4.2s}
/* Completion pass: distinct arrival, tactile objects and a touch-readable guide. */
.hero-arriving .hero-logo{animation:logo-arrive 650ms ease-out both}.hero-arriving h1{animation:title-arrive 620ms 80ms ease-out backwards}.hero-arriving .hero-sub{animation:subtitle-arrive 500ms 180ms ease-out backwards}.hero-arriving .hero-actions{animation:cta-arrive 450ms 240ms ease-out backwards}.hero-arriving .scene-atmosphere{animation:atmosphere-arrive 850ms ease-out}.hero-arriving .hero-actions a{pointer-events:auto}
.hero-copy{transition:transform 140ms ease-out}.lantern-hotspot{z-index:2;transform:translate(-50%,-50%);width:55px;height:65px;background:transparent;color:#ffe7b7;border:0;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-shadow:0 2px 6px #090c16}.lantern-hotspot>span{font-size:22px;opacity:.45}.lantern-hotspot>small{font-size:10px;opacity:0;transition:opacity .2s}.lantern-hotspot:hover>small,.lantern-hotspot:focus-visible>small{opacity:1}.lantern-hover{filter:brightness(1.5)}.button-sparks{position:fixed;z-index:1000;width:1px;height:1px;pointer-events:none}.button-sparks i{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffe3a4;animation:button-spark 500ms ease-out forwards}.gold-button:hover,.outline-button:hover{transform:translate3d(var(--magnet-x,0px),calc(-2px + var(--magnet-y,0px)),0)}.gold-button:active{transform:translateY(1px) scale(.985)}.guide-character[role=button]{cursor:pointer}.guide-character.guide-open .guide-speech{opacity:1;transform:none}.guide-character[role=button]:focus-visible{outline:2px solid var(--gold);outline-offset:8px;border-radius:15px}.guide-character.guide-open img{animation:guide-nod 2s ease-in-out infinite}
@keyframes logo-arrive{from{opacity:.65;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}@keyframes title-arrive{from{opacity:.65;transform:translateX(-8px)}to{opacity:1;transform:none}}@keyframes subtitle-arrive{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes cta-arrive{from{opacity:.8;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes atmosphere-arrive{from{opacity:.2}to{opacity:1}}@keyframes button-spark{to{transform:translate(var(--sx),var(--sy));opacity:0}}
@media(max-width:900px){.rail.open nav a{min-height:40px;display:flex;align-items:center;justify-content:center}.rail.open .social-icon{width:40px;height:40px}.rail.open .social-ribbon{padding-inline:4px}.rail.open{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9f804f transparent}.hero-copy{transition:none}}
@media(max-width:760px){.lantern-hotspot{display:none}.hero-arriving .hero-logo{animation-duration:480ms}.hero-arriving h1{animation-duration:450ms}.guide-speech{z-index:4}.guide-character.guide-open img{animation:none}}
@media(prefers-reduced-motion:reduce){.hero-arriving *{animation:none!important}.button-sparks{display:none}}

.explore-controls button{width:auto;min-width:62px;padding:0 12px;border-radius:20px;font-size:12px}.trailer-link>span:empty,.text-link>span:empty{display:none}
/* Native video fills the same original-scene area; UI stays a separate readable layer. */
.hero.has-hero-video .hero-image{background-image:url('/assets/images/hero-192548219-poster.jpg')}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3;opacity:0;pointer-events:none;transition:opacity 250ms ease-out}.hero.video-playing .hero-video{opacity:1}.hero.video-playing .flame-light,.hero.video-playing .smoke{display:none}
@media(max-width:760px){.hero-video{object-position:62% center}}
@media(prefers-reduced-motion:reduce){.hero-video{transition:none}}
.bgm-volume{width:75px;accent-color:var(--gold);align-self:center;cursor:pointer}.bgm-volume[hidden]{display:none}@media(max-width:760px){.bgm-volume{width:48px}.experience-controls{flex-wrap:wrap;justify-content:flex-end;max-width:210px}}
/* Readability pass: same typefaces as the pre-registration campaign. */
body{font-family:'Mitr',sans-serif;font-size:18px;font-weight:400}button,input{font-family:inherit}h1,h2,h3{font-family:'Mitr',sans-serif;font-weight:500}.gold-button{font-family:'Baloo 2','Mitr',sans-serif}.gold-button small{font-family:'Mitr',sans-serif;font-size:14px}.hero-sub{font-size:19px}.section-heading>p:last-child{font-size:18px}.intro-features h3{font-size:21px}.intro-features p,.class-info>p:not(.eyebrow),.together-content>p:not(.eyebrow),.location-detail p{font-size:17px}.paths span{font-size:15px}.class-tabs button{font-size:18px}.class-info .elements span{font-size:15px}.team-features h3{font-size:20px}.team-features p,.news-card p{font-size:16px}.news-card h3{font-size:21px}.news-card .text-link,.text-link,.outline-button{font-size:16px}.faq summary{font-size:18px}.faq details p{font-size:17px}.rail nav a{font-size:13px}.community-links a{font-size:16px}.experience-controls{position:fixed;left:20px;bottom:18px;z-index:40;gap:5px;margin:0;padding:5px;border:1px solid #c8a76c55;border-radius:28px;background:#081527e8}.experience-controls button{min-width:36px;width:36px;height:36px;padding:0;border:0;background:none;font-size:18px}.experience-controls button span{display:none}.bgm-volume{width:65px;margin-right:7px}.experience-controls button[aria-pressed=true]{color:#ffe5a1}.hero-copy{top:18%}.hero-logo{margin-bottom:18px}.intro .section-heading{margin-bottom:35px}.explore-hud,.scene-counter,.explore-preview,.location-detail .eyebrow{display:none}.location-detail{grid-template-columns:1fr;gap:8px;min-height:160px}.location-detail h3{font-size:30px}.scene-markers button small{font-size:15px}.explore-controls button{font-size:15px;min-width:80px}.location-more{margin-top:15px;border-top:1px solid #bba16a44;padding-top:17px}.location-more button{border:1px solid var(--gold);background:#182d46;color:#f1d49d;padding:9px 18px;font-size:16px;border-radius:6px}.location-more-content{margin-top:20px;display:grid;grid-template-columns:150px 1fr;gap:25px;align-items:center}.location-more-content[hidden]{display:none}.location-more-content img{width:150px;max-height:180px;object-fit:contain}.location-more-content p{margin:8px 0}.location-more-content h4{color:var(--gold);font-size:21px;margin:0}.location-more-content a{display:inline-block;margin-top:10px;color:var(--gold);border-bottom:1px solid var(--gold)}
@media(max-width:760px){body{font-size:16px}.hero h1{font-size:35px}.hero-sub{font-size:16px}.section-heading>p:last-child{font-size:16px}.intro-features h3{font-size:18px}.intro-features p,.class-info>p:not(.eyebrow),.together-content>p:not(.eyebrow),.location-detail p{font-size:16px}.class-tabs button{font-size:14px}.paths span{font-size:14px}.class-info .elements span{font-size:13px}.news-card h3{font-size:20px}.news-card p,.faq details p{font-size:16px}.faq summary{font-size:16px}.community-links a{font-size:14px}.scene-markers button small{font-size:12px}.experience-controls{left:12px;bottom:15px;max-width:none;flex-wrap:nowrap}.experience-controls button span{display:none}.location-detail h3{font-size:26px}.location-more-content{grid-template-columns:1fr;gap:15px}.location-more-content img{width:120px;margin:auto}.hero-copy{top:17%}.hero-logo{max-width:250px}.class-stage{min-height:940px}.class-info{min-height:460px}.faq>div:first-child{padding-right:100px}.faq h2{font-size:28px}}
@media(max-width:374px){.hero h1{font-size:30px}.class-tabs button{font-size:12px}.experience-controls{bottom:12px;left:8px}.location-detail{padding:20px 14px}}
.news-card .eyebrow,footer p,footer>span,.story-image figcaption{display:none}.feature-symbol:empty:before{content:'✦'}
/* Decorative lines move independently of the intact portrait artwork. */
.class-orbit{animation:orbit-breathe 10s ease-in-out infinite}.class-orbit:after{animation:orbit-turn 24s linear infinite}.chapter-divider:before,.chapter-divider:after{background-size:200% 100%;animation:divider-flow 7s ease-in-out infinite}.chapter-divider:after{animation-delay:-3.5s}.class-tabs button[aria-selected=true]:after{background:linear-gradient(90deg,#b18b42,#ffe7ad,#b18b42);background-size:200% 100%;animation:divider-flow 4s linear infinite}.exploration:before,.exploration:after{animation:corner-turn 8s ease-in-out infinite}.exploration:after{animation-delay:-4s}
@keyframes orbit-breathe{0%,100%{opacity:.5}50%{opacity:1}}@keyframes orbit-turn{from{transform:rotate(28deg)}to{transform:rotate(388deg)}}@keyframes divider-flow{0%,100%{background-position:0% 50%;opacity:.6}50%{background-position:100% 50%;opacity:1}}@keyframes corner-turn{0%,100%{transform:rotate(0);opacity:.6}50%{transform:rotate(90deg);opacity:1}}

/* Shared moving rings for every selectable character. */
.class-stage:is([data-class="knight"],[data-class="archer"],[data-class="mage"],[data-class="priest"],[data-class="rogue"]) .class-orbit{
 border:1px solid color-mix(in srgb,var(--accent) 48%,transparent);
 border-radius:50%;
 animation:character-ring-turn 30s linear infinite,orbit-breathe 10s ease-in-out infinite;
}
.class-stage:is([data-class="knight"],[data-class="archer"],[data-class="mage"],[data-class="priest"],[data-class="rogue"]) .class-orbit:after{
 inset:20px -10px;
 border:1px dashed color-mix(in srgb,var(--accent) 45%,transparent);
 border-radius:50%;
 animation:orbit-turn 24s linear infinite reverse;
}
@keyframes character-ring-turn{from{transform:rotate(-16deg)}to{transform:rotate(344deg)}}

/* The story is spoken by characters inside the scene. */
.exploration .location-detail{display:none}
.scene-dialogue{position:absolute;z-index:5;left:5%;right:5%;bottom:28px;display:flex;align-items:flex-end;gap:20px;pointer-events:none}
.scene-dialogue[hidden]{display:none}
.scene-speaker{width:clamp(95px,13vw,190px);height:clamp(145px,18vw,250px);object-fit:contain;object-position:bottom;filter:drop-shadow(0 8px 14px #0009)}
.scene-speech{flex:1;min-width:0;position:relative;pointer-events:auto;padding:23px 30px 20px;background:linear-gradient(125deg,#10263bf5,#071526ed);border:1px solid #d9b776a6;border-radius:8px 25px 8px 25px;box-shadow:0 12px 35px #0006}
.speaker-heading{display:flex;gap:15px;align-items:baseline;padding-right:30px}.speaker-heading strong{font-size:26px;color:#f6d386}.speaker-heading span{font-size:15px;color:#b9c7d8}
.scene-speech p{font-size:clamp(18px,1.4vw,23px);line-height:1.85;margin:10px 0 15px;color:#f7f1e5;min-height:3.7em}
.dialogue-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:#dac69c;font-size:27px;width:36px;height:36px}
.dialogue-actions{display:flex;gap:15px;align-items:center;justify-content:flex-end}.dialogue-progress{margin-right:auto;font-size:13px;color:#a6b5c9}.dialogue-actions button,.dialogue-actions a{border:1px solid #c6a05e;border-radius:20px;background:#203448;color:#f5d58f;padding:8px 22px;font:inherit;font-size:16px;text-decoration:none}.dialogue-actions [hidden]{display:none}
.exploration .explore-controls{bottom:auto;top:22px;right:22px}
@media(max-width:760px){.exploration .explore-scene{aspect-ratio:auto;min-height:680px}.scene-dialogue{left:12px;right:12px;bottom:15px;gap:0;display:block}.scene-speaker{width:100px;height:140px;margin-left:12px;margin-bottom:-8px}.scene-speech{padding:17px 18px}.speaker-heading strong{font-size:23px}.speaker-heading span{font-size:12px}.scene-speech p{font-size:17px;line-height:1.8;min-height:5.4em}.scene-markers button:nth-child(1){--marker-y:28%!important}.scene-markers button:nth-child(2){--marker-y:15%!important}.scene-markers button:nth-child(3){--marker-y:36%!important}.exploration .explore-controls{top:12px;right:12px;left:auto}}

/* Persistent top navigation, with a separate social rail. */
header{position:fixed;inset:0 0 auto;z-index:30;height:78px;padding:8px 140px 8px 28px;display:flex;align-items:center;gap:28px;background:linear-gradient(#071426f5,#071426df);border-bottom:1px solid #d6b57440;backdrop-filter:blur(12px)}
.header-cta{flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:6px 22px;border:1px solid #fff0ba;border-radius:45px;color:#fff2cb;background:linear-gradient(180deg,#e5b963 0%,#a55e0f 48%,#8c4008 52%,#c48428 100%);box-shadow:0 0 18px #efa72d40,inset 0 0 8px #ffe59b7a;text-shadow:0 2px 3px #5e2d0f;font:700 16px/1.2 'Baloo 2','Mitr',sans-serif;letter-spacing:1px;white-space:nowrap;text-decoration:none;transition:filter var(--motion-fast),transform var(--motion-fast),box-shadow var(--motion-ui)}
.header-cta:hover{filter:brightness(1.15);transform:translateY(-2px);box-shadow:0 8px 32px #dc9b4455,inset 0 0 10px #ffe8b47d}
.header-cta:active{transform:translateY(1px) scale(.985)}
.header-cta:focus-visible{outline:3px solid #fff0ba;outline-offset:3px}
header>a img{width:90px;height:53px;object-fit:contain}.top-nav{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;overflow-x:auto;scrollbar-width:none}.top-nav a{white-space:nowrap;padding:10px 15px;border-radius:22px;color:#dfdfdc;text-decoration:none;font-size:16px}.top-nav a[aria-current]{background:linear-gradient(#ffe0a0,#d6a34f);color:#47351c}.top-nav a:hover{background:#d6b57425}.rail{max-height:calc(100svh - 105px)}section[id]{scroll-margin-top:95px}
/* More visible orbital strokes, kept separate from the portrait. */
.class-stage[data-class] .class-orbit{border-width:2px;border-color:color-mix(in srgb,var(--accent) 80%,transparent);border-top-color:transparent;border-bottom-color:transparent;animation:character-ring-turn 12s linear infinite;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--accent) 55%,transparent))}
.class-stage[data-class] .class-orbit:after{border-width:2px;border-color:color-mix(in srgb,var(--accent) 75%,transparent);border-style:dashed;animation:orbit-turn 9s linear infinite reverse}
.class-orbit:before{content:'';position:absolute;top:13%;left:13%;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px var(--accent)}
/* Small speech bubbles occupy the lower scene; markers remain above. */
.explore-scene{min-height:650px}.scene-markers button:nth-child(1){--marker-x:24%!important;--marker-y:35%!important}.scene-markers button:nth-child(2){--marker-x:59%!important;--marker-y:20%!important}.scene-markers button:nth-child(3){--marker-x:80%!important;--marker-y:37%!important}
.scene-dialogue{right:auto;left:5%;width:min(83%,850px);bottom:25px;gap:22px;align-items:center}.scene-speaker{width:140px;height:190px;flex-shrink:0}.scene-speech{border-radius:28px;background:#10263bf7;padding:18px 24px;box-shadow:0 8px 26px #0006}.scene-speech:before{content:'';position:absolute;left:-11px;top:50%;width:20px;height:20px;background:#10263b;border-left:1px solid #d9b776a6;border-bottom:1px solid #d9b776a6;transform:rotate(45deg)}.scene-speech p{font-size:19px;line-height:1.7;min-height:3.4em;margin:8px 0 12px}.speaker-heading strong{font-size:23px}.speaker-heading span{font-size:13px}.dialogue-actions button,.dialogue-actions a{font-size:15px;padding:6px 18px}
@media(max-width:900px){header{height:105px;padding:6px 12px;gap:8px;align-items:flex-start;flex-wrap:wrap}header>a img{width:65px;height:38px}header>a{order:0}.header-cta{order:1;margin-left:auto;margin-top:2px;min-height:40px;padding:4px 16px;font-size:14px}.top-nav{flex:1 1 100%;justify-content:flex-start;order:2;gap:3px}.top-nav a{font-size:14px;padding:7px 12px}section[id]{scroll-margin-top:115px}.rail-toggle{bottom:20px}.rail{max-height:calc(100svh - 140px)}}
@media(max-width:760px){.exploration .explore-scene{min-height:750px}.scene-dialogue{width:auto;left:15px;right:15px;bottom:18px;display:block}.scene-speaker{width:90px;height:125px;margin:0 0 12px 15px}.scene-speech{padding:16px 18px;border-radius:23px}.scene-speech:before{left:45px;top:-11px;transform:rotate(135deg)}.scene-speech p{font-size:17px;min-height:5.1em}.speaker-heading{gap:8px}.speaker-heading span{font-size:11px}.scene-markers button:nth-child(1){--marker-y:25%!important}.scene-markers button:nth-child(2){--marker-y:13%!important}.scene-markers button:nth-child(3){--marker-y:29%!important}}

/* Keep controls outside the fixed header containing block. */
body>.experience-controls{position:fixed;top:auto;right:auto;left:20px;bottom:18px;z-index:40;width:max-content;max-width:calc(100vw - 95px)}
@media(max-width:760px){body>.experience-controls{left:12px;bottom:15px}}
