/* Full journey: cinematic chapters, character discovery, field atlas and a clear finish. */
html{scroll-padding-top:104px}body{background:#081219;color:#eee9df}.site-header{position:fixed;height:88px;background:linear-gradient(#071019f5,#07101999 75%,transparent);backdrop-filter:blur(7px)}.site-header nav a{font-size:11px}.site-header .wordmark>span{font-size:18px}.site-header .wordmark b{font-size:25px}.site-header .header-buy{min-height:42px;padding:12px 19px}
.journey .sw-copy__body{max-width:340px}.journey .sw-copy__title{max-width:660px}.journey .sw-copy{width:min(46vw,660px)}.journey .sw-copylayer:before{opacity:.9}.journey .sw-copy__eyebrow{max-width:350px;line-height:1.6}.journey .sw-route__label{right:38px}.journey .sw-route{z-index:150}.journey .sw-hint{max-width:330px;text-align:center}.journey .sw-scrollbar{background:transparent}
.static-beat{min-height:100svh;background:linear-gradient(90deg,#081219c9,transparent),var(--scene) center/cover;display:flex;align-items:center;padding:150px 8% 100px}.static-beat>div{max-width:560px}.static-beat h1,.static-beat h2{font-size:clamp(45px,6vw,90px);line-height:1.06;margin:25px 0}.static-beat p{max-width:380px;margin-bottom:25px}
.cast{min-height:870px;height:100svh;max-height:1150px;padding:115px 8% 80px}.cast-backdrop{background:radial-gradient(ellipse at 77% 47%,#3f4c4e77,transparent 58%),linear-gradient(90deg,#081219,#111e27 60%,#182630)}.cast-copy{width:45%;max-width:600px}.cast-copy h2{font-size:clamp(65px,6.5vw,110px);margin:16px 0}.cast-line{font:italic 23px Georgia;color:#cbbd9d;margin-top:35px}.cast-copy>p:not(.eyebrow):not(.small-label){max-width:410px;font-size:15px}.cast-copy>.text-link{margin-top:15px}.portrait-wrap{top:7%;right:0;width:58%;height:93%}.portrait-wrap img{object-position:center bottom;mask-image:linear-gradient(0deg,transparent 0%,black 12%)}.portrait-rule{border-radius:48% 48% 0 0;transform:rotate(0);height:72%;width:64%;left:20%;top:10%;opacity:.45}.cast-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 18px;margin-top:35px}.cast-selector button{min-width:0;min-height:66px;font-size:19px;padding:12px 0;transition:color .15s,border-color .15s}.cast-selector button:hover{border-color:#dbc598;color:#fff}.cast-selector span{font-size:8px}.small-label{line-height:1.8}
.atlas{padding:100px 5% 110px;background:#09131a}.atlas-heading{padding:0 3% 40px;display:grid;grid-template-columns:1.3fr 1fr;gap:18px 40px;align-items:end}.atlas-heading .eyebrow{grid-column:1/-1}.atlas-heading h2{font-size:clamp(40px,4vw,68px);line-height:1.1}.atlas-heading>p:last-child{max-width:320px;color:#b7c3c6;font-size:14px;justify-self:end}.atlas-stage{height:70svh;min-height:460px;max-height:900px;position:relative;overflow:hidden}.atlas-stage>img{width:100%;height:100%;object-fit:cover;display:block}.atlas-stage:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#071019e8,transparent 65%);pointer-events:none}.atlas-caption{position:absolute;bottom:38px;left:4%;right:4%;z-index:1}.atlas-caption>span{font-size:9px;letter-spacing:3px;color:#ded1b6}.atlas-caption h3{font-size:clamp(32px,3.3vw,52px);margin:14px 0 8px}.atlas-caption p{font-size:13px;color:#dde3df;max-width:420px}.atlas-caption .text-link{font-size:11px;margin-top:8px}.atlas-selector{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin:0 3%;padding-top:20px}.atlas-selector button{text-align:left;border-top:1px solid #bca57844;padding:16px 0;line-height:1.4;font-family:Georgia;font-size:18px;min-height:78px}.atlas-selector button span{display:block;font:9px Arial;color:#cbbd9d;letter-spacing:2px;margin-bottom:10px}.atlas-selector button[aria-pressed=true]{border-top-color:#e6d5b0;color:#fff}.atlas-selector button:hover{border-color:#f1e9d9}
.combat{display:grid;grid-template-columns:1fr 1.3fr;gap:6%;align-items:center;min-height:730px;background:#10191e;padding:100px 8%}.combat h2{font-size:clamp(42px,4.3vw,68px);line-height:1.08;margin:25px 0}.combat>div>p:not(.eyebrow){max-width:370px;color:#bcc7c9;font-size:14px}.combat-choices{display:flex;gap:22px;margin:30px 0 25px}.combat-choices button{font-size:11px;padding:12px 0;border-bottom:1px solid #bd9e6b55;min-height:44px}.combat-choices button[aria-pressed=true]{border-color:#e6d5b0;color:#e6d5b0}.mechanic-note{min-height:115px;max-width:370px}.mechanic-note h3{font-size:26px;margin-bottom:10px}.mechanic-note p{font-size:13px;color:#bcc7c9}.combat-screen{margin:0}.combat-screen video{width:100%;aspect-ratio:16/9;background:#000;display:block;border:1px solid #c5b38c55}.combat-screen figcaption{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding-top:20px;font-size:10px;line-height:1.5}.combat-screen figcaption span{color:#a6b3b8;font-size:8px;letter-spacing:1.5px}
.finale{height:100svh;min-height:730px;position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.finale-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.finale:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(#081219 0%,#08121955 28%,#08121988 70%,#081219),radial-gradient(#07101944,#07101955)}.finale-copy{padding:70px 6%;width:100%;text-shadow:0 2px 20px #000}.finale h2{font-size:clamp(80px,10vw,160px);letter-spacing:-.05em;line-height:.95;margin:28px 0}.finale h2 em{color:#ded3b9}.finale .actions{justify-content:center;flex-wrap:wrap;margin-top:34px}.finale-copy>p:not(.eyebrow){font-size:14px}.finale-copy .platforms{font-size:9px!important;letter-spacing:2px;margin-top:38px;color:#bdc8ca}footer{padding:35px 0 45px}footer .text-link{font-size:11px;white-space:nowrap}footer>div{font-size:11px;line-height:2}
#lightbox{width:min(1300px,95vw);max-height:93dvh;padding:55px 28px 24px;background:#0d181f;color:#eee9df;overflow:auto}#lightbox h2{font-size:32px;margin-bottom:20px}#lightbox img{display:block;width:100%;max-height:65dvh;object-fit:contain}#lightbox>p{font-size:13px;color:#bac8ce;margin-top:14px}.journal{background:#e6dcc7}.journal img{background:radial-gradient(#59656b,#12212b);height:310px}.journal-pager button{font-size:12px;min-height:44px}.noscript-note{padding:30px;background:#172832}.noscript-note a{text-decoration:underline}
@media(max-width:860px){.site-header{height:78px;padding:16px 5%;gap:14px}.site-header nav{gap:19px}.site-header .wordmark>span{font-size:15px}.journey .sw-copy{width:auto;max-width:460px}.cast{height:auto;min-height:850px;padding:90px 6% 65px}.cast-copy{width:52%;}.cast-selector{grid-template-columns:repeat(2,1fr)}.portrait-wrap{width:56%;right:-5%}.atlas{padding:75px 5%}.atlas-selector{gap:12px}.atlas-selector button{font-size:15px}.combat{grid-template-columns:1fr;padding:75px 7%;gap:30px}.combat>div>p:not(.eyebrow),.mechanic-note{max-width:600px}.combat-screen{width:100%}.combat-screen video{max-height:65svh}.finale{min-height:680px}}
@media(max-width:600px){html{scroll-padding-top:80px}.site-header .wordmark small{font-size:7px}.site-header .wordmark>span{font-size:13px}.site-header .wordmark b{font-size:20px}.site-header .header-buy{font-size:9px;padding:10px;min-height:44px}.site-header nav{top:76px}.site-header nav a{font-size:10px}.journey .sw-copy{bottom:16%;left:7%;right:8%}.journey .sw-copy__title{font-size:42px}.journey .sw-copy__body{max-width:270px;font-size:12px}.journey .sw-copy__cta{gap:13px}.journey .sw-route__label{display:none}.journey .sw-route{right:0;top:42%}.journey .sw-hint{font-size:7px;letter-spacing:1.4px;max-width:260px;bottom:24px}.cast{padding:55px 7%;min-height:1000px}.cast-copy{width:100%;max-width:none;padding-top:395px}.cast-copy .eyebrow{font-size:8px}.cast-line{margin-top:21px!important;font-size:21px!important}.cast-copy h2{font-size:65px}.cast-copy>p:not(.eyebrow):not(.small-label){font-size:14px}.portrait-wrap{top:30px;right:0;width:100%;height:400px}.portrait-wrap img{object-position:center top;mask-image:linear-gradient(0deg,transparent 0%,black 20%)}.portrait-rule{height:82%;width:60%}.cast-selector{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:25px}.cast-selector button{font-size:15px;min-height:62px}.cast-copy .small-label{font-size:6px;letter-spacing:1px}.atlas-heading{display:block;padding-bottom:25px}.atlas-heading h2{font-size:40px;margin:15px 0}.atlas-heading>p:last-child{font-size:12px}.atlas-stage{height:66svh;min-height:460px}.atlas-caption{bottom:25px;left:6%}.atlas-caption p{font-size:12px;max-width:260px}.atlas-selector{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.atlas-selector button{min-width:130px;scroll-snap-align:start}.combat h2{font-size:45px}.combat-choices{gap:24px}.mechanic-note{min-height:105px}.finale h2{font-size:90px}.finale .actions{flex-direction:column;gap:15px}.finale-copy>p:not(.eyebrow){font-size:13px}.finale-copy .platforms{font-size:7px!important;letter-spacing:1px}footer{gap:24px}#lightbox{padding:55px 16px 20px}#lightbox h2{font-size:28px}#lightbox img{max-height:60dvh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.portrait-wrap img{animation:none}.sw-copy{transform:none!important}}
html[data-motion=off]{scroll-behavior:auto}html[data-motion=off] .sw-copy{transform:none!important}
html[data-motion=off] *,html[data-motion=off] *::before,html[data-motion=off] *::after{animation:none!important;transition:none!important}
#world-journey .sw-copy__num,#world-journey .sw-route{display:none}
@media(max-width:600px){.finale h2{font-size:clamp(54px,17vw,84px)}}
/* Keep dismissal reachable while browsing a tall image or character note. */
html:has(dialog[open]){overflow:hidden}
dialog{overscroll-behavior:contain}
dialog>.close{position:sticky;display:block;top:0;right:auto;margin:-40px 0 -4px auto;background-color:inherit;border:1px solid #bca57866;border-radius:50%;z-index:3}
.trailer-dialog{padding-top:60px}
#lightbox h2,.trailer-dialog h2{padding-right:56px}

/* Quiet platform signatures, with text so the console generation stays clear. */
.finale-copy .platform-marks{display:flex;justify-content:center;align-items:flex-start;gap:40px;list-style:none;padding:0;margin:38px 0 0;color:#ded8cb;font:10px/1.4 Arial,sans-serif;letter-spacing:1px;text-transform:uppercase}
.platform-marks li{display:flex;flex-direction:column;align-items:center;gap:12px;min-width:90px}
.platform-marks svg{display:block;width:30px;height:30px;fill:currentColor;flex-shrink:0}
.platform-marks span{white-space:nowrap}
@media(max-width:600px){.finale-copy .platform-marks{gap:22px;letter-spacing:.4px;font-size:9px!important;margin-top:32px}.platform-marks li{min-width:68px;gap:10px}.platform-marks svg{width:27px;height:27px}}
