:root {
  --ink: #172019;
  --paper: #eee8da;
  --paper-deep: #dfd4bd;
  --night: #111712;
  --night-soft: #18221d;
  --moss: #8fae52;
  --moss-bright: #b8d56d;
  --gold: #d7ad55;
  --rust: #bd6747;
  --line: rgba(23, 32, 25, .18);
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); overflow-x: hidden; }
.scroll-progress { position: fixed; z-index: 300; left: 0; right: 0; top: 0; height: 3px; pointer-events: none; }
.scroll-progress i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, var(--rust), var(--gold), var(--moss-bright)); transform: scaleX(0); transform-origin: left center; will-change: transform; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }

.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 1000; padding: .8rem 1rem; background: white; color: black; }
.skip-link:focus { top: 1rem; }

.site-header { position: fixed; z-index: 100; top: 0; left: 0; right: 0; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 2rem; height: 74px; padding: 0 clamp(1.25rem, 4vw, 4.5rem); color: #f1ecd9; border-bottom: 1px solid rgba(255,255,255,.1); transition: background .3s, backdrop-filter .3s; }
.site-header.scrolled { background: rgba(17,23,18,.9); backdrop-filter: blur(14px); }
.wordmark { display: inline-flex; align-items: center; gap: .6rem; width: max-content; text-decoration: none; letter-spacing: .09em; font-weight: 850; }
.wordmark i { color: var(--moss-bright); font-family: var(--serif); font-weight: 400; letter-spacing: 0; }
.wordmark-mark { display: grid; place-items: center; width: 28px; height: 28px; color: var(--night); background: var(--moss-bright); border-radius: 50%; }
.site-header nav { display: flex; gap: clamp(1.2rem, 3vw, 3rem); }
.site-header nav a { color: rgba(255,255,255,.72); text-decoration: none; font-size: .77rem; text-transform: uppercase; letter-spacing: .13em; }
.site-header nav a:hover { color: var(--moss-bright); }
.header-actions { display: flex; align-items: center; justify-self: end; gap: .75rem; }
.language-picker { display: flex; align-items: center; gap: .45rem; min-height: 38px; padding: 0 .65rem; border: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.72); background: rgba(255,255,255,.04); }
.language-picker select { max-width: 8.2rem; border: 0; outline: 0; color: inherit; background: transparent; font: 700 .64rem/1 var(--sans); letter-spacing: .06em; cursor: pointer; }
.language-picker option { color: #172019; background: #eee8da; }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 1.4rem; min-height: 50px; padding: 0 1.35rem; color: #f6f2e6; background: var(--rust); border: 1px solid rgba(255,255,255,.16); text-decoration: none; text-transform: uppercase; letter-spacing: .1em; font-size: .73rem; font-weight: 800; box-shadow: 5px 5px 0 rgba(0,0,0,.17); transition: transform .2s, box-shadow .2s, background .2s; }
.button:hover { transform: translate(-2px,-2px); box-shadow: 8px 8px 0 rgba(0,0,0,.2); background: #cf7351; }
.button-small { min-height: 38px; padding: 0 1rem; box-shadow: none; }
.text-link { font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; text-decoration-thickness: 1px; text-underline-offset: 5px; }

.hero { position: relative; display: flex; flex-direction: column; min-height: 1060px; padding: 160px clamp(1.5rem, 7vw, 8rem) 32px; color: #f2eddc; background: radial-gradient(circle at 72% 38%, #263626 0 12%, transparent 38%), radial-gradient(circle at 20% 20%, rgba(166,191,91,.09), transparent 25%), var(--night); overflow: hidden; }
.hero::before { content: ""; position: absolute; inset: 0; opacity: .15; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 80px 80px; mask-image: linear-gradient(to bottom, black, transparent 72%); }
.hero-grain { position: absolute; inset: 0; pointer-events: none; opacity: .15; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E"); }
.hero-light { position: absolute; z-index: 1; width: 680px; height: 680px; left: var(--light-x, 72%); top: var(--light-y, 30%); border-radius: 50%; pointer-events: none; background: radial-gradient(circle, rgba(184,213,109,.13), rgba(184,213,109,.035) 35%, transparent 68%); transform: translate(-50%,-50%); transition: left .18s ease-out, top .18s ease-out; }
.hero-copy { position: relative; z-index: 3; max-width: min(1060px, 100%); }
.eyebrow, .section-kicker { display: flex; align-items: center; gap: .8rem; margin: 0 0 2rem; font-size: .68rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.eyebrow span { width: 34px; height: 1px; background: var(--moss-bright); }
.hero h1, .section h2, .lab-heading h2, .world-heading h2, .closing h2 { margin: 0; font-family: var(--serif); font-weight: 400; line-height: .88; letter-spacing: -.055em; }
.hero h1 { font-size: clamp(4.4rem, 8.8vw, 9.5rem); }
.hero h1 em, h2 em { color: var(--moss-bright); font-weight: 400; }
.hero-lead { max-width: 590px; margin: 2.5rem 0; color: rgba(244,240,225,.72); font-family: var(--serif); font-size: clamp(1.1rem, 1.7vw, 1.45rem); line-height: 1.55; }
.hero-actions { display: flex; align-items: center; gap: 2.5rem; }
.hero-orbit { position: absolute; z-index: 2; right: clamp(-150px, 1vw, 20px); top: 110px; width: min(53vw, 720px); aspect-ratio: 1; }
.orbit-line { position: absolute; inset: 10%; border: 1px solid rgba(184,213,109,.18); border-radius: 50%; }
.orbit-line::before, .orbit-line::after { content: ""; position: absolute; width: 7px; height: 7px; background: var(--moss-bright); border-radius: 50%; }
.orbit-line::before { top: 14%; left: 12%; }.orbit-line::after { right: 4%; bottom: 28%; }
.orbit-two { inset: 24%; border-style: dashed; transform: rotate(-16deg); }
.hero-creature { position: absolute; filter: drop-shadow(0 24px 22px rgba(0,0,0,.42)); }
.hero-creature-main { z-index: 2; left: 21%; top: 21%; width: 63%; animation: hero-float 5.5s ease-in-out infinite; }
.hero-creature-small { right: 0; top: 11%; width: 27%; animation: hero-float 4s .5s ease-in-out infinite; }
.orbit-note { position: absolute; color: rgba(255,255,255,.4); font-size: .58rem; letter-spacing: .18em; writing-mode: vertical-rl; }
.note-one { left: 7%; bottom: 22%; }.note-two { right: 6%; bottom: 22%; }
@keyframes hero-float { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-16px) rotate(1.5deg); } }

.desktop-demo { position: relative; z-index: 5; width: 100%; margin: clamp(3.5rem, 7vw, 6rem) auto 0; padding: 9px; border: 1px solid rgba(255,255,255,.16); border-radius: 13px; background: #282d2a; box-shadow: 0 45px 80px rgba(0,0,0,.55); }
.desktop-demo-top { display: flex; align-items: center; gap: 6px; height: 28px; padding: 0 8px; }
.desktop-demo-top span { width: 7px; height: 7px; border-radius: 50%; background: #687168; }.desktop-demo-top span:first-child { background: #bd6747; }.desktop-demo-top span:nth-child(2) { background: #d7ad55; }.desktop-demo-top span:nth-child(3) { background: #8fae52; }
.desktop-demo-top small { margin-left: auto; color: rgba(255,255,255,.38); font-size: .55rem; text-transform: uppercase; letter-spacing: .16em; }
.desktop-demo-screen { position: relative; min-height: 300px; overflow: hidden; background: #d6d6cf; border-radius: 5px; }
.desktop-demo-screen::after { content: ""; position: absolute; inset: 0; background: linear-gradient(125deg, rgba(255,255,255,.08), transparent 40%); pointer-events: none; }
.desktop-demo-screen img { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; width: 100%; }
.fake-work { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 4%; padding: 4%; opacity: .6; }
.fake-work i { display: block; height: 12px; border-radius: 8px; background: #a9ada7; }.fake-work i:nth-child(1) { grid-column: span 2; width: 45%; }.fake-work i:nth-child(n+2) { height: 100px; border-radius: 4px; background: #bfc1bd; }

.section { padding: 130px clamp(1.5rem, 7vw, 8rem); }
.section-kicker { color: #667063; }
.section-kicker span { display: grid; place-items: center; width: 29px; height: 29px; color: var(--paper); background: var(--ink); border-radius: 50%; letter-spacing: 0; font-size: .6rem; }
.section-kicker.light { color: rgba(255,255,255,.48); }.section-kicker.light span { color: var(--night); background: var(--moss-bright); }
.manifesto { background: var(--paper); }
.manifesto-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(4rem, 9vw, 10rem); }
.manifesto h2 { font-size: clamp(3rem, 5.5vw, 6rem); }
.manifesto h2 em { color: #687d3f; }
.manifesto-copy > p { margin: 0 0 3rem; font-family: var(--serif); font-size: 1.35rem; line-height: 1.6; }
.feature-list { border-top: 1px solid var(--line); }
.feature-list article { display: grid; grid-template-columns: 46px 1fr; gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid var(--line); }
.feature-list b { color: #8a947f; font-size: .65rem; letter-spacing: .12em; }
.feature-list h3 { margin: 0 0 .3rem; font-family: var(--serif); font-size: 1.25rem; }.feature-list p { margin: 0; color: #667063; font-size: .88rem; line-height: 1.5; }
.manifesto blockquote { margin: 9rem 0 0; padding: 3rem 7%; text-align: center; color: #46503f; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: clamp(1.8rem, 3.7vw, 4rem); line-height: 1.2; font-style: italic; }

.lore-section { position: relative; background: var(--paper-deep); overflow: hidden; }
.lore-section::before { content: ""; position: absolute; width: 620px; height: 620px; right: -230px; top: -260px; border: 1px solid rgba(23,32,25,.12); border-radius: 50%; box-shadow: 0 0 0 70px rgba(23,32,25,.025), 0 0 0 140px rgba(23,32,25,.018); }
.lore-intro { position: relative; display: grid; grid-template-columns: 1.12fr .88fr; gap: clamp(4rem, 9vw, 10rem); align-items: end; }
.lore-intro h2 { font-size: clamp(3.4rem, 6vw, 6.7rem); }.lore-intro h2 em { color: #687d3f; }
.lore-intro > div > p:first-child { margin: 0 0 2rem; font-family: var(--serif); font-size: 1.28rem; line-height: 1.6; }
.lore-mission { margin: 0; padding: 1.2rem 0 1.2rem 1.4rem; color: #596153; border-left: 3px solid var(--rust); font-size: .86rem; line-height: 1.65; }.lore-mission span { display: block; margin-bottom: .35rem; color: var(--rust); font-size: .6rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.route-line { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); gap: 1rem; margin: 7rem 0 4rem; }.route-line > i { position: absolute; left: 0; right: 0; top: 16px; height: 1px; background: rgba(23,32,25,.25); }.route-line div { position: relative; padding-top: 3.3rem; }.route-line div::before { content: ""; position: absolute; z-index: 1; left: 0; top: 10px; width: 12px; height: 12px; border: 5px solid var(--paper-deep); border-radius: 50%; background: var(--rust); outline: 1px solid rgba(23,32,25,.28); }.route-line b { position: absolute; top: -10px; color: #71786d; font-size: .55rem; letter-spacing: .1em; }.route-line span { display: block; font-family: var(--serif); font-size: 1.04rem; }.route-line small { display: block; max-width: 130px; margin-top: .35rem; color: #737a70; font-size: .62rem; line-height: 1.4; }
.town-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(23,32,25,.18); border-left: 1px solid rgba(23,32,25,.18); }.town-grid article { min-height: 285px; padding: 1.6rem; border-right: 1px solid rgba(23,32,25,.18); border-bottom: 1px solid rgba(23,32,25,.18); transition: color .3s, background .3s, transform .3s; }.town-grid article:hover { color: #edf0e5; background: var(--ink); transform: translateY(-5px); }.town-grid article > span { color: var(--rust); font-size: .55rem; font-weight: 800; letter-spacing: .16em; }.town-grid h3 { margin: 3rem 0 1rem; font-family: var(--serif); font-size: 1.7rem; font-weight: 400; }.town-grid p { margin: 0 0 2rem; color: #626a60; font-size: .78rem; line-height: 1.6; }.town-grid article:hover p { color: rgba(255,255,255,.58); }.town-grid small { color: #777e72; font-size: .56rem; line-height: 1.5; }

.lab-section { padding: 130px 0; color: #eceddf; background: var(--night); }
.lab-heading { display: grid; grid-template-columns: 1.2fr .55fr; align-items: end; gap: 6rem; padding-top: 0; padding-bottom: 4rem; }
.lab-heading h2, .world-heading h2 { font-size: clamp(3.2rem, 6vw, 6.6rem); }
.lab-heading > p { margin: 0 0 .7rem; color: rgba(255,255,255,.52); line-height: 1.7; }
.creature-lab { max-width: 1320px; margin: 0 auto; border: 1px solid rgba(255,255,255,.13); background: #171d1b; box-shadow: 0 45px 100px rgba(0,0,0,.38); }
.lab-toolbar { display: grid; grid-template-columns: 1fr auto; align-items: center; min-height: 48px; padding: 0 1rem; border-bottom: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.42); font-size: .58rem; letter-spacing: .16em; }
.lab-toolbar > span { justify-self: end; }.lab-toolbar b { color: var(--moss-bright); }
.lab-status { display: flex; align-items: center; gap: .55rem; }.lab-status i { width: 7px; height: 7px; border-radius: 50%; background: var(--moss-bright); box-shadow: 0 0 12px var(--moss-bright); }
.lab-footnote { max-width: 1320px; margin: 1.3rem auto 0; color: rgba(255,255,255,.36); font-size: .67rem; letter-spacing: .04em; }.lab-footnote span { color: var(--moss-bright); margin-right: .6rem; }
.godot-frame { aspect-ratio: 16/10; background: #171b24; }
.godot-frame iframe { display: block; width: 100%; height: 100%; border: 0; }

.project-section { background: var(--paper); }
.project-intro { display: grid; grid-template-columns: 1.05fr .95fr; column-gap: 7rem; margin-bottom: 5rem; }.project-intro .section-kicker { grid-column: 1 / -1; }.project-intro h2 { font-size: clamp(3.4rem, 6vw, 6.5rem); }.project-intro h2 em { color: #687d3f; }.project-intro > p { align-self: end; margin: 0 0 .5rem; color: #626a60; font-family: var(--serif); font-size: 1.25rem; line-height: 1.6; }
.project-grid { display: grid; grid-template-columns: .92fr 1.08fr; border: 1px solid rgba(23,32,25,.16); }
.project-grid article { min-width: 0; padding: clamp(2rem, 4vw, 4.5rem); }
.maker-card { display: flex; flex-direction: column; color: #ecebdc; background: #18211c; }
.project-label { display: block; margin-bottom: 3.5rem; color: #718064; font-size: .61rem; font-weight: 800; letter-spacing: .17em; }
.maker-card .project-label { color: var(--moss-bright); }
.maker-card h3, .transparency-card h3 { margin: 0; font-family: var(--serif); font-size: clamp(2rem, 3.5vw, 3.8rem); line-height: .98; letter-spacing: -.035em; }
.maker-card h3 em { color: #aeca68; font-weight: 400; }
.maker-card > p { margin: 2.2rem 0; color: rgba(255,255,255,.57); font-family: var(--serif); font-size: 1.08rem; line-height: 1.68; }
.maker-tags { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 3rem; }.maker-tags span { padding: .52rem .72rem; border: 1px solid rgba(174,202,104,.28); color: rgba(255,255,255,.62); font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; }
.project-link { align-self: flex-start; margin-top: auto; color: #f0efdf; }
.transparency-card { background: #e4dbc8; }
.transparency-card h3 { max-width: 650px; color: #263128; }
.transparency-card > p { max-width: 680px; margin: 2rem 0 2.8rem; color: #5f675e; font-family: var(--serif); font-size: 1.08rem; line-height: 1.68; }
.transparency-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(23,32,25,.16); }.transparency-list li { display: grid; grid-template-columns: .72fr 1.28fr; gap: 1.4rem; padding: 1.25rem 0; border-bottom: 1px solid rgba(23,32,25,.16); }.transparency-list b { color: #2d392f; font-family: var(--serif); font-size: .98rem; }.transparency-list span { color: #687067; font-size: .79rem; line-height: 1.6; }
.collaboration-note { display: grid; grid-template-columns: .55fr 1.45fr; gap: 3rem; margin-top: 2rem; padding: clamp(2rem, 4vw, 4rem); border: 1px solid rgba(23,32,25,.16); background: #d2d9bd; }.collaboration-brand { display: flex; flex-direction: column; align-items: flex-start; gap: 2rem; }.collaboration-note .project-label { margin: .35rem 0 0; }.ninju-logo-link { display: block; width: min(230px, 100%); transition: opacity .2s ease, transform .2s ease; }.ninju-logo-link:hover { opacity: .82; transform: translateY(-3px); }.ninju-logo-link:focus-visible { outline: 2px solid #687d3f; outline-offset: 6px; }.ninju-logo-link img { display: block; width: 100%; height: auto; }.collaboration-note h3 { margin: 0; color: #263128; font-family: var(--serif); font-size: clamp(2rem, 3.4vw, 3.7rem); line-height: 1; letter-spacing: -.035em; }.collaboration-note h3 em { color: #687d3f; font-weight: 400; }.collaboration-note p { max-width: 760px; margin: 1.8rem 0; color: #596257; font-family: var(--serif); font-size: 1.08rem; line-height: 1.68; }.collaboration-note .text-link { color: #35452f; }

.world-section { padding: 130px 0; color: #eceddf; background: #1a211d; overflow: hidden; }
.world-heading { display: grid; grid-template-columns: 1fr .8fr; column-gap: 6rem; padding-top: 0; padding-bottom: 4.5rem; }.world-heading .section-kicker { grid-column: 1 / -1; }
.world-copy { align-self: end; }.world-copy > p { margin: 0; color: rgba(255,255,255,.5); font-family: var(--serif); font-size: 1.15rem; line-height: 1.6; }
.track-controls { display: flex; align-items: center; gap: 1rem; margin-top: 1.6rem; }.track-controls button { display: grid; place-items: center; width: 42px; height: 42px; color: #edf0e5; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; background: transparent; cursor: pointer; transition: color .2s, background .2s, transform .2s; }.track-controls button:hover { color: var(--night); background: var(--moss-bright); transform: scale(1.06); }.track-controls span { min-width: 58px; color: rgba(255,255,255,.35); font-size: .6rem; letter-spacing: .15em; }.track-controls i { color: var(--moss-bright); font-style: normal; }
.biome-track { display: flex; gap: 1.2rem; width: 100%; padding: 0 7vw 1rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }.biome-track::-webkit-scrollbar { display: none; }.biome-track figure { flex: 0 0 min(68vw, 840px); position: relative; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.14); background: #0e120f; scroll-snap-align: center; }.biome-track img { width: 100%; aspect-ratio: 3.4; object-fit: cover; transition: transform .6s; }.biome-track figure:hover img { transform: scale(1.025); }.biome-track figcaption { display: flex; gap: 1rem; padding: 1rem; color: rgba(255,255,255,.78); font-family: var(--serif); }.biome-track figcaption span { color: var(--moss-bright); font-family: var(--sans); font-size: .6rem; letter-spacing: .15em; }

.reveal-ready [data-reveal] { opacity: 0; transform: translateY(34px); transition: opacity .85s ease, transform .85s cubic-bezier(.2,.7,.15,1); }
.reveal-ready [data-reveal].revealed { opacity: 1; transform: translateY(0); }
.reveal-ready [data-reveal="soft"] { transform: translateY(18px); transition-delay: .08s; }

.closing { position: relative; display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; min-height: 720px; overflow: hidden; background: radial-gradient(circle at 25% 50%, #d3d8bd, transparent 32%), var(--paper); }.closing::before { content: ""; position: absolute; inset: 8%; border: 1px solid var(--line); border-radius: 50%; transform: scaleX(1.5); }.closing > * { position: relative; z-index: 1; }.closing img { width: 82%; justify-self: center; filter: drop-shadow(0 28px 18px rgba(23,32,25,.22)); animation: hero-float 5s ease-in-out infinite; }.closing h2 { font-size: clamp(4rem, 7vw, 8rem); }.closing h2 em { color: #687d3f; }.closing p { max-width: 520px; margin: 2rem 0; color: #5e675b; font-family: var(--serif); font-size: 1.25rem; line-height: 1.6; }
footer { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 2rem; padding: 2rem clamp(1.5rem, 7vw, 8rem); color: rgba(255,255,255,.56); background: var(--night); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; } footer p:last-child { justify-self: end; } footer p a { color: #b5cb77; text-underline-offset: 4px; }

@media (max-width: 980px) {
  .site-header { grid-template-columns: 1fr auto; }.site-header nav { display: none; }
  .hero { min-height: 1140px; padding-top: 140px; }.hero-orbit { top: 390px; right: -50px; width: 620px; opacity: .8; }
  .manifesto-grid, .lore-intro, .lab-heading, .project-intro, .world-heading, .closing { grid-template-columns: 1fr; }.manifesto-grid, .lore-intro, .lab-heading, .world-heading { gap: 3rem; }
  .town-grid { grid-template-columns: 1fr 1fr; }.route-line { grid-template-columns: repeat(3, 1fr); row-gap: 2rem; }.route-line > i { display: none; }.route-line div::before { top: 13px; }
  .project-intro h2 { margin-bottom: 2rem; }.project-intro > p { max-width: 600px; }.project-grid { grid-template-columns: 1fr; }.collaboration-note { grid-template-columns: 1fr; gap: 2rem; }
  .closing { text-align: center; }.closing img { width: min(380px, 75vw); }.closing .section-kicker { justify-content: center; }.closing p { margin-inline: auto; }
}

@media (max-width: 680px) {
  .site-header { height: 64px; padding-inline: 1rem; }.header-actions > .button { display: none; }.language-picker { padding-inline: .5rem; }.language-picker select { max-width: 6.8rem; }.wordmark { font-size: .83rem; }
  .hero { min-height: 1036px; padding: 120px 1.25rem 28px; }.hero h1 { font-size: clamp(3.7rem, 18vw, 5.2rem); }.hero-lead { font-size: 1.05rem; }.hero-actions { align-items: flex-start; flex-direction: column; gap: 1.4rem; }.hero-orbit { top: 390px; right: -150px; width: 520px; opacity: .58; }.desktop-demo { margin-top: 3rem; }.desktop-demo-screen { min-height: 180px; }.desktop-demo-top small { display: none; }
  .section { padding: 90px 1.25rem; }.manifesto-grid { gap: 2.5rem; }.manifesto blockquote { margin-top: 5rem; padding-inline: 0; }
  .lore-intro { gap: 2.3rem; }.route-line { grid-template-columns: 1fr 1fr; margin-top: 4rem; }.town-grid { grid-template-columns: 1fr; }.town-grid article { min-height: 240px; }.town-grid h3 { margin-top: 2rem; }
  .lab-section, .world-section { padding: 90px 0; }.lab-heading, .world-heading { padding: 0 1.25rem 3rem; }.creature-lab { border-inline: 0; }.lab-toolbar > span { display: none; }.lab-footnote { padding-inline: 1.25rem; line-height: 1.5; }
  .project-intro { margin-bottom: 3rem; }.project-grid article { padding: 2rem 1.4rem; }.project-label { margin-bottom: 2.4rem; }.transparency-list li { grid-template-columns: 1fr; gap: .5rem; }
  .biome-track { padding-left: 1.25rem; }.biome-track figure { flex-basis: 88vw; }.biome-track img { aspect-ratio: 2.4; }
  .closing { padding-top: 70px; padding-bottom: 100px; }.closing h2 { font-size: 4rem; }
  footer { grid-template-columns: 1fr; text-align: center; } footer .wordmark, footer p:last-child { justify-self: center; } footer p { margin: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal-ready [data-reveal] { opacity: 1; transform: none; }
}

[data-script="cjk"] body { font-family: "Noto Sans CJK SC", "Noto Sans SC", "Yu Gothic", "Hiragino Sans", "Microsoft YaHei", sans-serif; }
[data-script="cjk"] .hero h1, [data-script="cjk"] .section h2, [data-script="cjk"] .lab-heading h2, [data-script="cjk"] .world-heading h2, [data-script="cjk"] .closing h2, [data-script="cjk"] h3, [data-script="cjk"] p, [data-script="cjk"] blockquote { font-family: "Noto Serif CJK SC", "Noto Serif SC", "Yu Mincho", "Hiragino Mincho ProN", "Microsoft YaHei", serif; }
[data-script="cjk"] .hero h1, [data-script="cjk"] .section h2, [data-script="cjk"] .lab-heading h2, [data-script="cjk"] .world-heading h2, [data-script="cjk"] .closing h2 { line-height: 1.05; letter-spacing: -.025em; }
[data-script="cjk"] em { font-style: normal; }
[data-script="cjk"] .eyebrow, [data-script="cjk"] .section-kicker, [data-script="cjk"] .project-label { letter-spacing: .12em; }
[data-script="devanagari"] body { font-family: "Noto Sans Devanagari", "Mangal", var(--sans); }
[data-script="devanagari"] .hero h1, [data-script="devanagari"] .section h2, [data-script="devanagari"] .lab-heading h2, [data-script="devanagari"] .world-heading h2, [data-script="devanagari"] .closing h2, [data-script="devanagari"] h3, [data-script="devanagari"] p, [data-script="devanagari"] blockquote { font-family: "Noto Serif Devanagari", "Kokila", serif; line-height: 1.15; }
[data-script="devanagari"] .eyebrow, [data-script="devanagari"] .section-kicker, [data-script="devanagari"] .project-label { letter-spacing: .04em; }
[data-script="arabic"] body { font-family: "Noto Sans Arabic", "Segoe UI", Tahoma, sans-serif; }
[data-script="arabic"] .hero h1, [data-script="arabic"] .section h2, [data-script="arabic"] .lab-heading h2, [data-script="arabic"] .world-heading h2, [data-script="arabic"] .closing h2, [data-script="arabic"] h3, [data-script="arabic"] p, [data-script="arabic"] blockquote { font-family: "Noto Naskh Arabic", "Amiri", Tahoma, serif; line-height: 1.15; letter-spacing: 0; }
[data-script="arabic"] .eyebrow, [data-script="arabic"] .section-kicker, [data-script="arabic"] .project-label, [data-script="arabic"] .site-header nav a { letter-spacing: 0; }
[data-locale="de"] .hero h1, [data-locale="ru"] .hero h1 { font-size: clamp(3.9rem, 7.6vw, 8.2rem); }
[data-locale="ja"] .hero h1 { font-size: clamp(3.7rem, 5.8vw, 6.5rem); }
[data-locale="hi"] .hero h1 { font-size: clamp(3.2rem, 7vw, 6.8rem); }
[data-locale="de"] .project-intro h2, [data-locale="ru"] .project-intro h2 { font-size: clamp(3rem, 5.2vw, 5.7rem); }
[dir="rtl"] body { text-align: right; }
[dir="rtl"] .language-picker select { direction: rtl; }
[dir="rtl"] .hero-orbit { right: auto; left: clamp(-150px, 1vw, 20px); transform: scaleX(-1); }
[dir="rtl"] .lore-mission { padding-right: 1.4rem; padding-left: 0; border-right: 3px solid var(--rust); border-left: 0; }
[dir="rtl"] .route-line div::before { right: 0; left: auto; }
[dir="rtl"] .route-line b { right: 0; left: auto; }
[dir="rtl"] .track-controls button { transform: scaleX(-1); }
[dir="rtl"] .track-controls button:hover { transform: scaleX(-1) scale(1.06); }
[dir="rtl"] footer p:last-child { justify-self: start; }
