@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&display=swap');
:root { --night:#102b26; --lime:#c8e8c2; --cream:#fff; --coral:#e6ac56; --muted-light:#acbeb7; }
body { font-family:'Outfit',sans-serif; background:#fff; --paper:#fff; --ink:#102b26; --muted:#5e7069; --line:#dbe3df; }
button { font-family:inherit; }
::selection { background:#c8e8c2; color:#102b26; }
.wrap { max-width:1200px; }
.header-shell { background:#102b26; color:white; }
.header { height:92px; gap:38px; }
.brand { gap:12px; flex-shrink:0; }
.brand img { width:44px; height:44px; }
.brand-wordmark { font-weight:800; font-size:21px; letter-spacing:-.5px; line-height:.95; }
.brand-wordmark>span { display:block; font-weight:500; font-size:11px; letter-spacing:5.8px; margin-top:7px; }
.header nav { margin-left:auto; font-size:14px; font-weight:500; gap:30px; }
.header nav>a:hover { color:#c8e8c2; }
.header .nav-support { border-color:#ffffff38; border-radius:5px; padding:10px 17px; gap:12px; }
.motion-toggle { display:flex; align-items:center; gap:7px; background:none; border:0; color:inherit; cursor:pointer; padding:12px 0; min-height:44px; font-size:10px; }
.motion-bars { display:flex; align-items:center; gap:3px; height:14px; }
.motion-bars i { width:2px; height:9px; background:currentColor; animation:audio-bars 1s ease-in-out infinite alternate; }
.motion-bars i:nth-child(2) { height:14px; animation-delay:-.6s; }
.motion-bars i:nth-child(3) { height:6px; animation-delay:-.3s; }
@keyframes audio-bars { to { transform:scaleY(.3); } }
.reading-progress { position:fixed; top:0; left:0; width:100%; height:2px; background:#b6d5ac; transform:scaleX(var(--scroll-progress,0)); transform-origin:left; z-index:20; pointer-events:none; }
.button { font-weight:600; border-radius:5px; min-height:52px; font-size:14px; transition:background .2s,transform .2s; }
.button:hover { transform:translateY(-2px); }
.eyebrow { font-size:11px; letter-spacing:1.6px; font-weight:600; color:#507167; }
body[data-view=home] h1,body[data-view=home] h2,body[data-view=home] h3 { font-family:'Outfit',sans-serif; font-weight:700; letter-spacing:-.045em; }
body[data-view=home] em { color:#6b9272; font-style:normal; }
.studio-hero { background:#edf5f1; overflow:hidden; position:relative; }
.studio-hero .hero-copy { text-align:center; position:relative; padding:48px 0 0; z-index:1; }
.studio-hero .hero-copy .eyebrow { margin-bottom:18px; font-size:10px; }
.studio-hero h1 { font-size:clamp(50px,5.4vw,72px); line-height:1; letter-spacing:-.055em!important; }
.studio-hero .hero-copy>p:not(.eyebrow) { margin:24px auto; max-width:450px; font-size:17px; line-height:1.5; color:#536c63; }
.hero-button { background:#173e34; color:white; border:0; margin-bottom:2px; }
.hero-button:hover { background:#2d5a49; }
.hero-cast { position:relative; margin-top:-10px; padding:0 max(20px,calc((100vw - 1180px)/2)); }
.hero-nomos { width:100%; max-width:900px; height:auto; position:relative; margin:auto; transform:translateY(4.5%); transform-origin:bottom; }
.hero-landscape { position:absolute; width:100%; height:48%; left:0; bottom:0; }
.hero-cast.reveal-ready { transform:translateY(34px); }
.hero-cast.is-revealed { transform:none; }
.electric { background:#c8e8c2; color:#102b26; }
.electric:hover { background:#dfefdb; }
.worlds-section { padding-block:88px; }
.editorial-heading { display:flex; justify-content:space-between; align-items:end; gap:32px; margin-bottom:38px; }
.editorial-heading h2 { font-size:clamp(38px,4vw,56px); line-height:1.06; }
.editorial-heading>p { font-size:16px; line-height:1.7; padding-bottom:4px; }
.world-tabs { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid #dbe3df; margin-bottom:24px; }
.world-tabs button { position:relative; display:flex; align-items:center; gap:14px; padding:18px 20px; min-height:94px; background:none; border:0; text-align:left; color:#64756e; cursor:pointer; transition:background .2s,color .2s; }
.world-tabs button:first-child { padding-left:0; }
.world-tabs button::after { content:''; position:absolute; left:0; right:0; bottom:-1px; height:3px; background:#285847; transform:scaleX(0); transform-origin:left; transition:transform .25s; }
.world-tabs button[aria-selected=true] { color:#102b26; }
.world-tabs button[aria-selected=true]::after { transform:scaleX(1); }
.world-tabs button:hover { background:#edf5f1; }
.world-tabs img { width:44px; height:44px; border-radius:11px; }
.world-tabs button>span:not(.tab-arrow) { font-size:21px; font-weight:600; letter-spacing:-.4px; }
.world-tabs small { display:block; font-size:12px; font-weight:400; color:#687d73; margin-top:4px; letter-spacing:0; }
.tab-arrow { margin-left:auto; font-size:24px; }
.world-stage { overflow:hidden; background:#173d32; border-radius:8px; }
.world-panel { min-height:510px; display:grid; grid-template-columns:.8fr 1.2fr; color:white; animation:world-enter .35s ease-out; }
@keyframes world-enter { from { opacity:.5; transform:translateY(8px); } to { opacity:1; transform:none; } }
.world-visual { position:relative; grid-column:2; grid-row:1; min-width:0; overflow:hidden; }
.world-visual>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:52% center; transition:transform .6s ease; }
.world-stage:hover .world-visual>img { transform:scale(1.025); }
.world-description { grid-column:1; grid-row:1; align-self:center; padding:42px; }
.release-pill { display:inline-flex; align-items:center; gap:8px; font-size:10px; font-weight:500; letter-spacing:1px; color:#c8e8c2; margin-bottom:26px; }
.release-pill i { height:5px; width:5px; border-radius:50%; background:#c8e8c2; }
.world-description h3 { font-size:clamp(35px,3.4vw,48px); line-height:1.05; margin-bottom:22px; }
.world-description em { color:#c8e8c2!important; }
.world-description>p { color:#c0d0c8; font-size:15px; line-height:1.75; max-width:330px; }
.genre-tags { display:flex; flex-wrap:wrap; gap:14px; margin:22px 0 27px; }
.genre-tags span { font-size:11px; color:#b2c8bd; }
.platform-note { display:block; font-size:11px; margin-top:12px; color:#b2c8bd; }
.animal-panel { background:#45382c; }
.animal-panel .world-visual>img { object-position:center 73%; }
.animal-panel .electric { background:#f1dba9; }
.animal-panel em { color:#f1dba9!important; }
.world-stage-footer { display:flex; justify-content:space-between; align-items:center; font-size:9px; letter-spacing:.8px; color:#788b82; margin-top:18px; }
.world-counter { font-size:14px; letter-spacing:1px; color:#285847; }
.world-counter i { font-style:normal; color:#82968a; margin:0 8px; }
.studio-section { background:#f2f5ef; padding:80px 0 70px; }
.studio-intro { display:grid; grid-template-columns:1fr 1fr; gap:24px 80px; }
.studio-intro>.eyebrow { grid-column:1/-1; margin:0; }
.studio-intro h2 { font-size:clamp(42px,4.5vw,64px); line-height:1.02; }
.studio-intro h2 span { color:#729671; }
.studio-paragraphs { max-width:430px; align-self:end; }
.studio-paragraphs p { font-size:16px; line-height:1.8; }
.studio-paragraphs p+p { margin-top:16px; }
.playground { display:grid; grid-template-columns:1.4fr 1fr; gap:65px; align-items:center; margin-top:50px; padding-block:32px; border-block:1px solid #d9e2d7; }
.playground-art { position:relative; aspect-ratio:1.45; min-width:0; background:#e8efdf; border-radius:8px; overflow:hidden; }
.playground-art canvas { width:100%; height:100%; display:block; touch-action:pan-y; }
.playground-readout { display:flex; gap:9px; align-items:center; position:absolute; left:20px; top:18px; font-size:8px; letter-spacing:1px; color:#466541; pointer-events:none; }
.signal-dot { width:5px; height:5px; display:inline-block; background:#6f9562; border-radius:50%; }
.map-coordinate { position:absolute; bottom:17px; right:18px; font-size:7px; letter-spacing:1px; color:#657d5a; }
.playground-copy { max-width:340px; }
.playground-copy h3 { font-size:46px; line-height:1.04; margin-bottom:20px; }
.playground-copy p { font-size:15px; line-height:1.75; margin-bottom:25px; }
.playground-copy .button { background:#173e34; color:white; border:0; cursor:pointer; }
.playground-copy .button:hover { background:#315e4a; }
.playground-copy .playground-note { font-size:11px; margin:14px 0 0; color:#74866b; }
.studio-principles { display:grid; grid-template-columns:repeat(3,1fr); gap:50px; margin-top:35px; }
.studio-principles>div>span { display:block; font-size:10px; color:#819576; margin-bottom:14px; }
.studio-principles h3 { font-size:24px; margin-bottom:12px; letter-spacing:-.7px; }
.studio-principles p { font-size:14px; max-width:280px; }
.dispatch-section { padding-block:80px; display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:end; }
.dispatch-section h2 { font-size:46px; }
.dispatch-link { display:flex; align-items:center; gap:22px; padding:26px 0; border-block:1px solid #dbe3df; }
.dispatch-link>span:nth-child(2) { font-size:25px; font-weight:600; letter-spacing:-.6px; }
.dispatch-link small { display:block; font-size:12px; font-weight:400; letter-spacing:0; color:#6b8074; margin-top:8px; line-height:1.6; }
.circle-arrow { width:42px; height:42px; border:1px solid #b7c9bd; border-radius:50%; display:grid; place-items:center; font-size:23px; flex-shrink:0; transition:background .2s,color .2s; }
.dispatch-link .circle-arrow { margin-left:auto; }
.dispatch-link:hover .circle-arrow { background:#173e34; color:white; }
.dispatch-icon { display:flex; align-items:center; gap:4px; width:37px; flex-shrink:0; }
.dispatch-icon i { height:32px; width:7px; background:#6f9562; border-radius:2px; }
.dispatch-icon i:nth-child(2) { height:24px; }
.dispatch-icon i:nth-child(3) { height:16px; }
.contact-section { background:#102b26; color:white; padding:70px 0 45px; }
.contact-section .eyebrow { color:#b7d4bf; }
.contact-section h2 { font-size:clamp(42px,4.7vw,67px); line-height:1.07; max-width:1000px; }
.contact-section h2 em { color:#c8e8c2; }
.contact-section h2>span { color:#edc77e; }
.contact-mail { display:inline-flex; align-items:center; gap:40px; font-size:25px; font-weight:500; margin:32px 0 50px; padding-bottom:10px; border-bottom:1px solid #acc2b260; }
.contact-mail span { color:#c8e8c2; }
.contact-games { display:grid; grid-template-columns:1fr 1fr; gap:35px; padding-top:28px; border-top:1px solid #ffffff25; }
.contact-games article { display:flex; gap:16px; align-items:center; }
.contact-games img { border-radius:10px; }
.contact-games h3 { font-size:18px; letter-spacing:-.3px; margin-bottom:12px; }
.contact-games .support-links { font-weight:400; font-size:11px; gap:16px; }
.contact-games .support-links a { border-color:#ffffff40; }
.contact-hint { color:#a3b9ac; font-size:10px; margin-top:32px; }
.footer { padding-block:42px 22px; }
.footer-links { font-weight:500; }
.footer .brand img { border-radius:0; }
.footer .copyright { font-size:10px; }
.reveal-ready[data-reveal] { opacity:0; transform:translateY(20px); transition:opacity .6s ease-out,transform .6s ease-out; }
.reveal-ready.is-revealed[data-reveal] { opacity:1; transform:none; }
.motion-paused [data-reveal] { opacity:1; transform:none; }
.motion-paused *, .motion-paused *::before, .motion-paused *::after,
.page-hidden *, .page-hidden *::before, .page-hidden *::after,
.decoration-idle *, .decoration-idle *::before, .decoration-idle *::after { animation-play-state:paused!important; }
body[data-view=inner] .wide-art { padding:0; border:0; border-radius:8px; background:none; }
body[data-view=inner] .wide-art>img, body[data-view=inner] .feature-grid img { border-radius:8px; }
body[data-view=inner] h1 { font-weight:700; }
@media(max-width:1100px) {
 .header { gap:25px; }
 .header nav { gap:22px; }
 .hero-cast { padding-inline:20px; }
 .world-description { padding:30px; }
 .world-panel { min-height:470px; }
 .world-description h3 { font-size:37px; }
 .playground { gap:35px; }
 .dispatch-section { gap:35px; }
}
@media(max-width:760px) {
 .wrap { width:calc(100% - 40px); }
 .header { min-height:106px; height:auto; padding-block:16px 12px; gap:16px; flex-wrap:wrap; }
 .brand img { width:36px; height:36px; }
 .brand-wordmark { font-size:19px; }
 .brand-wordmark>span { font-size:9px; letter-spacing:5.6px; margin-top:6px; }
 .header nav { order:3; width:100%; margin:0; justify-content:space-between; gap:5px; font-size:11px; }
 .header .nav-support { border:0; padding:7px 0 7px 10px; gap:7px; }
 .motion-toggle { margin-left:auto; font-size:9px; min-height:36px; }
 .studio-hero .hero-copy { padding-top:43px; }
 .studio-hero .hero-copy .eyebrow { font-size:8px; letter-spacing:1.2px; margin-bottom:18px; }
 .studio-hero h1 { font-size:clamp(43px,9vw,67px); }
 .studio-hero .hero-copy>p:not(.eyebrow) { font-size:15px; max-width:280px; margin:20px auto; }
 .hero-button { font-size:12px; min-height:48px; gap:22px; }
 .hero-cast { margin-top:18px; padding-inline:8px; }
 .hero-nomos { transform:translateY(3%); }
 .hero-landscape { height:58%; }
 .worlds-section { padding-block:52px; }
 .editorial-heading { display:block; margin-bottom:25px; }
 .editorial-heading h2 { font-size:39px; }
 .editorial-heading>p { margin-top:18px; font-size:14px; }
 .world-tabs button { padding:14px 10px; min-height:82px; gap:9px; }
 .world-tabs button>span:not(.tab-arrow) { font-size:16px; }
 .world-tabs small { font-size:9px; }
 .world-tabs img { width:32px; height:32px; border-radius:8px; }
 .tab-arrow { display:none; }
 .world-panel { grid-template-columns:1fr; min-height:0; }
 .world-visual { grid-column:1; grid-row:1; height:285px; }
 .world-description { grid-column:1; grid-row:2; padding:28px; }
 .world-description h3 { font-size:38px; }
 .world-description>p { max-width:none; font-size:14px; }
 .release-pill { margin-bottom:22px; }
 .world-stage-footer { font-size:7px; letter-spacing:.6px; gap:20px; }
 .world-counter { font-size:11px; flex-shrink:0; }
 .studio-section { padding-block:50px; }
 .studio-intro { grid-template-columns:1fr; gap:24px; }
 .studio-intro h2 { font-size:43px; }
 .studio-paragraphs { max-width:none; }
 .studio-paragraphs p { font-size:15px; }
 .playground { grid-template-columns:1fr; gap:28px; margin-top:30px; padding-block:26px; }
 .playground-copy { max-width:none; }
 .playground-copy h3 { font-size:39px; }
 .playground-copy p { font-size:14px; }
 .studio-principles { grid-template-columns:1fr; gap:26px; margin-top:26px; }
 .studio-principles>div { display:grid; grid-template-columns:28px 1fr; column-gap:10px; }
 .studio-principles>div>span { margin:4px 0 0; grid-row:1/3; }
 .studio-principles h3 { font-size:22px; margin-bottom:8px; }
 .studio-principles p { font-size:13px; max-width:none; }
 .dispatch-section { padding-block:50px; grid-template-columns:1fr; gap:28px; }
 .dispatch-section h2 { font-size:39px; }
 .dispatch-link { gap:16px; }
 .dispatch-link>span:nth-child(2) { font-size:22px; }
 .dispatch-link small { font-size:11px; }
 .dispatch-icon { width:28px; gap:3px; }
 .dispatch-icon i { width:6px; }
 .circle-arrow { width:36px; height:36px; font-size:20px; }
 .contact-section { padding:48px 0 30px; }
 .contact-section h2 { font-size:40px; }
 .contact-mail { font-size:21px; margin:25px 0 32px; gap:25px; }
 .contact-games { grid-template-columns:1fr; gap:26px; padding-top:25px; }
 .contact-games h3 { font-size:16px; }
 .contact-games .support-links { font-size:10px; gap:12px; }
 .contact-hint { font-size:9px; line-height:1.7; margin-top:25px; }
 .footer { padding-top:32px; }
}
@media(max-width:370px) {
 .wrap { width:calc(100% - 32px); }
 .world-tabs button>span:not(.tab-arrow) { font-size:14px; }
 .world-tabs small { font-size:8px; }
 .world-tabs img { width:29px; height:29px; }
 .world-description { padding:25px; }
 .contact-section h2 { font-size:35px; }
 .contact-mail { font-size:19px; gap:18px; }
 .world-stage-footer>span:first-child { max-width:195px; }
}
