/* ============================================================
   MIDNIGHT OPS — Inside Intelligence dark re-skin
   Loaded AFTER page styles: overrides by cascade order.
   Page markup & copy untouched; colors + fonts remapped.
   Rollback = remove the two <link> lines from a page's <head>.
   ============================================================ */

/* ---------- TOKEN REMAP (both template families) ---------- */
:root {
  /* Family A — root subpages + blog listing (navy/paper light theme) */
  --navy:#070b14;                    /* page background navy -> midnight */
  --ink:#f2f5fa;                     /* dark ink text -> light text */
  --paper:#111a2e;                   /* light paper cards -> dark surface */
  --panel:#0c1220;                   /* white panels -> dark panel */
  --gold:#e9b64d;                    /* antique gold -> bright brass */
  --gold-soft:rgba(233,182,77,.14);  /* soft gold tint */
  --line:rgba(255,255,255,.08);      /* light hairlines -> translucent white */
  --muted:#a9b4c9;                   /* muted dark-gray -> light secondary */
  --green:#27a644;                    /* status green unchanged */

  /* Family B — blog posts (Apple-style light theme) */
  --bg:#070b14;
  --card:#111a2e;
  --text:#f2f5fa;
  --accent:#e9b64d;
  --divider:rgba(255,255,255,.08);
  --code-bg:#0c1220;
  --code-fg:#e0e4ea;
  --cyan:#3d6df5;                    /* pitch-deck cyan -> signal blue (unused elsewhere) */
}

/* ---------- GLOBAL ---------- */
body {
  background:#070b14;
  color:#f2f5fa;
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  font-feature-settings:"cv01","ss03";
  -webkit-font-smoothing:antialiased;
}
::selection { background:rgba(233,182,77,.3); }

