/* ONE DEFENSE — shared theme */
:root{
  --bg: #05070a;
  --bg-alt: #0a0e14;
  --panel: #0d121a;
  --line: rgba(255,255,255,0.09);
  --text: #eef2f6;
  --muted: #8a96a6;
  --red: #c8102e;
  --blue: #1b3f91;
  --accent: #4fa3ff;
  --mono: "JetBrains Mono","SF Mono",Consolas,monospace;
  --sans: "Inter","Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:var(--sans); -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1240px; margin:0 auto; padding:0 32px;}
.mono{font-family:var(--mono); letter-spacing:.04em;}
.eyebrow{
  font-family:var(--mono); font-size:12px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--accent); display:flex; align-items:center; gap:10px; margin-bottom:18px;
}
.eyebrow::before{content:""; width:18px; height:1px; background:var(--accent);}

/* ---------- Top classification-style strip ---------- */
.strip{
  background:#000; border-bottom:1px solid var(--line);
  font-family:var(--mono); font-size:11px; letter-spacing:.12em; color:var(--muted);
  padding:6px 0; text-align:center; text-transform:uppercase;
}
.strip b{color:var(--text);}

/* ---------- Nav ---------- */
header.site-nav{
  position:sticky; top:0; z-index:200; background:rgba(5,7,10,0.82);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--line);
}
.nav-inner{display:flex; align-items:center; justify-content:space-between; padding:16px 32px; max-width:1240px; margin:0 auto;}
.brand{display:flex; align-items:center; gap:12px;}
.brand img{height:34px; width:auto;}
.brand .name{font-weight:700; letter-spacing:.06em; font-size:15px; line-height:1.1;}
.brand .sub{font-family:var(--mono); font-size:9px; color:var(--muted); letter-spacing:.16em;}
nav.links{display:flex; gap:34px; align-items:center;}
nav.links a{font-size:13px; letter-spacing:.03em; color:var(--text); opacity:.82; position:relative; padding:6px 0;}
nav.links a:hover{opacity:1;}
nav.links a.active{opacity:1;}
nav.links a.active::after{content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--red);}
.btn{
  font-family:var(--mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase;
  padding:11px 20px; border:1px solid var(--line); border-radius:2px; display:inline-flex; align-items:center; gap:8px;
  transition:all .2s ease; background:transparent; color:var(--text); cursor:pointer;
}
.btn:hover{border-color:var(--accent); color:var(--accent);}
.btn.primary{background:var(--red); border-color:var(--red); color:#fff;}
.btn.primary:hover{background:#a80d26; color:#fff; box-shadow:0 0 24px rgba(200,16,46,.4);}
.btn.ghost{color:var(--text);}
.dot{width:6px; height:6px; border-radius:50%; background:#2ee06a; box-shadow:0 0 8px #2ee06a; display:inline-block;}
.navbtns{display:flex; gap:12px; align-items:center;}
.burger{display:none;}

/* ---------- Hero ---------- */
.hero{position:relative; min-height:92vh; display:flex; align-items:center; overflow:hidden; border-bottom:1px solid var(--line);}
.hero-bg{position:absolute; inset:0; z-index:0;}
.hero-bg img{width:100%; height:100%; object-fit:cover; opacity:.55; filter:saturate(1.05) contrast(1.05);}
.hero-bg::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(5,7,10,.35) 0%, rgba(5,7,10,.55) 45%, var(--bg) 96%), linear-gradient(90deg, rgba(5,7,10,.9) 0%, rgba(5,7,10,.15) 55%);}
.hero-content{position:relative; z-index:2; padding:120px 0 80px;}
.hero h1{font-size:clamp(40px,6vw,76px); line-height:1.02; margin:0 0 22px; font-weight:800; letter-spacing:-.01em;}
.hero h1 span{color:var(--red);}
.hero p.lede{font-size:19px; color:#c7d0dc; max-width:560px; line-height:1.55; margin:0 0 34px;}
.hero .ctas{display:flex; gap:16px; flex-wrap:wrap;}
.scrollcue{position:absolute; bottom:28px; left:32px; z-index:2; font-family:var(--mono); font-size:11px; letter-spacing:.2em; color:var(--muted); display:flex; flex-direction:column; align-items:center; gap:8px;}
.scrollcue .line{width:1px; height:34px; background:linear-gradient(var(--muted),transparent); animation:scrolldown 1.6s infinite;}
@keyframes scrolldown{0%{transform:translateY(0); opacity:1;}100%{transform:translateY(18px); opacity:0;}}

/* ---------- Launch animation (hero "video") ---------- */
.launch-stage{
  position:absolute; right:4%; bottom:0; top:0; width:44%; z-index:1;
  display:flex; align-items:flex-end; justify-content:center; pointer-events:none;
}
.launch-rocket{
  position:relative; width:14px; height:120px; bottom:14%;
  animation: rocketFly 6s cubic-bezier(.31,.79,.42,.99) infinite;
}
.launch-rocket .body{position:absolute; inset:0; background:linear-gradient(180deg,#e9edf2,#8c97a6 60%,#5c6675); border-radius:8px 8px 3px 3px; clip-path:polygon(50% 0%, 100% 14%, 100% 100%, 0% 100%, 0% 14%);}
.launch-rocket .flame{position:absolute; left:50%; top:100%; width:10px; height:46px; transform:translateX(-50%); background:linear-gradient(180deg,#fff,#ffb347,rgba(255,140,0,0)); border-radius:0 0 8px 8px; filter:blur(1px); animation:flicker .12s infinite alternate;}
@keyframes flicker{from{opacity:1; height:46px;} to{opacity:.75; height:36px;}}
@keyframes rocketFly{
  0%{ transform: translateY(0) scale(1); opacity:0;}
  6%{ opacity:1;}
  55%{ transform: translateY(-620px) scale(.7); opacity:1;}
  70%{ transform: translateY(-760px) scale(.55); opacity:0;}
  100%{ transform: translateY(-760px) scale(.55); opacity:0;}
}
.launch-smoke{position:absolute; bottom:0; width:120px; height:120px; border-radius:50%; background:radial-gradient(circle, rgba(255,255,255,.18), transparent 70%); filter:blur(6px); animation:smokepulse 6s infinite;}
@keyframes smokepulse{0%,4%{opacity:0; transform:scale(.4);}8%{opacity:.9;}30%{opacity:.3; transform:scale(1.8);}55%{opacity:0;}100%{opacity:0;}}
.trail{position:absolute; bottom:16%; left:50%; width:2px; height:0; background:linear-gradient(to top, rgba(255,255,255,.85), rgba(255,255,255,0)); transform:translateX(-50%); animation:trailgrow 6s cubic-bezier(.31,.79,.42,.99) infinite;}
@keyframes trailgrow{0%,6%{height:0; opacity:0;}10%{opacity:1;}55%{height:640px; opacity:.9;}70%{opacity:0;}100%{opacity:0;}}

/* ---------- Sections ---------- */
section{padding:110px 0; position:relative;}
section.tight{padding:70px 0;}
section.alt{background:var(--bg-alt); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
h2.h2{font-size:clamp(28px,3.6vw,44px); line-height:1.1; font-weight:700; margin:0 0 20px; letter-spacing:-.01em;}
p.sub{color:var(--muted); font-size:17px; max-width:640px; line-height:1.6;}
.reveal{opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

/* ---------- Grids / cards ---------- */
.grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:50px;}
.grid2{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:50px;}
.card{background:var(--panel); padding:38px 34px; transition:background .25s ease;}
.card:hover{background:#111826;}
.card .num{font-family:var(--mono); color:var(--red); font-size:13px; margin-bottom:16px; display:block;}
.card h3{font-size:20px; margin:0 0 12px;}
.card p{color:var(--muted); font-size:14.5px; line-height:1.6; margin:0 0 16px;}
.card .link{font-family:var(--mono); font-size:12px; color:var(--accent); letter-spacing:.06em;}

.imgcard{position:relative; overflow:hidden; background:var(--panel); border:1px solid var(--line);}
.imgcard img{width:100%; height:280px; object-fit:cover; transition:transform .5s ease;}
.imgcard:hover img{transform:scale(1.06);}
.imgcard .cap{position:absolute; left:0; right:0; bottom:0; padding:22px 24px; background:linear-gradient(to top, rgba(0,0,0,.85), transparent);}
.imgcard .cap .tag{font-family:var(--mono); font-size:11px; color:var(--accent); letter-spacing:.1em;}
.imgcard .cap h4{margin:6px 0 0; font-size:19px;}

/* ---------- Stats ---------- */
.stats{display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.stat{padding:44px 30px; text-align:left; border-right:1px solid var(--line);}
.stat:last-child{border-right:none;}
.stat .figure{font-family:var(--mono); font-size:42px; font-weight:700; color:#fff;}
.stat .label{color:var(--muted); font-size:13px; margin-top:8px; letter-spacing:.04em;}

/* ---------- Ticker ---------- */
.ticker{overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#000; padding:12px 0; white-space:nowrap;}
.ticker .track{display:inline-flex; gap:60px; animation:ticker 32s linear infinite; font-family:var(--mono); font-size:12px; color:var(--muted); letter-spacing:.08em;}
.ticker .track span b{color:var(--text);}
@keyframes ticker{from{transform:translateX(0);} to{transform:translateX(-50%);}}

/* ---------- Mission partners strip (no seals, text only) ---------- */
.partners{display:flex; flex-wrap:wrap; gap:14px; margin-top:36px;}
.partner-badge{
  border:1px solid var(--line); padding:14px 20px; font-family:var(--mono); font-size:12px;
  letter-spacing:.08em; color:var(--muted); display:flex; align-items:center; gap:10px; border-radius:2px;
}
.partner-badge svg{width:16px; height:16px; flex:none;}
.partner-badge b{color:var(--text); font-weight:600;}

/* ---------- Footer ---------- */
footer{border-top:1px solid var(--line); padding:60px 0 26px; background:var(--bg-alt);}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px;}
.foot-grid h5{font-family:var(--mono); font-size:12px; letter-spacing:.12em; color:var(--muted); margin:0 0 18px; text-transform:uppercase;}
.foot-grid a{display:block; font-size:14px; color:#c7d0dc; margin-bottom:10px;}
.foot-grid a:hover{color:#fff;}
.foot-bottom{display:flex; justify-content:space-between; align-items:center; margin-top:50px; padding-top:24px; border-top:1px solid var(--line); font-size:12px; color:var(--muted); flex-wrap:wrap; gap:12px;}
.foot-brand{display:flex; align-items:center; gap:12px;}
.foot-brand img{height:26px;}
.classification{font-family:var(--mono); font-size:11px; letter-spacing:.15em; color:var(--muted);}

/* ---------- Page header (non-home pages) ---------- */
.pagehead{padding:150px 0 70px; border-bottom:1px solid var(--line); background:linear-gradient(180deg, #0a0e16, var(--bg)); position:relative; overflow:hidden;}
.pagehead .bgimg{position:absolute; inset:0; opacity:.22;}
.pagehead .bgimg img{width:100%; height:100%; object-fit:cover;}
.pagehead h1{font-size:clamp(34px,5vw,58px); margin:0 0 14px; position:relative; z-index:2;}
.pagehead p{color:var(--muted); font-size:17px; max-width:620px; position:relative; z-index:2;}
.crumbs{font-family:var(--mono); font-size:11px; color:var(--muted); letter-spacing:.1em; margin-bottom:20px; position:relative; z-index:2;}

/* ---------- Cursor glow ---------- */
.cursor-glow{position:fixed; width:420px; height:420px; border-radius:50%; pointer-events:none; z-index:1;
  background:radial-gradient(circle, rgba(79,163,255,0.07), transparent 70%); transform:translate(-50%,-50%); left:-999px; top:-999px; transition:opacity .3s;}

/* ---------- Buttons row / misc ---------- */
.divider{height:1px; background:var(--line); margin:0;}
.tag-list{display:flex; gap:10px; flex-wrap:wrap; margin-top:16px;}
.tag{font-family:var(--mono); font-size:11px; border:1px solid var(--line); padding:6px 12px; color:var(--muted); border-radius:2px;}

/* ---------- Nav search ---------- */
.searchbtn{background:none; border:1px solid var(--line); color:var(--text); width:38px; height:38px; border-radius:2px; display:flex; align-items:center; justify-content:center; cursor:pointer;}
.searchbtn:hover{border-color:var(--accent); color:var(--accent);}
.search-overlay{position:fixed; inset:0; background:rgba(3,5,9,.92); backdrop-filter:blur(6px); z-index:500; display:none; align-items:flex-start; justify-content:center; padding-top:14vh;}
.search-overlay.open{display:flex;}
.search-box{width:640px; max-width:90vw;}
.search-box input{
  width:100%; background:transparent; border:none; border-bottom:2px solid var(--line); color:#fff;
  font-size:28px; font-family:var(--sans); padding:14px 4px; outline:none;
}
.search-box input:focus{border-bottom-color:var(--accent);}
.search-hint{font-family:var(--mono); font-size:11px; color:var(--muted); margin-top:10px; letter-spacing:.06em;}
.search-results{margin-top:22px; max-height:50vh; overflow-y:auto;}
.search-results a{display:block; padding:14px 4px; border-bottom:1px solid var(--line); color:var(--text);}
.search-results a:hover{color:var(--accent);}
.search-results .tag{font-family:var(--mono); font-size:10px; color:var(--muted); letter-spacing:.08em; display:block; margin-bottom:4px;}
.search-close{position:absolute; top:28px; right:36px; color:var(--muted); font-family:var(--mono); font-size:12px; cursor:pointer; letter-spacing:.08em;}

/* ---------- Accessibility widget ---------- */
.a11y-btn{
  position:fixed; left:24px; bottom:24px; z-index:300; width:48px; height:48px; border-radius:50%;
  background:var(--accent); color:#04101f; display:flex; align-items:center; justify-content:center;
  cursor:pointer; box-shadow:0 8px 24px rgba(0,0,0,.4); border:none;
}
.a11y-panel{
  position:fixed; left:24px; bottom:82px; z-index:300; width:240px; background:var(--panel); border:1px solid var(--line);
  border-radius:6px; padding:16px; display:none; box-shadow:0 20px 50px rgba(0,0,0,.5);
}
.a11y-panel.open{display:block;}
.a11y-panel h5{margin:0 0 12px; font-family:var(--mono); font-size:11px; letter-spacing:.1em; color:var(--muted); text-transform:uppercase;}
.a11y-row{display:flex; align-items:center; justify-content:space-between; padding:8px 0; font-size:13px; border-bottom:1px solid var(--line);}
.a11y-row:last-child{border-bottom:none;}
.a11y-row button{background:#0a0e14; border:1px solid var(--line); color:var(--text); width:26px; height:26px; border-radius:2px; cursor:pointer;}
body.large-text{font-size:112%;}
body.high-contrast{--bg:#000; --bg-alt:#000; --muted:#c7d0dc; --line:rgba(255,255,255,.25);}
body.reduce-motion .reveal{transition:none !important; opacity:1 !important; transform:none !important;}
body.reduce-motion .launch-rocket, body.reduce-motion .trail, body.reduce-motion .launch-smoke{animation:none !important; opacity:0 !important;}

/* ---------- Testimonials ---------- */
.testi-wrap{position:relative; max-width:760px; margin:50px auto 0; text-align:center; min-height:180px;}
.testi{position:absolute; inset:0; opacity:0; transition:opacity .6s ease; display:flex; flex-direction:column; align-items:center;}
.testi.active{opacity:1; position:relative;}
.testi p{font-size:22px; line-height:1.5; color:#e6ebf1; font-style:italic; margin:0 0 18px;}
.testi .who{font-family:var(--mono); font-size:12px; color:var(--accent); letter-spacing:.08em;}
.testi-dots{display:flex; gap:8px; justify-content:center; margin-top:26px;}
.testi-dots span{width:7px; height:7px; border-radius:50%; background:var(--line); cursor:pointer;}
.testi-dots span.active{background:var(--accent);}

/* ---------- Compliance badges ---------- */
.compliance{display:flex; gap:16px; flex-wrap:wrap; margin-top:30px;}
.compliance .cb{border:1px solid var(--line); padding:16px 22px; text-align:center; min-width:150px; border-radius:3px; background:var(--panel);}
.compliance .cb .code{font-family:var(--mono); color:var(--accent); font-size:13px; font-weight:700; letter-spacing:.06em;}
.compliance .cb .desc{font-size:11px; color:var(--muted); margin-top:6px;}

/* ---------- Network map (US sites) ---------- */
.usmap-wrap{position:relative; margin-top:40px; border:1px solid var(--line); background:var(--panel); border-radius:4px; padding:20px;}
.usmap-wrap svg{width:100%; height:auto; display:block;}
.site-pin{fill:var(--accent); cursor:pointer;}
.site-pin.hq{fill:var(--red);}
.site-ping{fill:none; stroke:var(--accent); stroke-width:1.5; opacity:0; transform-origin:center; animation:ping 2.4s infinite;}
.site-ping.hq{stroke:var(--red);}
@keyframes ping{0%{opacity:.8; transform:scale(.3);}80%{opacity:0; transform:scale(2.6);}100%{opacity:0;}}
.site-tip{position:absolute; background:#000; border:1px solid var(--line); padding:10px 14px; font-family:var(--mono); font-size:11px; border-radius:3px; pointer-events:none; opacity:0; transition:opacity .15s; z-index:10; white-space:nowrap;}
.site-tip.show{opacity:1;}
.site-tip b{color:#fff; display:block; margin-bottom:3px; font-size:12px;}

/* ---------- Timeline ---------- */
.timeline{position:relative; margin-top:50px; padding-left:32px; border-left:1px solid var(--line);}
.tl-item{position:relative; padding-bottom:42px;}
.tl-item:last-child{padding-bottom:0;}
.tl-item::before{content:""; position:absolute; left:-38px; top:2px; width:11px; height:11px; border-radius:50%; background:var(--red); box-shadow:0 0 0 4px rgba(200,16,46,.15);}
.tl-item .yr{font-family:var(--mono); color:var(--accent); font-size:13px; margin-bottom:6px;}
.tl-item h4{margin:0 0 8px; font-size:18px;}
.tl-item p{color:var(--muted); font-size:14px; line-height:1.6; max-width:560px; margin:0;}

/* ---------- Cutaway diagram ---------- */
.cutaway-wrap{position:relative; background:var(--panel); border:1px solid var(--line); border-radius:4px; padding:30px; margin-top:40px;}
.cutaway-wrap svg{width:100%; max-width:720px; display:block; margin:0 auto;}
.hotspot{fill:var(--accent); stroke:#04101f; stroke-width:2; cursor:pointer; transition:r .15s;}
.hotspot:hover{fill:var(--red);}
.cutaway-tip{position:absolute; width:220px; background:#000; border:1px solid var(--line); border-radius:3px; padding:14px; font-size:12.5px; color:#c7d0dc; opacity:0; transition:opacity .15s; pointer-events:none; z-index:10;}
.cutaway-tip.show{opacity:1;}
.cutaway-tip b{display:block; color:#fff; font-family:var(--mono); font-size:11px; letter-spacing:.06em; margin-bottom:6px;}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  nav.links{display:none;}
  .grid3{grid-template-columns:1fr;}
  .grid2{grid-template-columns:1fr;}
  .stats{grid-template-columns:repeat(2,1fr);}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .launch-stage{display:none;}
}

/* ================= COOKIE BANNER ================= */
.cookie-banner{position:fixed; left:20px; right:20px; bottom:20px; max-width:560px; margin:0 auto; background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:20px 22px; z-index:900; box-shadow:0 20px 50px rgba(0,0,0,.5); transform:translateY(30px); opacity:0; pointer-events:none; transition:all .4s ease;}
.cookie-banner.show{transform:translateY(0); opacity:1; pointer-events:auto;}
.cookie-banner p{font-size:13px; color:var(--muted); line-height:1.6; margin:0 0 14px;}
.cookie-banner .row{display:flex; gap:10px; flex-wrap:wrap;}
.cookie-banner .btn{padding:9px 16px; font-size:12px;}

/* ================= BACK TO TOP ================= */
.back-to-top{position:fixed; right:24px; bottom:24px; width:46px; height:46px; border-radius:50%; background:var(--panel); border:1px solid var(--line); color:var(--text); display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:800; opacity:0; pointer-events:none; transform:translateY(10px); transition:all .3s ease;}
.back-to-top.show{opacity:1; pointer-events:auto; transform:translateY(0);}
.back-to-top:hover{border-color:var(--accent); color:var(--accent);}

/* ================= PAGE FADE TRANSITION ================= */
body{animation:pagefade .5s ease;}
@keyframes pagefade{from{opacity:0;} to{opacity:1;}}

/* ================= NEWSROOM FILTERS ================= */
.news-filters{display:flex; gap:10px; flex-wrap:wrap; margin:30px 0 10px;}
.news-filters button{background:transparent; border:1px solid var(--line); color:var(--muted); padding:8px 16px; border-radius:100px; font-size:12px; letter-spacing:.05em; text-transform:uppercase; cursor:pointer; transition:all .2s ease;}
.news-filters button:hover{color:var(--text); border-color:var(--accent);}
.news-filters button.active{background:var(--accent); color:#08111c; border-color:var(--accent);}
.news-card.hide{display:none;}

/* ================= ROCKET CONFIGURATOR ================= */
.config-wrap{display:grid; grid-template-columns:280px 1fr; gap:40px; margin-top:10px;}
.config-picker{display:flex; flex-direction:column; gap:12px;}
.config-btn{text-align:left; background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:16px 18px; color:var(--muted); cursor:pointer; transition:all .2s ease; font-family:var(--sans);}
.config-btn .num{display:block; font-family:var(--mono); font-size:11px; color:var(--accent); letter-spacing:.1em; margin-bottom:6px;}
.config-btn b{display:block; font-size:16px; color:var(--text); margin-bottom:4px;}
.config-btn small{display:block; font-size:12px; color:var(--muted);}
.config-btn:hover{border-color:var(--accent);}
.config-btn.active{border-color:var(--accent); background:rgba(79,163,255,0.08);}
.config-display{display:grid; grid-template-columns:160px 1fr; gap:30px; align-items:center; background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:30px;}
.config-visual{display:flex; justify-content:center;}
.config-rocket{width:100%; max-width:130px; height:auto; transition:all .4s ease;}
.cfg-nose{fill:#c8c8d0; transition:fill .4s ease;}
.cfg-body{fill:#8f96a3;}
.cfg-payload{fill:var(--accent); opacity:.7; transition:all .4s ease;}
.cfg-fin{fill:#5a6270;}
.cfg-nozzle{fill:#2a2f38;}
.config-specs{font-size:14px;}
.config-specs .cspec-row{display:flex; justify-content:space-between; padding:10px 0; border-top:1px solid var(--line);}
.config-specs .cspec-row:first-child{border-top:none;}
.config-specs .cspec-row span:first-child{color:var(--muted);}

/* ================= FAQ ACCORDION ================= */
.faq-list{max-width:760px;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{width:100%; text-align:left; background:none; border:none; color:var(--text); font-size:16px; font-family:var(--sans); padding:20px 0; cursor:pointer; display:flex; justify-content:space-between; align-items:center;}
.faq-toggle{font-family:var(--mono); color:var(--accent); font-size:18px; transition:transform .25s ease;}
.faq-item.open .faq-toggle{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.faq-a p{color:var(--muted); font-size:14px; line-height:1.7; padding:0 0 20px; max-width:640px;}
.faq-item.open .faq-a{max-height:200px;}

/* ================= VISITOR COUNTER ================= */
.visitor-badge{position:fixed; left:20px; bottom:24px; background:var(--panel); border:1px solid var(--line); border-radius:100px; padding:8px 16px 8px 12px; font-family:var(--mono); font-size:11px; color:var(--muted); display:flex; align-items:center; gap:8px; z-index:700; letter-spacing:.03em;}
.visitor-badge .vdot{width:7px; height:7px; border-radius:50%; background:#2ee06a; box-shadow:0 0 8px #2ee06a; animation:vpulse 1.6s infinite;}
@keyframes vpulse{0%,100%{opacity:1;} 50%{opacity:.4;}}
.visitor-badge b{color:var(--text);}

/* ================= TACTICAL NIGHT-VISION MODE ================= */
body.nightvision{filter:grayscale(0.5) sepia(1) hue-rotate(70deg) saturate(4) brightness(0.9);}

/* ================= KONAMI LAUNCH EASTER EGG ================= */
.konami-overlay{position:fixed; inset:0; background:#000; z-index:2000; display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .3s ease;}
.konami-overlay.show{opacity:1; pointer-events:auto;}
.konami-overlay .kmsg{position:absolute; top:40px; left:0; right:0; text-align:center; font-family:var(--mono); color:#8fffb0; letter-spacing:.2em; font-size:13px;}
.konami-overlay .kclose{position:absolute; top:24px; right:30px; color:#fff; font-family:var(--mono); cursor:pointer; font-size:12px; letter-spacing:.1em;}

/* ================= PRINT STYLESHEET ================= */
@media print{
  .strip, .site-nav, .cookie-banner, .back-to-top, .search-overlay, .a11y-btn, .a11y-panel, .visitor-badge, footer, .konami-overlay{display:none !important;}
  body{background:#fff !important; color:#000 !important; filter:none !important;}
  .pagehead .bgimg{display:none;}
  a{color:#000 !important;}
  .imgcard, .card{border:1px solid #ccc !important; break-inside:avoid;}
}
