:root{--ink:#071722;--panel:#102b3a;--cyan:#75ccdf;--gold:#dfbc72;--white:#eef2ee;--muted:#a7bac4;--line:#29414d;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ink);color:var(--white);font:18px/1.6 var(--font-body)}button,a,input{ -webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.05}h2{font-size:clamp(38px,4vw,58px);letter-spacing:-.6px;margin-bottom:25px}h3{font-size:30px;margin-bottom:18px}p{color:var(--muted);margin-bottom:20px}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}button:disabled{cursor:default}.container{width:min(1240px,calc(100% - 112px));margin-inline:auto}.section{padding-block:100px}.subtle{font-size:15px;color:var(--muted)}.skip-link{position:fixed;top:-100px;left:15px;padding:10px;background:var(--gold);color:var(--ink);z-index:100}.skip-link:focus{top:15px}.masthead{height:90px;padding:0 48px;display:flex;justify-content:space-between;align-items:center;background:var(--ink);border-bottom:1px solid #45637365;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;font-family:var(--font-heading);font-size:25px;line-height:1;white-space:nowrap}.brand img{width:37px;height:52px;object-fit:contain}.masthead nav{display:flex;align-items:center;gap:34px;font-size:16px;font-weight:500}.masthead nav a:not(.nav-cta):hover{color:var(--cyan)}.nav-cta{border:1px solid #aa8c51;padding:10px 20px;color:var(--gold)}.nav-cta span{margin-left:22px}.menu-toggle{display:none}.hero{min-height:730px;height:calc(100svh - 90px);max-height:930px;position:relative;isolation:isolate;overflow:hidden}.hero-image{position:absolute;height:100%;width:100%;object-fit:cover;object-position:62% center;z-index:-3}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(4,18,27,.92) 0%,rgba(4,18,27,.75) 28%,rgba(4,18,27,.12) 70%),linear-gradient(0deg,#071722 0%,transparent 30%,#07172215 90%)}.hero-content{padding-top:clamp(55px,8vh,105px)}.hero-genre{display:flex;gap:11px;align-items:center;color:#c5d9df;font-size:16px;margin-bottom:22px}.hero-genre span{width:22px;height:2px;background:var(--gold)}h1{font-size:clamp(84px,9.1vw,138px);line-height:.88;letter-spacing:-2px;margin:0 0 27px;max-width:600px;text-shadow:0 2px 25px #07172233}.title-period{color:var(--gold)}.hero-tagline{font-size:25px;line-height:1.3;color:var(--white);margin-bottom:18px}.hero-copy{color:#c0ced4;font-size:18px;line-height:1.5}.hero-actions{display:flex;gap:12px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:53px;padding:13px 22px;border:1px solid transparent;font-size:16px;font-weight:600;line-height:1.4;border-radius:2px}.primary{background:var(--gold);color:#10202a;border-color:var(--gold)}.primary:hover{background:#efd090}.secondary{background:#091d2e99;border-color:#6b8793;color:var(--white)}.secondary:hover{background:#18394b}.hero-bottom{position:absolute;bottom:27px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#afc5ce}.hero-bottom span{display:flex;align-items:center;gap:12px}.hero-bottom i{width:3px;height:3px;background:var(--gold)}.hero-bottom a{display:flex;gap:16px}.hero-bottom small{font-size:11px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-bottom:74px}.section-kicker{font-size:15px;color:var(--cyan);margin-bottom:19px}.intro-copy{padding-top:10px}.feature-line{display:flex;gap:24px;font-size:14px;padding-top:8px;color:var(--gold)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-heading h2{margin-bottom:0}.section-heading .subtle{padding-bottom:4px}.heading-copy{font-size:17px;margin:0 0 5px;max-width:380px}.gallery-section{padding-bottom:95px}.gallery-section .section-heading h2{font-size:34px}.gallery-main{margin:0;background:#0e2532;border:1px solid var(--line)}.gallery-main>button{display:block;border:0;padding:0;background:none;position:relative;width:100%}.gallery-main>button>img{aspect-ratio:16/8.5;object-fit:cover;width:100%}.expand-hint{position:absolute;right:20px;bottom:20px;background:#071722dc;border:1px solid #688e9e;width:42px;height:42px;font-size:25px;display:grid;place-items:center}.gallery-main figcaption{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;font-size:15px}.gallery-main figcaption>div{display:flex;gap:25px;align-items:center}.gallery-main figcaption span{color:var(--muted)}.gallery-main strong{font-weight:500}.gallery-thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:14px}.gallery-thumb{background:none;padding:0;border:2px solid transparent;text-align:left;opacity:.55}.gallery-thumb:hover,.gallery-thumb[aria-pressed=true]{opacity:1}.gallery-thumb[aria-pressed=true]{border-color:var(--gold)}.gallery-thumb img{aspect-ratio:16/9;object-fit:cover;width:100%}.gallery-thumb span{display:block;padding:8px 6px;font-size:13px}.forces{background:#0c2230;border-block:1px solid #203d4b}.force-tabs{display:flex;gap:36px;border-bottom:1px solid #385260;margin-top:42px}.force-tabs button{border:0;border-bottom:3px solid transparent;background:none;color:#9eb4bf;font-size:18px;padding:16px 0;white-space:nowrap}.force-tabs button[aria-selected=true]{border-bottom-color:var(--gold);color:var(--gold)}.branch-intro{display:flex;gap:65px;justify-content:space-between;align-items:center;padding:35px 0}.branch-intro h3{margin:0;font-size:29px}.branch-intro p{margin:0;font-size:16px;max-width:530px}.unit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.unit-card{background:#071a27;border:1px solid #284554;overflow:hidden}.unit-card img{width:100%;aspect-ratio:2/1;object-fit:cover}.unit-card>div{padding:23px 24px 26px}.unit-role{font-size:13px;color:var(--cyan);display:block;margin-bottom:8px}.unit-card h3{font-size:29px;margin-bottom:12px}.unit-card p{font-size:16px;line-height:1.6;margin:0}.catalogue-note{font-size:13px;margin:24px 0 0;color:#91a7b3}.logistics{display:grid;grid-template-columns:1.05fr 1fr;gap:100px;align-items:center;padding-block:120px}.research-art{position:relative;padding-bottom:68px;padding-right:35px}.research-art>img:first-child{border:1px solid #4b5a63;transform:rotate(-4deg);box-shadow:0 20px 35px #0005}.research-inset{position:absolute;right:0;bottom:5px;width:50%;border:4px solid #071722;transform:rotate(4deg)}.research-art>span{font-size:12px;color:#91a7b3;position:absolute;bottom:18px;left:0;max-width:160px}.logistics-copy p:not(.section-kicker){font-size:17px}.text-link{color:var(--gold);font-size:16px;display:inline-flex;gap:25px;border-bottom:1px solid #a3894d;padding:8px 0}.operations{background:#102837;border-block:1px solid var(--line)}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:46px;margin-top:52px}.mode-grid article{display:flex;flex-direction:column}.mode-symbol{font-size:36px;color:var(--gold);line-height:1;margin-bottom:28px}.mode-grid h3{font-size:32px}.mode-grid p{font-size:17px}.mode-detail{font-size:13px;color:var(--cyan);padding-top:14px;margin-top:auto;border-top:1px solid #39515e}.terrain-strip{border-top:1px solid #39515e;margin-top:48px;padding-top:25px;display:flex;gap:50px;align-items:baseline;font-size:14px}.terrain-strip>span{color:var(--gold);white-space:nowrap}.terrain-strip p{margin:0}.service{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:center}.service p{font-size:17px}.service .subtle{font-size:13px}.medal-case{background:radial-gradient(ellipse at 50% 45%,#233d4a,transparent 68%);padding:30px 0}.medal-row{display:flex;align-items:center;justify-content:center;gap:12px}.medal-row img{width:17%;height:155px;object-fit:contain;filter:drop-shadow(0 8px 5px #0006)}.medal-case>p{text-align:center;font-family:var(--font-heading);font-size:26px;color:var(--white);margin:27px 0 24px}.rank-line{border-top:1px solid #49616c;display:flex;justify-content:space-between;gap:15px;padding-top:12px;font-size:12px;color:var(--muted)}.dispatches{border-top:1px solid var(--line)}.dispatch-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:60px}.dispatch-lead{background:#102837;border:1px solid #294552}.dispatch-lead>img{width:100%;aspect-ratio:2.5/1;object-fit:cover}.dispatch-lead>div{padding:30px}.dispatch-category{font-size:13px;color:var(--gold);display:block;margin-bottom:12px}.dispatch-lead h3{font-size:36px}.dispatch-lead p,.dispatch-side p{font-size:16px}.dispatch-side article+article{border-top:1px solid var(--line);padding-top:25px}.dispatch-side h3{font-size:30px;margin-bottom:12px}.dispatch-side p{margin-bottom:25px}details summary{cursor:pointer;list-style:none;padding:15px 27px 15px 0;font-weight:500;position:relative}details summary::-webkit-details-marker{display:none}details summary:after{content:'+';position:absolute;right:2px;top:12px;color:var(--gold);font-size:23px}details[open] summary:after{content:'−'}details>p{font-size:16px}details summary:hover{color:var(--cyan)}.dispatch-lead details{font-size:15px;border-top:1px solid #38515e}.dispatch-lead details p{margin-top:12px}.access{background:#102837;border-block:1px solid var(--line)}.access-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:90px}.access-heading{display:flex;gap:25px;align-items:flex-start}.access-heading>img{width:85px;height:120px;object-fit:contain;margin-top:30px}.access-heading h2{font-size:46px}.access-heading p:not(.section-kicker){font-size:17px}.access-heading .button{margin-top:12px}.faq h3{font-size:28px}.faq details{border-bottom:1px solid #39515e;font-size:17px}.faq details p{padding-right:25px}footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:40px}footer p{font-size:13px;margin:0}footer>a:last-child{font-size:14px;color:var(--muted)}footer .brand{font-size:22px}footer .brand img{width:27px;height:38px}dialog{color:var(--white);background:#0d2534;border:1px solid #517081;border-radius:3px;padding:0;box-shadow:0 25px 100px #0008;max-height:90svh;max-width:calc(100% - 30px)}dialog::backdrop{background:#020b13e8;backdrop-filter:blur(7px)}.dialog-close{position:absolute;top:12px;right:12px;z-index:2;background:#071722ec;border:1px solid #91aab5;width:42px;height:42px;font-size:20px}#lightbox{width:min(1400px,calc(100% - 50px))}#lightbox>img{width:100%;max-height:75svh;object-fit:contain;background:#050f17}.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 24px}.lightbox-controls p{margin:0;text-align:center;color:var(--white);font-size:16px}.lightbox-controls button{border:1px solid #466674;background:#16384a;padding:6px 18px}#access-dialog{width:590px;padding:48px}#access-dialog h2{font-size:44px}#access-dialog p{font-size:17px}#access-dialog dl{margin-block:30px}#access-dialog dl>div{display:flex;justify-content:space-between;gap:30px;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px}#access-dialog dd{text-align:right;margin:0;color:var(--gold)}#access-dialog .subtle{font-size:14px}body.modal-open{overflow:hidden}
@media(min-width:1700px){.hero-image{object-position:center}.hero-content{padding-top:100px}.hero{min-height:800px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.masthead{padding-inline:30px}.masthead nav{gap:22px}.intro,.logistics,.service,.access-grid{gap:45px}.hero{height:780px}.hero-content{padding-top:75px}.hero-image{object-position:58%}.hero-shade{background:linear-gradient(90deg,#04121bee,#04121b88 48%,#04121b22),linear-gradient(0deg,#071722,transparent 38%)}.access-heading>img{display:none}.dispatch-grid{gap:35px}.unit-card>div{padding:20px}.medal-row{gap:4px}.force-tabs{gap:28px}.branch-intro{gap:30px}.section{padding-block:80px}footer p{display:none}}
@media(max-width:760px){html{scroll-padding-top:82px}.container{width:calc(100% - 40px)}.masthead{height:74px;padding-inline:20px}.brand{font-size:23px}.brand img{width:30px;height:44px}.menu-toggle{display:flex;gap:17px;align-items:center;background:none;border:1px solid #49616c;padding:6px 10px;font-size:14px}.masthead nav{display:none;position:absolute;top:73px;left:0;right:0;background:#0c2230;padding:22px;box-shadow:0 15px 25px #0005;align-items:stretch;gap:10px}.masthead nav.open{display:flex;flex-direction:column}.masthead nav a{padding:12px}.masthead nav .nav-cta{margin-top:4px}.hero{height:760px;min-height:0;max-height:none}.hero-image{object-position:57% center}.hero-shade{background:linear-gradient(90deg,#04121bdd,#04121b99 58%,#04121b33),linear-gradient(0deg,#071722,transparent 45%)}.hero-content{padding-top:67px}h1{font-size:94px}.hero-genre{font-size:13px}.hero-tagline{font-size:23px;max-width:300px}.hero-copy{font-size:17px}.hero-actions{flex-wrap:wrap;gap:12px;max-width:380px}.button{font-size:15px;padding:13px 17px;gap:20px}.hero-bottom{bottom:24px;flex-wrap:wrap;gap:14px;font-size:12px}.hero-bottom>a{display:none}.hero-bottom small{font-size:10px}.section{padding-block:65px}.intro,.logistics,.service,.access-grid{grid-template-columns:1fr;gap:25px}.intro h2 br{display:none}.intro{padding-bottom:45px}.intro-copy{padding-top:0}.feature-line{font-size:12px;gap:20px}.section-heading{align-items:start;flex-direction:column;gap:16px;margin-bottom:25px}.section-heading h2{font-size:40px}.section-heading .heading-copy{font-size:16px}.gallery-section .section-heading{gap:8px}.gallery-section .section-heading h2{font-size:32px}.gallery-main figcaption{padding:13px 15px;font-size:13px}.gallery-main figcaption>div{gap:14px}.capture-date{display:none}.gallery-thumbs{grid-template-columns:repeat(3,1fr);gap:8px}.gallery-thumb span{font-size:11px;padding:6px 4px}.gallery-section{padding-bottom:60px}.gallery-main>button>img{aspect-ratio:16/9}.force-tabs{gap:0;display:grid;grid-template-columns:repeat(2,1fr);margin-top:25px}.force-tabs button{font-size:16px;padding:13px 5px}.branch-intro{display:block;padding-block:25px}.branch-intro h3{font-size:27px;margin-bottom:13px}.branch-intro p{font-size:16px}.unit-grid{grid-template-columns:1fr;gap:22px}.unit-card>div{padding:20px 23px 25px}.unit-card img{aspect-ratio:2.2/1}.unit-card h3{font-size:31px}.catalogue-note{font-size:12px}.research-art{max-width:520px;margin-bottom:15px;padding:15px 25px 72px}.research-art>span{left:10px}.logistics-copy h2{font-size:44px}.mode-grid{grid-template-columns:1fr;gap:38px;margin-top:32px}.mode-grid article{position:relative;padding-left:50px}.mode-symbol{position:absolute;top:0;left:0;font-size:28px}.mode-grid h3{font-size:31px}.mode-grid p{margin-bottom:12px}.mode-detail{padding-top:10px}.terrain-strip{display:block;margin-top:30px}.terrain-strip p{margin-top:12px}.service{gap:0}.medal-case{padding:0}.medal-row img{height:130px}.medal-case>p{font-size:24px;margin-top:12px}.rank-line{font-size:10px}.dispatch-grid{grid-template-columns:1fr;gap:30px}.dispatch-lead>div{padding:24px}.dispatch-lead h3{font-size:33px}.dispatch-side article{padding-inline:0}.access-grid{gap:50px}.access-heading h2{font-size:44px}.access-heading .section-kicker{font-size:14px}footer{flex-wrap:wrap;padding-block:30px;gap:25px}footer .brand{font-size:21px}#access-dialog{padding:42px 24px 28px}#access-dialog h2{font-size:38px}#access-dialog dl>div{gap:15px;font-size:14px}#lightbox{width:calc(100% - 24px)}.lightbox-controls{padding:12px;gap:8px}.lightbox-controls p{font-size:13px}.lightbox-controls button{padding:5px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
/* The original game pendant and copy share the hero's responsive layout. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.hero{height:calc(100svh - 90px);min-height:680px;max-height:850px}
.hero-layout{height:100%;display:grid;grid-template-columns:300px minmax(0,500px);column-gap:56px;align-items:center;padding-bottom:85px}
.tag-column{position:relative;align-self:start;width:100%;pointer-events:none;min-width:0}
.moving-tag{width:100%;height:clamp(470px,65svh,620px);position:relative;filter:drop-shadow(6px 16px 13px #0005)}
.moving-tag canvas{position:absolute;inset:0;width:100%;height:100%}
.tag-fallback{width:80%;height:72%;position:absolute;bottom:6%;left:10%;object-fit:contain}
.moving-tag.is-ready .tag-fallback{visibility:hidden}
#tag-motion{display:block;margin:0 auto;background:#071722b0;border:1px solid #78909b66;border-radius:2px;color:#c3d3db;font-size:11px;line-height:1.3;white-space:nowrap;padding:6px 9px;pointer-events:auto}
#tag-motion[hidden]{display:none}
.hero-content{padding:0;min-width:0}
.hero-genre{font-size:14px;margin:0 0 22px;line-height:1.4}
.hero-tagline{font-family:var(--font-heading);font-size:clamp(42px,3.8vw,58px);line-height:1.06;max-width:500px;margin-bottom:22px}
.hero-copy{max-width:490px;font-size:18px;line-height:1.55;margin-bottom:0}
.hero-actions{flex-wrap:wrap}
.masthead>.brand{margin-left:0}
@media(min-width:1001px) and (max-width:1250px){.masthead nav{gap:18px;font-size:14px}.masthead{padding-inline:24px}.masthead .brand{font-size:21px}.masthead .brand img{width:28px}.masthead .steam-nav{gap:8px;padding-inline:12px}.masthead .steam-nav img{width:70px}}
@media(min-width:761px) and (max-width:1100px){.hero-layout{grid-template-columns:235px minmax(0,1fr);gap:30px}.moving-tag{height:500px}.hero-tagline{font-size:44px}.hero-genre{font-size:12px}.hero-copy{font-size:16px}.hero-actions{gap:10px}.hero-actions .button{font-size:14px;padding:12px 14px;gap:14px}}
@media(max-width:760px){.hero{height:auto;min-height:0;max-height:none}.hero-layout{height:auto;display:flex;flex-direction:column;gap:16px;padding-bottom:64px}.tag-column{align-self:center;width:185px}.moving-tag{height:250px}.hero-content{width:100%;text-align:center}.hero-genre{justify-content:center;font-size:12px;margin:0 0 16px;min-height:0;max-width:none}.hero-genre span{display:block}.hero-tagline{font-size:40px;max-width:none;margin-bottom:18px}.hero-copy{font-size:16px;max-width:none}.hero-content .steam-announcement{margin:24px auto 0;text-align:left}.hero-actions{justify-content:center;max-width:none}.hero-bottom{font-size:11px;bottom:22px}.hero-shade{background:linear-gradient(0deg,#071722 0%,#071722d9 50%,#07172233 100%)}.hero-image{object-position:63% top}.masthead>.brand{display:flex}.masthead{justify-content:space-between}#tag-motion{font-size:10px;padding:5px 8px}}
@media(max-width:370px){.tag-column{width:170px}.moving-tag{height:230px}.hero-tagline{font-size:35px}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.hero-copy{font-size:14px}.hero-genre{font-size:10px}.masthead .brand{font-size:20px}.masthead .brand img{width:24px}}

/* Unit recognition catalogue: matched side profiles from the game's icon set. */
.branch-count{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:22px;margin-left:10px;border:1px solid #46606c;border-radius:3px;font:12px var(--font-body);color:var(--muted)}
.force-tabs button[aria-selected=true] .branch-count{color:var(--gold);border-color:#aa8c5170}
.catalogue-toolbar{display:flex;gap:20px;align-items:end;padding:0 0 24px}.catalogue-toolbar label{display:grid;gap:7px;font-size:12px;color:var(--muted)}.catalogue-toolbar .unit-search-label{flex:1;max-width:420px}.catalogue-toolbar input,.catalogue-toolbar select{font:15px var(--font-body);color:var(--white);background:#071a27;border:1px solid #3b5665;border-radius:2px;padding:12px 14px;height:46px;min-width:180px}.catalogue-toolbar input{width:100%;min-width:0}.catalogue-toolbar input::placeholder{color:#8ba1ae}.catalogue-toolbar input:focus-visible,.catalogue-toolbar select:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}#unit-results{margin:0 0 11px auto;font-size:13px;white-space:nowrap;color:var(--muted)}
.unit-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.unit-card{background:#0a1b27;display:flex;flex-direction:column;transition:border-color .18s}.unit-card:hover{border-color:#7195a6}.unit-card>.unit-profile{padding:14px 8px 6px;background:#0a1b27;aspect-ratio:2/1;display:flex;align-items:center;border-bottom:1px solid #284554}.unit-profile img{width:100%;height:auto;aspect-ratio:2/1;object-fit:contain;filter:grayscale(1) contrast(3);mix-blend-mode:screen}.unit-card>.unit-info{padding:19px 20px 17px;display:flex;flex:1;flex-direction:column}.unit-role{font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:9px}.unit-card h4{font:600 25px/1.08 var(--font-heading);margin:0 0 10px}.unit-card p{font-size:14px;line-height:1.45}.unit-availability{display:block;padding-top:19px;margin-top:auto;color:#a9b8bf;font-size:11px}.unit-more-row{display:flex;justify-content:center;margin-top:30px}.unit-more-row:has([hidden]){display:none}#unit-empty{text-align:center;padding:35px;border:1px solid var(--line)}[hidden]{display:none!important}.catalogue-note{max-width:860px;line-height:1.6}
@media(max-width:1100px){.unit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.force-tabs{gap:25px}.force-tabs button{font-size:16px}.branch-count{margin-left:7px}}
@media(max-width:760px){.force-tabs{gap:0;display:grid;grid-template-columns:1fr 1fr}.force-tabs button{text-align:left;font-size:15px}.unit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalogue-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.catalogue-toolbar .unit-search-label{grid-column:1/-1;max-width:none}.catalogue-toolbar select{width:100%;min-width:0}.catalogue-toolbar #unit-results{align-self:end;margin-bottom:12px;font-size:12px}.unit-card>.unit-info{padding:16px 13px}.unit-card h4{font-size:23px}.unit-card p{font-size:13px}.unit-role{font-size:10px;letter-spacing:.03em}.unit-availability{font-size:10px}.unit-card>.unit-profile{padding:8px 3px 4px}}
@media(max-width:360px){.unit-grid{grid-template-columns:1fr}}

/* Original medal design art used to build the in-game service decorations. */
.service{grid-template-columns:.8fr 1.2fr;gap:65px}.medal-case{background:radial-gradient(ellipse at 50% 42%,#213743,transparent 70%);padding:20px 0}.medal-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px}.medal-row figure{margin:0;min-width:0}.medal-row img{width:100%;height:280px;object-fit:contain;filter:none}.medal-row figcaption{text-align:center;font:600 20px/1.15 var(--font-heading);color:#e5dbc6;margin-top:18px}.medal-case>p.medal-source{font:12px/1.5 var(--font-body);color:var(--muted);margin:18px 0 30px}.medal-case>p:not(.medal-source){font-size:24px}.service .rank-line{margin-top:0}
@media(max-width:1000px){.service{gap:35px}.medal-row img{height:220px}.medal-row figcaption{font-size:18px}}
@media(max-width:760px){.service{grid-template-columns:1fr;gap:16px}.medal-row{gap:4px}.medal-row img{height:180px}.medal-row figcaption{font-size:17px;margin-top:12px}.medal-case>p.medal-source{font-size:11px;margin:18px 0 26px}.medal-case>p:not(.medal-source){font-size:23px}}

/* Compact single-line career timeline. */
.rank-timeline{margin-top:32px}.rank-endpoints{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);padding-bottom:12px}.rank-endpoints span:nth-child(2){color:var(--gold)}.rank-scroll{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#436171 transparent;padding:4px 0 6px}.rank-track{display:grid;grid-template-columns:repeat(24,minmax(26px,1fr));min-width:624px;list-style:none;padding:0;margin:0;border-top:1px solid #73848b}.rank-track li{position:relative;min-width:0}.rank-track li:before{content:'';position:absolute;top:-3px;left:50%;width:1px;height:6px;background:#8ca0a9;pointer-events:none}.rank-stop{border:0;background:none;display:flex;align-items:center;justify-content:center;width:100%;height:57px;padding:13px 0 4px;position:relative;opacity:.65;border-radius:2px;transition:opacity .15s,background .15s}.rank-stop img{width:28px;height:36px;object-fit:contain}.rank-stop:hover,.rank-stop:focus-visible,.rank-stop.is-active{opacity:1;background:#dfbc7210}.rank-stop:focus-visible{outline:1px solid var(--gold);outline-offset:-1px}.rank-track li:has(.rank-stop.is-active):before{background:var(--gold);width:3px;height:7px;top:-4px}.rank-unmarked{color:var(--muted);font-size:16px}.medal-case .rank-detail{font:13px/1.5 var(--font-body);text-align:center;min-height:20px;margin:9px 0 0;color:var(--muted)}.medal-case .rank-detail.has-rank{color:var(--gold)}
@media(max-width:760px){.rank-timeline{margin-top:26px}.rank-endpoints{font-size:10px;gap:8px}.rank-track{grid-template-columns:repeat(24,32px);min-width:768px}.rank-stop{height:60px}.medal-case .rank-detail{font-size:12px;margin-top:10px}}
.medal-case{min-width:0}
.service>.rank-timeline{grid-column:1/-1;min-width:0;width:100%;margin-top:0}.service>.rank-timeline .rank-detail{font:13px/1.5 var(--font-body);text-align:center;min-height:20px;margin:9px 0 0;color:var(--muted)}.service>.rank-timeline .rank-detail.has-rank{color:var(--gold)}

/* Coastal dawn artwork: preserve the clear right-hand focal subjects. */
.hero-image{object-position:70% center}
.hero-shade{background:linear-gradient(90deg,#04121b8c 0%,#04121b80 32%,#04121b99 48%,#04121b50 63%,#04121b00 82%),linear-gradient(0deg,#071722 0%,#07172200 32%)}
@media(max-width:760px){.hero-image{object-position:77% center}.hero-shade{background:linear-gradient(0deg,#071722 0%,#071722eb 23%,#071722b0 46%,#07172220 80%),linear-gradient(90deg,#07172240,transparent)}}

/* In-game biomes and procedural worlds. */
.biome-explorer{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(260px,1fr);gap:36px;align-items:stretch}
.biome-stage{position:relative;min-width:0;margin:0;overflow:hidden;background:#071722;border:1px solid #3c5660}
.biome-stage>img{width:100%;height:100%;min-height:510px;object-fit:cover;object-position:center;display:block}
.biome-stage figcaption{position:absolute;inset:auto 0 0;padding:50px 28px 24px;background:linear-gradient(transparent,#04151beb);pointer-events:none}
.biome-stage figcaption span{display:block;font-size:12px;color:#c8d7d9;margin-bottom:6px}
.biome-stage figcaption strong{font:600 38px/1.1 var(--font-heading);color:var(--white)}
.biome-picker{padding:2px 0;display:flex;flex-direction:column;min-width:0}
.biome-picker h3{font-size:34px;line-height:1.08;margin:0 0 24px}
.biome-invitation{font-size:13px;margin:0 0 12px;color:var(--muted)}
.biome-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.biome-tabs button{display:flex;align-items:center;gap:9px;padding:12px 10px;border:1px solid #36515e;background:transparent;text-align:left;color:#cbd8dc;font-size:14px;white-space:nowrap}
.biome-tabs button>span{width:9px;height:9px;border-radius:50%;background:var(--biome-swatch);flex-shrink:0}
.biome-tabs button:hover{background:#1c3b49;border-color:#83a4b2}
.biome-tabs button[aria-selected=true]{color:var(--white);border-color:var(--gold);background:#29414a;box-shadow:inset 0 -2px var(--gold)}
.biome-tabs button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.biome-description{margin-top:25px;min-height:105px}
.biome-description h4{font:600 25px/1.1 var(--font-heading);margin:0 0 8px;color:var(--gold)}
.biome-description p{font-size:16px;line-height:1.5;margin:0}
.biome-source{font-size:12px;line-height:1.6;margin:auto 0 0;color:#92aab5;padding-top:18px;border-top:1px solid #36515e}
.world-generation{margin-top:64px}
.world-generation-intro{display:grid;grid-template-columns:1fr 1.2fr;align-items:end;gap:60px;margin-bottom:26px}
.world-generation-intro .section-kicker{margin-bottom:12px}.world-generation-intro h3{font-size:36px;margin:0}.world-generation-intro>p{font-size:17px;line-height:1.6;margin:0;max-width:620px}
.world-maps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.world-map{margin:0;min-width:0;background:#0a202c;border:1px solid #294754;overflow:hidden}
.world-map img{display:block;width:100%;aspect-ratio:3/2;object-fit:contain;background:radial-gradient(ellipse at center,#214957,#0a202c 74%)}
.world-map figcaption{border-top:1px solid #294754;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:14px}
.world-map strong{font:600 23px/1.1 var(--font-heading)}.world-map figcaption>span{font-size:11px;white-space:nowrap;color:var(--muted)}
.world-map-note{font-size:12px;margin:14px 0 0;color:#92aab5}
.world-modes{margin-top:38px;padding-top:22px;border-top:1px solid #36515e;display:flex;justify-content:space-between;gap:20px;align-items:center}
.world-modes>span{font-size:13px;color:var(--gold)}.world-modes p{font-size:15px;margin:0;color:#ccdade}.world-modes p>span{margin:0 15px;color:#607f8c}
@media(max-width:1100px){.biome-explorer{grid-template-columns:minmax(0,1.7fr) minmax(245px,1fr);gap:25px}.world-map figcaption{align-items:start;flex-direction:column;gap:7px}.world-generation-intro{gap:30px}}
@media(max-width:760px){.biome-explorer{grid-template-columns:1fr;gap:24px}.biome-stage>img{height:auto;min-height:0;aspect-ratio:1.35;object-fit:cover}.biome-stage figcaption{padding:45px 20px 18px}.biome-stage figcaption strong{font-size:32px}.biome-picker h3{font-size:29px;margin-bottom:16px}.biome-tabs button{padding:13px 14px;font-size:15px}.biome-description{min-height:76px;margin-top:22px}.biome-source{margin-top:16px;padding-top:14px}.world-generation{margin-top:46px}.world-generation-intro{grid-template-columns:1fr;gap:18px}.world-generation-intro h3{font-size:31px}.world-generation-intro>p{font-size:16px}.world-maps{grid-template-columns:1fr;gap:18px}.world-map img{aspect-ratio:1.9}.world-map figcaption{flex-direction:row;align-items:center}.world-modes{align-items:start;flex-direction:column;gap:12px}.world-modes p{font-size:13px}.world-modes p>span{margin:0 8px}}

/* Original in-game biome icons with compact, accessible tooltips. */
@media(min-width:761px) and (max-width:1000px){.menu-toggle{display:flex;gap:17px;align-items:center;background:none;border:1px solid #49616c;padding:6px 10px;font-size:14px}.masthead nav{display:none;position:absolute;top:89px;left:0;right:0;background:#0c2230;padding:22px;box-shadow:0 15px 25px #0005;align-items:stretch;gap:10px}.masthead nav.open{display:flex;flex-direction:column}.masthead nav a{padding:12px}.masthead nav .nav-cta{margin-top:4px}}
.biome-description{min-height:88px;margin-top:22px}
.biome-effect-icons{margin:0 0 18px}.biome-effect-icons>p{font-size:12px;color:var(--gold);display:flex;justify-content:space-between;margin:0 0 8px}.biome-effect-icons>p>span{color:var(--muted);font-size:11px}
.biome-effect-row{display:flex;gap:12px;position:relative;padding-bottom:8px}
.biome-effect-button{border:1px solid transparent;background:transparent;border-radius:3px;padding:3px;flex:1;max-width:68px;min-width:0;aspect-ratio:1;display:grid;place-items:center}
.biome-effect-button img{width:52px;height:52px;object-fit:contain;filter:grayscale(1) contrast(3);mix-blend-mode:screen;pointer-events:none}
.biome-effect-button:hover,.biome-effect-button.is-active{background:#203c49;border-color:#9a8453}.biome-effect-button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
#biome-effect-tooltip{position:absolute;top:100%;left:0;right:0;z-index:5;background:#071721;border:1px solid #9a8453;border-radius:3px;box-shadow:0 10px 25px #0006;padding:15px 17px;text-align:left}
#biome-effect-tooltip strong{display:block;font:600 22px/1.15 var(--font-heading);color:var(--gold);margin-bottom:8px}#biome-effect-tooltip p{font-size:14px;line-height:1.5;margin:0;color:#d1dce0}
@media(max-width:760px){.biome-description{min-height:0;margin-bottom:20px}.biome-effect-icons{margin-bottom:4px}.biome-effect-row{gap:14px}.biome-effect-button{max-width:65px}}

/* Steam announcement uses the original Steam logo, with its own clear space. */
.steam-announcement{display:flex;align-items:center;gap:24px;width:max-content;max-width:100%;margin:26px 0 0;padding:16px 22px 18px;background:#0b202def;border:1px solid #54768a;border-radius:5px;box-shadow:0 8px 24px #0003;text-decoration:none;color:#eef2ee}
.steam-announcement:hover{background:#153346;border-color:#9cc6db}.steam-announcement:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.steam-announcement-brand{display:flex;flex-direction:column;gap:10px}.steam-coming{font:400 12px/1.2 var(--font-body);color:#bfd0dc}.steam-announcement-brand img{display:block;width:156px;height:auto;max-width:none}
.steam-announcement-meta{border-left:1px solid #486170;padding-left:24px;display:flex;flex-direction:column;gap:5px}.steam-announcement-meta span:first-child{font:600 14px/1.4 var(--font-body);color:#eef2ee}.steam-announcement-meta span:last-child{font:400 11px/1.5 var(--font-body);color:#a6bdcb}
.steam-announcement+.hero-actions{margin-top:18px}.masthead .steam-nav{display:flex;align-items:center;gap:14px;background:#0b202d;border-color:#54768a;color:#d6e4ec}.steam-nav img{display:block;width:90px;height:auto}.steam-nav .steam-nav-copy{font-size:12px}.steam-nav .steam-nav-arrow{margin:0;color:#aac4d4}.masthead .steam-nav:hover{border-color:#9cc6db;background:#153346}
.steam-release-heading{display:flex;flex-wrap:wrap;align-items:center;gap:22px}.access-heading .steam-release-heading img{width:205px;height:auto;max-width:100%;margin:0;flex-shrink:0}.steam-attribution{font-size:10px;color:#8ca3b0;line-height:1.6;padding-top:0;padding-bottom:24px}
@media(max-width:760px){.steam-announcement{gap:18px;padding:14px 18px 16px;margin-top:20px}.steam-announcement-brand img{width:140px}.steam-announcement-meta{padding-left:18px}.steam-announcement-meta span:first-child{font-size:13px}.steam-release-heading{gap:14px}.access-heading .steam-release-heading img{width:170px}.steam-attribution{font-size:10px}}
@media(max-width:360px){.steam-announcement{gap:14px;padding-inline:14px}.steam-announcement-brand img{width:124px}.steam-announcement-meta{padding-left:14px}}

/* Platform status stays explicit until a native Mac build is validated. */
.steam-announcement-meta .platform-row{display:flex;align-items:center;gap:8px;white-space:nowrap;font:500 13px/1.5 var(--font-body);color:#dce8ee}.platform-row img{display:block;flex:0 0 16px;width:16px;height:18px;object-fit:contain}.platform-row small{font-size:10px;color:#c7b789;border:1px solid #665d43;border-radius:3px;padding:1px 5px;margin-left:2px}.steam-announcement-meta{gap:10px}
@media(max-width:760px){.steam-announcement{gap:16px;padding-inline:16px}.steam-announcement-brand img{width:130px}.steam-announcement-meta{padding-left:16px}.steam-announcement-meta .platform-row{gap:6px;font-size:12px}.platform-row small{font-size:9px;padding-inline:4px}}
@media(max-width:360px){.steam-announcement{gap:10px;padding-inline:12px}.steam-announcement-brand img{width:108px}.steam-announcement-meta{padding-left:10px}}

/* Trailer slot: actual gameplay still until the official video is supplied. */
.trailer-section{padding-bottom:100px;scroll-margin-top:120px}.trailer-release-state{font-size:13px;color:var(--gold);padding:8px 13px;border:1px solid #786d50;white-space:nowrap}.trailer-stage{position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid #3d5866;background:#06121b;isolation:isolate}.trailer-poster{display:block;width:100%;height:100%;object-fit:cover}.trailer-stage:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#06121bcf,transparent 75%),linear-gradient(0deg,#06121bf2,transparent 60%);pointer-events:none;z-index:1}.trailer-overlay{position:absolute;left:7%;bottom:14%;z-index:2}.trailer-overlay p{font-size:14px;color:#c7d9e0;margin:0 0 18px}.trailer-overlay h3{font-family:var(--font-heading);font-size:clamp(38px,5vw,70px);line-height:1.03;margin:0 0 24px;color:var(--white)}.trailer-status{display:inline-block;font-size:13px;color:#dfbc72;border-top:1px solid #76633c;padding-top:12px}.trailer-still{position:absolute;bottom:20px;right:25px;color:#b6cbd5;font-size:11px;z-index:2}.trailer-caption{display:flex;align-items:start;justify-content:space-between;gap:24px;padding-top:20px}.trailer-caption p{max-width:650px;font-size:14px;margin:0;color:var(--muted)}.trailer-caption a{white-space:nowrap;font-size:14px}.trailer-play{display:flex;align-items:center;gap:12px;padding:13px 20px;background:var(--gold);color:#071722;border:0;font:600 16px var(--font-body);cursor:pointer}.trailer-play svg{width:18px;height:18px;fill:currentColor}.trailer-stage.is-playing:after{display:none}.trailer-stage iframe,.trailer-stage video{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3;background:#000}.trailer-stage.is-ready{cursor:default}
@media(max-width:760px){.trailer-section{padding-bottom:65px;scroll-margin-top:100px}.trailer-overlay{left:6%;bottom:20%}.trailer-overlay h3{font-size:34px;margin-bottom:14px}.trailer-overlay p{font-size:11px;margin-bottom:10px}.trailer-status{font-size:11px;padding-top:7px}.trailer-still{bottom:9px;right:12px;font-size:9px}.trailer-caption{flex-direction:column;gap:10px;padding-top:14px}.trailer-caption p{font-size:13px}.trailer-stage{aspect-ratio:4/3}.trailer-stage.is-ready,.trailer-stage.is-playing{aspect-ratio:16/9}.trailer-stage.is-ready .trailer-overlay h3,.trailer-stage.is-ready .trailer-overlay p{display:none}.trailer-release-state{font-size:12px}.trailer-play{padding:11px 15px;font-size:14px}}
/* Branded trailer artwork contains its own title; preserve the entire cover. */
.trailer-stage.has-thumbnail{aspect-ratio:16/9}.trailer-stage.has-thumbnail:after{display:none}.has-thumbnail .trailer-poster{object-fit:contain}.has-thumbnail .trailer-status[hidden]{display:none}.has-thumbnail .trailer-overlay{left:auto;right:4%;bottom:7%}.has-thumbnail .trailer-still{bottom:8px;right:12px;background:#06121bc9;padding:3px 7px;font-size:10px}.has-thumbnail .trailer-play{box-shadow:0 4px 20px #0008}
@media(max-width:760px){.has-thumbnail .trailer-still{font-size:8px;bottom:4px;right:5px;padding:2px 4px}}

/* Both announced desktop platforms carry equal visual weight. */
.hero-content .steam-announcement-meta .platform-row{font:500 13px/1.5 var(--font-body);color:#dce8ee}

/* Entire unit cards lead to the matching reference, including research unlocks. */
.unit-card{position:relative}.unit-wiki-link:after{content:'';position:absolute;inset:0}.unit-card:hover .unit-wiki-link{color:var(--gold)}.unit-card:focus-within{outline:2px solid var(--cyan);outline-offset:3px}.unit-wiki-link:focus-visible{outline:none}.unit-wiki-hint{display:block;margin-top:13px;color:var(--gold);font-size:12px;line-height:1.5}
@media(max-width:760px){.hero-genre{margin-bottom:12px}.hero-tagline{font-size:36px;margin-bottom:14px}.hero-content .steam-announcement{margin-top:18px}.hero-actions{gap:10px}.hero-actions .button{padding:12px 14px;font-size:14px;gap:12px}.unit-wiki-hint{font-size:11px}}
@media(max-width:370px){.hero-tagline{font-size:33px}}

/* Display text shares the same semibold heading weight as the wiki. */
.brand,.hero-tagline,.medal-case>p:not(.medal-source):not(.rank-detail){font-weight:600}

/* Command-table texture is reserved for forces and biomes. */
:root{--table-grid:linear-gradient(rgba(40,101,130,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(40,101,130,.25) 1px,transparent 1px);--table-grid-size:50px 50px,50px 50px}
.forces,.operations{background-color:#071521;background-image:var(--table-grid),radial-gradient(ellipse at 15% 80%,#10384e,transparent 75%);background-size:var(--table-grid-size),100% 100%;border-block:1px solid #28658280}
/* A single broad radar sweep crosses the grid behind the forces content. */
.forces{position:relative;isolation:isolate;overflow:hidden}
.forces>.container{position:relative;z-index:1}
.force-brief{display:flex;flex-direction:column;align-items:flex-start;gap:10px;max-width:340px}.force-brief .heading-copy{margin:0}
.radar-background{position:absolute;z-index:0;width:1100px;height:1100px;right:-220px;top:-180px;border-radius:50%;pointer-events:none;mask-image:radial-gradient(circle,#000 12%,#000b 48%,transparent 70%);background:repeating-radial-gradient(circle,transparent 0 149px,#62cbfa12 150px,transparent 151px)}
.radar-sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 260deg,#62cbfa00 285deg,#62cbfa12 325deg,#62cbfa32 358deg,#9be9ff65 359.5deg,transparent 360deg);animation:radar-turn 18s linear infinite;animation-play-state:paused;pointer-events:none}
.radar-background[data-running=true] .radar-sweep{animation-play-state:running}
.sweep-control{border:0;border-bottom:1px solid #62cbfa40;background:none;padding:2px 0;color:#9bb8ca;font:12px/1.5 var(--font-body);cursor:pointer}.sweep-control:hover{color:#edf6fc}.sweep-control:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}.sweep-control:disabled{display:none}
@keyframes radar-turn{from{transform:rotate(-65deg)}to{transform:rotate(295deg)}}
@media(max-width:760px){.force-brief{max-width:none}.radar-background{width:800px;height:800px;right:-340px;top:-60px}.forces,.operations{background-image:linear-gradient(rgba(40,101,130,.20) 1px,transparent 1px),linear-gradient(90deg,rgba(40,101,130,.20) 1px,transparent 1px),radial-gradient(ellipse at 15% 80%,#10384e,transparent 75%)}}
@media(prefers-reduced-motion:reduce){.radar-sweep{animation:none!important;opacity:0}}

/* Keep the trailer action at the exact player centre on every viewport. */
.trailer-stage.has-thumbnail .trailer-overlay{left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:max-content;max-width:90%}
.trailer-stage.has-thumbnail .trailer-play{display:grid;place-items:center;width:80px;height:80px;padding:0;border:1px solid #f3d594;border-radius:50%;background:#e5bc70f5;box-shadow:0 4px 24px #0009;transition:background .2s,transform .2s}
.trailer-stage.has-thumbnail .trailer-play svg{width:28px;height:28px;transform:translateX(2px)}
.trailer-stage.has-thumbnail .trailer-play:hover{background:#f2cf8b}
.trailer-stage.has-thumbnail .trailer-play:focus-visible{outline:3px solid #fff;outline-offset:5px}

/* The trailer follows the hero as the first content section. */
.trailer-section{padding-top:68px}
@media(max-width:760px){.trailer-section{padding-top:38px}.trailer-stage.has-thumbnail .trailer-play{width:60px;height:60px}.trailer-stage.has-thumbnail .trailer-play svg{width:23px;height:23px}}
/* Independent atmospheric plates keep the original hero composition readable. */
.hero-atmosphere{position:absolute;inset:0;z-index:-3;pointer-events:none;overflow:hidden}
.hero-cloud,.hero-aircraft{position:absolute;height:auto;animation-play-state:paused;user-select:none}
.hero-cloud{width:1100px;max-width:none;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.hero-cloud-high{right:-190px;top:-130px;opacity:.2;animation:hero-cloud-drift 48s ease-in-out infinite alternate paused}
.hero-cloud-low{right:-200px;bottom:-100px;width:1250px;opacity:.12;animation:hero-cloud-drift 65s ease-in-out -27s infinite alternate-reverse paused}
.hero-aircraft{width:150px;right:21%;top:5%;opacity:.9;animation:hero-flight 38s linear -8s infinite paused}
.hero-aircraft-wing{width:95px;right:33%;top:3%;opacity:.68;animation-duration:46s;animation-delay:-17s}
.hero.hero-motion-running .hero-atmosphere img{animation-play-state:running}
@keyframes hero-cloud-drift{from{transform:translate3d(-35px,0,0)}to{transform:translate3d(45px,10px,0)}}
@keyframes hero-flight{0%{transform:translate3d(-95px,-12px,0) scale(.88);opacity:0}12%{opacity:.85}82%{opacity:.85}100%{transform:translate3d(115px,18px,0) scale(1.06);opacity:0}}
@media(max-width:760px){.hero-aircraft{width:100px;right:12%;top:8%;animation-duration:46s}.hero-aircraft-wing{width:65px;right:41%;top:5%;animation-duration:54s}.hero-cloud-high{width:760px;right:-310px;top:-60px;opacity:.16}.hero-cloud-low{width:850px;right:-350px;bottom:50px;opacity:.08}}
@media(prefers-reduced-motion:reduce){.hero .hero-atmosphere img{animation:none!important}.hero-aircraft{opacity:.85}.hero-aircraft-wing{opacity:.65}}

/* Continuous atmospheric video; the still remains beneath it during loading. */
.hero .hero-video{opacity:0;pointer-events:none;transition:opacity .6s ease}
.hero.hero-video-ready .hero-video{opacity:1}
@media(prefers-reduced-motion:reduce){.hero .hero-video{display:none}}

/* Keep the command briefing readable as the light moves across the coast. */
.hero-shade{background:linear-gradient(90deg,#04121b9c 0%,#04121bb8 32%,#04121bbd 48%,#04121b60 66%,#04121b00 84%),linear-gradient(0deg,#071722 0%,#07172200 34%)}
.hero-tagline{color:#f4f6f3;text-shadow:0 2px 12px #03111bb3}
.hero-copy{color:#e1e9ec;text-shadow:0 1px 5px #03111b}
.hero-genre{color:#dce6eb}
#tag-motion{min-height:44px;padding:9px 12px}
@media(max-width:1000px){
  .menu-toggle{min-height:44px;min-width:88px;justify-content:space-between}
  .masthead nav{max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain}
  .masthead nav a{min-height:44px;display:flex;align-items:center}
}
@media(max-width:760px){
  .hero-layout{gap:12px;padding-bottom:56px}
  .tag-column{width:165px}
  .moving-tag{height:205px}
  .hero-shade{background:linear-gradient(0deg,#071722 0%,#071722f5 24%,#071722d9 48%,#07172240 76%,#07172220 100%)}
  .hero-tagline{font-size:clamp(32px,8.8vw,38px);margin-bottom:14px}
  .hero-copy{font-size:16px;line-height:1.55}
  .hero-copy br{display:none}
  .hero-genre{margin-bottom:10px;font-size:12px}
  .hero-actions .button{min-height:48px}
  .hero-content .steam-announcement{margin-top:16px}
  .masthead nav{max-height:calc(100dvh - 74px)}
  .catalogue-toolbar input,.catalogue-toolbar select{font-size:16px}
  .dialog-close,.lightbox-controls button{min-width:44px;min-height:44px}
  .trailer-section{padding-top:30px}
}
@media(max-width:370px){
  .hero-actions{flex-direction:row}
  .hero-actions .button{width:100%;padding-block:10px}
  .hero-genre{font-size:11px}
}

/* Individual 2.5D catalogue portraits, 2026-10-19. */
.unit-card>.unit-profile{padding:0;background:#062333;overflow:hidden}.unit-profile img{filter:none;mix-blend-mode:normal;aspect-ratio:2/1;width:100%;height:auto;object-fit:contain}

/* October briefing: retain the navy, brass and Teko/Barlow identity. */
.operation-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid #3a515e;gap:8px}
.operation-tabs button{display:flex;gap:12px;align-items:center;text-align:left;padding:18px 10px;background:none;border:0;border-bottom:3px solid transparent;color:#afc3cd;font:inherit;cursor:pointer}
.operation-tabs button span{color:#d9bb70;font-family:Teko,sans-serif;font-size:24px}
.operation-tabs button[aria-selected=true]{color:#fff;border-bottom-color:#d9bb70;background:#102a38}
.operation-tabs button:hover,.faction-tabs button:hover{background:#143342}
.operation-panel{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:38px;padding-top:28px}
.operation-panel figure{margin:0;min-width:0;background:#0b202d}
.operation-panel img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.operation-panel figcaption{padding:9px 14px;font-size:12px;color:#b8cad3}
.operation-description h3{font-size:36px;line-height:1.05;margin:0 0 16px}
.operation-description p{font-size:17px;line-height:1.65;color:#b4c6ce;margin:0 0 22px;max-width:48ch}
.faction-section{padding-top:68px;padding-bottom:64px}
.faction-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;border-bottom:1px solid #3a515e}
.faction-tabs button{display:flex;flex-direction:column;align-items:center;gap:12px;padding:14px 8px 17px;background:none;border:0;border-bottom:3px solid transparent;color:#afc3cd;font:inherit;font-size:14px;cursor:pointer}
.faction-tabs button[aria-selected=true]{border-bottom-color:#d9bb70;background:#102a38;color:#fff}
.faction-tabs img{width:64px;height:64px;object-fit:contain}
.faction-panel{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;background:#0b202d;padding:28px 36px;min-width:0}
.faction-panel h3{font-size:44px;margin:8px 0 10px;line-height:1}
.faction-specialty{color:#d9bb70;font-size:14px;margin:0}
#faction-strength{color:#b4c6ce;font-size:17px;line-height:1.6;max-width:40ch;margin:0 0 22px}
.faction-panel figure{margin:0;min-width:0}
.faction-panel figure img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:contain}
.faction-panel figcaption{font-size:12px;color:#b4c6ce;margin-top:12px;text-align:center}
.faction-panel figcaption strong{display:block;font-family:Teko,sans-serif;font-size:27px;color:#eee;margin-top:2px}
.arsenal-links{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;margin:25px 0 18px}
.forces .unit-info{padding:18px 20px 20px}
.forces .unit-info p{margin-bottom:12px}
.service.section{padding-block:60px;gap:20px 48px}
.career-link{grid-column:1/-1;border-top:1px solid #304751;padding-top:22px}
.dispatch-compact{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-block:36px;border-top:1px solid #304751}
.dispatch-compact h3{font-size:32px;margin:8px 0;line-height:1.1}
.dispatch-compact p:not(.section-kicker){color:#b4c6ce;margin:0;line-height:1.5}
.dispatch-compact .section-kicker{font-size:13px;margin:0}
.dispatch-compact .button{flex-shrink:0}
.studio-footer{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:35px}
.studio-brand{display:flex;align-items:center;gap:18px;text-decoration:none;color:#b4c6ce}
.studio-brand img{width:78px;height:78px;object-fit:contain}
.studio-brand span{font-size:14px}
.studio-brand strong{display:block;color:#f0ece4;font:32px/1.1 Teko,sans-serif;margin-top:5px}
.studio-footer>p{font-family:Teko,sans-serif;font-size:25px;line-height:1.2;margin:0}
.studio-footer>p>span{font:14px/1.5 Barlow,sans-serif;color:#a7bcc8}
.studio-footer nav{display:flex;flex-direction:column;gap:12px;font-size:14px}
.studio-footer nav a{color:#b4c6ce}
.studio-footer nav a:hover{color:#e4c576}
.gallery-main figcaption{gap:14px;flex-wrap:wrap}
.capture-date{font-size:12px}
.watch-trailer{min-width:170px;justify-content:center}
@media(max-width:1000px){.operation-tabs button{font-size:13px;gap:7px;padding-inline:6px}.operation-panel{gap:24px}.operation-description h3{font-size:31px}.faction-tabs button{font-size:12px}.faction-panel{padding:24px}.studio-footer{flex-wrap:wrap}.studio-footer>p{display:none}}
@media(max-width:600px){.operation-tabs{gap:0}.operation-tabs button{flex-direction:column;align-items:flex-start;font-size:11px;line-height:1.3;padding:10px 5px;gap:5px;overflow-wrap:anywhere}.operation-tabs button span{font-size:21px}.operation-panel{grid-template-columns:1fr;gap:20px;padding-top:18px}.operation-description h3{font-size:32px}.operation-description p{font-size:16px}.operation-loop.section{padding-block:44px}.faction-section{padding-block:44px}.faction-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.faction-tabs button{font-size:12px;padding:10px 4px;gap:8px}.faction-tabs img{width:48px;height:48px}.faction-panel{grid-template-columns:1fr;gap:20px;padding:24px 20px}.faction-panel h3{font-size:36px}.faction-panel figure{max-width:420px}.faction-panel figcaption{text-align:left}.arsenal-links{align-items:flex-start;flex-direction:column;gap:15px}.dispatch-compact{align-items:flex-start;flex-direction:column;gap:20px;padding-block:30px}.studio-footer{align-items:flex-start;gap:26px}.studio-brand{width:100%}.studio-footer nav{flex-direction:row;flex-wrap:wrap;gap:20px}.capture-date{display:block;font-size:11px}.gallery-main figcaption>div{flex-wrap:wrap;gap:8px}.service.section{padding-block:44px}.career-link{margin-top:20px}.operation-panel figure img{aspect-ratio:16/9}}

@media(min-width:601px) and (max-width:1000px){.forces .unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Carry the tactical chart through faction selection; two exclusive unlocks per faction. */
.faction-section{background-color:#102b3a;background-image:linear-gradient(#719cad12 1px,transparent 1px),linear-gradient(90deg,#719cad12 1px,transparent 1px),radial-gradient(ellipse at 75% 65%,#1b4056,transparent 70%);background-size:50px 50px,50px 50px,auto;border-block:1px solid #345263}
.faction-panel{background:#092333d9;grid-template-columns:1.1fr 1fr;align-items:center}
.faction-panel figure{background:transparent;border:0;align-self:center;padding:0 0 16px}
.faction-panel figcaption{padding:0 12px}
.faction-panel figure img{width:100%}
.faction-tabs button[aria-selected=true]{background:#163b4d}
.faction-arsenal{margin:22px 0}
.faction-arsenal h4{font:24px/1.2 Teko,sans-serif;color:#f0ece4;margin:0 0 12px}
#faction-exclusives{list-style:none;margin:0;padding:0;display:grid;gap:12px}
#faction-exclusives li{border-left:2px solid #c5aa67;padding-left:12px}
#faction-exclusives a{display:block;color:#e0c780;font-size:16px;text-decoration:none}
#faction-exclusives a:hover{text-decoration:underline}
#faction-exclusives span{display:block;color:#a9c0cb;font-size:12px;margin-top:3px}
#faction-support{font-size:12px;line-height:1.6;color:#b5c9d3;margin:15px 0 0}
#faction-support a{color:#e0c780}
@media(max-width:600px){.faction-panel{grid-template-columns:1fr}.faction-section{padding-block:44px}.faction-panel figure{width:100%}}

/* Transparent artwork sits directly on the panel; manual browsing never auto-advances. */
.faction-art{min-width:0;isolation:isolate}
.faction-carousel-controls{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:8px}
.faction-arrow{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;padding:0;border:1px solid #72878c;background:transparent;color:#e6cf91;cursor:pointer;transition:background .15s,border-color .15s}
.faction-arrow:hover{background:#d9bb7014;border-color:#e6cf91}
.faction-arrow:focus-visible{outline:2px solid #e6cf91;outline-offset:4px}
#faction-unit-count{color:#d7c493;font-size:13px;letter-spacing:.15em;font-variant-numeric:tabular-nums}
.faction-panel #faction-carousel figcaption{text-align:center;min-height:66px;margin-top:16px}
#faction-unit-role{display:block;font-size:12px;line-height:1.5}
.faction-unit-details{display:block;text-align:center;margin-top:8px;font-size:13px}
#faction-exclusives li{border-left-color:#516776;transition:border-color .15s}
#faction-exclusives li.is-featured{border-left-color:#e7c879}
@media(max-width:600px){.faction-panel #faction-carousel{max-width:none}.faction-panel #faction-carousel figcaption strong{font-size:26px}}

/* All catalogue portraits use genuine alpha cutouts. */
.unit-card>.unit-profile{background:transparent;padding:10px 8px;border-bottom:0}
.unit-browser-nav{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin:0 0 22px}
.unit-browser-nav .faction-arrow{font-size:25px;line-height:1}
#unit-page{font-size:13px;letter-spacing:.06em;color:#d7c493;min-width:76px;text-align:center;font-variant-numeric:tabular-nums}
@media(max-width:600px){.unit-browser-nav{justify-content:center;margin-bottom:18px}.unit-card>.unit-profile{padding:8px 4px}}