/* ---------- FAMILY A: unified nav (nav.ii-nav) ---------- */
nav.ii-nav {
  background:rgba(7,11,20,.85);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.05);
}
nav.ii-nav .logo { color:#f2f5fa; }
nav.ii-nav .logo span { color:#e9b64d; }
nav.ii-nav .links > a { color:#a9b4c9; }
nav.ii-nav .links > a:hover, nav.ii-nav .links > a.active { color:#e9b64d; }
nav.ii-nav .drop-btn { color:#a9b4c9; }
nav.ii-nav .drop-btn:hover, nav.ii-nav .drop-btn.active, nav.ii-nav .drop:focus-within .drop-btn { color:#e9b64d; }
nav.ii-nav .drop-menu {
  background:#0c1220;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:rgba(0,0,0,.5) 0px 18px 40px;
}
nav.ii-nav .drop-menu a { color:#a9b4c9; }
nav.ii-nav .drop-menu a:hover, nav.ii-nav .drop-menu a.active { color:#e9b64d; }
nav.ii-nav a.cta {
  background:#e9b64d; color:#141005;
}
nav.ii-nav a.cta:hover { background:#f5cd6e; color:#141005; }

/* ---------- FAMILY A: hero ---------- */
.hero {
  background:linear-gradient(160deg,#070b14 0%,#0c1220 70%,#111a2e 100%);
  color:#f2f5fa;
}
.hero h1 {
  font-family:'Inter',system-ui,sans-serif;
  font-weight:500;
  letter-spacing:-1.25px;
  color:#f2f5fa;
}
.hero h1 em { color:#e9b64d; }
.hero .sub { color:#a9b4c9; }
.hero .byline { color:#6b7690; }
.hero .promise { color:#e9b64d; }

/* ---------- FAMILY A: sections ---------- */
.section .kicker, .back .kicker {
  font-family:'JetBrains Mono',ui-monospace,monospace;
  letter-spacing:.14em;
  color:#e9b64d;
}
.section h2, .back h2 {
  color:#f2f5fa;
  font-family:'Inter',system-ui,sans-serif;
  font-weight:500;
  letter-spacing:-.7px;
}
.section p.body, .section p, .section li { color:#a9b4c9; font-weight:300; }
.section p.body strong, .section p strong, .section p.body b { color:#f2f5fa; font-weight:500; }
.section-alt {
  background:#0c1220;
  border-top:1px solid rgba(255,255,255,.05);
  border-bottom:1px solid rgba(255,255,255,.05);
}

/* step blocks (how-it-works) */
.step-block {
  background:#0c1220;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
}
.step-block .num { color:#e9b64d; font-family:'JetBrains Mono',ui-monospace,monospace; letter-spacing:.12em; }
.step-block h3 { color:#f2f5fa; }
.step-block p { color:#a9b4c9; }

/* generic steps (index-family pages that use .step) */
.step {
  background:#111a2e;
  border:1px solid rgba(255,255,255,.08);
  color:#a9b4c9;
}
.step .num { color:#e9b64d; }
.step h3 { color:#f2f5fa; }
.step p { color:#a9b4c9; }

/* cards (security) */
.cards .card, .card {
  background:#111a2e;
  border:1px solid rgba(255,255,255,.08);
  color:#a9b4c9;
}
.card h3, .card h4 { color:#f2f5fa; }
.card p, .card li { color:#a9b4c9; }
.card ul li::before { color:#e9b64d; }
.card:hover { border-color:rgba(233,182,77,.38); }

/* promise band (security) */
.promise {
  background:#0c1220;
  border:1px solid rgba(255,255,255,.08);
  border-left:3px solid #e9b64d;
  border-radius:8px;
  color:#a9b4c9;
}
.promise .big { color:#f2f5fa; }
.promise p { color:#a9b4c9; }

/* FAQ items */
.faq-item { border-bottom:1px solid rgba(255,255,255,.05); }
.faq-item:first-child { border-top:1px solid rgba(255,255,255,.05); }
.faq-item h3, .faq-item summary { color:#f2f5fa; font-family:'Inter',system-ui,sans-serif; }
.faq-item p { color:#a9b4c9; }
.faq-item p b { color:#f2f5fa; }
.faq details { border-bottom:1px solid rgba(255,255,255,.05); }
.faq summary { color:#f2f5fa; }
.faq details p { color:#a9b4c9; }

/* callouts (blog posts + listing) */
.callout {
  background:#111a2e;
  border:1px solid rgba(255,255,255,.08);
  border-left:3px solid #e9b64d;
}
.callout .label { color:#e9b64d; font-family:'JetBrains Mono',ui-monospace,monospace; letter-spacing:.12em; }
.callout p { color:#a9b4c9; }
.callout-box {
  background:#111a2e;
  border:1px solid rgba(255,255,255,.08);
  border-left:3px solid #e9b64d;
  border-radius:8px;
  color:#a9b4c9;
}

/* ---------- contact form ---------- */
form {
  background:#0c1220;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
}
form label { color:#a9b4c9; }
form input, form textarea, form select {
  background:#111a2e;
  border:1px solid rgba(255,255,255,.08);
  color:#f2f5fa;
}
form input::placeholder, form textarea::placeholder { color:#6b7690; }
form input:focus, form textarea:focus { border-color:#e9b64d; outline:none; }
form button {
  background:#e9b64d;
  color:#141005;
  font-weight:600;
}
form button:hover { background:#f5cd6e; }
#form-status { color:#a9b4c9; }
#form-status.ok { color:#27a644; }
#form-status.err { color:#fb7185; }
.alt, .alt a { color:#a9b4c9; }
.alt a:hover, .alt a:focus { color:#e9b64d; }

/* ---------- compare table ---------- */
.compare-wrap table, table.compare {
  background:#0c1220;
  border:1px solid rgba(255,255,255,.08);
}
table.compare th, table.compare td { border-color:rgba(255,255,255,.08); }
table.compare thead th { background:#111a2e; color:#f2f5fa; }
table.compare .feat { color:#a9b4c9; }
table.compare thead th.op { background:rgba(233,182,77,.14); color:#e9b64d; }
table.compare thead th.gpt { color:#6b7690; }
table.compare tr.op-row td { background:rgba(233,182,77,.07); }
table.compare td.op { color:#f5cd6e; }
table.compare td, table.compare td ul li { color:#a9b4c9; }
.note { color:#6b7690; }

/* ---------- media kit ---------- */
.creds .cred-card, .cred-card {
  background:#111a2e;
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
}
.cred-card h3, .cred-card h4 { color:#f2f5fa; }
.cred-card p { color:#a9b4c9; }
.expert-list li { color:#a9b4c9; border-bottom:1px solid rgba(255,255,255,.05); }
.press-links a { color:#e9b64d; }
.press-links a:hover { color:#f5cd6e; }

/* ---------- brochure sheet ---------- */
.sheet { background:transparent; }
.front {
  background:linear-gradient(160deg,#070b14 0%,#0c1220 70%,#111a2e 100%);
  border:1px solid rgba(255,255,255,.08);
  color:#f2f5fa;
}
.front .brand { color:#f2f5fa; }
.front h1 { font-family:'Inter',system-ui,sans-serif; font-weight:500; letter-spacing:-1px; color:#f2f5fa; }
.front h1 em { color:#e9b64d; }
.front .sub { color:#a9b4c9; }
.front .promise { color:#e9b64d; }
.back {
  background:#0c1220;
  border:1px solid rgba(255,255,255,.08);
  color:#f2f5fa;
}
.back h2 { color:#f2f5fa; }
.back .note { color:#6b7690; }

/* ---------- blog listing ---------- */
.blog-post { border-bottom:1px solid rgba(255,255,255,.05); }
.blog-post h2 a { color:#f2f5fa; }
.blog-post h2 a:hover { color:#e9b64d; }
.blog-post p { color:#a9b4c9; }
.blog-post .readmore, .readmore { color:#e9b64d; }
.blog-post .readmore:hover { color:#f5cd6e; }

/* ---------- FAMILY B: blog post pages ---------- */
nav:not(.ii-nav) {
  background:rgba(7,11,20,.85);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.05);
}
nav:not(.ii-nav) .brand { color:#f2f5fa; }
nav:not(.ii-nav) .brand .dot { color:#e9b64d; }
nav:not(.ii-nav) .links a { color:#a9b4c9; }
nav:not(.ii-nav) .links a:hover, nav:not(.ii-nav) .links a.active { color:#e9b64d; }

article { color:#a9b4c9; }
article p { color:#a9b4c9; font-weight:300; }
article h2 { color:#f2f5fa; font-family:'Inter',system-ui,sans-serif; font-weight:500; letter-spacing:-.5px; }
article strong { color:#f2f5fa; font-weight:500; }
article em { color:#f5cd6e; }
article code {
  background:#111a2e;
  color:#f5cd6e;
  border:1px solid rgba(255,255,255,.08);
}
article pre {
  background:#0c1220;
  border:1px solid rgba(255,255,255,.08);
}
article pre code { background:transparent; border:none; color:#e0e4ea; }
article ul li::before { color:#e9b64d; }
article blockquote {
  border-left:3px solid #e9b64d;
  background:#111a2e;
  color:#a9b4c9;
}
.diagram { background:#111a2e; border:1px solid rgba(255,255,255,.08); border-radius:8px; }
.meta { color:#6b7690; font-family:'JetBrains Mono',ui-monospace,monospace; }
hr { border-color:rgba(255,255,255,.08); }
.back { color:#e9b64d; }
.back:hover { color:#f5cd6e; }
.post-contact {
  background:#111a2e;
  border:1px solid rgba(255,255,255,.08);
  border-left:3px solid #e9b64d;
  border-radius:8px;
}
.post-contact p { color:#a9b4c9; }
.post-contact a { color:#e9b64d; }
.post-contact a:hover { color:#f5cd6e; }
.cta a { background:#e9b64d; color:#141005; }
.cta a:hover { background:#f5cd6e; color:#141005; }

/* ---------- CTA buttons (both families) ---------- */
a.cta, .cta-btn {
  background:#e9b64d;
  color:#141005;
  font-weight:600;
  border-radius:6px;
}
a.cta:hover, .cta-btn:hover { background:#f5cd6e; color:#141005; }
/* CTA text must never inherit body-link gold — always near-black on gold */
a.cta, a.cta *, .cta-btn, .cta-btn * { color:#141005 !important; }
a.cta:hover *, .cta-btn:hover * { color:#141005 !important; }

/* ---------- FOOTER ---------- */
footer, footer.ii-footer {
  background:#070b14;
  border-top:1px solid rgba(255,255,255,.05);
  color:#a9b4c9;
}
footer b { color:#f2f5fa; }
footer .gold { color:#e9b64d; }
footer .copy { color:#6b7690; }
footer .foot-links a { color:#a9b4c9; }
footer .foot-links a:hover { color:#e9b64d; }

/* links in body copy */
.section a, article a:not(.cta a):not(.readmore):not(.back) { color:#e9b64d; }
.section a:hover, article a:not(.cta a):not(.readmore):not(.back):hover { color:#f5cd6e; }

/* ============================================================
   PRINT RESTORE — printing any page yields the original light
   palette (ink-friendly), regardless of screen theme.
   ============================================================ */
@media print {
  :root {
    --navy:#0f2440; --ink:#1c2b3a; --paper:#fbfaf7; --panel:#ffffff;
    --gold:#b8860b; --gold-soft:#f3e8d0; --line:#d8d2c4; --muted:#5d6b7a;
    --bg:#fbfbfd; --card:#f5f5f7; --text:#1d1d1f; --accent:#0071e3;
    --divider:#d2d2d7; --code-bg:#1d1d1f; --code-fg:#e0e4ea;
  }
  body { background:#fff !important; color:#1c2b3a !important; }
  nav, nav.ii-nav, nav:not(.ii-nav) { background:#fff !important; backdrop-filter:none; }
  .hero, .front { background:#0f2440 !important; }
  .section-alt, .step, .card, .callout, .callout-box, .faq-item,
  .cred-card, .post-contact, .back, .panel, form, table.compare,
  .step-block, .promise, .diagram {
    background:#fff !important;
    border-color:#d8d2c4 !important;
    color:#1c2b3a !important;
  }
  .section h2, .hero h1, .front h1, article h2, .step h3, .card h3,
  .faq-item h3, .cred-card h3, .back h2, footer b {
    color:#0f2440 !important;
  }
  .section p, .section p.body, .step p, .card p, .faq-item p, article p,
  .cred-card p, .callout p, .post-contact p, .note, .meta {
    color:#1c2b3a !important;
  }
  footer { background:#fff !important; color:#1c2b3a !important; }
  footer .foot-links a { color:#0f2440 !important; }
}