
/* strip Twenty Twenty-Five chrome so the Mark IV page owns the viewport */
header.wp-block-template-part, footer.wp-block-template-part { display: none !important; }
.wp-block-post-title, .entry-title, .wp-block-post-date { display: none !important; }
html, body { max-width: none !important; width: auto !important; overflow-x: hidden; }
body { margin: 0 !important; padding: 0 !important; background: #05080d !important; }
.wp-site-blocks { padding: 0 !important; gap: 0 !important; }
main, .wp-block-group, .wp-block-post-content, .entry-content {
  max-width: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important;
}
.entry-content > *, .wp-site-blocks > * { max-width: none !important; }
.entry-content p:empty, .entry-content br { display: none !important; }


    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --bg:          #080d14;
      --bg-card:     #0d1520;
      --bg-deeper:   #050a10;
      --border:      #1a2e45;
      --orange:      #d4600a;
      --orange-br:   #e87820;
      --text:        #dce8f0;
      --text-dim:    #8aa0b8;
      --text-muted:  #4a6278;
      --left-blue:   #2563eb;
      --right-red:   #dc2626;
      --green:       #16a34a;
    }

    html, body {
      background: var(--bg);
      color: var(--text);
      font-family: 'Segoe UI', system-ui, sans-serif;
      min-height: 100vh;
    }

    a { color: inherit; text-decoration: none; }

    /* ══════════════════════════════════════
       HERO BANNER — banner3, nothing on top
    ══════════════════════════════════════ */
    .hero {
      width: 100%;
      display: block;
      line-height: 0;
    }

    .hero-img {
      width: 100%;
      height: auto;
      max-height: 78vh;
      object-fit: contain;
      object-position: center;
      display: block;
      margin: 0 auto;
      background: #05080d;
    }

    /* ══════════════════════════════════════
       AD SLOTS — placeholders, not live
    ══════════════════════════════════════ */
    .ad-slot {
      margin: 18px auto;
      max-width: 1120px;
      border: 1px dashed #2c3d52;
      border-radius: 4px;
      background: repeating-linear-gradient(
        45deg, #0b1119, #0b1119 12px, #0d141d 12px, #0d141d 24px);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
    }
    .ad-slot .ad-label {
      font-size: 9px; font-weight: 800; letter-spacing: 0.22em;
      text-transform: uppercase; color: #4d6579; margin-bottom: 6px;
    }
    .ad-slot .ad-here {
      font-size: 15px; font-weight: 800; letter-spacing: 0.16em;
      text-transform: uppercase; color: #7d94a8;
    }
    .ad-slot .ad-size {
      font-size: 10px; letter-spacing: 0.10em; color: #3f5568; margin-top: 5px;
    }
    .ad-leaderboard { min-height: 96px; padding: 16px 20px; }
    .ad-banner      { min-height: 120px; padding: 18px 20px; }

    /* UNDER CONSTRUCTION BANNER */
    .construction {
      background: linear-gradient(90deg,#1a1206,#241705,#1a1206);
      border-bottom: 1px solid var(--orange);
      padding: 10px 0;
      overflow: hidden;
      position: relative;
    }
    /* soft fade at both ends so text enters and leaves cleanly */
    .construction::before,
    .construction::after {
      content: ""; position: absolute; top: 0; bottom: 0; width: 64px; z-index: 2;
      pointer-events: none;
    }
    .construction::before { left: 0;  background: linear-gradient(90deg,#1a1206,rgba(26,18,6,0)); }
    .construction::after  { right: 0; background: linear-gradient(270deg,#1a1206,rgba(26,18,6,0)); }

    .uc-track {
      display: flex;
      width: max-content;
      animation: uc-scroll 38s linear infinite;
      will-change: transform;
    }
    .construction:hover .uc-track { animation-play-state: paused; }

    .uc-run {
      display: inline-flex; align-items: center; white-space: nowrap;
      padding-right: 64px;
    }
    @keyframes uc-scroll {
      from { transform: translateX(0); }
      to   { transform: translateX(-50%); }
    }
    @media (prefers-reduced-motion: reduce) {
      .uc-track { animation: none; justify-content: center; width: 100%; }
      .uc-run + .uc-run { display: none; }
    }

    .construction .uc-tag {
      display: inline-block; font-size: 10px; font-weight: 800; letter-spacing: 0.18em;
      text-transform: uppercase; color: #080d14; background: var(--orange-br);
      padding: 3px 9px; border-radius: 3px; margin-right: 12px; flex: none;
    }
    .construction .uc-text { font-size: 12px; letter-spacing: 0.06em; color: #f0c9a0; font-weight: 600; }

    /* ══════════════════════════════════════
       NAV BAR
    ══════════════════════════════════════ */
    nav {
      background: var(--bg-deeper);
      border-bottom: 1px solid var(--border);
      padding: 0 28px;
      display: flex;
      align-items: center;
      gap: 4px;
      height: 44px;
      position: sticky;
      top: 0;
      z-index: 200;
    }

    .nav-logo {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-right: 16px;
      flex-shrink: 0;
    }

    .nav-logo img { height: 30px; width: auto; }

    .nav-logo-name {
      font-size: 13px;
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: #e2e8f0;
      white-space: nowrap;
    }

    nav a {
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--text-dim);
      padding: 5px 11px;
      border-radius: 3px;
      transition: color 0.15s, background 0.15s;
      white-space: nowrap;
    }
    nav a:hover  { color: var(--text); background: var(--bg-card); }
    nav a.active { color: var(--orange-br); }

    /* INACTIVE — section exists in the plan, not yet built */
    nav a.inactive {
      color: #33465c;
      cursor: not-allowed;
      pointer-events: none;
    }
    nav a.inactive:hover { color: #33465c; background: transparent; }
    .sitrep-btn.inactive {
      background: #1b2a3c;
      color: #4a6278 !important;
      cursor: not-allowed;
      pointer-events: none;
    }

    .nav-spacer { flex: 1; }

    .sitrep-btn {
      background: var(--orange);
      color: #fff !important;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      padding: 6px 14px;
      border-radius: 3px;
      flex-shrink: 0;
    }

    /* ══════════════════════════════════════
       PAGE CONTENT
    ══════════════════════════════════════ */
    .page {
      max-width: 1500px;
      margin: 0 auto;
      padding: 20px 24px 48px;
    }

    /* ══════════════════════════════════════
       TWO-COLUMN MAP ROW
    ══════════════════════════════════════ */
    .map-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      margin-bottom: 16px;
    }

    .map-panel {
      background: var(--bg-card);
      border: 1px solid var(--border);
      border-radius: 6px;
      overflow: hidden;
      display: flex;
      flex-direction: column;
    }

    /* Panel header shared */
    .panel-header {
      background: var(--bg-deeper);
      border-bottom: 1px solid var(--border);
      padding: 9px 14px;
      display: flex;
      align-items: center;
      gap: 8px;
      flex-shrink: 0;
    }

    .panel-header-text {
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--text-dim);
    }

    .live-dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: #ef4444;
      animation: pulse 1.4s ease-in-out infinite;
      flex-shrink: 0;
    }

    @keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.25} }

    /* US ALBERS MAP — CONUS + AK + HI */
    #us-map {
      height: 384px;
      flex-shrink: 0;
      position: relative;
      background: radial-gradient(ellipse at 50% 45%, #0b1626 0%, #070c14 78%);
    }
    #us-map svg { display: block; width: 100%; height: 100%; }
    .state { fill: #12233a; stroke: #24405e; stroke-width: 0.7; }
    .inset-label {
      font-size: 9px; font-weight: 700; letter-spacing: 0.14em;
      text-transform: uppercase; fill: #4a6278;
    }
    .marker-dot { stroke: rgba(255,255,255,0.28); stroke-width: 2; cursor: pointer; }
    .marker-num { font-size: 11px; font-weight: 900; fill: #fff; pointer-events: none;
      font-family: 'Segoe UI', sans-serif; }
    .map-tip {
      position: absolute; pointer-events: none; opacity: 0;
      background: #0d1520; border: 1px solid #1a2e45; border-radius: 6px;
      padding: 9px 12px; max-width: 240px; box-shadow: 0 8px 24px rgba(0,0,0,0.7);
      transition: opacity 0.12s; z-index: 5;
    }
    .map-tip .popup-cat { font-size: 10px; font-weight: 700; color: #e87820;
      text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 3px; }
    .map-tip .popup-title { font-size: 13px; font-weight: 700; color: #dce8f0; line-height: 1.4; }

    /* GLOBE PANEL */
    .globe-wrap {
      height: 384px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: radial-gradient(ellipse at center, #0d1e35 0%, #050a14 70%);
      overflow: hidden;
      position: relative;
    }

    .globe-wrap svg {
      display: block;
      filter: drop-shadow(0 0 18px rgba(30, 100, 180, 0.35))
              drop-shadow(0 0 40px rgba(20, 60, 120, 0.22));
    }
    .globe-sphere { fill: #08192c; }
    .globe-grat   { fill: none; stroke: #16354f; stroke-width: 0.5; opacity: 0.75; }
    .globe-land   { fill: #1d3a57; stroke: #2a4f73; stroke-width: 0.4; }
    .globe-rim    { fill: none; stroke: #2b567c; stroke-width: 1; }
    .globe-leader { stroke: #4d7fa6; stroke-width: 1; fill: none; opacity: 0.85; }
    .globe-tickmark { fill: none; stroke: #4d7fa6; stroke-width: 1; opacity: 0.85; }
    .globe-slot {
      font-size: 9px; font-weight: 800; letter-spacing: 0.14em;
      text-transform: uppercase; fill: #7ea6c4;
      font-family: 'Segoe UI', sans-serif;
    }
    .globe-fallback {
      display: flex; align-items: center; justify-content: center; height: 100%;
      color: #4a6278; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase;
    }

    /* "INTERNATIONAL" label overlay */
    .globe-label {
      position: absolute;
      top: 10px;
      right: 12px;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: #4a6278;
    }

    /* ══════════════════════════════════════
       STORY ROWS — below each map
    ══════════════════════════════════════ */
    .story-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      position: relative;
    }

    /* ══════════════════════════════════════
       TRENCH OVERLAY — obstructs the story slots
    ══════════════════════════════════════ */
    .trench-overlay {
      position: absolute; inset: 0; z-index: 40;
      border: 1px solid var(--border); border-radius: 6px;
      overflow: hidden;
      display: flex; align-items: center; justify-content: center;
    }
    .trench-media {
      position: absolute; inset: 0;
      width: 100%; height: 100%; object-fit: cover;
      animation: gateflicker 0.45s steps(2, end) infinite;
    }
    @keyframes gateflicker {
      0%   { opacity: 1;    filter: brightness(1.00) contrast(1.00); }
      50%  { opacity: 0.94; filter: brightness(0.93) contrast(1.06); }
      100% { opacity: 1;    filter: brightness(1.00) contrast(1.00); }
    }

    /* fine grain — SVG noise, costs nothing to ship */
    .trench-grain {
      position: absolute; inset: -60px;
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='160' height='160' filter='url(%23n)' opacity='0.42'/></svg>");
      opacity: 0.30; mix-blend-mode: overlay; pointer-events: none;
      animation: grainshift 0.6s steps(4, end) infinite;
    }
    @keyframes grainshift {
      0%   { transform: translate(0, 0); }
      25%  { transform: translate(-22px, 14px); }
      50%  { transform: translate(16px, -20px); }
      75%  { transform: translate(-14px, -12px); }
      100% { transform: translate(0, 0); }
    }

    .trench-tint {
      position: absolute; inset: 0; pointer-events: none;
      background:
        radial-gradient(ellipse at 50% 50%, rgba(5,10,16,0.18) 0%, rgba(5,10,16,0.84) 76%),
        linear-gradient(180deg, rgba(5,10,16,0.50), rgba(5,10,16,0.28) 45%, rgba(5,10,16,0.70));
    }

    /* THE STAMP */
    .stamp {
      position: relative; z-index: 3;
      transform: rotate(-8deg);
      border: 4px solid #c0392b; outline: 1px solid #c0392b; outline-offset: 4px;
      border-radius: 3px; padding: 14px 30px 12px;
      text-align: center; color: #c0392b;
      opacity: 0.93; background: rgba(12,6,4,0.20);
      box-shadow: 0 0 26px rgba(0,0,0,0.6); max-width: 88%;
    }
    .stamp .stamp-main {
      font-family: 'Arial Narrow', 'Segoe UI', Impact, sans-serif;
      font-size: clamp(20px, 3.2vw, 38px); font-weight: 900;
      letter-spacing: 0.16em; text-transform: uppercase;
      line-height: 1.05; white-space: nowrap;
    }
    .stamp .stamp-sub {
      margin-top: 7px; padding-top: 7px; border-top: 2px solid #c0392b;
      font-family: 'Consolas', 'Courier New', monospace;
      font-size: clamp(9px, 1.05vw, 12px); font-weight: 700;
      letter-spacing: 0.24em; text-transform: uppercase; opacity: 0.95;
    }
    @media (max-width: 620px) {
      .stamp { transform: rotate(-6deg); padding: 10px 16px 9px; }
      .stamp .stamp-main { white-space: normal; }
    }

    .story-col {
      background: var(--bg-card);
      border: 1px solid var(--border);
      border-radius: 6px;
      overflow: hidden;
    }

    .story-list { display: flex; flex-direction: column; }

    .story-item {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      padding: 14px 16px;
      border-bottom: 1px solid var(--border);
      cursor: pointer;
      transition: background 0.15s;
    }
    .story-item:last-child { border-bottom: none; }
    .story-item:hover { background: #0f1e30; }

    .story-num {
      font-size: 22px;
      font-weight: 900;
      color: var(--border);
      line-height: 1.1;
      flex-shrink: 0;
      width: 28px;
      text-align: right;
    }

    .story-body { display: flex; flex-direction: column; gap: 4px; }

    .story-cat {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--orange);
    }

    .story-cat.intl { color: #38bdf8; }  /* sky blue for international */

    .story-headline {
      font-size: 14px;
      font-weight: 700;
      line-height: 1.4;
      color: var(--text);
    }

    .story-meta {
      font-size: 11px;
      color: var(--text-muted);
    }

    /* EMPTY SLOTS — nothing published yet */
    .story-item.slot { cursor: default; }
    .story-item.slot:hover { background: transparent; }
    .story-item.slot .story-headline {
      color: var(--text-muted);
      font-weight: 600;
      font-style: italic;
    }

    /* Leaflet popup dark theme */
    .leaflet-popup-content-wrapper {
      background: #0d1520; border: 1px solid #1a2e45; border-radius: 6px;
      color: #dce8f0; box-shadow: 0 8px 24px rgba(0,0,0,0.7);
    }
    .leaflet-popup-tip { background: #0d1520; }
    .leaflet-popup-content { margin: 10px 13px; }
    .popup-cat  { font-size: 10px; font-weight: 700; color: #e87820; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 3px; }
    .popup-cat.intl { color: #38bdf8; }
    .popup-title{ font-size: 13px; font-weight: 700; color: #dce8f0; line-height: 1.4; }
  
    /* ABOUT PAGE BACKGROUND */
    .about-bg {
      position: relative;
      width: 100%;
      background: #0a0a0a;
      line-height: 0;
    }
    .about-bg img {
      display: block;
      width: 100%;
      height: auto;
      max-height: 82vh;
      object-fit: cover;
      object-position: center;
    }
    .about-bg::after {
      content: "";
      position: absolute; left: 0; right: 0; bottom: 0; height: 90px;
      background: linear-gradient(180deg, rgba(5,8,13,0), var(--bg-deeper));
      pointer-events: none;
    }
    .about-body {
      max-width: 900px;
      margin: 0 auto;
      padding: 34px 24px 60px;
      color: #c8d6e2;
    }
    .about-placeholder {
      border: 1px dashed #24384f;
      border-radius: 4px;
      padding: 26px 22px;
      text-align: center;
      font-size: 11px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: #4a6278;
    }

  