/* ===========================================================
   IV Consulting · "BA" theme skin for CASE STUDY pages
   Same neo-brutalist system as landing-ba.css (Plus Jakarta Sans +
   JetBrains Mono, ink-on-warm-white, 2px ink borders + hard offset
   shadows). The case-study pages are self-contained with their own
   inline <style>; this file is linked AFTER it and scoped to
   body.theme-ba so it overrides cleanly.
   =========================================================== */

/* ---------- palette / tokens ---------- */
body.theme-ba {
  --ink: #fffdf7;        /* page background */
  --surface: #ffffff;
  --surface-2: #fff5e6;
  --line: rgba(13, 20, 33, 0.12);
  --fg: #0d1421;
  --muted: #5b6473;
  --accent: #ffd93d;     /* brand yellow */
  --accent-2: #0d1421;
  --cool: #6c5ce7;       /* purple */
  --bad: #ff6b9d;        /* pink */
  --on-accent: #0d1421;
  --glow: rgba(108, 92, 231, 0.16);
  color-scheme: light;

  --c-ink: #0d1421;
  --c-purple: #6c5ce7;
  --c-pink: #ff6b9d;
  --c-coral: #ff7b54;
  --c-yellow: #ffd93d;
  --c-sky: #4fc3f7;
  --c-mint: #00d9a3;

  --b: 2px solid var(--c-ink);
  --sh: 6px 6px 0 var(--c-ink);
  --sh-sm: 4px 4px 0 var(--c-ink);
  --sh-press: 3px 3px 0 var(--c-ink);

  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  letter-spacing: -0.01em;
}
[data-theme="dark"] body.theme-ba {
  --ink: #0a0f18; --surface: #131a26; --surface-2: #1b2330;
  --line: rgba(255, 253, 247, 0.12); --fg: #fffdf7; --muted: #98a1b0;
  --cool: #8c7cf7; --bad: #ff6b9d; --on-accent: #0d1421; --c-ink: #fffdf7;
  --glow: rgba(108, 92, 231, 0.24); color-scheme: dark;
}

