:root{
  --bg:#090b0e;
  --bg2:#101418;
  --panel:#12171c;
  --panel2:#0c1014;
  --line:rgba(255,255,255,.09);
  --text:#ece5d7;
  --muted:#b8ae9c;
  --accent:#d5b58b;
  --accent2:#a9845f;
  --shadow:0 26px 60px rgba(0,0,0,.45);
  --radius:22px;
  --shell:min(1240px, calc(100vw - 40px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif;line-height:1.58;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.shell{width:var(--shell);margin:0 auto;position:relative;z-index:2}
.grain{position:fixed;inset:0;pointer-events:none;opacity:.045;background-image:radial-gradient(rgba(255,255,255,.2) .6px,transparent .6px);background-size:4px 4px;mix-blend-mode:soft-light;z-index:60}

.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:20px;padding:12px 20px;background:linear-gradient(180deg,rgba(8,10,13,.97),rgba(8,10,13,.82));backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:0 10px 34px rgba(0,0,0,.24)}
.brand{flex:0 0 auto}.brand img{height:42px;width:auto;filter:drop-shadow(0 10px 18px rgba(0,0,0,.5))}
nav{display:flex;align-items:center;justify-content:center;gap:14px;flex:1;min-width:0}
nav a{position:relative;font-size:.75rem;text-transform:uppercase;letter-spacing:.075em;color:var(--muted);white-space:nowrap;padding:8px 0;transition:.18s ease}
nav a:hover,nav a.active{color:var(--text)}
nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--accent)}
.language-switch{display:flex;align-items:center;gap:6px;padding:4px;border:1px solid var(--line);border-radius:12px;background:rgba(8,10,13,.76);flex:0 0 auto}
.lang-button,.sound-toggle{border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;transition:.18s ease}
.lang-button{padding:8px 11px}.sound-toggle{width:36px;height:36px;display:grid;place-items:center}
.lang-button:hover,.sound-toggle:hover{color:var(--text);background:rgba(255,255,255,.05)}
.lang-button.active,.sound-toggle.active{background:linear-gradient(180deg,#dfc49f,#b58f64);color:#131313}

.hero-stage{position:relative;isolation:isolate;padding:30px 0 36px;overflow:hidden;background:#07090b}
.hero-stage::before{content:"";position:absolute;inset:-8%;background:linear-gradient(180deg,rgba(6,8,10,.56),rgba(6,8,10,.28) 42%,rgba(6,8,10,.66)),url('assets/bg-alt-relay.png') center 42%/cover no-repeat;filter:blur(8px) saturate(.78) brightness(.76);transform:scale(1.045);opacity:.96;z-index:0}
.hero-stage::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgba(213,181,139,.10),transparent 40%),linear-gradient(90deg,rgba(5,7,9,.82),transparent 22%,transparent 78%,rgba(5,7,9,.82));pointer-events:none;z-index:0}
.hero{position:relative;z-index:2;width:70%;min-height:72vh;margin:0 auto;border-radius:28px;overflow:hidden;background:#080a0c}
.hero-frame{position:absolute;inset:0;border-radius:28px;overflow:hidden;border:1px solid rgba(213,181,139,.24);box-shadow:0 32px 90px rgba(0,0,0,.50),inset 0 0 0 1px rgba(255,255,255,.035);background:#080a0c}
.hero-frame::before{content:"";position:absolute;inset:14px;border:1px solid rgba(213,181,139,.13);border-radius:18px;pointer-events:none;z-index:2}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%;filter:none;opacity:1}

.hero-brief{position:relative;overflow:hidden;padding:42px 0 54px;background:#0a0d10;isolation:isolate}
.hero-brief::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,10,12,.77),rgba(8,10,12,.68)),url('assets/bg-industrial.jpg') center/cover no-repeat;opacity:.66;z-index:0}
.hero-brief-inner{padding:30px 34px 34px;border-radius:24px;border:1px solid rgba(213,181,139,.18);background:linear-gradient(180deg,rgba(13,16,20,.78),rgba(8,10,13,.84));box-shadow:0 24px 64px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.028)}
.identity-line{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px}.identity-line span,.section-head>span,.feature-copy>span,.shot span,.roster-copy span,.weapon-card span,.threat-card span,.evidence-copy>span,.footer span,.area-brief>div>span{display:inline-block;padding:7px 11px;border-radius:999px;border:1px solid rgba(213,181,139,.32);background:rgba(10,13,16,.56);color:#ddc9ad;font-size:.73rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.hero-brief h1{max-width:980px;margin:0 0 16px;font-size:clamp(2.15rem,4.1vw,4.45rem);line-height:1.02;letter-spacing:-.035em;text-shadow:0 8px 24px rgba(0,0,0,.36)}
.hero-brief .lead{max-width:900px;margin:0 0 14px;font-size:1.15rem;color:#f0e7da}.hero-brief p{max-width:880px;color:var(--muted)}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border-radius:13px;border:1px solid var(--line);font-weight:800;text-transform:uppercase;letter-spacing:.055em;transition:.18s ease;box-shadow:var(--shadow)}
.btn:hover{transform:translateY(-2px)}.btn.primary{background:linear-gradient(180deg,#dfc49f,#b58f64);border-color:#c6a176;color:#131313}.btn.secondary{background:rgba(12,15,18,.64)}

.section{position:relative;overflow:hidden;padding:82px 0;background:linear-gradient(180deg,#0a0d10,#0c1014);isolation:isolate}
.section::before{content:"";position:absolute;inset:0;background-size:cover;background-position:center;opacity:.36;filter:saturate(.84) contrast(1.05) brightness(.93);pointer-events:none;z-index:0}
.section::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,9,11,.76),rgba(7,9,11,.48) 40%,rgba(7,9,11,.79));pointer-events:none;z-index:1}
.section-art-briefing::before{background-image:url('assets/bg-alt-underground.png')}
.section-art-incident::before{background-image:url('assets/bg-fortress.jpg');background-position:center 40%}
.section-art-area::before{background-image:url('assets/bg-alt-relay.png');background-position:center top}
.section-art-team::before{background-image:url('assets/bg-alt-dockyard.png')}
.section-art-weapons::before{background-image:url('assets/bg-alt-snowworks.png')}
.section-art-threats::before{background-image:url('assets/bg-alt-harbor.png')}
.section-art-classified::before{background-image:url('assets/bg-industrial.jpg')}
.section-art-status::before{background-image:url('assets/bg-alt-underground.png')}
.section-head{max-width:980px;margin-bottom:28px;position:relative;z-index:3;padding-left:17px}
.section-head::before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:3px;border-radius:999px;background:linear-gradient(180deg,rgba(213,181,139,.9),rgba(213,181,139,.12))}
.section-head h2,.footer h2{margin:14px 0 10px;font-size:clamp(1.85rem,3vw,3.05rem);line-height:1.08}.section-head p,.body,.footer p{color:var(--muted);font-size:1.02rem}
.redact{background:#0b0b0b;color:#0b0b0b;border-radius:3px;padding:0 .16em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}

.brief-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:28px 0 34px}
.brief-card,.feature-card,.area-brief,.shot,.roster-card,.weapon-card,.threat-card,.panel,.evidence-objective{background:linear-gradient(180deg,rgba(18,23,28,.96),rgba(10,13,17,.96));border:1px solid rgba(255,255,255,.09);border-radius:var(--radius);box-shadow:var(--shadow);position:relative;z-index:3}
.brief-card{padding:22px}.brief-card b{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:rgba(213,181,139,.1);border:1px solid rgba(213,181,139,.34);color:#edd8bb;margin-bottom:14px}.brief-card h3{margin:0 0 8px;font-size:1.14rem}.brief-card p{margin:0;color:var(--muted)}
.feature-card{display:grid;grid-template-columns:1.04fr 1fr;gap:0;overflow:hidden}.feature-copy{padding:30px}.feature-copy h3{margin:14px 0 10px;font-size:2rem;line-height:1.08}.feature-copy p{color:var(--muted)}.classified{padding-top:14px;border-top:1px dashed rgba(255,255,255,.1);color:#d4bf9e}.feature-image{position:relative;overflow:hidden}.feature-image::after,.shot::after,.roster-card::after,.threat-card::after{content:"";position:absolute;inset:10px;border:1px solid rgba(213,181,139,.12);border-radius:14px;pointer-events:none;z-index:2}.feature-image img{width:100%;height:100%;min-height:350px;object-fit:cover;filter:contrast(1.03) saturate(.9)}

.incident-paper{position:relative;z-index:3;padding:clamp(28px,4vw,50px);background:linear-gradient(180deg,rgba(242,229,192,.995),rgba(228,211,166,.995) 52%,rgba(214,194,146,.995));color:#241a10;border:1px solid rgba(108,82,43,.34);box-shadow:0 26px 60px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,250,234,.55);font-family:"Courier New",Courier,monospace;overflow:hidden;border-radius:5px}
.incident-paper::before{content:"";position:absolute;inset:10px;border:1px solid rgba(113,86,47,.18);pointer-events:none}
.incident-paper::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.15;background:radial-gradient(circle at 14% 10%,rgba(255,255,255,.42),transparent 24%),radial-gradient(circle at 88% 90%,rgba(76,54,26,.12),transparent 26%),repeating-linear-gradient(0deg,transparent 0 29px,rgba(70,51,26,.05) 29px 30px);mix-blend-mode:multiply}
.incident-paper>*{position:relative;z-index:1}.incident-stamp{position:absolute;z-index:3;right:clamp(20px,4vw,48px);top:24px;transform:rotate(-8deg);padding:9px 16px;border:4px solid rgba(154,53,40,.48);color:#9a3528;background:rgba(154,53,40,.04);font-family:Inter,Segoe UI,Arial,sans-serif;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.incident-meta{display:flex;flex-wrap:wrap;gap:10px 22px;padding-right:180px;color:#5c5042;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.incident-paper h3{margin:22px 0 18px;font-size:clamp(1.15rem,2vw,1.45rem);letter-spacing:.04em;color:#251e16}.incident-paper p{color:#30271d;margin:0 0 15px}.incident-paper .redact{background:#17130f;color:#17130f;box-shadow:none}.incident-order{margin-top:22px!important;padding:18px;border-left:5px solid #7f241e;background:rgba(86,54,30,.10);font-weight:700}.incident-sealed{margin:26px 0;padding:18px 14px;text-align:center;border-top:1px solid rgba(44,34,24,.26);border-bottom:1px solid rgba(44,34,24,.26);color:#5d1f1a;font-weight:900;letter-spacing:.12em}.incident-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:24px;padding-top:15px;border-top:1px dashed rgba(44,34,24,.35);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}

.area-brief{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;padding:24px 26px;margin-bottom:24px}.area-brief p{color:var(--muted);margin:13px 0 0}.area-brief ul{margin:0;padding-left:20px;color:var(--muted)}.area-brief li{margin-bottom:8px}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.shot{overflow:hidden}.shot img{width:100%;aspect-ratio:16/10;object-fit:cover;filter:contrast(1.03) saturate(.9)}.shot.xl{grid-column:span 2}.shot.xl img{aspect-ratio:16/9}.shot div{padding:18px}.shot h3{margin:12px 0 8px;font-size:1.3rem}.shot p{margin:0;color:var(--muted)}

.roster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.roster-card{overflow:hidden;display:flex;flex-direction:column}.roster-card img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;filter:contrast(1.03) saturate(.9)}.roster-copy{padding:18px}.roster-copy h3{margin:12px 0 8px;font-size:1.34rem}.roster-copy p{margin:0;color:var(--muted)}.roster-card.you{outline:1px solid rgba(213,181,139,.34);box-shadow:0 0 0 1px rgba(213,181,139,.14),var(--shadow)}
.weapon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.weapon-card{overflow:hidden}.weapon-card img{width:100%;aspect-ratio:16/10;object-fit:contain;padding:22px;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.07),rgba(255,255,255,0) 56%)}.weapon-card div{padding:0 18px 20px}.weapon-card h3{margin:12px 0 8px;font-size:1.34rem}.weapon-card p{margin:0;color:var(--muted)}
.threat-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.threat-card{overflow:hidden}.threat-card img{width:100%;aspect-ratio:16/10;object-fit:cover;filter:contrast(1.03) saturate(.88)}.threat-card div{padding:18px}.threat-card h3{margin:12px 0 8px;font-size:1.32rem}.threat-card p{margin:0;color:var(--muted)}

.evidence-objective{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);overflow:hidden}.evidence-image{min-height:520px;background:#080a0c;position:relative}.evidence-image::after{content:"";position:absolute;inset:10px;border:1px solid rgba(213,181,139,.13);border-radius:14px;pointer-events:none}.evidence-image img{width:100%;height:100%;object-fit:cover;object-position:center;filter:contrast(1.05) saturate(.72)}.evidence-copy{padding:clamp(26px,4vw,44px)}.evidence-copy h3{margin:14px 0 14px;font-size:clamp(1.6rem,2.5vw,2.5rem);line-height:1.1}.evidence-copy p{color:var(--muted)}.evidence-warning{padding:17px 18px;border-left:5px solid #7f241e;background:rgba(127,36,30,.12);color:#e4c9bc!important;font-weight:700}.clearance-wall{margin-top:24px;padding:18px;border:1px solid rgba(213,181,139,.18);background:#07090b;text-align:center;overflow:hidden}.clearance-wall span{font-family:"Courier New",monospace;font-weight:900;letter-spacing:.1em;color:#d7c2a3}

.split{display:grid;grid-template-columns:1.18fr .82fr;gap:22px;align-items:start}.panel{padding:28px}.status-panel{display:grid;gap:14px}.status-panel div{padding-bottom:14px;border-bottom:1px solid var(--line)}.status-panel div:last-child{border-bottom:0;padding:0}.status-panel span{display:block;color:var(--muted);font-size:.86rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}.status-panel strong{font-size:1.04rem}
.footer{padding:68px 0;background:#080a0c;border-top:1px solid var(--line)}.footer-wrap{display:flex;align-items:center;justify-content:space-between;gap:28px}.footer h2{margin-top:12px}.footer p{max-width:760px}

.reveal-on-scroll{opacity:0;transform:translateY(28px) scale(.992);transition:opacity .68s ease,transform .68s cubic-bezier(.18,.82,.24,1);will-change:opacity,transform}.reveal-on-scroll.in-view{opacity:1;transform:translateY(0) scale(1)}
@media(prefers-reduced-motion:reduce){.reveal-on-scroll{opacity:1!important;transform:none!important;transition:none!important}}

@media(max-width:1260px){nav{gap:10px}nav a{font-size:.70rem}.hero{width:78%;min-height:70vh}}
@media(max-width:1080px){.topbar{flex-wrap:wrap}.brand{order:1}.language-switch{order:2;margin-left:auto}nav{order:3;width:100%;justify-content:flex-start;overflow-x:auto;padding:2px 0 0;scrollbar-width:none}nav::-webkit-scrollbar{display:none}.brief-grid,.roster-grid,.weapon-grid,.threat-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-card,.split,.area-brief,.evidence-objective{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.shot.xl{grid-column:auto}.evidence-image{min-height:380px}}
@media(max-width:740px){html{scroll-padding-top:135px}.topbar{padding:10px 14px;gap:10px}.brand img{height:34px}.lang-button{padding:7px 9px;font-size:.76rem}.sound-toggle{width:32px;height:32px}.hero-stage{padding:0}.hero{width:100%;min-height:62vh;border-radius:0}.hero-frame,.hero-frame::before{border-radius:0}.hero-frame::before{inset:10px}.hero-bg{object-position:center 30%}.hero-brief{padding:30px 0 42px}.hero-brief-inner{padding:24px 18px;border-radius:18px}.hero-brief h1{font-size:clamp(2rem,8vw,3rem)}.section{padding:62px 0}.brief-grid,.gallery,.roster-grid,.weapon-grid,.threat-gallery{grid-template-columns:1fr}.incident-meta{padding-right:0;padding-top:62px}.incident-stamp{left:24px;right:auto}.section-head{padding-left:14px}.footer-wrap{flex-direction:column;align-items:flex-start}.identity-line span{font-size:.67rem}}

/* === V11 enhancement: clearer German, hover pulse and click-to-enlarge image viewer === */
body.lightbox-open{overflow:hidden}

.zoomable-frame{position:relative;overflow:hidden}
.zoomable-frame::before{
  content:"⌕";
  position:absolute;
  right:14px;
  bottom:14px;
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(7,9,12,.76);
  border:1px solid rgba(213,181,139,.26);
  color:#efe2ca;
  font-size:1.1rem;
  box-shadow:0 10px 24px rgba(0,0,0,.34);
  z-index:4;
  pointer-events:none;
  opacity:.92;
  transition:transform .22s ease, background .22s ease, opacity .22s ease;
}
.zoomable-frame:hover::before,
.zoomable-frame:focus-within::before{
  transform:scale(1.08);
  background:rgba(14,18,22,.92);
  opacity:1;
}

.zoomable-media{
  cursor:zoom-in;
  transition:transform .34s ease, filter .34s ease, box-shadow .34s ease;
  animation:none;
  outline:none;
}
.zoomable-frame:hover .zoomable-media,
.zoomable-frame:focus-within .zoomable-media{
  animation:mediaPulse 1.5s ease-in-out infinite;
  filter:contrast(1.05) saturate(.98) brightness(1.03);
}
.zoomable-media:focus-visible{
  box-shadow:0 0 0 3px rgba(213,181,139,.52);
}
@keyframes mediaPulse{
  0%{transform:scale(1)}
  50%{transform:scale(1.024)}
  100%{transform:scale(1)}
}

.lightbox-modal{
  position:fixed;
  inset:0;
  z-index:120;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease, visibility .22s ease;
}
.lightbox-modal.active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.lightbox-backdrop{
  position:absolute;
  inset:0;
  background:rgba(3,5,7,.86);
  backdrop-filter:blur(8px);
}
.lightbox-dialog{
  position:relative;
  z-index:2;
  width:min(1100px, calc(100vw - 38px));
  max-height:calc(100vh - 38px);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
}
.lightbox-figure{
  margin:0;
  width:100%;
  padding:16px;
  border-radius:26px;
  background:linear-gradient(180deg, rgba(16,20,24,.97), rgba(8,10,13,.97));
  border:1px solid rgba(213,181,139,.16);
  box-shadow:0 30px 80px rgba(0,0,0,.52);
}
.lightbox-figure img{
  width:100%;
  max-height:72vh;
  object-fit:contain;
  border-radius:18px;
  background:#06080a;
}
.lightbox-figure figcaption{
  padding:14px 6px 2px;
  text-align:center;
  color:var(--muted);
  font-size:.98rem;
}
.lightbox-close{
  min-width:180px;
}
@media(max-width:740px){
  .zoomable-frame::before{width:34px;height:34px;right:10px;bottom:10px}
  .lightbox-dialog{width:min(100vw - 20px, 1100px);max-height:calc(100vh - 20px)}
  .lightbox-figure{padding:10px;border-radius:18px}
  .lightbox-figure img{max-height:66vh;border-radius:12px}
  .lightbox-figure figcaption{font-size:.9rem}
  .lightbox-close{width:100%}
}

/* V11.1 fix: hero stays a normal, always-visible header image and is not zoomable. */
.hero-frame.zoomable-frame{position:absolute !important;overflow:hidden !important;}
.hero-frame.zoomable-frame::before{display:none !important;}
.hero-frame .hero-bg.zoomable-media{cursor:default !important;animation:none !important;transform:none !important;}
.hero-frame:hover .hero-bg.zoomable-media,
.hero-frame:focus-within .hero-bg.zoomable-media{animation:none !important;transform:none !important;filter:none !important;}

/* === V12 legal footer and legal pages === */
.legal-footer{margin-top:42px;padding-top:26px;border-top:1px solid rgba(255,255,255,.09)}
.legal-footer-links{display:flex;flex-wrap:wrap;gap:10px 20px;justify-content:flex-start;margin-bottom:18px}
.legal-footer-links a{font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;color:#ddc9ad;border-bottom:1px solid transparent;padding:4px 0}
.legal-footer-links a:hover{color:#fff;border-bottom-color:rgba(213,181,139,.5)}
.legal-footer-copy{max-width:1050px;color:#8f897f;font-size:.78rem;line-height:1.58}
.legal-footer-copy p{margin:6px 0;color:#8f897f;font-size:.78rem}
.legal-page{min-height:100vh;background:linear-gradient(180deg,#090b0e,#0c1014 55%,#080a0c);color:var(--text)}
.legal-page .topbar{position:sticky}
.legal-page-main{padding:64px 0 84px;position:relative;overflow:hidden}
.legal-page-main::before{content:"";position:absolute;inset:0;background:url('assets/bg-alt-underground.png') center top/cover no-repeat;opacity:.09;filter:saturate(.7) contrast(1.05);pointer-events:none}
.legal-doc{position:relative;z-index:1;width:var(--shell);margin:0 auto;max-width:1040px;background:linear-gradient(180deg,rgba(18,23,28,.97),rgba(10,13,17,.98));border:1px solid rgba(255,255,255,.09);border-radius:24px;box-shadow:var(--shadow);padding:clamp(26px,5vw,58px)}
.legal-doc-head{padding-bottom:22px;margin-bottom:26px;border-bottom:1px solid rgba(255,255,255,.09)}
.legal-doc-kicker{display:inline-block;padding:7px 11px;border:1px solid rgba(213,181,139,.28);border-radius:999px;color:#ddc9ad;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;background:rgba(7,9,11,.62)}
.legal-doc h1{margin:14px 0 8px;font-size:clamp(2.1rem,4vw,3.6rem);line-height:1.04}
.legal-doc h2{margin:34px 0 10px;font-size:1.45rem;color:#efe2cf}
.legal-doc h3{margin:24px 0 8px;font-size:1.08rem;color:#e2c9a8}
.legal-doc p,.legal-doc li{color:#c2b9aa}
.legal-doc a{color:#e0c29b;text-decoration:underline;text-decoration-color:rgba(224,194,155,.34);text-underline-offset:3px}
.legal-doc ul{padding-left:20px}
.legal-doc .legal-note{padding:18px 20px;margin:22px 0;border-left:4px solid #8d3327;background:rgba(141,51,39,.10);color:#dccac0}
.legal-doc .legal-company{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 26px;padding:20px;border:1px solid rgba(213,181,139,.16);border-radius:16px;background:rgba(213,181,139,.045)}
.legal-doc .legal-company p{margin:0}
.legal-lang[hidden]{display:none!important}
.legal-top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.legal-home-link{display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border:1px solid var(--line);border-radius:9px;color:#d7ccba;font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:rgba(8,10,13,.68)}
.legal-page-footer{padding:30px 0 38px;border-top:1px solid rgba(255,255,255,.08);background:#080a0c}
.legal-page-footer .legal-footer-links{margin:0 0 14px}
@media(max-width:740px){.legal-page-main{padding:34px 0 54px}.legal-doc{width:calc(100vw - 24px);padding:22px 18px;border-radius:18px}.legal-doc .legal-company{grid-template-columns:1fr}.legal-top-actions{width:100%}}


/* === V12.3 Partner Network + Legal Hub === */
.section-art-partners::before{background-image:url('assets/bg-alt-relay.png');background-position:center 48%}
.section-art-legalhub::before{background-image:url('assets/bg-fortress.jpg');background-position:center 42%}

.partner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;position:relative;z-index:3}
.partner-tier{position:relative;overflow:hidden;min-height:330px;padding:28px 26px 24px;border:1px solid rgba(255,255,255,.09);border-radius:var(--radius);background:linear-gradient(180deg,rgba(18,23,28,.97),rgba(9,12,15,.98));box-shadow:var(--shadow)}
.partner-tier::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(213,181,139,.09),transparent 42%);pointer-events:none}
.partner-tier>*{position:relative;z-index:1}
.partner-tier-code,.partner-benefits span{display:inline-block;padding:7px 11px;border-radius:999px;border:1px solid rgba(213,181,139,.30);background:rgba(7,9,11,.58);color:#ddc9ad;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.partner-tier h3{margin:20px 0 12px;font-size:clamp(1.55rem,2.2vw,2.15rem);line-height:1.05}
.partner-tier p{margin:0;color:var(--muted)}
.partner-clearance{position:absolute;left:26px;right:26px;bottom:22px;padding-top:15px;border-top:1px solid rgba(255,255,255,.08);color:#988d7c;font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.partner-tier-featured{border-color:rgba(213,181,139,.25);box-shadow:0 28px 70px rgba(0,0,0,.46),inset 0 0 0 1px rgba(213,181,139,.06)}
.partner-tier-ambassador{border-color:rgba(213,181,139,.36);background:linear-gradient(180deg,rgba(30,26,21,.96),rgba(10,12,15,.98))}
.partner-tier-ambassador::after{content:"AMBASSADOR";position:absolute;right:-32px;top:38px;transform:rotate(45deg);padding:5px 38px;background:rgba(213,181,139,.12);border-top:1px solid rgba(213,181,139,.24);border-bottom:1px solid rgba(213,181,139,.24);color:#d9c09e;font-size:.62rem;font-weight:900;letter-spacing:.15em}
.partner-benefits{display:grid;grid-template-columns:.82fr 1.18fr;gap:30px;margin-top:20px;padding:28px 30px;position:relative;z-index:3;border:1px solid rgba(213,181,139,.18);border-radius:var(--radius);background:linear-gradient(135deg,rgba(17,22,27,.97),rgba(8,11,14,.98));box-shadow:var(--shadow)}
.partner-benefits h3{margin:15px 0 0;font-size:clamp(1.55rem,2.5vw,2.5rem);line-height:1.08}
.partner-benefits p{margin:0 0 12px;color:var(--muted)}
.partner-benefits .partner-note{margin:16px 0 0;padding-top:14px;border-top:1px dashed rgba(255,255,255,.1);color:#d0b994}

.legal-hub-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;position:relative;z-index:3}
.legal-hub-card{display:block;min-height:230px;padding:24px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:linear-gradient(180deg,rgba(18,23,28,.96),rgba(9,12,15,.98));box-shadow:var(--shadow);transition:transform .2s ease,border-color .2s ease,background .2s ease}
.legal-hub-card:hover{transform:translateY(-4px);border-color:rgba(213,181,139,.32);background:linear-gradient(180deg,rgba(24,29,34,.98),rgba(10,13,16,.99))}
.legal-hub-card>span{display:inline-block;padding:6px 9px;border-radius:999px;border:1px solid rgba(213,181,139,.28);color:#ddc9ad;background:rgba(7,9,11,.58);font-size:.68rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.legal-hub-card h3{margin:19px 0 10px;font-size:1.35rem;color:#eee3d3}
.legal-hub-card p{margin:0;color:var(--muted);font-size:.94rem}

@media(max-width:1080px){
  .partner-grid{grid-template-columns:1fr}
  .partner-tier{min-height:260px}
  .partner-benefits{grid-template-columns:1fr}
  .legal-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:740px){
  .partner-tier{min-height:300px;padding:24px 20px}
  .partner-clearance{left:20px;right:20px}
  .partner-benefits{padding:24px 20px}
  .legal-hub-grid{grid-template-columns:1fr}
  .legal-hub-card{min-height:0}
}


/* === V12.4 Adaptive full-image hero + Story briefing === */
/* The container takes the actual image ratio from JavaScript. No header is cropped. */
.hero{
  min-height:0 !important;
  height:auto !important;
  aspect-ratio:var(--hero-aspect, 16 / 9);
}
.hero-frame{background:#080a0c}
.hero-bg{
  object-fit:contain !important;
  object-position:center center !important;
  background:#080a0c;
}
@media(max-width:1260px){
  .hero{min-height:0 !important;height:auto !important;aspect-ratio:var(--hero-aspect, 16 / 9)}
}
@media(max-width:740px){
  .hero{min-height:0 !important;height:auto !important;aspect-ratio:var(--hero-aspect, 16 / 9)}
  .hero-bg{object-position:center center !important}
}

.section-art-story::before{background-image:url('assets/bg-industrial.jpg');background-position:center 42%}
.story-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:20px;position:relative;z-index:3}
.story-dossier,.story-sealed{position:relative;border:1px solid rgba(255,255,255,.09);border-radius:var(--radius);box-shadow:var(--shadow)}
.story-dossier{padding:30px;background:linear-gradient(180deg,rgba(18,23,28,.97),rgba(9,12,15,.98))}
.story-sealed{padding:30px;background:linear-gradient(180deg,rgba(28,22,20,.96),rgba(10,12,15,.98));border-color:rgba(154,53,40,.24)}
.story-kicker{display:inline-block;padding:7px 11px;border-radius:999px;border:1px solid rgba(213,181,139,.30);background:rgba(7,9,11,.58);color:#ddc9ad;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.story-entry{display:grid;grid-template-columns:minmax(118px,max-content) minmax(0,1fr);gap:18px;margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08)}
.story-entry:first-of-type{margin-top:22px}
.story-entry b{font-family:"Courier New",Courier,monospace;font-size:1.15rem;line-height:1.2;letter-spacing:.08em;color:#e6cda9;white-space:nowrap;align-self:start}
.story-entry p{margin:0;min-width:0;color:var(--muted)}
.story-sealed h3{margin:20px 0 12px;font-size:clamp(1.55rem,2.3vw,2.25rem);line-height:1.08;color:#eee2d1}
.story-sealed p{color:var(--muted)}
.story-classified{margin:24px 0;padding:17px 14px;text-align:center;border-top:1px solid rgba(154,53,40,.30);border-bottom:1px solid rgba(154,53,40,.30);background:rgba(127,36,30,.10);color:#d6a59b;font-family:"Courier New",Courier,monospace;font-weight:900;letter-spacing:.09em;overflow:hidden}
.story-note{margin:0!important;padding-top:4px;color:#cbb898!important;font-size:.92rem}
@media(max-width:1080px){.story-grid{grid-template-columns:1fr}}
@media(max-width:820px){.story-dossier,.story-sealed{padding:24px 20px}.story-entry{grid-template-columns:1fr;gap:8px}.story-entry b{white-space:normal;overflow-wrap:anywhere}}


/* === V12.5 requested refinements === */
/* 20% smaller desktop/tablet hero diagonal: scale width by 0.8 while preserving the adaptive image aspect ratio. */
.hero{width:56% !important;max-width:1120px}
@media(max-width:1260px){.hero{width:62.4% !important}}
@media(max-width:900px){.hero{width:74% !important}}
@media(max-width:740px){.hero{width:100% !important;max-width:none}}

/* Keep the entire third Known Contacts preview visible rather than cropping its edges. */
.threat-card-full-preview img{
  object-fit:contain !important;
  object-position:center center !important;
  background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.055),rgba(5,7,9,.96) 72%);
}

.evidence-escalation{
  margin-top:16px !important;
  padding:18px 20px;
  border:1px solid rgba(154,53,40,.34);
  border-left:5px solid #a13b2f;
  background:linear-gradient(90deg,rgba(127,36,30,.18),rgba(22,18,17,.54));
  color:#ead5cb !important;
  font-weight:700;
}

.status-tease{
  position:relative;
  z-index:3;
  margin-top:22px;
  padding:18px 20px;
  border-left:4px solid rgba(213,181,139,.72);
  background:linear-gradient(90deg,rgba(213,181,139,.10),rgba(10,13,16,.30));
  color:#dfcfb8 !important;
}

.partner-value{
  position:relative;
  z-index:3;
  margin:0 0 20px;
  padding:20px 24px;
  border:1px solid rgba(213,181,139,.24);
  border-radius:18px;
  background:linear-gradient(100deg,rgba(213,181,139,.105),rgba(10,13,16,.90) 60%);
  box-shadow:0 20px 44px rgba(0,0,0,.24);
}
.partner-value span{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(213,181,139,.30);
  color:#e2c9a8;
  background:rgba(7,9,11,.55);
  font-size:.69rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.partner-value p{margin:12px 0 0;max-width:980px;color:#d4c7b4;font-size:1.02rem}


/* === V12.6: hero size correction, justified copy and mobile navigation === */
/* The V12.5 56% rule was visually too aggressive. 80% keeps the complete adaptive image
   visible while making it only 20% smaller than the full available presentation width. */
.hero{
  width:80% !important;
  max-width:1440px !important;
  min-height:0 !important;
  height:auto !important;
  aspect-ratio:var(--hero-aspect, 16 / 9) !important;
}
@media(max-width:1260px){.hero{width:86% !important;max-width:none !important}}
@media(max-width:900px){.hero{width:92% !important}}
@media(max-width:740px){.hero{width:100% !important;max-width:none !important}}

/* Body copy uses block justification, with language-aware hyphenation to prevent wide gaps. */
.hero-brief p,
.section p,
.section li,
.footer p,
.legal-doc p,
.legal-doc li{
  text-align:justify;
  text-justify:inter-word;
  text-align-last:left;
  hyphens:auto;
  -webkit-hyphens:auto;
  overflow-wrap:break-word;
  word-break:normal;
}

/* Mobile menu button is hidden on desktop. */
.mobile-nav-toggle{
  display:none;
  align-items:center;
  gap:9px;
  border:1px solid var(--line);
  border-radius:10px;
  padding:8px 11px;
  background:rgba(8,10,13,.76);
  color:var(--text);
  font:inherit;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
}
.mobile-nav-bars{display:grid;gap:3px;width:17px}
.mobile-nav-bars i{display:block;height:1px;width:100%;background:currentColor;transition:transform .2s ease,opacity .2s ease}
.mobile-nav-toggle.active .mobile-nav-bars i:nth-child(1){transform:translateY(4px) rotate(45deg)}
.mobile-nav-toggle.active .mobile-nav-bars i:nth-child(2){opacity:0}
.mobile-nav-toggle.active .mobile-nav-bars i:nth-child(3){transform:translateY(-4px) rotate(-45deg)}

@media(max-width:900px){
  html{scroll-padding-top:96px}
  .topbar{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:10px 12px;
    align-items:center;
    padding:10px 14px;
  }
  .brand{grid-column:1;grid-row:1}
  .mobile-nav-toggle{display:inline-flex;grid-column:2;grid-row:1;justify-self:end}
  .language-switch{grid-column:3;grid-row:1;margin-left:0 !important}
  .topbar #primaryNav{
    grid-column:1 / -1;
    grid-row:2;
    width:100%;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:4px 8px;
    max-height:0;
    margin:0;
    padding:0;
    overflow:hidden;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-6px);
    transition:max-height .28s ease,opacity .2s ease,transform .2s ease,padding .2s ease,visibility .2s ease;
  }
  .topbar #primaryNav.mobile-open{
    max-height:min(64vh,560px);
    overflow-y:auto;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
    padding:8px 0 6px;
  }
  .topbar #primaryNav a{
    display:block;
    padding:10px 11px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:9px;
    background:rgba(255,255,255,.025);
    font-size:.72rem;
  }
  .topbar #primaryNav a.active{
    border-color:rgba(213,181,139,.28);
    background:rgba(213,181,139,.08);
  }
  .topbar #primaryNav a.active::after{left:11px;right:11px;bottom:5px}
}

@media(max-width:560px){
  html{scroll-padding-top:88px}
  .topbar{grid-template-columns:auto auto 1fr;padding:9px 10px;gap:8px}
  .brand img{height:31px}
  .mobile-nav-toggle{grid-column:2;justify-self:start;padding:7px 9px;font-size:.72rem}
  .language-switch{grid-column:3;justify-self:end;gap:3px;padding:3px}
  .lang-button{padding:6px 7px;font-size:.70rem}
  .sound-toggle{width:30px;height:30px}
  .topbar #primaryNav{grid-template-columns:1fr 1fr;gap:4px}
  .topbar #primaryNav a{padding:9px 8px;font-size:.66rem;letter-spacing:.055em}
  .hero-brief-inner{padding:22px 17px}
  .hero-brief .lead{font-size:1.04rem}
  .section-head p,.body,.footer p{font-size:.98rem}
  .story-entry p,.partner-tier p,.legal-card p{font-size:.96rem}
}

@media(max-width:390px){
  .mobile-nav-toggle span:last-child{display:none}
  .mobile-nav-toggle{padding:8px;width:34px;justify-content:center}
  .topbar #primaryNav{grid-template-columns:1fr}
  .topbar #primaryNav.mobile-open{max-height:68vh}
}


/* === V12.7: larger primary navigation and unified Armory preview proportions === */
@media(min-width:901px){
  .topbar{gap:16px;padding-left:16px;padding-right:16px}
  .topbar #primaryNav{gap:9px}
  .topbar #primaryNav a{
    font-size:.94rem;
    letter-spacing:.052em;
  }
}
@media(min-width:901px) and (max-width:1260px){
  .topbar #primaryNav{gap:7px}
  .topbar #primaryNav a{font-size:.84rem;letter-spacing:.04em}
}

/* Armory image previews now use the same portrait proportion as the Deputy cards. */
.weapon-card img{
  aspect-ratio:4 / 5 !important;
  min-height:0 !important;
  object-fit:contain !important;
  object-position:center !important;
  padding:24px !important;
}

/* Mobile navigation remains comfortably readable after the desktop size increase. */
@media(max-width:900px){
  .topbar #primaryNav a{font-size:.79rem}
}
@media(max-width:560px){
  .topbar #primaryNav a{font-size:.74rem}
}


/* === V12.8: clearer product identity + Community Access / newsletter / playtest / stores === */
.section-art-community::before{background-image:url('assets/bg-alt-dockyard.png');background-position:center 45%}
.discord-btn{background:linear-gradient(180deg,rgba(102,115,245,.96),rgba(69,78,196,.96));border-color:rgba(150,158,255,.48);color:#fff}
.discord-btn:hover{background:linear-gradient(180deg,rgba(118,130,255,.98),rgba(76,86,210,.98));color:#fff}

.community-status{position:relative;z-index:3;margin:0 0 20px;padding:16px 18px;border-radius:14px;border:1px solid rgba(213,181,139,.24);background:rgba(213,181,139,.08);color:#eadac3;font-weight:700}
.community-status.success{border-color:rgba(151,196,151,.28);background:rgba(82,126,82,.12)}
.community-status.error{border-color:rgba(181,77,62,.42);background:rgba(127,36,30,.16);color:#f0d1c7}
.community-grid{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:18px;align-items:stretch}
.community-card,.unsubscribe-card,.store-panel{position:relative;z-index:3;border:1px solid rgba(255,255,255,.09);border-radius:var(--radius);background:linear-gradient(180deg,rgba(18,23,28,.97),rgba(9,12,16,.97));box-shadow:var(--shadow)}
.community-card{padding:26px;display:flex;flex-direction:column}
.community-card h3,.unsubscribe-card h3,.store-panel h3{margin:14px 0 9px;font-size:1.42rem;line-height:1.15}
.community-card p,.unsubscribe-card p,.store-panel p{color:var(--muted)}
.community-card .btn{align-self:flex-start;margin-top:auto}
.community-kicker{display:inline-block;align-self:flex-start;padding:7px 10px;border-radius:999px;border:1px solid rgba(213,181,139,.28);background:rgba(7,9,11,.58);color:#ddc9ad;font-size:.69rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.community-discord{background:radial-gradient(circle at 80% 8%,rgba(97,109,242,.18),transparent 35%),linear-gradient(180deg,rgba(18,23,30,.98),rgba(9,12,17,.98))}

.community-form{display:grid;gap:13px;margin-top:16px}
.community-form label:not(.form-consent){display:grid;gap:6px;color:#d8cdbb;font-size:.84rem;font-weight:700}
.community-form input[type="email"],.community-form input[type="text"],.unsubscribe-form input[type="email"]{width:100%;min-height:46px;border:1px solid rgba(255,255,255,.11);border-radius:10px;background:#080b0e;color:#f1e8db;padding:11px 13px;font:inherit;outline:none;transition:border-color .18s ease,box-shadow .18s ease}
.community-form input:focus,.unsubscribe-form input:focus{border-color:rgba(213,181,139,.52);box-shadow:0 0 0 3px rgba(213,181,139,.09)}
.form-consent{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;color:#aaa292;font-size:.79rem;line-height:1.45}
.form-consent input{margin-top:3px}
.form-consent a{color:#e0c29b;text-decoration:underline;text-underline-offset:2px}
.form-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.community-lower-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:18px;margin-top:18px}
.unsubscribe-card{padding:22px 24px;display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;align-items:center}
.unsubscribe-card h3{margin-bottom:4px}.unsubscribe-card p{margin:0}
.unsubscribe-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.unsubscribe-form .btn{box-shadow:none;white-space:nowrap}
.store-panel{padding:22px 24px}
.store-panel-head p{margin-bottom:16px}
.store-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.store-card{padding:17px;border:1px solid rgba(213,181,139,.14);border-radius:13px;background:rgba(5,8,11,.66);display:flex;align-items:center;justify-content:space-between;gap:12px}
.store-card strong{font-size:1rem;letter-spacing:.06em}.store-card span{font-size:.68rem;letter-spacing:.10em;text-transform:uppercase;color:#aa9f8d;text-align:right}
.community-routing{position:relative;z-index:3;margin:18px 0 0;color:#8f897f!important;font-size:.82rem!important}

/* One more desktop nav item: retain the larger V12.7 type while allowing the row to breathe. */
@media(min-width:1261px){.topbar #primaryNav{gap:7px}.topbar #primaryNav a{font-size:.90rem}}
@media(min-width:901px) and (max-width:1260px){.topbar #primaryNav{gap:5px}.topbar #primaryNav a{font-size:.80rem}}

@media(max-width:1080px){.community-grid{grid-template-columns:1fr 1fr}.community-discord{grid-column:1 / -1}.community-lower-grid{grid-template-columns:1fr}}
@media(max-width:740px){
  .community-grid{grid-template-columns:1fr}
  .community-discord{grid-column:auto}
  .community-card,.unsubscribe-card,.store-panel{padding:20px}
  .unsubscribe-card{grid-template-columns:1fr}
  .unsubscribe-form{grid-template-columns:1fr}
  .unsubscribe-form .btn{width:100%}
  .store-grid{grid-template-columns:1fr}
  .store-card{align-items:flex-start;flex-direction:column}
  .store-card span{text-align:left}
  .community-card .btn{width:100%}
}


/* === V12.9: security CAPTCHA, Discord app launch, contact transmission and visibility fixes === */
.btn.danger{background:linear-gradient(180deg,#a93d31,#7d251f);border-color:rgba(225,105,88,.64);color:#fff;box-shadow:0 12px 30px rgba(105,27,22,.28)}
.btn.danger:hover{background:linear-gradient(180deg,#bd4a3b,#8c2b23);color:#fff}

.captcha-widget{display:grid;gap:9px;padding:12px;border:1px solid rgba(213,181,139,.17);border-radius:12px;background:rgba(5,8,11,.58)}
.captcha-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.captcha-head>span{color:#cdbb9f;font-size:.7rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.captcha-refresh{border:0;background:transparent;color:#b8ae9c;font:inherit;font-size:.72rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:3px}
.captcha-refresh:hover{color:#fff}
.captcha-row{display:grid;grid-template-columns:minmax(90px,.42fr) minmax(120px,.58fr);gap:12px;align-items:end}
.captcha-row>strong{display:flex;min-height:46px;align-items:center;justify-content:center;padding:10px 12px;border:1px dashed rgba(213,181,139,.3);border-radius:10px;background:#080b0e;color:#eadcc6;font-size:1.03rem;letter-spacing:.04em}
.captcha-row label{display:grid;gap:5px;color:#d8cdbb;font-size:.8rem;font-weight:700}
.captcha-row input{width:100%;min-height:46px;border:1px solid rgba(255,255,255,.11);border-radius:10px;background:#080b0e;color:#f1e8db;padding:10px 12px;font:inherit;outline:none}

.unsubscribe-form{grid-template-columns:1fr!important;align-items:stretch!important}
.unsubscribe-form .captcha-widget{margin-top:2px}
.unsubscribe-form .btn.danger{justify-self:start;min-width:160px}

.footer-contact-layout{display:grid!important;grid-template-columns:.8fr 1.2fr;align-items:start!important;gap:34px!important}
.footer-contact-copy{padding-top:6px}
.footer-contact-form{margin-top:0;padding:24px;border:1px solid rgba(213,181,139,.16);border-radius:18px;background:linear-gradient(180deg,rgba(17,22,27,.9),rgba(8,11,14,.94));box-shadow:var(--shadow)}
.footer-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.footer-contact-form textarea{width:100%;resize:vertical;min-height:130px;border:1px solid rgba(255,255,255,.11);border-radius:10px;background:#080b0e;color:#f1e8db;padding:11px 13px;font:inherit;outline:none;transition:border-color .18s ease,box-shadow .18s ease}
.footer-contact-form textarea:focus{border-color:rgba(213,181,139,.52);box-shadow:0 0 0 3px rgba(213,181,139,.09)}
.message-counter{display:block;margin-top:5px;text-align:right;color:#8f897f;font-size:.72rem}
.footer-contact-form .btn{justify-self:start}

@media(max-width:900px){
  .footer-contact-layout{grid-template-columns:1fr!important}
}
@media(max-width:740px){
  .captcha-row{grid-template-columns:1fr}
  .captcha-row>strong{justify-content:flex-start}
  .unsubscribe-form .btn.danger,.footer-contact-form .btn{width:100%;justify-self:stretch}
  .footer-contact-fields{grid-template-columns:1fr}
  .footer-contact-form{padding:18px}
}

/* === 1.12 CAPTCHA reliability fix === */
.captcha-widget.captcha-fallback [data-captcha-question]{color:#efe2cf}
.captcha-widget [data-captcha-question]{min-width:88px;display:inline-block}

/* === WEB BUILD 1.13: diversified background sequence ===
   Every main homepage area has its own background. Adjacent sections deliberately
   avoid reusing the same image so the page feels like one continuous operation
   moving through different locations instead of repeating the same backdrop. */
.hero-stage::before{
  background:
    linear-gradient(180deg,rgba(6,8,10,.54),rgba(6,8,10,.25) 42%,rgba(6,8,10,.66)),
    url('assets/bg-ai-arena.jpg') center 45%/cover no-repeat;
}
.hero-brief::before{
  background:
    linear-gradient(180deg,rgba(8,10,12,.76),rgba(8,10,12,.66)),
    url('assets/bg-industrial.jpg') center 50%/cover no-repeat;
  opacity:.66;
}
.section-art-story::before{background-image:url('assets/bg-highlands-a.png');background-position:center 47%}
.section-art-briefing::before{background-image:url('assets/bg-alt-underground.png');background-position:center 48%}
.section-art-incident::before{background-image:url('assets/bg-fortress.jpg');background-position:center 42%}
.section-art-area::before{background-image:url('assets/bg-highlands-b.png');background-position:center 45%}
.section-art-team::before{background-image:url('assets/bg-alt-dockyard.png');background-position:center 48%}
.section-art-weapons::before{background-image:url('assets/bg-alt-snowworks.png');background-position:center 43%}
.section-art-threats::before{background-image:url('assets/bg-boss.jpg');background-position:center 42%}
.section-art-classified::before{background-image:url('assets/bg-alt-harbor.png');background-position:center 50%}
.section-art-status::before{background-image:url('assets/bg-highlands-c.png');background-position:center 48%}
.section-art-partners::before{background-image:url('assets/bg-alt-relay.png');background-position:center 46%}
.section-art-community::before{background-image:url('assets/bg-route.jpg');background-position:center 47%}
.section-art-legalhub::before{background-image:url('assets/bg-highlands.jpg');background-position:center 46%}

/* The closing transmission receives its own background as well. */
.footer{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#080a0c;
}
.footer::before{
  content:"";
  position:absolute;
  inset:0;
  background:url('assets/bg-zeppelin.jpg') center 48%/cover no-repeat;
  opacity:.27;
  filter:saturate(.78) contrast(1.05) brightness(.84);
  z-index:0;
  pointer-events:none;
}
.footer::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(7,9,11,.82),rgba(7,9,11,.66) 45%,rgba(7,9,11,.90));
  z-index:1;
  pointer-events:none;
}
.footer>.shell{position:relative;z-index:2}

/* Separate legal documents also retain an atmospheric background instead of a flat field. */
.legal-page-main::before{
  background:url('assets/bg-map.jpg') center 38%/cover no-repeat;
  opacity:.12;
}


/* === WEB BUILD 1.14: fixed numbered background cycle ===
   Only the eleven user-selected background assets are used for homepage areas.
   Sequence: 01 -> 02 -> ... -> 11 -> 01 -> 02 -> ...
   This guarantees that adjacent homepage areas never use the same background. */
.hero-stage::before{
  background:
    linear-gradient(180deg,rgba(6,8,10,.54),rgba(6,8,10,.25) 42%,rgba(6,8,10,.66)),
    url('assets/bg-alt-01.png') center 45%/cover no-repeat;
}
.hero-brief::before{
  background:
    linear-gradient(180deg,rgba(8,10,12,.76),rgba(8,10,12,.66)),
    url('assets/bg-alt-02.png') center 50%/cover no-repeat;
  opacity:.66;
}
.section-art-story::before{background-image:url('assets/bg-alt-03.png');background-position:center 48%}
.section-art-briefing::before{background-image:url('assets/bg-alt-04.png');background-position:center 48%}
.section-art-incident::before{background-image:url('assets/bg-alt-05.png');background-position:center 46%}
.section-art-area::before{background-image:url('assets/bg-alt-06.png');background-position:center 46%}
.section-art-team::before{background-image:url('assets/bg-alt-07.png');background-position:center 48%}
.section-art-weapons::before{background-image:url('assets/bg-alt-08.png');background-position:center 46%}
.section-art-threats::before{background-image:url('assets/bg-alt-09.png');background-position:center 46%}
.section-art-classified::before{background-image:url('assets/bg-alt-10.png');background-position:center 48%}
.section-art-status::before{background-image:url('assets/bg-alt-11.png');background-position:center 48%}
.section-art-partners::before{background-image:url('assets/bg-alt-01.png');background-position:center 46%}
.section-art-community::before{background-image:url('assets/bg-alt-02.png');background-position:center 48%}
.section-art-legalhub::before{background-image:url('assets/bg-alt-03.png');background-position:center 46%}
.footer::before{
  background:url('assets/bg-alt-04.png') center 48%/cover no-repeat;
}
/* Legal subpages continue the same numbered asset family. */
.legal-page-main::before{
  background:url('assets/bg-alt-05.png') center 42%/cover no-repeat;
  opacity:.12;
}


/* === WEB BUILD 1.15: clean non-illustrated page backgrounds + language dropdown === */
/* The hero image and content images remain. Decorative game-art backgrounds are disabled on the one-pager. */
body:not(.legal-page) .hero-stage::before,
body:not(.legal-page) .hero-brief::before,
body:not(.legal-page) .section::before,
body:not(.legal-page) .footer::before{display:none!important;background-image:none!important;content:none!important;}
body:not(.legal-page) .hero-stage{background:#07090b!important;}
body:not(.legal-page) .hero-brief{background:linear-gradient(180deg,#0a0d10,#090c0f)!important;}
body:not(.legal-page) .section{background:linear-gradient(180deg,#0b0e12,#0d1115)!important;}
body:not(.legal-page) .section:nth-of-type(even){background:linear-gradient(180deg,#090c0f,#0c1014)!important;}
body:not(.legal-page) .footer{position:relative;background:linear-gradient(180deg,#080a0c,#050709)!important;}
body:not(.legal-page) .section::after{background:linear-gradient(180deg,rgba(7,9,11,.13),rgba(7,9,11,.03) 42%,rgba(7,9,11,.16))!important;}

.header-controls{display:flex;align-items:center;gap:8px;flex:0 0 auto;position:relative;z-index:70}
.language-dropdown{position:relative}
.language-toggle{min-width:142px;height:44px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:9px;border:1px solid var(--line);border-radius:11px;background:rgba(8,10,13,.88);color:var(--text);font:inherit;font-size:.84rem;font-weight:750;cursor:pointer;transition:.18s ease}
.language-toggle:hover,.language-toggle[aria-expanded="true"]{border-color:rgba(213,181,139,.34);background:rgba(18,22,27,.98)}
.language-globe{color:var(--accent);font-size:1.05rem}.language-chevron{color:var(--muted);font-size:.8rem}
.language-menu{position:absolute;right:0;top:calc(100% + 8px);width:190px;padding:7px;display:grid;gap:3px;background:rgba(8,11,14,.985);border:1px solid rgba(213,181,139,.18);border-radius:13px;box-shadow:0 24px 55px rgba(0,0,0,.54);opacity:0;visibility:hidden;transform:translateY(-6px);pointer-events:none;transition:.17s ease;z-index:90}
.language-menu.open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.language-option{width:100%;padding:10px 11px;border:0;border-radius:8px;background:transparent;color:var(--muted);text-align:left;font:inherit;font-size:.86rem;cursor:pointer;transition:.15s ease}
.language-option:hover{background:rgba(255,255,255,.055);color:var(--text)}
.language-option.active{background:rgba(213,181,139,.12);color:#ead8be;box-shadow:inset 0 0 0 1px rgba(213,181,139,.14)}

/* 13 navigation items: keep readable, allow compact desktop spacing before mobile mode. */
@media(min-width:901px){header.topbar nav{gap:9px}header.topbar nav a{font-size:.82rem;letter-spacing:.045em}}
@media(max-width:1180px) and (min-width:901px){header.topbar nav{gap:7px}header.topbar nav a{font-size:.75rem}.brand img{height:38px}.language-toggle{min-width:124px}}
@media(max-width:900px){
  .header-controls{order:2;margin-left:auto}
  .language-toggle{min-width:128px;height:38px;font-size:.8rem}
  .language-menu{position:fixed;right:14px;top:67px;width:min(230px,calc(100vw - 28px))}
}
@media(max-width:520px){
  .language-toggle{min-width:0;width:118px;padding:0 9px}
  .language-globe{display:none}
  .header-controls{gap:5px}
  .mobile-nav-toggle{padding-left:9px;padding-right:9px}
}


/* === WEB BUILD 1.16: clearly separated primary navigation buttons; sound control removed === */
/* Each menu item is now a distinct command-tab rather than visually floating text. */
header.topbar #primaryNav{
  gap:6px;
}
header.topbar #primaryNav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:7px 9px;
  border:1px solid rgba(255,255,255,.095);
  border-radius:8px;
  background:linear-gradient(180deg,rgba(25,30,35,.72),rgba(11,14,18,.78));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 5px 14px rgba(0,0,0,.12);
  color:#c8beae;
  line-height:1.05;
  transition:color .16s ease,border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease;
}
header.topbar #primaryNav a:hover{
  color:#f2e8d8;
  border-color:rgba(213,181,139,.32);
  background:linear-gradient(180deg,rgba(45,42,35,.70),rgba(17,18,19,.84));
  transform:translateY(-1px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 8px 18px rgba(0,0,0,.20);
}
header.topbar #primaryNav a.active{
  color:#f3dfc2;
  border-color:rgba(213,181,139,.58);
  background:linear-gradient(180deg,rgba(113,85,54,.32),rgba(34,27,20,.78));
  box-shadow:inset 0 0 0 1px rgba(213,181,139,.10),0 7px 18px rgba(0,0,0,.22);
}
header.topbar #primaryNav a.active::after{
  left:8px;
  right:8px;
  bottom:4px;
  height:2px;
  border-radius:999px;
  background:var(--accent);
}
/* With sound removed the language selector is the only right-side control. */
.header-controls{gap:0}

@media(min-width:901px){
  header.topbar{gap:12px;padding-left:14px;padding-right:14px}
  header.topbar #primaryNav{gap:5px}
  header.topbar #primaryNav a{font-size:.78rem;letter-spacing:.035em;padding-left:7px;padding-right:7px}
}
@media(min-width:1281px){
  header.topbar #primaryNav a{font-size:.82rem;padding-left:9px;padding-right:9px}
}
@media(max-width:1180px) and (min-width:901px){
  header.topbar #primaryNav{gap:4px}
  header.topbar #primaryNav a{font-size:.70rem;padding:6px 5px;min-height:34px}
}
@media(max-width:900px){
  .topbar #primaryNav{gap:7px!important}
  .topbar #primaryNav a{
    min-height:42px;
    padding:10px 11px;
    border-color:rgba(255,255,255,.10);
    background:linear-gradient(180deg,rgba(27,32,37,.90),rgba(12,15,19,.92));
  }
  .topbar #primaryNav a.active{
    border-color:rgba(213,181,139,.52);
    background:linear-gradient(180deg,rgba(103,79,51,.30),rgba(28,23,18,.92));
  }
}

/* === WEB BUILD 1.17: six-language legal pages + English-only form notifications === */
.contact-language-note{margin:-4px 0 2px;color:#b8a88f;font-size:.78rem;line-height:1.5;border-left:2px solid rgba(213,181,139,.35);padding-left:10px}
.legal-language-dropdown{margin-left:auto}
.legal-language-dropdown .language-menu{z-index:180}
@media(max-width:740px){.legal-top-actions{display:grid;grid-template-columns:1fr auto;align-items:center}.legal-language-dropdown{justify-self:end}.legal-language-dropdown .language-menu{position:fixed;right:14px;top:67px;width:min(230px,calc(100vw - 28px))}}


/* === WEB BUILD 1.18: Top navigation + simplified hero CTAs + platform logo cards === */
header.topbar #primaryNav a.nav-top{
  color:#efe0c8;
  border-color:rgba(213,181,139,.30);
  background:linear-gradient(180deg,rgba(82,62,42,.30),rgba(18,17,16,.82));
}
header.topbar #primaryNav a.nav-top:hover,
header.topbar #primaryNav a.nav-top.active{
  border-color:rgba(213,181,139,.62);
  background:linear-gradient(180deg,rgba(115,85,53,.38),rgba(31,24,18,.88));
}
.store-card-logo{
  min-height:156px;
  flex-direction:column;
  align-items:stretch;
  justify-content:space-between;
  gap:14px;
}
.store-logo-wrap{
  min-height:108px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  border-radius:10px;
  background:rgba(255,248,236,.09);
  overflow:hidden;
}
.store-logo-badge{
  width:280px;
  height:96px;
  max-width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  border-radius:14px;
  box-shadow:inset 0 0 0 1px rgba(17,17,17,.08), 0 10px 26px rgba(0,0,0,.16);
}
.store-logo-badge--steam{
  background:#d9d6d1;
}
.store-logo-badge--epic{
  background:#000000;
}
.store-logo{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.store-logo-steam,
.store-logo-epic{
  width:auto;
  height:auto;
  max-width:248px;
  max-height:76px;
}
.store-card-logo > span{
  width:100%;
  text-align:center;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.065);
}
.legal-footer-copy [data-i18n="legal_footer_platforms"]{
  margin-top:8px;
  color:#8f877a;
  font-size:.72rem;
  line-height:1.55;
}
@media(max-width:740px){
  .store-card-logo{min-height:136px;align-items:stretch}
  .store-logo-wrap{min-height:88px;width:100%}
  .store-logo-badge{width:230px;height:80px;padding:8px 10px}
  .store-logo-steam,.store-logo-epic{max-width:198px;max-height:60px}
  .store-card-logo > span{text-align:center}
}

/* === WEB BUILD 1.20: use provided Steam and Epic asset logos with larger display sizes === */


/* === WEB BUILD 1.21: align the three Community Access CTA buttons === */
@media(min-width:1081px){
  .community-grid{
    align-items:stretch;
  }
  .community-grid > .community-card{
    height:100%;
  }
  .community-grid > .community-card:not(.community-discord){
    display:flex;
    flex-direction:column;
  }
  .community-grid > .community-card .community-form{
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    gap:13px;
    width:100%;
  }
  .community-grid > .community-card .community-form > .btn,
  .community-grid > .community-card.community-discord > .btn{
    margin-top:auto;
    min-height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
}

/* === WEB BUILD 1.22: numbered preview (a) / lightbox display (b) image asset workflow === */

/* === WEB BUILD 1.23: three Deputy cards + numbered gallery assets use JPG === */


/* === WEB BUILD 1.24: image interaction protection === */
img,
picture,
.zoomable-media,
#lightboxImage{
  -webkit-user-drag:none;
  user-drag:none;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
.zoomable-frame,
.hero-frame,
.store-logo-wrap{
  -webkit-touch-callout:none;
  -webkit-user-select:none;
  user-select:none;
}

/* === WEB BUILD 1.27: French story timeline label spacing fix === */


/* === WEB BUILD 1.29: gameplay clarity without changing the established visual language === */
.section-art-gameplay{
  background:linear-gradient(180deg,#0a0d10,#0d1115)!important;
}
.gameplay-head{max-width:1040px}
.gameplay-grid{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.gameplay-pillar{
  min-height:280px;
  padding:25px 26px 24px;
  border:1px solid rgba(213,181,139,.16);
  border-radius:var(--radius);
  background:
    linear-gradient(180deg,rgba(19,24,29,.97),rgba(9,12,15,.985));
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.gameplay-pillar::after{
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(213,181,139,.06);
  border-radius:14px;
  pointer-events:none;
}
.gameplay-code{
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(213,181,139,.34);
  background:rgba(213,181,139,.08);
  color:#ecd7b9;
  font-weight:900;
  letter-spacing:.08em;
}
.gameplay-pillar h3{
  margin:18px 0 10px;
  font-size:clamp(1.35rem,2vw,1.85rem);
  line-height:1.08;
}
.gameplay-pillar p{margin:0;color:var(--muted)}
.gameplay-pillar strong{
  display:block;
  margin-top:18px;
  padding-top:15px;
  border-top:1px dashed rgba(213,181,139,.18);
  color:#dfc8aa;
  font-size:.94rem;
  line-height:1.5;
}
.gameplay-loop{
  position:relative;
  z-index:3;
  margin-top:20px;
  padding:25px 26px;
  border:1px solid rgba(213,181,139,.24);
  border-radius:var(--radius);
  background:linear-gradient(110deg,rgba(213,181,139,.095),rgba(10,13,16,.97) 54%);
  box-shadow:0 20px 44px rgba(0,0,0,.24);
}
.gameplay-loop-copy{
  display:grid;
  grid-template-columns:minmax(180px,.34fr) minmax(0,1fr);
  gap:22px;
  align-items:start;
}
.gameplay-loop-copy > span,
.gameplay-decision > span{
  display:inline-block;
  justify-self:start;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid rgba(213,181,139,.30);
  background:rgba(7,9,11,.58);
  color:#ddc9ad;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.gameplay-loop-copy p{margin:0;color:#d5c7b3}
.gameplay-flow{
  margin-top:22px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:16px;
  border-top:1px solid rgba(255,255,255,.07);
  border-bottom:1px solid rgba(255,255,255,.07);
  background:rgba(5,7,9,.33);
}
.gameplay-flow b{
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:8px;
  background:rgba(19,23,27,.88);
  color:#eee2d1;
  font-size:.78rem;
  letter-spacing:.08em;
  white-space:nowrap;
}
.gameplay-flow i{
  color:#b9946d;
  font-style:normal;
  font-weight:900;
}
.gameplay-decision{
  position:relative;
  z-index:3;
  margin-top:18px;
  display:grid;
  grid-template-columns:minmax(220px,.34fr) minmax(0,1fr);
  align-items:center;
  gap:22px;
  padding:18px 22px;
  border-left:4px solid rgba(213,181,139,.72);
  background:linear-gradient(90deg,rgba(213,181,139,.08),rgba(10,13,16,.42));
}
.gameplay-decision p{margin:0;color:#d7c9b6;font-weight:650}
.operation-example-note{
  margin:18px 0!important;
  padding:14px 16px;
  border-left:4px solid rgba(213,181,139,.72);
  background:rgba(213,181,139,.075);
  color:#dfcdb3!important;
  font-weight:750;
}
/* Partner Network remains present but no longer carries more visual weight than gameplay. */
.section-art-partners{padding-top:64px!important;padding-bottom:64px!important}
.section-art-partners .partner-value{padding:16px 20px;box-shadow:none;background:linear-gradient(100deg,rgba(213,181,139,.07),rgba(10,13,16,.86) 62%)}
.section-art-partners .partner-tier{min-height:270px;padding:23px 22px 21px;box-shadow:0 18px 42px rgba(0,0,0,.28)}
.section-art-partners .partner-benefits{padding:22px 24px;box-shadow:0 18px 42px rgba(0,0,0,.26)}

@media(max-width:1080px){
  .gameplay-grid{grid-template-columns:1fr 1fr}
  .gameplay-loop-copy,.gameplay-decision{grid-template-columns:1fr}
}
@media(max-width:740px){
  .gameplay-grid{grid-template-columns:1fr}
  .gameplay-pillar{min-height:0;padding:22px 20px}
  .gameplay-loop{padding:22px 18px}
  .gameplay-flow{justify-content:flex-start;gap:7px}
  .gameplay-flow b{font-size:.70rem;white-space:normal}
  .gameplay-decision{padding:17px 18px}
  .section-art-partners{padding-top:54px!important;padding-bottom:54px!important}
  .section-art-partners .partner-tier{min-height:0}
}


/* === WEB BUILD 1.30: Field Doctrine numbering + Weapons & Blueprints === */
.armory-tagline{
  margin-top:14px !important;
  color:#e7d2b4 !important;
  font-weight:800;
  letter-spacing:.025em;
}
.weapon-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.weapon-card-blueprint img{
  background:radial-gradient(circle at 50% 35%,rgba(213,181,139,.10),rgba(255,255,255,0) 60%);
}
@media(max-width:1080px){.weapon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.weapon-grid{grid-template-columns:1fr}}

/* === WEB BUILD 1.31: section-aligned image numbering + Eisenhold BR-K98 Whiteprint copy === */


/* === WEB BUILD 1.33: clarity/consistency refinements === */
.gameplay-cta{
  position:relative;
  z-index:3;
  margin-top:18px;
  padding:20px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border:1px solid rgba(213,181,139,.18);
  border-radius:var(--radius);
  background:linear-gradient(100deg,rgba(213,181,139,.075),rgba(8,11,14,.88) 62%);
}
.gameplay-cta h3{
  margin:0;
  font-size:clamp(1.18rem,2vw,1.65rem);
  letter-spacing:.035em;
  text-transform:uppercase;
}
.gameplay-cta-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.partner-benefits-compact{margin-top:0;grid-template-columns:.72fr 1.28fr}
.section-art-partners .section-head{margin-bottom:20px}
@media(max-width:740px){
  .gameplay-cta{align-items:stretch;flex-direction:column;padding:18px}
  .gameplay-cta-actions{justify-content:flex-start}
  .gameplay-cta-actions .btn{flex:1 1 190px;text-align:center}
  .partner-benefits-compact{grid-template-columns:1fr}
}


/* === WEB BUILD 1.34: repaired mobile navigation + Unreal Engine preview strip === */
/* Match the showcase to the adaptive hero width. Side windows intentionally reveal only a narrow crop. */
.unreal-showcase{
  position:relative;
  z-index:2;
  width:80%;
  max-width:1440px;
  height:2cm;
  margin:18px auto 0;
  display:flex;
  align-items:stretch;
  overflow:hidden;
  border:1px solid rgba(213,181,139,.18);
  border-radius:10px;
  background:#080a0c;
  box-shadow:0 14px 34px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.02);
}
.unreal-strip{
  position:relative;
  flex:1 1 0;
  min-width:0;
  overflow:hidden;
  background:#050709;
}
.unreal-strip img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  filter:saturate(.88) contrast(1.04) brightness(.82);
  transform:scale(1.025);
}
.unreal-main-banner{
  flex:0 0 clamp(170px,22%,285px);
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-left:1px solid rgba(213,181,139,.24);
  border-right:1px solid rgba(213,181,139,.24);
  background:linear-gradient(180deg,rgba(18,21,25,.98),rgba(7,9,11,.98));
  box-shadow:0 0 24px rgba(0,0,0,.34);
}
.unreal-main-banner img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
@media(max-width:1260px){.unreal-showcase{width:86%;max-width:none}}
@media(max-width:900px){
  .unreal-showcase{width:92%}
  .topbar .header-controls{grid-column:3;grid-row:1;justify-self:end;margin-left:0}
  .topbar #primaryNav{z-index:75}
  .topbar #primaryNav.mobile-open{display:grid}
}
@media(max-width:740px){
  .unreal-showcase{
    width:100%;
    height:.85cm;
    margin-top:10px;
    border-left:0;
    border-right:0;
    border-radius:0;
  }
  .unreal-main-banner{flex-basis:clamp(135px,38vw,190px);padding:3px 7px}
  .unreal-strip img{transform:scale(1.08)}
}
@media(max-width:390px){
  .unreal-showcase{height:.72cm}
  .unreal-main-banner{flex-basis:128px;padding:2px 6px}
  .unreal-strip img{transform:scale(1.12)}
}


/* === WEB BUILD 1.34 revision: section 10 demo-status question === */
.status-question{
  margin:22px 0 18px;
  padding:20px 22px;
  border-left:3px solid rgba(213,181,139,.58);
  background:linear-gradient(90deg,rgba(213,181,139,.075),rgba(6,8,10,.18));
}
.status-question h3{
  margin:0 0 10px;
  font-size:clamp(1.12rem,1.6vw,1.42rem);
  letter-spacing:.025em;
  line-height:1.25;
}
.status-question p{margin:0;color:var(--text);line-height:1.72}
@media(max-width:740px){
  .status-question{margin:18px 0 16px;padding:17px 18px}
  .status-question p{line-height:1.66}
}

/* === WEB BUILD 1.36: mobile Unreal side previews reduced to narrow cropped strips === */


/* === WEB BUILD 1.37: Creep preview framing correction === */
.threat-card img.creep-preview{
  object-position:center top !important;
}


/* === WEB BUILD 1.38: resilient header at narrow desktop widths + clickable image magnifier === */
/* Prevent layout children and translated copy from forcing horizontal overlap. */
html,body{max-width:100%;overflow-x:hidden}
header.topbar > *,
header.topbar #primaryNav,
.shell,
.brief-grid > *,
.gallery > *,
.roster-grid > *,
.weapon-grid > *,
.threat-gallery > *,
.feature-card > *,
.split > *,
.area-brief > *,
.evidence-objective > *,
.gameplay-pillars > *{min-width:0}
.section h1,.section h2,.section h3,.section p,.section li,
.hero-brief h1,.hero-brief h2,.hero-brief h3,.hero-brief p,
.footer p{overflow-wrap:break-word;word-break:normal}

/* Wide screens keep the single-row command bar. */
@media(min-width:1601px){
  header.topbar{
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
  }
  header.topbar .brand{flex:0 0 auto}
  header.topbar #primaryNav{
    flex:1 1 auto;
    width:auto;
    display:flex;
    flex-wrap:nowrap;
    justify-content:center;
    overflow:visible;
  }
  header.topbar #primaryNav a{white-space:nowrap}
  header.topbar .header-controls{flex:0 0 auto;margin-left:0}
}

/* Mid-size desktop windows use a deliberate two-row header instead of allowing overlap. */
@media(min-width:1101px) and (max-width:1600px){
  header.topbar{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    align-items:center;
    gap:8px 14px;
    padding:10px 14px 11px;
  }
  header.topbar .brand{
    grid-column:1;
    grid-row:1;
    justify-self:start;
    align-self:center;
  }
  header.topbar .brand img{height:38px;max-width:min(240px,28vw);object-fit:contain}
  header.topbar .mobile-nav-toggle{display:none!important}
  header.topbar .header-controls{
    grid-column:3;
    grid-row:1;
    justify-self:end;
    margin:0;
  }
  header.topbar #primaryNav{
    grid-column:1 / -1;
    grid-row:2;
    width:100%;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:6px;
    margin:0;
    padding:0;
    overflow:visible;
    max-height:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  header.topbar #primaryNav a{
    flex:0 0 auto;
    white-space:nowrap;
    min-height:34px;
    padding:6px 8px;
    font-size:clamp(.69rem,.72vw,.78rem);
    letter-spacing:.035em;
  }
}

/* Compact desktop, tablet and mobile switch to the controlled menu drawer. */
@media(max-width:1100px){
  html{scroll-padding-top:96px}
  header.topbar{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    grid-template-rows:auto auto;
    align-items:center;
    gap:9px 10px!important;
    padding:9px 12px!important;
  }
  header.topbar .brand{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start;
    order:initial!important;
  }
  header.topbar .brand img{
    height:34px;
    max-width:min(210px,34vw);
    object-fit:contain;
  }
  header.topbar .mobile-nav-toggle{
    display:inline-flex!important;
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    order:initial!important;
  }
  header.topbar .header-controls{
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
    margin:0!important;
    order:initial!important;
  }
  header.topbar #primaryNav{
    grid-column:1 / -1!important;
    grid-row:2!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:5px!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-5px)!important;
    transition:max-height .28s ease,opacity .2s ease,transform .2s ease,padding .2s ease,visibility .2s ease!important;
  }
  header.topbar #primaryNav.mobile-open{
    max-height:min(68vh,620px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
    padding:7px 0 6px!important;
  }
  header.topbar #primaryNav a{
    width:100%;
    min-width:0;
    white-space:normal;
    overflow-wrap:anywhere;
    line-height:1.2;
  }
}

@media(max-width:560px){
  header.topbar{grid-template-columns:auto auto minmax(86px,1fr)!important;padding:8px 9px!important;gap:7px!important}
  header.topbar .brand img{height:30px;max-width:30vw}
  header.topbar .language-toggle{width:min(116px,34vw);min-width:0;padding:0 8px}
  header.topbar #primaryNav{grid-template-columns:1fr 1fr}
}
@media(max-width:460px){
  header.topbar #primaryNav{grid-template-columns:1fr}
  header.topbar #primaryNav.mobile-open{max-height:72vh!important}
  header.topbar .language-toggle{width:min(104px,32vw);font-size:.72rem}
  header.topbar .brand img{height:28px;max-width:31vw}
}
@media(max-width:350px){
  header.topbar{grid-template-columns:auto auto minmax(74px,1fr)!important}
  header.topbar .language-toggle{width:88px;padding:0 6px}
  header.topbar .brand img{max-width:29vw}
}

/* Replace the decorative pseudo-icon with a real button so the magnifier itself opens the image. */
.zoomable-frame::before{display:none!important}
.zoom-trigger{
  position:absolute;
  top:14px;
  right:14px;
  z-index:8;
  width:40px;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:1px solid rgba(213,181,139,.34);
  border-radius:50%;
  background:rgba(7,9,12,.82);
  color:#efe2ca;
  box-shadow:0 10px 24px rgba(0,0,0,.36);
  font:700 1.18rem/1 Arial,sans-serif;
  cursor:zoom-in;
  opacity:.96;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.zoom-trigger:hover,.zoom-trigger:focus-visible{
  transform:scale(1.08);
  background:rgba(16,20,24,.96);
  border-color:rgba(213,181,139,.66);
  box-shadow:0 12px 28px rgba(0,0,0,.44),0 0 0 3px rgba(213,181,139,.10);
  outline:none;
}
.zoom-trigger:active{transform:scale(.98)}
@media(max-width:740px){
  .zoom-trigger{top:10px;right:10px;width:36px;height:36px;font-size:1.05rem}
}
@media(prefers-reduced-motion:reduce){
  .zoom-trigger{transition:none}
  .zoomable-frame:hover .zoomable-media,.zoomable-frame:focus-within .zoomable-media{animation:none!important}
}


/* === WEB BUILD 1.39: authoritative desktop header layout ===
   The brand/banner now owns its own header row and can never be pushed beneath navigation buttons.
   Navigation always occupies a separate full-width row on desktop; compact widths keep the drawer. */
@media(min-width:1101px){
  header.topbar{
    display:grid!important;
    grid-template-columns:minmax(150px,auto) minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    column-gap:16px!important;
    row-gap:8px!important;
    padding:10px 16px 11px!important;
  }
  header.topbar .brand{
    grid-column:1!important;
    grid-row:1!important;
    position:relative!important;
    z-index:82!important;
    justify-self:start!important;
    align-self:center!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
  }
  header.topbar .brand img{
    display:block!important;
    width:auto!important;
    height:40px!important;
    max-width:min(260px,32vw)!important;
    object-fit:contain!important;
  }
  header.topbar .header-controls{
    grid-column:3!important;
    grid-row:1!important;
    position:relative!important;
    z-index:83!important;
    justify-self:end!important;
    align-self:center!important;
    margin:0!important;
  }
  header.topbar .mobile-nav-toggle{
    display:none!important;
  }
  header.topbar #primaryNav{
    grid-column:1 / -1!important;
    grid-row:2!important;
    position:relative!important;
    z-index:80!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    flex:0 0 auto!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    align-items:center!important;
    gap:6px!important;
    overflow:visible!important;
    max-height:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }
  header.topbar #primaryNav a{
    flex:0 0 auto!important;
    min-width:0!important;
    white-space:nowrap!important;
  }
}

/* Give the top row extra breathing room before switching to the drawer. */
@media(min-width:1101px) and (max-width:1450px){
  header.topbar{padding-left:12px!important;padding-right:12px!important;column-gap:12px!important}
  header.topbar .brand img{height:36px!important;max-width:min(230px,30vw)!important}
  header.topbar #primaryNav{gap:5px!important}
  header.topbar #primaryNav a{font-size:.73rem!important;padding:6px 7px!important}
  header.topbar .language-toggle{min-width:126px!important;height:40px!important}
}


/* === WEB BUILD 1.40: persistent fixed top navigation ===
   The full command header remains visible at every scroll position.
   --topbar-fixed-height is measured by JS from the collapsed header layout. */
:root{--topbar-fixed-height:84px}
html{
  scroll-padding-top:calc(var(--topbar-fixed-height) + 14px)!important;
}
body{
  padding-top:var(--topbar-fixed-height)!important;
}
header.topbar{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  max-width:none!important;
  z-index:1000!important;
  margin:0!important;
}
/* Keep overlays belonging to the fixed header above the page as well. */
header.topbar .language-menu{z-index:1010!important}
@media(max-width:1100px){
  html{scroll-padding-top:calc(var(--topbar-fixed-height) + 12px)!important}
}


/* === WEB BUILD 1.41: responsive full-image lightbox ===
   Keep opened artwork completely visible in small/narrow browser windows.
   If a viewport is exceptionally short, the dialog itself can scroll instead
   of clipping the image. The lightbox must also sit above the fixed header. */
.lightbox-modal{
  z-index:2000!important;
  padding:clamp(8px,2vw,24px)!important;
  box-sizing:border-box;
  overflow:hidden!important;
}
.lightbox-dialog{
  width:min(1400px,100%)!important;
  max-width:100%!important;
  height:auto!important;
  max-height:100%!important;
  overflow:auto!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  padding:2px;
  box-sizing:border-box;
}
.lightbox-figure{
  width:100%!important;
  max-width:100%!important;
  flex:0 0 auto;
  box-sizing:border-box;
}
.lightbox-figure img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:calc(100vh - 170px)!important;
  margin:0 auto!important;
  object-fit:contain!important;
  object-position:center center!important;
}
@supports (height:100dvh){
  .lightbox-figure img{max-height:calc(100dvh - 170px)!important}
}
@media(max-width:740px){
  .lightbox-modal{padding:8px!important}
  .lightbox-dialog{
    width:100%!important;
    max-height:100%!important;
    gap:10px!important;
  }
  .lightbox-figure{padding:8px!important}
  .lightbox-figure img{
    max-height:calc(100vh - 145px)!important;
    border-radius:10px!important;
  }
  @supports (height:100dvh){
    .lightbox-figure img{max-height:calc(100dvh - 145px)!important}
  }
}
@media(max-height:520px){
  .lightbox-dialog{
    justify-content:flex-start!important;
    gap:8px!important;
  }
  .lightbox-figure{padding:7px!important}
  .lightbox-figure img{
    max-height:calc(100vh - 110px)!important;
  }
  @supports (height:100dvh){
    .lightbox-figure img{max-height:calc(100dvh - 110px)!important}
  }
  .lightbox-figure figcaption{padding:7px 4px 0!important}
  .lightbox-close{min-height:38px!important}
}


/* === WEB BUILD 1.42: cap opened artwork to the 1.40 maximum size + themed lightbox scrollbar ===
   Preserve the responsive/scrollable 1.41 behavior in small viewports, but never allow
   an opened image to grow larger than the lightbox scale used in Web Build 1.40. */
.lightbox-dialog{
  width:min(1100px,100%)!important;
  scrollbar-width:thin;
  scrollbar-color:var(--accent2) rgba(8,10,13,.92);
}
.lightbox-dialog::-webkit-scrollbar{
  width:10px;
  height:10px;
}
.lightbox-dialog::-webkit-scrollbar-track{
  background:rgba(8,10,13,.92);
  border-radius:999px;
  box-shadow:inset 0 0 0 1px rgba(213,181,139,.08);
}
.lightbox-dialog::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,var(--accent),var(--accent2));
  border:2px solid rgba(8,10,13,.92);
  border-radius:999px;
}
.lightbox-dialog::-webkit-scrollbar-thumb:hover{
  background:var(--accent);
}
.lightbox-figure img{
  max-height:min(72vh,calc(100vh - 170px))!important;
}
@supports (height:100dvh){
  .lightbox-figure img{
    max-height:min(72dvh,calc(100dvh - 170px))!important;
  }
}
@media(max-width:740px){
  .lightbox-figure img{
    max-height:min(66vh,calc(100vh - 145px))!important;
  }
  @supports (height:100dvh){
    .lightbox-figure img{
      max-height:min(66dvh,calc(100dvh - 145px))!important;
    }
  }
}
@media(max-height:520px){
  .lightbox-figure img{
    max-height:min(72vh,calc(100vh - 110px))!important;
  }
  @supports (height:100dvh){
    .lightbox-figure img{
      max-height:min(72dvh,calc(100dvh - 110px))!important;
    }
  }
}
@media(max-width:740px) and (max-height:520px){
  .lightbox-figure img{
    max-height:min(66vh,calc(100vh - 110px))!important;
  }
  @supports (height:100dvh){
    .lightbox-figure img{
      max-height:min(66dvh,calc(100dvh - 110px))!important;
    }
  }
}
