@font-face{font-family:Nomo;src:url('/landing/assets/nunito.ttf') format('truetype');font-display:swap;font-weight:400 900}
:root{--sc-canvas:#0b202c;--sc-surface:#163441;--sc-ink:#f2f4df;--sc-ink-soft:#b6cfcc;--sc-accent:#e9ce8d;--sc-accent-ink:#17333b;--sc-font-display:Nomo,system-ui,sans-serif;--sc-font-text:Nomo,system-ui,sans-serif;--p:0;--travel:0;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:auto;background:var(--sc-canvas)}body{margin:0;font-family:var(--sc-font-text);color:var(--sc-ink);background:var(--sc-canvas);line-height:1.65}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,select{cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--sc-accent);outline-offset:6px}img{display:block;max-width:100%}button{color:inherit}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{position:fixed;z-index:999;padding:1rem;background:#173d46}.masthead{position:fixed;z-index:250;top:0;left:0;width:100%;height:108px;padding:26px 4.5vw;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand img{border-radius:11px;width:40px;height:40px}.brand span{font-size:27px;font-weight:900;letter-spacing:-1px}.header-tools{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:800}.language select{border:0;background:transparent;color:var(--sc-ink);padding:9px 4px;min-height:44px}.language option{background:#163441}.motion{border:0;background:none;font-size:12px;color:#b6cfcc;padding:10px 0;min-height:44px}.header-cta{border-bottom:1px solid #e9ce8d88;padding:7px 0;color:var(--sc-accent)}.theatre{position:fixed;inset:0;overflow:hidden;isolation:isolate;background:#0b202c}.night{position:absolute;inset:-8%;background:linear-gradient(90deg,#0b202c 5%,#0b202c11 60%),url('/landing/assets/sky.webp') center 37%/cover;opacity:.7;transform:translate3d(0,calc(var(--p)*-50px),0) scale(1.08)}.star-field{position:absolute;inset:0;background-image:radial-gradient(circle at 20% 12%,#ecedcb 0 1px,transparent 2px),radial-gradient(circle at 73% 24%,#d4efdc 0 1.5px,transparent 3px),radial-gradient(circle at 46% 58%,#d0ead8 0 1px,transparent 2px),radial-gradient(circle at 82% 77%,#e4e9c5 0 1px,transparent 2px);background-size:390px 340px,510px 440px,270px 390px,670px 530px;opacity:.48;animation:starlight 6s ease-in-out infinite alternate}.constellation{position:absolute;inset:0;width:100%;height:100%;color:#c8dbb9;opacity:.22;transform:translate3d(calc(var(--p)*-18px),calc(var(--p)*-28px),0)}.cloud{position:absolute;width:85vw;max-width:none;height:auto;pointer-events:none}.cloud-back{left:44%;bottom:7%;opacity:.23;transform:translate3d(calc(var(--p)*-90px),calc(var(--p)*-18px),0);animation:cloud-back 55s ease-in-out infinite alternate}.cloud-front{width:90vw;left:25%;bottom:-16%;opacity:.32;transform:translate3d(calc(var(--p)*80px),0,0);filter:blur(2px);animation:cloud-front 45s ease-in-out infinite alternate}.set{position:absolute;left:39%;top:18%;width:58%;height:75%;opacity:0;visibility:hidden;transform-origin:55% 70%;pointer-events:none}.set-hex{opacity:1;visibility:visible;max-width:980px}.island-board{position:absolute;inset:0}.hex-cell{position:absolute;width:23%;height:28%;perspective:800px;transform:translate(-50%,-50%);isolation:isolate}.hex-tile{width:100%;height:100%;transform-origin:50% 50%;will-change:transform}.hex-tile img{width:100%;height:100%;object-fit:contain;filter:saturate(.65) brightness(.8);transition:filter .12s linear}.hex-tile.claimed img{filter:hue-rotate(-10deg) saturate(1.25) brightness(1.1)}.hex-tile::after{content:'';position:absolute;inset:10% 7% 32%;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:#72bfc9;mix-blend-mode:color;opacity:var(--claim,0)}.home-castle{position:absolute;left:12%;top:14%;width:27%;height:41%;object-fit:contain;filter:drop-shadow(0 20px 18px #061a2899);transform:translate3d(calc(var(--travel)*-8px),calc(var(--travel)*-20px),0)}.marcher{position:absolute;width:23%;height:43%;transform-origin:50% 95%;filter:drop-shadow(5px 16px 9px #061a2877)}.marcher img{width:100%;height:100%;object-fit:contain;object-position:50% 100%;animation:nomo-breathe 4s ease-in-out infinite}.leader{left:49%;top:20%;transform:translate3d(calc(var(--travel)*55px),calc(var(--travel)*-67px),0) rotate(calc(var(--lean)*1deg))}.companion{width:17%;height:33%;left:36%;top:38%;transform:translate3d(calc(var(--travel)*81px),calc(var(--travel)*-50px),0) rotate(-4deg)}.companion img{animation-delay:-1s}.archer{width:18%;height:34%;left:66%;top:35%;transform:translate3d(calc(var(--travel)*35px),calc(var(--travel)*-58px),0) rotate(4deg)}.archer img{animation-delay:-2s}.soul{position:absolute;display:block;width:13px;height:20px;background:#dff5cb;border-radius:60% 60% 48% 48%;box-shadow:0 4px 16px #c2efc577,0 1px 35px #c2efc533;opacity:.8}.soul::after{content:'';position:absolute;left:4px;top:7px;width:2px;height:4px;background:#36766a;border-radius:1px;box-shadow:4px 0 #36766a}.soul-one{left:72%;top:15%;animation:soul-rise 5s ease-in-out infinite}.soul-two{left:40%;top:17%;animation:soul-rise 6s -3s ease-in-out infinite}.soul-three{left:80%;top:55%;animation:soul-rise 7s -2s ease-in-out infinite}.set-towers{top:13%;height:80%;left:40%;width:57%}.tower-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.tower-lines path{stroke:#caddb4;stroke-width:1.3;fill:none;opacity:.5;stroke-dasharray:var(--line,0) 2000}.traveller{fill:#e3f2c9;filter:drop-shadow(0 3px 5px #aee2be)}.tower-island{position:absolute;width:30%;height:57%}.ti-a{left:6%;top:30%;transform:translate3d(0,calc(var(--tower-rise)*12px),0)}.ti-b{left:35%;top:0;transform:translate3d(0,calc(var(--tower-rise)*-10px),0)}.ti-c{right:0;top:27%;transform:translate3d(0,calc(var(--tower-rise)*8px),0)}.tower-ground{position:absolute;bottom:0;width:100%;height:44%;object-fit:contain}.tower-building{position:absolute;bottom:17%;left:10%;width:80%;height:75%;object-fit:contain;filter:drop-shadow(0 15px 12px #081e2e99);transform-origin:50% 100%;animation:tower-sway 8s ease-in-out infinite}.ti-b .tower-building{animation-delay:-3s}.ti-c .tower-building{animation-delay:-5s}.set-cards{left:43%;top:27%;width:55%;height:61%;perspective:1400px}.art-card{position:absolute;overflow:hidden;border-radius:16px;width:68%;aspect-ratio:16/10;background:#1a3449;box-shadow:0 28px 48px #04151f99,0 1px 0 #d2e4cf55;transform-style:preserve-3d;transform-origin:50% 100%}.art-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.card-character{transform:translate3d(calc(var(--card-drift)*9px),0,0) scale(1.08);object-position:35% center!important}.card-sky{transform:scale(1.08) translate3d(calc(var(--card-drift)*-4px),0,0);opacity:.9}.card-a{left:0;top:15%;transform:translate3d(calc(var(--fan)*-15px),calc(var(--fan)*-24px),0) rotate(-8deg) rotateY(9deg)}.card-b{left:29%;top:31%;transform:translate3d(calc(var(--fan)*18px),calc(var(--fan)*-38px),0) rotate(8deg) rotateY(-9deg)}.card-glint{position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,#fff9d518 45%,transparent 65%);transform:translateX(calc(var(--card-drift)*35%));pointer-events:none}.tactical-card{position:absolute;width:25%;height:58%;left:33%;top:-5%;transform:rotate(-4deg) translate3d(0,calc(var(--fan)*-16px),60px);filter:drop-shadow(0 24px 20px #04151faa)}.tactical-card img{width:100%;height:100%;object-fit:contain}.set-village{inset:-8% -2% -7% 30%;width:auto;height:auto;mask-image:linear-gradient(90deg,transparent,black 25%);transform:translate3d(0,calc(var(--village-rise)*-20px),0)}.set-village img{width:100%;height:100%;object-fit:cover;object-position:center 66%}.copy-ground{position:absolute;inset:0 54% 0 0;background:linear-gradient(90deg,#0b202cf0,#0b202cbb 65%,transparent);pointer-events:none}.story-copy{z-index:160!important;pointer-events:none}.copy{position:absolute;left:8.5vw;top:50%;width:36vw;max-width:590px;margin-top:-180px;opacity:0;pointer-events:none}.copy h1,.copy h2{font-size:clamp(38px,4.1vw,70px);font-weight:900;letter-spacing:-.065em;line-height:1.2;margin:0 0 27px;text-wrap:balance;word-break:keep-all}.copy h1{font-size:clamp(42px,4.4vw,76px)}.copy .kicker{font-size:12px;letter-spacing:.18em;font-weight:800;color:var(--sc-accent);margin:0 0 28px}.description{font-size:clamp(15px,1.2vw,18px);font-weight:600;line-height:1.85;color:var(--sc-ink-soft);margin:0 0 28px;word-break:keep-all}.text-link{font-size:14px;font-weight:800;display:inline-flex;gap:28px;align-items:center;min-height:44px}.text-link span{color:var(--sc-accent);font-size:20px}.mode-tags{display:flex;gap:16px;color:#d2e7dd;font-size:12px;font-weight:800;letter-spacing:.08em}.mode-tags span+span::before{content:'·';margin-right:16px;color:#638c90}.primary{display:inline-flex;min-height:48px;align-items:center;justify-content:space-between;gap:50px;background:var(--sc-accent);color:var(--sc-accent-ink);padding:10px 24px;border-radius:5px;font-size:14px;font-weight:900;box-shadow:0 9px 22px #06192344}.release-status{font-size:13px;color:#d4e1cc;font-weight:800;margin-bottom:18px}.closing{margin-top:-200px}.closing h2{margin-bottom:18px}.closing .description{margin-bottom:20px}.legal{display:flex;flex-wrap:wrap;gap:9px 22px;margin-top:35px;font-size:11px;color:#b6cfcc}.legal a{min-height:32px;display:inline-flex;align-items:center}.closing small{font-size:10px;color:#b6cfcc99}.destinations{position:fixed;left:8.5vw;bottom:36px;z-index:210;display:flex;align-items:center;gap:22px;font-size:11px;font-weight:800;color:#b3cfcb}.destinations a{min-height:44px;display:flex;align-items:center;position:relative;white-space:nowrap}.destinations a::after{content:'';position:absolute;height:2px;width:100%;bottom:1px;transform:scaleX(0);transform-origin:left;background:var(--sc-accent);transition:transform .2s ease}.destinations a[aria-current=true]{color:var(--sc-accent)}.destinations a[aria-current=true]::after{transform:scaleX(1)}
@keyframes starlight{to{opacity:.25}}@keyframes nomo-breathe{50%{transform:translateY(-5px) rotate(1deg)}}@keyframes cloud-back{to{translate:-50px -10px}}@keyframes cloud-front{to{translate:55px 8px}}@keyframes soul-rise{0%,100%{translate:0 0;opacity:.35}50%{translate:12px -25px;opacity:.9}}@keyframes tower-sway{50%{rotate:1deg}}
@media(min-width:1600px){.copy{left:10vw}.destinations{left:10vw}.set{left:43%;width:52%}}
@media(max-width:860px){.masthead{height:86px;padding:18px 6vw}.brand span{font-size:23px}.brand img{width:32px;height:32px;border-radius:9px}.header-tools{gap:18px}.header-cta{display:none}.motion{font-size:10px}.language select{font-size:12px}.copy{left:7vw;top:16%;width:86vw;max-width:560px;margin-top:0}.copy h1,.copy h2{font-size:clamp(34px,7vw,55px);line-height:1.16;margin-bottom:15px;letter-spacing:-.06em}.copy .kicker{margin-bottom:12px;font-size:10px}.description{font-size:14px;line-height:1.75;margin-bottom:14px}.text-link{font-size:12px;gap:18px}.set{left:4%;top:43%;width:92%;height:51%;max-width:none}.home-castle{left:13%;top:17%;width:26%;height:42%}.cloud-back{left:25%;bottom:11%;width:135vw}.cloud-front{width:135vw;bottom:-5%;left:0}.copy-ground{inset:0;background:linear-gradient(180deg,#0b202cdd 0%,#0b202cbb 33%,transparent 52%)}.destinations{left:7vw;bottom:12px;width:86vw;justify-content:space-between;gap:12px;font-size:10px}.set-towers{top:43%;left:1%;width:98%;height:50%}.set-cards{left:6%;width:87%;top:53%;height:35%}.art-card{border-radius:9px}.set-village{inset:25% -20% 0 -20%;mask-image:linear-gradient(180deg,transparent,black 35%)}.closing{top:15%;margin-top:0}.closing h2{margin-bottom:14px}.closing .description{font-size:13px;margin-bottom:13px}.closing .release-status{font-size:11px;margin:10px 0}.primary{min-height:44px;font-size:12px;padding:8px 18px;gap:40px}.legal{margin-top:18px;font-size:10px;gap:10px 16px}.closing small{font-size:9px}.night{background-position:65% 40%}.mode-tags{font-size:11px}.soul{scale:.75}}
@media(max-width:400px) and (max-height:720px){.copy{top:16%}.copy h1,.copy h2{font-size:33px}.description{font-size:12px}.copy .kicker{margin-bottom:8px}.set{top:47%;height:45%}.closing{top:15%}.closing .description{font-size:12px}.closing h2{font-size:32px}.legal{margin-top:10px}.masthead{height:76px}.header-tools{gap:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}.marcher,.home-castle,.cloud,.constellation,.night,.hex-tile,.art-card,.card-character,.card-sky,.tactical-card,.set-village,.tower-island,.tower-building{transform:none!important;translate:none!important;rotate:0deg!important}.traveller{display:none}}
body[data-quiet=true] *,body[data-quiet=true] *::before,body[data-quiet=true] *::after{animation:none!important;transition:none!important}body[data-quiet=true] .marcher,body[data-quiet=true] .home-castle,body[data-quiet=true] .cloud,body[data-quiet=true] .constellation,body[data-quiet=true] .night,body[data-quiet=true] .hex-tile,body[data-quiet=true] .art-card,body[data-quiet=true] .card-character,body[data-quiet=true] .card-sky,body[data-quiet=true] .tactical-card,body[data-quiet=true] .set-village,body[data-quiet=true] .tower-island{transform:none!important;translate:none!important}body[data-quiet=true] .traveller{display:none}body[data-hidden=true] *{animation-play-state:paused!important}
/* The ScrollCraft track is structural; the shared illustrated stage paints above it. */
.theatre{z-index:2}.island-board{z-index:1}.home-castle{z-index:2}.marcher{z-index:3}.soul{z-index:4}
.set-village{inset:27% -3% 0 39%;mask-image:linear-gradient(90deg,transparent,black 18%),linear-gradient(0deg,black 75%,transparent 100%);mask-composite:intersect}.set-village img{object-fit:contain;object-position:center bottom;filter:saturate(.78) brightness(.84)}
@media(max-width:860px){.set-village{inset:40% -20% 4% -20%;mask-image:linear-gradient(0deg,black 65%,transparent 100%);mask-composite:add}}
/* Blend the village illustration at its own image edges, including letterboxed layouts. */
.set-village{mask-image:none}.set-village img{position:absolute;bottom:0;width:100%;height:auto;object-fit:initial;mask-image:linear-gradient(90deg,transparent,black 12%,black 88%,transparent),linear-gradient(0deg,transparent,black 14%,black 70%,transparent);mask-composite:intersect}
@media(min-width:861px){.set-cards{width:52%}}