/* ---------- typography ---------- */
.theme-ba h1, .theme-ba h2, .theme-ba h3, .theme-ba h2.t {
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-weight: 800; letter-spacing: -0.03em;
}
.theme-ba ::selection { background: var(--c-yellow); color: #0d1421; }
.theme-ba .nb { white-space: nowrap; }

/* mono labels */
.theme-ba .eyebrow,
.theme-ba .section-label,
.theme-ba .snum,
.theme-ba .toc a .i,
.theme-ba .pill,
.theme-ba .bstat .badge,
.theme-ba .vcard .tag,
.theme-ba .ba-col .tag,
.theme-ba .meta .row .k,
.theme-ba .xcard .xtags span {
  font-family: "JetBrains Mono", monospace;
  text-transform: uppercase;
}
.theme-ba .section-label { color: var(--c-purple); letter-spacing: 0.12em; }
.theme-ba .section-label.cool { color: var(--c-sky); }
.theme-ba .snum { color: var(--c-purple); }

/* ---------- decorative ---------- */
.theme-ba .grid-bg {
  background-image: radial-gradient(rgba(13, 20, 33, 0.05) 1.4px, transparent 1.4px);
  background-size: 24px 24px;
}
.theme-ba .glow { background: radial-gradient(circle, rgba(108, 92, 231, 0.18), transparent 70%); filter: blur(120px); }
.theme-ba .progress { background: linear-gradient(90deg, var(--c-purple), var(--c-pink) 50%, var(--c-yellow)); box-shadow: none; height: 4px; }

/* ---------- header / toc ---------- */
.theme-ba .toggle { border: var(--b); box-shadow: var(--sh-sm); color: var(--c-ink); }
.theme-ba .toc { background: color-mix(in srgb, #fffdf7 85%, transparent); border-bottom: var(--b); }
.theme-ba .toc a { font-weight: 700; }
.theme-ba .toc a.active { color: #0d1421; background: var(--c-yellow); border: 1.5px solid var(--c-ink); }
.theme-ba .toc a.active .i { color: #0d1421; }

/* ---------- eyebrow ---------- */
.theme-ba .eyebrow {
  background: var(--surface); border: var(--b); color: var(--c-ink);
  box-shadow: var(--sh-sm); font-weight: 500; letter-spacing: 0.04em; padding: 0.45rem 0.9rem;
}

/* ---------- buttons ---------- */
.theme-ba .btn {
  background: var(--c-ink); color: #fffdf7; border: var(--b); border-radius: 999px;
  font-family: "Plus Jakarta Sans", sans-serif; font-weight: 700;
  box-shadow: var(--sh-sm); padding: 14px 30px;
  transition: transform 0.12s ease, box-shadow 0.12s ease, background-color 0.12s ease, color 0.12s ease;
}
.theme-ba .btn:hover { background: var(--c-yellow); color: #0d1421; transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--c-ink); }
.theme-ba .btn:active { transform: translate(4px, 4px); box-shadow: 0 0 0 var(--c-ink); }
.theme-ba .btn.ghost { background: var(--surface); color: var(--c-ink); border: var(--b); box-shadow: var(--sh-sm); }
.theme-ba .btn.ghost:hover { background: var(--c-yellow); transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--c-ink); }

/* ---------- marker highlights (hero) ---------- */
.theme-ba .hero h1 .hl,
.theme-ba .hl {
  font-style: normal; font-weight: 800; color: #0d1421; background: var(--c-yellow);
  padding: 0.02em 0.2em; margin: 0 0.03em; border-radius: 0.32em; display: inline-block;
  transform: rotate(-2deg);
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.theme-ba .hero h1 .hl.pink, .theme-ba .hl.pink { background: var(--c-pink); color: #fff; transform: rotate(1.5deg); }
.theme-ba .hero h1 .hl.cyan, .theme-ba .hl.cyan { background: var(--c-sky); transform: rotate(-1deg); }

/* ===========================================================
   NEO-BRUTALIST CARD CHROME — 2px ink border + hard shadow
   =========================================================== */
.theme-ba .card,
.theme-ba .bstat,
.theme-ba .ba-col,
.theme-ba .block-card,
.theme-ba .vcard,
.theme-ba .xcard,
.theme-ba .quote,
.theme-ba .scroller,
.theme-ba .video,
.theme-ba .shot,
.theme-ba .hero-visual .frame,
.theme-ba .floatchip {
  background: var(--surface);
  border: var(--b);
  border-radius: 1.1rem;
  box-shadow: var(--sh);
}
.theme-ba .bstat,
.theme-ba .block-card,
.theme-ba .vcard,
.theme-ba .xcard {
  transition: transform 0.14s ease, box-shadow 0.14s ease;
}
.theme-ba .bstat:hover,
.theme-ba .block-card:hover,
.theme-ba .vcard:hover,
.theme-ba .xcard:hover {
  transform: translate(3px, 3px);
  box-shadow: var(--sh-press);
  border-color: var(--c-ink);
}

/* images framed to match the theme */
.theme-ba .hero-visual .frame { border-radius: 1.1rem; }
.theme-ba .scroller { background: #fff; }
.theme-ba .shot { background: var(--surface-2); }
.theme-ba .shot .cap { background: linear-gradient(0deg, rgba(13, 20, 33, 0.86), transparent); color: #fff; }
.theme-ba .xcard .pic { background: var(--surface-2); border-bottom: var(--b); }

/* float chip + icon squares */
.theme-ba .floatchip { border-radius: 0.9rem; box-shadow: var(--sh-sm); }
.theme-ba .floatchip .ci,
.theme-ba .block-card .ic {
  border: var(--b); box-shadow: 2px 2px 0 var(--c-ink); color: #0d1421; border-radius: 0.6rem;
}
.theme-ba .block-card:nth-child(4n + 1) .ic { background: var(--c-yellow); }
.theme-ba .block-card:nth-child(4n + 2) .ic { background: var(--c-sky); }
.theme-ba .block-card:nth-child(4n + 3) .ic { background: var(--c-pink); }
.theme-ba .block-card:nth-child(4n + 4) .ic { background: var(--c-mint); }
.theme-ba .floatchip .ci { background: var(--c-mint); }

/* ---------- bento stats ---------- */
.theme-ba .bstat .n { font-weight: 800; }
.theme-ba .bstat.cool .n { color: var(--c-purple); }
.theme-ba .bstat.hero-tile { background: var(--c-ink); color: #fffdf7; }
.theme-ba .bstat.hero-tile .n { color: var(--c-yellow); }
.theme-ba .bstat.hero-tile .l { color: rgba(255, 253, 247, 0.74); }
.theme-ba .bstat.hero-tile .badge { background: var(--c-yellow); color: #0d1421; }

/* ---------- pills ---------- */
.theme-ba .pill { border: var(--b); background: var(--surface); color: var(--c-ink); font-weight: 700; box-shadow: 2px 2px 0 var(--c-ink); }
.theme-ba .pill.lime { background: var(--c-yellow); color: #0d1421; }

/* ---------- before / after ---------- */
.theme-ba .ba-col.before { background: #fff0f5; }
.theme-ba .ba-col.after { background: #e9fbf5; border-color: var(--c-ink); }
.theme-ba .ba-col .tag { border: var(--b); box-shadow: var(--sh-sm); }
.theme-ba .ba-col.before .tag { background: var(--c-pink); color: #fff; }
.theme-ba .ba-col.after .tag { background: var(--c-mint); color: #0d1421; }
.theme-ba .ba-col li .mk { border: 1.5px solid var(--c-ink); border-radius: 0.4rem; }
.theme-ba .ba-col.before li .mk { background: var(--c-pink); color: #fff; }
.theme-ba .ba-col.after li .mk { background: var(--c-mint); color: #0d1421; }
.theme-ba .ba-arrow span { background: var(--c-yellow); color: #0d1421; border: var(--b); box-shadow: var(--sh-sm); }

/* goals checklist */
.theme-ba ul.list .mk { background: var(--c-mint); color: #0d1421; border: 1.5px solid var(--c-ink); border-radius: 0.4rem; }

/* ---------- solution bento feat ---------- */
.theme-ba .block-card.feat { background: var(--c-ink); color: #fffdf7; }
.theme-ba .block-card.feat p { color: rgba(255, 253, 247, 0.82); }
.theme-ba .block-card.feat .ic { background: var(--c-yellow); }

/* ---------- value cards ---------- */
.theme-ba .vcard .tag { color: var(--c-purple); }

/* ---------- quote ---------- */
.theme-ba .quote { background: var(--c-yellow); color: #0d1421; }
.theme-ba .quote .qm { color: rgba(13, 20, 33, 0.18); }
.theme-ba .quote p { font-family: "Plus Jakarta Sans", sans-serif; font-weight: 700; }
.theme-ba .quote .who .rl { color: rgba(13, 20, 33, 0.62); }

/* ---------- cross-link cards ---------- */
.theme-ba .xcard .xtags span { border: 1.5px solid var(--c-ink); color: var(--c-ink); }
.theme-ba .xcard .go { color: var(--c-purple); font-weight: 700; }

/* ---------- CTA ---------- */
.theme-ba .cta { border-top: var(--b); }

/* ---------- footer ---------- */
.theme-ba footer { border-top: var(--b); color: var(--muted); }

/* dark-mode button fix */
[data-theme="dark"] body.theme-ba .btn { background: var(--c-yellow); color: #0d1421; border-color: var(--c-ink); }
[data-theme="dark"] body.theme-ba .btn:hover { background: #fffdf7; color: #0d1421; }

/* dark mode removed — hide the theme toggle */
#themeToggle { display: none !important; }
