/*
Theme Name: CanadaCasinos Theme
Theme URI: https://canadacasinos.io
Author: CanadaCasinos
Author URI: https://canadacasinos.io
Description: Canada's premier casino review and intelligence platform. Full dark/light mode, cinematic heroes, elite design system.
Version: 3.18.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
Text Domain: canadacasinos
*/

/* ═══════════════════════════════════════════════════════════════
   DESIGN TOKENS
═══════════════════════════════════════════════════════════════ */
:root {
  --font-sans:    "DM Sans", ui-sans-serif, system-ui, sans-serif;
  --font-display: "DM Sans", ui-sans-serif, system-ui, sans-serif;
  --font-mono:    "DM Sans", var(--font-sans);
  --bg-main:       #07090f;
  --bg-card:       #0d1117;
  --bg-elevated:   #111827;
  --bg-glass:      rgba(255,255,255,0.04);
  --bg-glass-hover:rgba(255,255,255,0.07);
  --border-subtle: rgba(255,255,255,0.07);
  --border-mid:    rgba(255,255,255,0.12);
  --text-primary:  #f0f4f8;
  --text-secondary:#94a3b8;
  --text-muted:    rgba(255,255,255,0.35);
  --text-faint:    rgba(255,255,255,0.18);
  --gold:          #F5C842;
  --gold-dim:      rgba(245,200,66,0.12);
  --gold-border:   rgba(245,200,66,0.22);
  --gold-hover:    #f7d55e;
  --emerald:       #10b981;
  --emerald-dim:   rgba(16,185,129,0.12);
  --red:           #ef4444;
  --blue:          #3b82f6;
  --radius-card:   16px;
  --radius-pill:   100px;
  --shadow-card:   0 1px 3px rgba(0,0,0,0.4), 0 4px 16px rgba(0,0,0,0.3);
  --shadow-gold:   0 0 30px rgba(245,200,66,0.10);
  --transition:    all 0.2s cubic-bezier(0.4,0,0.2,1);
}
:root.light {
  --bg-main:       #f4f6f9;
  --bg-card:       #ffffff;
  --bg-elevated:   #eef1f6;
  --bg-glass:      rgba(0,0,0,0.03);
  --bg-glass-hover:rgba(0,0,0,0.05);
  --border-subtle: rgba(0,0,0,0.08);
  --border-mid:    rgba(0,0,0,0.13);
  --text-primary:  #0f172a;
  --text-secondary:#475569;
  --text-muted:    #94a3b8;
  --text-faint:    #cbd5e1;
  --gold:          #e86a17;
  --gold-dim:      rgba(232,106,23,0.10);
  --gold-border:   rgba(232,106,23,0.22);
  --gold-hover:    #c85a10;
  --shadow-card:   0 1px 3px rgba(0,0,0,0.08), 0 4px 16px rgba(0,0,0,0.06);
  --shadow-gold:   0 0 20px rgba(232,106,23,0.08);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body {
  font-family: var(--font-sans);
  background: var(--bg-main);
  color: var(--text-primary);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  line-height: 1.6;
  transition: background 0.3s ease, color 0.3s ease;
}

/* ── Circuit-lines canvas: dark mode only, site-wide below hero ── */
html:not(.light) body {
  background-image:
    repeating-linear-gradient(62deg,
      transparent 0px, transparent 38px,
      rgba(255,255,255,0.012) 38px, rgba(255,255,255,0.012) 39px
    ),
    repeating-linear-gradient(-62deg,
      transparent 0px, transparent 38px,
      rgba(255,255,255,0.007) 38px, rgba(255,255,255,0.007) 39px
    );
}
main { flex: 1; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button { cursor: pointer; border: none; background: none; }
ul, ol { list-style: none; }
h1,h2,h3 { line-height: 1.2; }
h4,h5,h6 { line-height: 1.35; }
.font-display { font-family: var(--font-display); }
.font-mono    { font-family: var(--font-mono); }

/* ═══════════════════════════════════════════════════════════════
   LAYOUT
═══════════════════════════════════════════════════════════════ */
.cc-container { width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 1.5rem; box-sizing: border-box; }
@media (min-width:1024px) { .cc-container { padding: 0 2.5rem; } }

/* ═══════════════════════════════════════════════════════════════
   PROGRESS BAR
═══════════════════════════════════════════════════════════════ */
.cc-progress-bar {
  position: fixed; top: 0; left: 0; height: 3px; width: 0%;
  background: linear-gradient(90deg, var(--gold), var(--gold-hover));
  z-index: 9999; transition: width 0.1s linear;
}

/* ═══════════════════════════════════════════════════════════════
   GLASS CARD
═══════════════════════════════════════════════════════════════ */
.glass-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  transition: var(--transition);
}
.glass-card:hover {
  border-color: var(--gold-border);
  box-shadow: var(--shadow-card), var(--shadow-gold);
  transform: translateY(-2px);
}

/* ═══════════════════════════════════════════════════════════════
   HEADER — CONCEPT D: FREQUENCY  (Two-tier spectrum nav)
═══════════════════════════════════════════════════════════════ */

/* ── Spectrum colour tokens ── */
:root {
  --c-content:   #22C55E;
  --c-reviews:   #E94057;
  --c-games:     #A855F7;
  --c-guides:    #06B6D4;
  --c-legal:     #F59E0B;
  --c-provinces: #3B82F6;
  --c-compare:   #F5C842;
  --c-rg:        #10b981;
}

/* ── Shell ── */
.cc-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(7,9,15,0.96);
  backdrop-filter: blur(28px) saturate(180%);
  -webkit-backdrop-filter: blur(28px) saturate(180%);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  transition: background 0.3s ease;
}
:root.light .cc-header { background: rgba(244,246,249,0.97); }

/* ────────────────────────────────────────────────────────────
   ROW 1 — Frequency bar (26 px)
──────────────────────────────────────────────────────────── */
.cc-freq-bar {
  height: 26px; display: flex;
  border-bottom: 1px solid rgba(255,255,255,0.055);
  background: rgba(255,255,255,0.013);
}
@media (max-width: 899px) { .cc-freq-bar { display: none; } }
:root.light .cc-freq-bar { background: rgba(0,0,0,0.02); border-bottom-color: rgba(0,0,0,0.055); }

.cc-freq-inner {
  max-width: 1440px; margin: 0 auto; padding: 0 1.75rem;
  width: 100%; display: flex; align-items: stretch;
}

.cc-freq-logo-space {
  flex-shrink: 0; width: 208px;
  display: flex; align-items: center; padding-right: 1.5rem;
  border-right: 1px solid rgba(255,255,255,0.06);
}
:root.light .cc-freq-logo-space { border-right-color: rgba(0,0,0,0.05); }

.cc-freq-tagline {
  font-family: var(--font-mono); font-size: 0.4375rem; font-weight: 600;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--text-muted);
}

.cc-freq-section {
  position: relative; display: flex; align-items: center; padding: 0 0.875rem;
  cursor: default; transition: background 0.18s;
  border-right: 1px solid rgba(255,255,255,0.05);
}
:root.light .cc-freq-section { border-right-color: rgba(0,0,0,0.04); }
.cc-freq-section:hover { background: rgba(255,255,255,0.04); }
:root.light .cc-freq-section:hover { background: rgba(0,0,0,0.025); }

.cc-freq-section.is-active::after,
.cc-freq-section.is-hovered::after {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0;
  height: 1.5px; background: var(--section-color); border-radius: 1px 1px 0 0;
}
.cc-freq-label {
  display: flex; align-items: center; gap: 0.35rem;
  font-family: var(--font-mono); font-size: 0.4375rem; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--text-muted); transition: color 0.18s; white-space: nowrap; user-select: none;
}
.cc-freq-section:hover .cc-freq-label,
.cc-freq-section.is-active .cc-freq-label,
.cc-freq-section.is-hovered .cc-freq-label { color: var(--section-color); }

.cc-freq-dot {
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--section-color); opacity: 0.45;
  transition: opacity 0.18s, transform 0.2s; flex-shrink: 0;
}
.cc-freq-section:hover .cc-freq-dot,
.cc-freq-section.is-active .cc-freq-dot,
.cc-freq-section.is-hovered .cc-freq-dot { opacity: 1; transform: scale(1.35); }

.cc-freq-section--content   { --section-color: var(--c-content); }
.cc-freq-section--reviews   { --section-color: var(--c-reviews); }
.cc-freq-section--games     { --section-color: var(--c-games); }
.cc-freq-section--guides    { --section-color: var(--c-guides); }
.cc-freq-section--legal     { --section-color: var(--c-legal); }
.cc-freq-section--provinces { --section-color: var(--c-provinces); }
.cc-freq-section--compare   { --section-color: var(--c-compare); }
.cc-freq-section--rg        { --section-color: var(--c-rg); }

.cc-freq-right {
  margin-left: auto; display: flex; align-items: center; gap: 1.25rem;
  padding-left: 1rem; border-left: 1px solid rgba(255,255,255,0.05);
}
:root.light .cc-freq-right { border-left-color: rgba(0,0,0,0.04); }

.cc-freq-stat {
  font-family: var(--font-mono); font-size: 0.4375rem; font-weight: 600;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted);
  display: flex; align-items: center; gap: 0.375rem; white-space: nowrap;
}
.cc-freq-live-dot {
  width: 4px; height: 4px; border-radius: 50%;
  background: var(--c-content); animation: ccFreqPulse 2s ease-in-out infinite;
}
@keyframes ccFreqPulse { 0%,100% { opacity:1; } 50% { opacity:0.3; } }

/* ────────────────────────────────────────────────────────────
   ROW 2 — Logo + Nav + Controls (48 px)
──────────────────────────────────────────────────────────── */
.cc-header-inner {
  max-width: 1440px; margin: 0 auto; padding: 0 1.75rem;
  height: 48px; display: flex; align-items: center; gap: 0;
}
/* Logo size within slim nav row */
.cc-header-inner .cc-logo__img { height: 44px; }

.cc-logo { font-family: var(--font-display); font-weight: 900; font-size: 1.375rem; letter-spacing: -0.02em; white-space: nowrap; flex-shrink: 0; }
.cc-logo-accent { color: var(--gold); }

/* ── Desktop nav ── */
.cc-nav { display: none; align-items: stretch; height: 100%; flex: 1; margin-left: 2rem; }
@media (min-width:900px) { .cc-nav { display: flex; } }

/* Section wrappers — position:relative so ::after underline works */
.cc-ndsec {
  position: relative; display: flex; align-items: center; height: 100%;
}
.cc-ndsec + .cc-ndsec { border-left: 1px solid rgba(255,255,255,0.065); }
:root.light .cc-ndsec + .cc-ndsec { border-left-color: rgba(0,0,0,0.06); }

/* Bottom underline — sweeps left-to-right, section colour */
.cc-ndsec::after {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px;
  background: var(--section-color, transparent);
  transform: scaleX(0); transform-origin: left center;
  transition: transform 0.24s cubic-bezier(0.4,0,0.2,1);
  border-radius: 2px 2px 0 0;
}
.cc-ndsec:hover::after  { transform: scaleX(1); }
.cc-ndsec.is-active::after { transform: scaleX(1); }

.cc-ndsec--content   { --section-color: var(--c-content); }
.cc-ndsec--reviews   { --section-color: var(--c-reviews); }
.cc-ndsec--games     { --section-color: var(--c-games); }
.cc-ndsec--guides    { --section-color: var(--c-guides); }
.cc-ndsec--legal     { --section-color: var(--c-legal); }
.cc-ndsec--provinces { --section-color: var(--c-provinces); }
.cc-ndsec--compare   { --section-color: var(--c-compare); }
.cc-ndsec--rg        { --section-color: var(--c-rg); }

/* Nav links */
.cc-nav-link {
  display: flex; align-items: center; gap: 4px;
  padding: 0 1rem; height: 100%;
  font-size: 0.8125rem; font-weight: 600; color: var(--text-secondary);
  text-decoration: none; white-space: nowrap;
  cursor: pointer; background: none; border: none; font-family: inherit;
  transition: color 0.16s, background 0.16s;
}
.cc-nav-link:hover {
  color: var(--section-color, var(--text-primary));
  background: rgba(255,255,255,0.03);
}
:root.light .cc-nav-link:hover { background: rgba(0,0,0,0.03); }
.cc-ndsec.is-active .cc-nav-link { color: var(--section-color, var(--gold)); }
.cc-nav-link.active { color: var(--gold); }
.cc-nav-link--mega { display: flex !important; align-items: center; gap: 2px; cursor: pointer; }

/* Chevron-only toggle button that sits beside a nav link <a> */
.cc-nav-chevron {
  display: flex; align-items: center; justify-content: center;
  width: 22px; height: 100%; flex-shrink: 0;
  background: none; border: none; cursor: pointer; padding: 0;
  color: var(--text-secondary);
  transition: color 0.16s;
}
.cc-nav-chevron:hover { color: var(--section-color, var(--text-primary)); }
.cc-ndsec.is-active .cc-nav-chevron { color: var(--section-color, var(--gold)); }

/* VS + live-dot (kept for mobile) */
.cc-vs-pill { font-family: var(--font-mono); font-size: 0.625rem; font-weight: 700; letter-spacing: 0.05em; padding: 0.125rem 0.4rem; background: var(--gold-dim); border: 1px solid var(--gold-border); color: var(--gold); border-radius: 4px; }
.cc-live-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--emerald); animation: ccPulse 2s ease-in-out infinite; display: inline-block; flex-shrink: 0; }
@keyframes ccPulse { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:0.5; transform:scale(0.8); } }

/* ── Right controls ── */
.cc-header-controls {
  display: flex; align-items: center; gap: 0.25rem; flex-shrink: 0;
  margin-left: auto; padding-left: 1.25rem;
  border-left: 1px solid rgba(255,255,255,0.065); height: 100%;
}
:root.light .cc-header-controls { border-left-color: rgba(0,0,0,0.06); }
.cc-icon-btn { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border-radius: 10px; color: var(--text-secondary); transition: var(--transition); background: none; border: none; cursor: pointer; }
.cc-icon-btn:hover { color: var(--text-primary); background: var(--bg-glass); }

/* ─────────────────────────────────────────────────────────────
   MOBILE NAV
───────────────────────────────────────────────────────────── */
.cc-mobile-nav {
  display: none; position: absolute; top: 74px; left: 0; right: 0;
  background: var(--bg-card); border-bottom: 1px solid var(--border-subtle);
  padding: 1.25rem 1.5rem; flex-direction: column; gap: 0.25rem;
  z-index: 99; box-shadow: 0 8px 32px rgba(0,0,0,0.3);
}
.cc-mobile-nav.is-open { display: flex; }
@media (min-width:900px) { .cc-mobile-nav { display: none !important; } }
.cc-mobile-nav-link {
  font-size: 0.9rem; font-weight: 600; color: var(--text-secondary);
  padding: 0.625rem 0.75rem; border-radius: 8px; transition: var(--transition);
  display: flex; align-items: center; gap: 0.5rem; text-decoration: none;
}
.cc-mobile-nav-link:hover { color: var(--text-primary); background: var(--bg-glass); }
.cc-mobile-nav-link--active { color: var(--gold); }

/* ═══════════════════════════════════════════════════════════════
   CONCEPT D — FULL-WIDTH MEGA PANELS
   position:absolute relative to .cc-header (position:sticky)
   top:74px = below freq bar (26px) + nav row (48px)
═══════════════════════════════════════════════════════════════ */
.cc-mega-panel-d {
  display: none;
  position: absolute; top: 74px; left: 0; right: 0;
  background: rgba(9,10,18,0.98);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  border-bottom: 1px solid rgba(255,255,255,0.07);
  box-shadow: 0 24px 72px rgba(0,0,0,0.65), 0 0 0 1px rgba(255,255,255,0.03) inset;
  z-index: 99; overflow: hidden;
}
.cc-mega-panel-d.is-open { display: block; }

/* Coloured top accent stripe */
.cc-mega-panel-d::before {
  content: ''; display: block; height: 2px;
  background: var(--panel-color, var(--gold));
}
:root.light .cc-mega-panel-d {
  background: rgba(244,246,249,0.99);
  border-bottom-color: rgba(0,0,0,0.07);
  box-shadow: 0 24px 72px rgba(0,0,0,0.1), 0 0 0 1px rgba(0,0,0,0.04) inset;
}
:root.light .cc-mega-panel-d::before { opacity: 0.8; }

/* Centred inner layout */
.cc-mega-d__inner {
  max-width: 1440px; margin: 0 auto; padding: 1.875rem 1.75rem;
  display: flex; gap: 2.5rem; align-items: flex-start;
}
.cc-mega-d__col { flex: 1; min-width: 0; }
.cc-mega-d__col--sm { flex: 0 0 170px; }
.cc-mega-d__col--feature {
  flex: 0 0 238px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-left: 3px solid var(--panel-color, var(--gold));
  border-radius: 0 12px 12px 0;
  padding: 1.25rem;
}
:root.light .cc-mega-d__col--feature {
  background: rgba(0,0,0,0.025);
  border-color: rgba(0,0,0,0.07);
  border-left-color: var(--panel-color, var(--gold));
}

/* Section heading inside mega */
.cc-mega-d__heading {
  display: flex; align-items: center; gap: 0.5rem;
  font-family: var(--font-mono); font-size: 0.5rem; font-weight: 700;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--panel-color, var(--text-muted)); opacity: 0.85;
  margin-bottom: 0.75rem; padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
:root.light .cc-mega-d__heading { border-bottom-color: rgba(0,0,0,0.06); }
.cc-mega-d__heading::after {
  content: ''; flex: 1; height: 1px;
  background: linear-gradient(90deg, rgba(255,255,255,0.07), transparent);
}
:root.light .cc-mega-d__heading::after {
  background: linear-gradient(90deg, rgba(0,0,0,0.06), transparent);
}

/* Links inside mega panels */
.cc-mega-d__link {
  display: flex; align-items: center; gap: 0.625rem;
  padding: 0.475rem 0.5rem; border-radius: 8px;
  text-decoration: none; color: var(--text-secondary);
  font-size: 0.8125rem; font-weight: 600;
  transition: all 0.14s; margin-bottom: 1px; position: relative;
}
.cc-mega-d__link::before {
  content: ''; position: absolute; left: 0; top: 20%; bottom: 20%;
  width: 2px; border-radius: 1px;
  background: var(--panel-color, var(--gold));
  opacity: 0; transition: opacity 0.14s;
}
.cc-mega-d__link:hover { background: rgba(255,255,255,0.05); color: var(--text-primary); padding-left: 0.75rem; }
:root.light .cc-mega-d__link:hover { background: rgba(0,0,0,0.04); }
.cc-mega-d__link:hover::before { opacity: 1; }

.cc-mega-d__link-icon {
  width: 30px; height: 30px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  font-size: 0.9rem; flex-shrink: 0;
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.06);
  overflow: hidden;
}
:root.light .cc-mega-d__link-icon { background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.06); }

.cc-mega-d__link-body { display: flex; flex-direction: column; gap: 1px; }
.cc-mega-d__link-sub { font-size: 0.6875rem; font-weight: 400; color: var(--text-muted); }
.cc-mega-d__link-badge {
  margin-left: auto; font-family: var(--font-mono); font-size: 0.5rem; font-weight: 700;
  padding: 0.12rem 0.38rem; border-radius: 4px;
  background: rgba(255,255,255,0.07); color: var(--text-muted); flex-shrink: 0;
}
:root.light .cc-mega-d__link-badge { background: rgba(0,0,0,0.05); }

/* Feature card components */
.cc-mega-d__feat-eyebrow {
  font-family: var(--font-mono); font-size: 0.475rem; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--panel-color, var(--gold)); margin-bottom: 0.5rem; opacity: 0.85;
}
.cc-mega-d__feat-title {
  font-family: var(--font-display); font-size: 1.0625rem; font-weight: 700;
  line-height: 1.2; margin-bottom: 0.5rem; color: var(--text-primary);
}
.cc-mega-d__feat-body { font-size: 0.75rem; color: var(--text-muted); line-height: 1.55; }
.cc-mega-d__feat-cta {
  display: inline-flex; align-items: center; gap: 0.3rem;
  margin-top: 0.875rem; padding: 0.5rem 0.875rem;
  background: var(--panel-color, var(--gold)); color: #07090F;
  font-size: 0.75rem; font-weight: 800; border-radius: 7px;
  text-decoration: none; white-space: nowrap;
  transition: opacity 0.15s, transform 0.15s;
}
.cc-mega-d__feat-cta:hover { opacity: 0.88; transform: translateY(-1px); }

/* Province grid inside mega */
.cc-mega-d__provgrid { display: grid; grid-template-columns: repeat(3,1fr); gap: 2px; }
.cc-mega-d__prov {
  display: flex; align-items: center; gap: 0.4rem;
  padding: 0.375rem 0.5rem; border-radius: 7px;
  text-decoration: none; color: var(--text-secondary);
  font-size: 0.775rem; font-weight: 600; transition: all 0.13s; position: relative;
}
.cc-mega-d__prov::before {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0;
  width: 2px; border-radius: 1px; background: var(--c-provinces);
  opacity: 0; transition: opacity 0.13s;
}
.cc-mega-d__prov:hover { background: rgba(255,255,255,0.05); color: var(--text-primary); padding-left: 0.75rem; }
:root.light .cc-mega-d__prov:hover { background: rgba(0,0,0,0.04); }
.cc-mega-d__prov:hover::before { opacity: 1; }
.cc-mega-d__prov-code {
  font-family: var(--font-mono); font-size: 0.5875rem; font-weight: 700;
  min-width: 22px; flex-shrink: 0;
}

/* ─────────────────────────────────────────────────────────────
   GAMES MEGA — featured tile + category pills (content kept)
───────────────────────────────────────────────────────────── */
/* Featured game tile */
.cc-mega-games-featured {
  display: flex; flex-direction: column; gap: 0; align-self: start;
  background: var(--bg-elevated); border: 1px solid var(--border-subtle);
  border-radius: 12px; text-decoration: none;
  position: relative; overflow: hidden; transition: border-color .2s, box-shadow .2s, transform .2s;
}
.cc-mega-games-featured:hover { border-color: var(--border-mid); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.35); }
.cc-mega-games-featured__badge {
  position: absolute; top: 0.5rem; left: 0.5rem; z-index: 3;
  display: inline-flex; align-items: center; gap: 0.375rem;
  font-size: 0.5625rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--gold); background: rgba(0,0,0,0.6); backdrop-filter: blur(6px);
  padding: 0.2rem 0.5rem; border-radius: 4px;
}
.cc-mega-games-featured__pulse {
  width: 5px; height: 5px; border-radius: 50%; background: var(--gold);
  animation: cc-mega-pulse 2s ease-in-out infinite;
}
@keyframes cc-mega-pulse {
  0%,100% { opacity:1; box-shadow:0 0 0 0 rgba(245,200,66,0.4); }
  50% { opacity:0.7; box-shadow:0 0 0 4px rgba(245,200,66,0); }
}
.cc-mega-games-featured__thumb { position: relative; aspect-ratio: 16/10; overflow: hidden; background: var(--bg-card); }
.cc-mega-games-featured__thumb img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; display: block; transition: transform .4s ease; }
.cc-mega-games-featured:hover .cc-mega-games-featured__thumb img { transform: scale(1.05); }
.cc-mega-games-featured__thumb-veil { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 50%); pointer-events: none; }
.cc-mega-games-featured__thumb-prov { display: none; }
.cc-mega-games-featured__body { padding: 0.625rem 0.75rem; display: flex; flex-direction: column; gap: 0.3rem; }
.cc-mega-games-featured__name { font-size: 0.8125rem; font-weight: 700; color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cc-mega-games-featured__meta { display: flex; align-items: center; gap: 0.375rem; }
.cc-mega-games-featured__vol { font-size: 0.5rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; padding: 0.125rem 0.375rem; border-radius: 4px; background: rgba(16,185,129,0.12); color: #10b981; border: 1px solid rgba(16,185,129,0.2); }
.cc-mega-games-featured__rtp { font-family: var(--font-mono); font-size: 0.5625rem; font-weight: 700; padding: 0.1rem 0.35rem; border-radius: 4px; background: rgba(255,255,255,0.05); color: var(--text-secondary); }
.cc-mega-games-featured__rating { margin-left: auto; font-size: 0.6875rem; font-weight: 800; color: var(--gold); }

/* Category pill grid */
.cc-mega-games-catgrid { display: grid; grid-template-columns: repeat(3,1fr); gap: 0.5rem; }
.cc-mega-games-pill {
  display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; border-radius: 8px;
  background: var(--bg-glass); border: 1px solid transparent;
  text-decoration: none; transition: all .18s; position: relative; overflow: hidden;
}
.cc-mega-games-pill:hover { background: var(--bg-glass-hover); border-color: rgba(255,255,255,0.06); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,0.15); }
.cc-mega-games-pill::before { content: ''; position: absolute; left: 0; top: 18%; bottom: 18%; width: 3px; border-radius: 0 3px 3px 0; background: var(--pill-c); opacity: 0; transition: opacity .18s; }
.cc-mega-games-pill:hover::before { opacity: 1; }
.cc-mega-games-pill__icon { width: 28px; height: 28px; border-radius: 7px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.cc-mega-games-pill__body { display: flex; flex-direction: column; min-width: 0; }
.cc-mega-games-pill__name { font-size: 0.75rem; font-weight: 600; color: var(--text-primary); white-space: nowrap; }
.cc-mega-games-pill__count { font-size: 0.5625rem; color: var(--text-muted); font-family: var(--font-mono); }

/* Quick links */
.cc-mega-games-quick { display: flex; flex-direction: column; gap: 0.125rem; }
.cc-mega-quick {
  display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem;
  border-radius: 8px; text-decoration: none; transition: background .15s;
  font-size: 0.8125rem; font-weight: 600; color: var(--text-secondary);
}
.cc-mega-quick:hover { background: var(--bg-glass-hover); color: var(--text-primary); }
.cc-mega-quick__icon { font-size: 1rem; width: 1.25rem; text-align: center; }
.cc-mega-quick em { font-style: italic; font-weight: 400; color: var(--text-muted); font-size: 0.75rem; }

/* ─────────────────────────────────────────────────────────────
   PROVIDER LOGO CONTAINERS — logo-only, clean pill style
───────────────────────────────────────────────────────────── */
.cc-mega-games-row2 {
  display: flex; align-items: center; gap: 0.75rem;
  margin-top: 1.25rem; padding: 1rem 1.75rem 1.625rem;
  max-width: 1440px; margin-left: auto; margin-right: auto;
  border-top: 1px solid rgba(255,255,255,0.065);
}
:root.light .cc-mega-games-row2 { border-top-color: rgba(0,0,0,0.06); }
.cc-mega-games-row2__label {
  font-family: var(--font-mono); font-size: 0.5rem; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-muted);
  white-space: nowrap; display: flex; align-items: center; gap: 4px; flex-shrink: 0;
}
.cc-mega-games-providers { display: flex; align-items: center; gap: 0.625rem; flex: 1; }

/* Provider container — logo only, no count text */
.cc-mega-games-prov {
  display: flex; align-items: center; justify-content: center;
  height: 44px; padding: 0 1.125rem;
  border-radius: 10px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  text-decoration: none; transition: all .2s; flex-shrink: 0;
}
.cc-mega-games-prov:hover {
  background: rgba(255,255,255,0.09); border-color: rgba(168,85,247,0.35);
  transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0,0,0,0.25), 0 0 0 1px rgba(168,85,247,0.15);
}
.cc-mega-games-prov__logo {
  height: 24px; display: flex; align-items: center; justify-content: center;
}
.cc-mega-games-prov__logo img {
  height: 100%; width: auto; max-width: 110px;
  object-fit: contain; display: block;
  filter: brightness(0.88) saturate(0.75);
  transition: filter .2s;
}
.cc-mega-games-prov:hover .cc-mega-games-prov__logo img {
  filter: brightness(1.1) saturate(1.05);
}
.cc-mega-games-prov__fallback {
  font-family: var(--font-mono); font-size: 0.5625rem; font-weight: 700;
  color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.04em;
}
.cc-mega-games-row2__all {
  font-size: 0.6875rem; font-weight: 700; color: var(--c-games);
  text-decoration: none; white-space: nowrap; margin-left: auto; flex-shrink: 0;
  display: flex; align-items: center; gap: 0.25rem; transition: color .15s;
}
.cc-mega-games-row2__all:hover { color: #c084fc; }

/* Light mode — provider containers */
:root.light .cc-mega-games-prov { background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.08); }
:root.light .cc-mega-games-prov:hover { background: rgba(168,85,247,0.06); border-color: rgba(168,85,247,0.25); box-shadow: 0 6px 18px rgba(0,0,0,0.08); }
:root.light .cc-mega-games-prov__logo img { filter: brightness(0); }
:root.light .cc-mega-games-prov:hover .cc-mega-games-prov__logo img { filter: brightness(0); }
:root.light .cc-mega-games-featured { background: #f8fafc; border-color: rgba(0,0,0,0.08); }
:root.light .cc-mega-games-featured:hover { border-color: rgba(0,0,0,0.15); box-shadow: 0 8px 24px rgba(0,0,0,0.1); }
:root.light .cc-mega-games-featured__badge { background: rgba(0,0,0,0.55); }
:root.light .cc-mega-games-featured__vol { background: rgba(16,185,129,0.1); }
:root.light .cc-mega-games-featured__rtp { background: rgba(0,0,0,0.04); }
:root.light .cc-mega-games-pill { background: rgba(0,0,0,0.025); }
:root.light .cc-mega-games-pill:hover { background: rgba(0,0,0,0.05); border-color: rgba(0,0,0,0.06); box-shadow: 0 4px 12px rgba(0,0,0,0.06); }

/* ─────────────────────────────────────────────────────────────
   GUIDES MEGA — guide list items
───────────────────────────────────────────────────────────── */
.cc-mega-guide-item { display: flex; align-items: center; gap: 0.625rem; padding: 0.5rem; border-radius: 8px; transition: background .15s; text-decoration: none; }
.cc-mega-guide-item:hover { background: var(--bg-glass-hover); }
:root.light .cc-mega-guide-item:hover { background: rgba(0,0,0,0.04); }
.cc-mega-guide-item--locked { opacity: 0.35; pointer-events: none; }
.cc-mega-guide-item__icon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cc-mega-guide-item__icon--locked { background: var(--bg-glass) !important; color: var(--text-muted) !important; }
.cc-mega-guide-item__body { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.cc-mega-guide-item__title { font-size: 0.8125rem; font-weight: 600; color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cc-mega-guide-item__title--locked { color: var(--text-muted); }
.cc-mega-guide-item__meta { display: flex; align-items: center; gap: 0.5rem; }
.cc-mega-guide-item__cat { font-size: 0.625rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; }
.cc-mega-guide-item__time { font-size: 0.625rem; color: var(--text-muted); }

/* ═══════════════════════════════════════════════════════════════
   RESPONSIBLE GAMING MEGA PANEL — Concept B: The Sanctuary
   3-column layout: Hub overview | Tool card grid | Support + Orgs
═══════════════════════════════════════════════════════════════ */

/* ── Editorial statement strip ── */
.cc-mega-rg-strip {
  background: linear-gradient(135deg, rgba(16,185,129,0.08) 0%, rgba(16,185,129,0.025) 60%, transparent 100%);
  border-bottom: 1px solid rgba(16,185,129,0.1);
  padding: 0.75rem 0;
}
:root.light .cc-mega-rg-strip {
  background: linear-gradient(135deg, rgba(16,185,129,0.06) 0%, transparent 100%);
  border-bottom-color: rgba(16,185,129,0.12);
}
.cc-mega-rg-strip__inner {
  max-width: 1440px; margin: 0 auto; padding: 0 1.75rem;
  display: flex; align-items: center; justify-content: space-between; gap: 2rem;
}
.cc-mega-rg-strip__left {
  display: flex; align-items: center; gap: 0.75rem; flex: 1; min-width: 0;
}
.cc-mega-rg-strip__icon {
  width: 30px; height: 30px; flex-shrink: 0; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(16,185,129,0.12); border: 1px solid rgba(16,185,129,0.25);
}
.cc-mega-rg-strip__icon svg { width: 15px; height: 15px; stroke: var(--c-rg); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.cc-mega-rg-strip__text {
  font-family: var(--font-display); font-size: 0.875rem; font-weight: 700;
  font-style: italic; color: var(--text-primary); letter-spacing: -0.01em; line-height: 1.3;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.cc-mega-rg-strip__text em { font-style: normal; color: var(--c-rg); }
.cc-mega-rg-strip__badges { display: flex; align-items: center; gap: 0.375rem; flex-shrink: 0; }
.cc-mega-rg-sbadge {
  display: flex; align-items: center; gap: 0.3rem;
  padding: 0.2rem 0.5rem; border-radius: 20px;
  font-family: var(--font-mono); font-size: 0.4375rem; font-weight: 700;
  letter-spacing: 0.11em; text-transform: uppercase; white-space: nowrap;
  background: var(--bg-glass); border: 1px solid var(--border-subtle);
  color: var(--text-muted);
}
.cc-mega-rg-sbadge--active {
  background: rgba(16,185,129,0.09); border-color: rgba(16,185,129,0.22); color: var(--c-rg);
}
.cc-mega-rg-sbadge__dot { width: 4px; height: 4px; border-radius: 50%; background: currentColor; }

/* ── 3-column body layout ── */
.cc-mega-rg-body {
  max-width: 1440px; margin: 0 auto; padding: 0 1.75rem;
  display: grid; grid-template-columns: 296px 1fr 286px;
  gap: 0;
}
.cc-mega-rg-col {
  padding: 1.5rem 1.625rem 1.875rem;
  border-right: 1px solid rgba(255,255,255,0.055);
}
:root.light .cc-mega-rg-col { border-right-color: rgba(0,0,0,0.055); }
.cc-mega-rg-col:first-child { padding-left: 0; }
.cc-mega-rg-col:last-child  { border-right: none; padding-right: 0; }

/* ── Col 1: Hub feature card ── */
.cc-mega-rg-hub {
  background: linear-gradient(145deg, rgba(16,185,129,0.07) 0%, rgba(16,185,129,0.015) 70%, transparent 100%);
  border: 1px solid rgba(16,185,129,0.15); border-radius: 12px;
  padding: 1.125rem; margin-bottom: 0.875rem; position: relative; overflow: hidden;
}
:root.light .cc-mega-rg-hub {
  background: linear-gradient(145deg, rgba(16,185,129,0.06) 0%, transparent 100%);
  border-color: rgba(16,185,129,0.18);
}
.cc-mega-rg-hub::after {
  content: ''; position: absolute; top: -24px; right: -24px;
  width: 100px; height: 100px;
  background: radial-gradient(circle, rgba(16,185,129,0.11) 0%, transparent 70%);
  pointer-events: none;
}
.cc-mega-rg-hub__eyebrow {
  font-family: var(--font-mono); font-size: 0.4375rem; font-weight: 700;
  letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-rg);
  margin-bottom: 0.4rem; display: flex; align-items: center; gap: 0.375rem;
}
.cc-mega-rg-hub__dot {
  width: 5px; height: 5px; border-radius: 50%; background: var(--c-rg);
  animation: ccFreqPulse 2s ease-in-out infinite;
}
.cc-mega-rg-hub__title {
  font-family: var(--font-display); font-size: 1.0625rem; font-weight: 800;
  line-height: 1.22; margin-bottom: 0.425rem; color: var(--text-primary);
  position: relative; z-index: 1;
}
.cc-mega-rg-hub__desc {
  font-size: 0.6875rem; color: var(--text-secondary); line-height: 1.55;
  margin-bottom: 0.875rem; position: relative; z-index: 1;
}
.cc-mega-rg-hub__cta {
  display: inline-flex; align-items: center; gap: 0.375rem;
  padding: 0.4rem 0.75rem; border-radius: 7px;
  background: rgba(16,185,129,0.13); border: 1px solid rgba(16,185,129,0.28);
  font-size: 0.6875rem; font-weight: 700; color: var(--c-rg);
  text-decoration: none; transition: background 0.15s, transform 0.14s;
  position: relative; z-index: 1;
}
.cc-mega-rg-hub__cta:hover { background: rgba(16,185,129,0.22); transform: translateX(2px); }
.cc-mega-rg-hub__cta svg { width: 11px; height: 11px; stroke: currentColor; fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }

/* Stat tiles 2x2 */
.cc-mega-rg-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem; margin-bottom: 0.75rem; }
.cc-mega-rg-stat {
  background: var(--bg-card); border: 1px solid var(--border-subtle);
  border-radius: 9px; padding: 0.5rem 0.625rem;
}
:root.light .cc-mega-rg-stat { background: rgba(0,0,0,0.03); }
.cc-mega-rg-stat__num {
  font-family: var(--font-display); font-size: 1.0625rem; font-weight: 800;
  color: var(--c-rg); line-height: 1; margin-bottom: 0.175rem;
}
.cc-mega-rg-stat__label { font-size: 0.5625rem; color: var(--text-muted); line-height: 1.35; }

/* PGSI teaser strip */
.cc-mega-rg-pgsi {
  display: block; text-decoration: none;
  background: rgba(245,200,66,0.05); border: 1px solid rgba(245,200,66,0.14);
  border-radius: 9px; padding: 0.625rem 0.75rem;
  transition: background 0.15s, border-color 0.15s;
}
:root.light .cc-mega-rg-pgsi { background: rgba(245,200,66,0.06); }
.cc-mega-rg-pgsi:hover { background: rgba(245,200,66,0.09); border-color: rgba(245,200,66,0.24); }
.cc-mega-rg-pgsi__eyebrow {
  font-family: var(--font-mono); font-size: 0.4375rem; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold);
  margin-bottom: 0.25rem;
}
.cc-mega-rg-pgsi__title { font-size: 0.75rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.175rem; }
.cc-mega-rg-pgsi__sub { font-size: 0.625rem; color: var(--text-muted); line-height: 1.45; }
.cc-mega-rg-pgsi__cta {
  display: inline-flex; align-items: center; gap: 0.25rem; margin-top: 0.425rem;
  font-size: 0.625rem; font-weight: 700; color: var(--gold);
}
.cc-mega-rg-pgsi__cta svg { width: 10px; height: 10px; stroke: currentColor; fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }

/* ── Col 2: Tool card grid (3x2) ── */
.cc-mega-rg-toolcols {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem;
}
.cc-mega-rg-toolcard {
  display: flex; flex-direction: column; gap: 0.4rem;
  padding: 0.875rem 0.75rem; border-radius: 11px; text-decoration: none;
  background: var(--bg-card); border: 1px solid var(--border-subtle);
  position: relative; overflow: hidden;
  transition: border-color 0.15s, background 0.15s, transform 0.14s, box-shadow 0.15s;
}
:root.light .cc-mega-rg-toolcard { background: rgba(0,0,0,0.025); }
.cc-mega-rg-toolcard::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: var(--tc, var(--c-rg));
  transform: scaleX(0); transform-origin: left;
  transition: transform 0.2s cubic-bezier(0.4,0,0.2,1);
}
.cc-mega-rg-toolcard:hover { border-color: rgba(255,255,255,0.1); background: var(--bg-glass-hover); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,0.25); }
:root.light .cc-mega-rg-toolcard:hover { border-color: rgba(0,0,0,0.1); box-shadow: 0 4px 14px rgba(0,0,0,0.08); }
.cc-mega-rg-toolcard:hover::before { transform: scaleX(1); }
.cc-mega-rg-toolcard__icon {
  width: 30px; height: 30px; border-radius: 8px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(var(--tc-rgb, 16,185,129), 0.11);
  border: 1px solid rgba(var(--tc-rgb, 16,185,129), 0.22);
}
.cc-mega-rg-toolcard__icon svg { width: 14px; height: 14px; stroke: var(--tc, var(--c-rg)); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.cc-mega-rg-toolcard__name { font-size: 0.75rem; font-weight: 700; color: var(--text-primary); line-height: 1.2; }
.cc-mega-rg-toolcard__desc { font-size: 0.625rem; color: var(--text-muted); line-height: 1.45; flex: 1; }
.cc-mega-rg-toolcard__badge {
  display: inline-flex; align-items: center; align-self: flex-start;
  padding: 0.14rem 0.375rem; border-radius: 4px;
  font-family: var(--font-mono); font-size: 0.4rem; font-weight: 700;
  letter-spacing: 0.09em; text-transform: uppercase;
  background: rgba(var(--tc-rgb, 16,185,129), 0.1);
  color: var(--tc, var(--c-rg));
}

/* Tool grid footer bar */
.cc-mega-rg-toolfoot {
  margin-top: 0.75rem; padding-top: 0.75rem;
  border-top: 1px solid var(--border-subtle);
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
}
.cc-mega-rg-toolfoot__msg { font-size: 0.625rem; color: var(--text-muted); line-height: 1.45; }
.cc-mega-rg-toolfoot__msg strong { color: var(--text-secondary); font-weight: 600; }
.cc-mega-rg-toolfoot__cta {
  display: inline-flex; align-items: center; gap: 0.3rem; flex-shrink: 0;
  padding: 0.35rem 0.625rem; border-radius: 7px;
  background: rgba(16,185,129,0.09); border: 1px solid rgba(16,185,129,0.2);
  font-size: 0.625rem; font-weight: 700; color: var(--c-rg);
  text-decoration: none; white-space: nowrap;
  transition: background 0.14s;
}
.cc-mega-rg-toolfoot__cta:hover { background: rgba(16,185,129,0.16); }
.cc-mega-rg-toolfoot__cta svg { width: 10px; height: 10px; stroke: currentColor; fill: none; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }

/* Resource logo strip */
.cc-mega-rg-reslogos {
  display: flex; align-items: center; gap: 0.75rem;
  margin-top: 0.875rem; padding-top: 0.75rem;
  border-top: 1px solid var(--border-subtle);
}
.cc-mega-rg-reslogo {
  display: flex; align-items: center; justify-content: center;
  flex: 1; height: 32px; padding: 0.25rem 0.5rem; border-radius: 7px;
  background: var(--bg-glass); border: 1px solid var(--border-subtle);
  transition: background 0.15s, border-color 0.15s, transform 0.14s;
  overflow: hidden;
}
:root.light .cc-mega-rg-reslogo { background: rgba(0,0,0,0.03); }
.cc-mega-rg-reslogo:hover { background: var(--bg-glass-hover); border-color: rgba(255,255,255,0.1); transform: translateY(-1px); }
:root.light .cc-mega-rg-reslogo:hover { background: rgba(0,0,0,0.055); border-color: rgba(0,0,0,0.1); }
.cc-mega-rg-reslogo img { max-height: 22px; width: auto; max-width: 100%; object-fit: contain; display: block; filter: brightness(0.85) saturate(0.9); transition: filter 0.15s; }
.cc-mega-rg-reslogo:hover img { filter: brightness(1) saturate(1); }
:root.light .cc-mega-rg-reslogo img { filter: none; }

/* ── Col 3: SOS / Support ── */
.cc-mega-rg-sos {
  background: rgba(239,68,68,0.05); border: 1px solid rgba(239,68,68,0.16);
  border-radius: 11px; padding: 0.875rem 1rem;
  margin-bottom: 0.625rem; position: relative; overflow: hidden;
}
:root.light .cc-mega-rg-sos { background: rgba(239,68,68,0.04); border-color: rgba(239,68,68,0.18); }
.cc-mega-rg-sos::before {
  content: ''; position: absolute; top: 0; left: 0;
  width: 3px; height: 100%; background: #ef4444;
}
.cc-mega-rg-sos__label {
  font-family: var(--font-mono); font-size: 0.4375rem; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase; color: #ef4444;
  margin-bottom: 0.275rem; display: flex; align-items: center; gap: 0.35rem;
}
.cc-mega-rg-sos-dot {
  width: 5px; height: 5px; border-radius: 50%; background: #ef4444;
  animation: ccFreqPulse 1.8s ease-in-out infinite;
}
.cc-mega-rg-sos__name { font-size: 0.8125rem; font-weight: 800; color: var(--text-primary); margin-bottom: 0.1rem; }
.cc-mega-rg-sos__num {
  font-family: var(--font-display); font-size: 1.25rem; font-weight: 800;
  color: #ef4444; letter-spacing: -0.02em; line-height: 1.05; margin-bottom: 0.325rem;
}
.cc-mega-rg-sos__desc { font-size: 0.5875rem; color: var(--text-muted); line-height: 1.45; }

/* Hotline rows */
.cc-mega-rg-hotlines { display: flex; flex-direction: column; gap: 2px; margin-bottom: 0.875rem; }
.cc-mega-rg-hotline {
  display: flex; align-items: center; justify-content: space-between; gap: 0.5rem;
  padding: 0.4rem 0.5rem; border-radius: 7px;
  background: var(--bg-glass); border: 1px solid var(--border-subtle);
  text-decoration: none; transition: background 0.14s;
}
:root.light .cc-mega-rg-hotline { background: rgba(0,0,0,0.025); }
.cc-mega-rg-hotline:hover { background: var(--bg-glass-hover); }
.cc-mega-rg-hotline__name { font-size: 0.6875rem; font-weight: 600; color: var(--text-secondary); flex: 1; }
.cc-mega-rg-hotline__num {
  font-family: var(--font-mono); font-size: 0.5625rem; font-weight: 600;
  color: var(--text-muted); white-space: nowrap;
}

/* Org logo row */
.cc-mega-rg-orglabel {
  font-family: var(--font-mono); font-size: 0.4375rem; font-weight: 700;
  letter-spacing: 0.15em; text-transform: uppercase; color: var(--text-muted);
  margin-bottom: 0.5rem; display: flex; align-items: center; gap: 0.5rem;
}
.cc-mega-rg-orglabel::after { content: ''; flex: 1; height: 1px; background: var(--border-subtle); }
.cc-mega-rg-orgrow { display: flex; align-items: stretch; gap: 0.375rem; }
.cc-mega-rg-orgbtn {
  flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 0.5rem 0.25rem; gap: 0.3rem;
  background: var(--bg-card); border: 1px solid var(--border-subtle);
  border-radius: 9px; text-decoration: none;
  transition: background 0.14s, border-color 0.14s, transform 0.14s;
}
:root.light .cc-mega-rg-orgbtn { background: rgba(0,0,0,0.03); }
.cc-mega-rg-orgbtn:hover { background: var(--bg-glass-hover); border-color: rgba(255,255,255,0.1); transform: translateY(-2px); }
:root.light .cc-mega-rg-orgbtn:hover { background: rgba(0,0,0,0.05); border-color: rgba(0,0,0,0.1); }
.cc-mega-rg-orgbtn__mark {
  width: 26px; height: 26px; border-radius: 7px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 0.5rem; font-weight: 900; letter-spacing: -0.02em; color: #fff;
}
.cc-mega-rg-orgbtn__label {
  font-family: var(--font-mono); font-size: 0.375rem; font-weight: 700;
  letter-spacing: 0.09em; text-transform: uppercase; color: var(--text-muted);
  text-align: center; white-space: nowrap;
}

/* ── Trust bar ── */
.cc-mega-rg-trustbar {
  border-top: 1px solid rgba(255,255,255,0.055); background: rgba(255,255,255,0.012);
  padding: 0.5rem 0;
}
:root.light .cc-mega-rg-trustbar { border-top-color: rgba(0,0,0,0.05); background: rgba(0,0,0,0.015); }
.cc-mega-rg-trustbar__inner {
  max-width: 1440px; margin: 0 auto; padding: 0 1.75rem;
  display: flex; align-items: center; gap: 0;
}
.cc-mega-rg-trustbar__label {
  font-family: var(--font-mono); font-size: 0.4rem; font-weight: 600;
  letter-spacing: 0.15em; text-transform: uppercase; color: var(--text-muted);
  flex-shrink: 0; margin-right: 1rem; white-space: nowrap;
}
.cc-mega-rg-trustbar__badges { display: flex; align-items: center; gap: 0.375rem; flex: 1; }
.cc-mega-rg-tbadge {
  display: flex; align-items: center; gap: 0.3rem;
  padding: 0.175rem 0.5rem; border-radius: 5px;
  background: var(--bg-glass); border: 1px solid var(--border-subtle);
  font-family: var(--font-mono); font-size: 0.4rem; font-weight: 700;
  letter-spacing: 0.09em; text-transform: uppercase; color: var(--text-muted);
  white-space: nowrap;
}
.cc-mega-rg-tbadge__dot { width: 4px; height: 4px; border-radius: 50%; background: var(--c-rg); opacity: 0.6; }
.cc-mega-rg-trustbar__tagline {
  margin-left: auto; flex-shrink: 0;
  font-family: var(--font-mono); font-size: 0.4rem; font-weight: 600;
  letter-spacing: 0.11em; text-transform: uppercase; color: var(--text-muted);
  display: flex; align-items: center; gap: 0.35rem;
}
.cc-mega-rg-trustbar__tagline svg { width: 10px; height: 10px; stroke: var(--c-rg); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; opacity: 0.7; }

/* Province items — backward compat */
.cc-mega-item { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem; border-radius: 8px; transition: background .15s; text-decoration: none; }
.cc-mega-item:hover { background: var(--bg-glass-hover); }
.cc-mega-item__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--mi-color); flex-shrink: 0; box-shadow: 0 0 6px var(--mi-color); }
.cc-mega-item__name { font-size: 0.8125rem; font-weight: 600; color: var(--text-primary); white-space: nowrap; }
.cc-mega-item__code { font-family: var(--font-mono); font-size: 0.625rem; font-weight: 700; color: var(--mi-color); background: rgba(255,255,255,0.04); padding: 0.1rem 0.3rem; border-radius: 3px; letter-spacing: 0.04em; }
.cc-mega-item__tag { font-size: 0.625rem; color: var(--text-muted); margin-left: auto; white-space: nowrap; }
:root.light .cc-mega-item__dot { box-shadow: none; }
:root.light .cc-mega-item__code { background: rgba(0,0,0,0.05); }

/* ─────────────────────────────────────────────────────────────
   MOBILE ACCORDION
───────────────────────────────────────────────────────────── */
@media (max-width:899px) { .cc-ndsec { display: none; } }
.cc-mobile-accordion-btn { cursor: pointer; background: none; border: none; font-family: inherit; width: 100%; text-align: left; }
.cc-mobile-prov-list { display: none; flex-direction: column; gap: 0.125rem; }
.cc-mobile-prov-list.is-open { display: flex; }
.cc-mobile-prov-item { font-size: 0.8125rem !important; }

/* ═══════════════════════════════════════════════════════════════
   COMMAND PALETTE — rich multi-content spotlight
═══════════════════════════════════════════════════════════════ */
.sbc-palette-overlay { position: fixed; inset: 0; z-index: 9000; display: flex; align-items: flex-start; justify-content: center; padding-top: 7vh; }
.sbc-palette-overlay[hidden] { display: none; }
.sbc-palette-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,0.72); backdrop-filter: blur(6px); }
.sbc-palette { position: relative; width: 100%; max-width: 680px; background: var(--bg-card); border: 1px solid var(--gold-border); border-radius: 20px; box-shadow: 0 32px 80px rgba(0,0,0,0.6), 0 0 0 1px rgba(245,200,66,0.06), var(--shadow-gold); overflow: hidden; margin: 0 1rem; animation: sbcIn 0.18s cubic-bezier(0.16,1,0.3,1) both; }
@keyframes sbcIn { from { opacity: 0; transform: scale(0.96) translateY(-8px); } to { opacity: 1; transform: none; } }
.sbc-palette-input-row { display: flex; align-items: center; gap: 0.75rem; padding: 1rem 1.25rem; border-bottom: 1px solid var(--border-subtle); }
.sbc-palette-input-icon { color: var(--text-muted); flex-shrink: 0; }
.sbc-palette-input { flex: 1; font-family: var(--font-sans); font-size: 1.0625rem; color: var(--text-primary); background: transparent; border: none; outline: none; }
.sbc-palette-input::placeholder { color: var(--text-muted); }
.sbc-palette-results { max-height: 500px; overflow-y: auto; padding: 0.5rem 0.625rem; }
.sbc-palette-section-label { display: flex; align-items: center; gap: 0.4rem; font-size: 0.5938rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-faint); padding: 0.625rem 0.5rem 0.25rem; }
/* quick nav pills */
.sbc-palette-quick-links { display: flex; flex-wrap: wrap; gap: 0.375rem; padding: 0.25rem 0.375rem 0.75rem; }
.sbc-palette-quick-link { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.8125rem; font-weight: 600; padding: 0.375rem 0.875rem; background: var(--bg-glass); border: 1px solid var(--border-subtle); border-radius: 100px; color: var(--text-secondary); transition: var(--transition); }
.sbc-palette-quick-link:hover, .sbc-palette-quick-link:focus { background: var(--gold-dim); border-color: var(--gold-border); color: var(--gold); outline: none; }
/* recent search pills */
.sbc-palette-recents { display: flex; flex-wrap: wrap; gap: 0.375rem; padding: 0.25rem 0.375rem 0.5rem; }
.sbc-recent-pill { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.75rem; font-weight: 500; padding: 0.25rem 0.5rem 0.25rem 0.75rem; background: var(--bg-glass); border: 1px solid var(--border-subtle); border-radius: 100px; color: var(--text-secondary); cursor: pointer; transition: var(--transition); user-select: none; }
.sbc-recent-pill:hover { border-color: var(--gold-border); color: var(--text-primary); }
.sbc-recent-pill__del { display: inline-flex; align-items: center; justify-content: center; width: 14px; height: 14px; border-radius: 50%; background: var(--bg-elevated); color: var(--text-faint); font-size: 9px; line-height: 1; flex-shrink: 0; transition: var(--transition); }
.sbc-recent-pill__del:hover { background: rgba(255,255,255,0.12); color: var(--text-primary); }
/* featured casino cards — zero state */
.sbc-featured-casinos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem; padding: 0.25rem 0.375rem 0.75rem; }
.sbc-featured-casino { display: flex; flex-direction: column; align-items: center; gap: 0.3rem; padding: 0.875rem 0.5rem 0.75rem; background: var(--bg-glass); border: 1px solid var(--border-subtle); border-radius: 12px; text-align: center; transition: var(--transition); text-decoration: none; }
.sbc-featured-casino:hover, .sbc-featured-casino:focus { background: var(--gold-dim); border-color: var(--gold-border); outline: none; transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0,0,0,0.2); }
.sbc-featured-casino__logo { width: 84px; height: 38px; display: flex; align-items: center; justify-content: center; }
.sbc-featured-casino__logo img { width: 100%; height: 100%; object-fit: contain; object-position: center; display: block; }
.sbc-featured-casino__name { font-size: 0.6875rem; font-weight: 700; color: var(--text-primary); line-height: 1.2; }
.sbc-featured-casino__rating { font-size: 0.6875rem; font-weight: 800; color: var(--gold); }
.sbc-featured-casino__bonus { font-size: 0.5625rem; color: var(--text-muted); line-height: 1.3; }
/* ── casino review results — rich cards ── */
.sbc-result-casino { display: flex; align-items: center; gap: 0.75rem; padding: 0.5rem 0.625rem; border-radius: 10px; border-left: 3px solid transparent; transition: var(--transition); text-decoration: none; }
.sbc-result-casino:hover, .sbc-result-casino:focus { background: var(--gold-dim); border-left-color: var(--gold); outline: none; }
.sbc-result-casino__logo { width: 58px; height: 32px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: var(--bg-glass); border: 1px solid var(--border-subtle); border-radius: 7px; padding: 4px; overflow: hidden; }
.sbc-result-casino__logo img { width: 100%; height: 100%; object-fit: contain; object-position: center; display: block; }
.sbc-result-casino__logo-fb { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: var(--gold); }
.sbc-result-casino__body { flex: 1; min-width: 0; }
.sbc-result-casino__name { font-size: 0.875rem; font-weight: 700; color: var(--text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sbc-result-casino__bonus { font-size: 0.625rem; color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 0.125rem; }
.sbc-result-casino__meta { display: flex; flex-direction: column; align-items: flex-end; gap: 0.1rem; flex-shrink: 0; }
.sbc-result-casino__rating { font-size: 0.875rem; font-weight: 800; color: var(--gold); line-height: 1; }
.sbc-result-casino__rating-sub { font-size: 0.5rem; font-weight: 600; color: var(--text-faint); letter-spacing: 0.04em; }
/* ── article results ── */
.sbc-result-article { display: flex; align-items: center; gap: 0.625rem; padding: 0.5rem 0.625rem; border-radius: 10px; border-left: 3px solid transparent; transition: var(--transition); text-decoration: none; }
.sbc-result-article:hover, .sbc-result-article:focus { background: var(--bg-glass); border-left-color: var(--border-subtle); outline: none; }
.sbc-result-article__icon { width: 30px; height: 30px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: var(--bg-glass); border: 1px solid var(--border-subtle); border-radius: 7px; color: var(--text-muted); }
.sbc-result-article__body { flex: 1; min-width: 0; }
.sbc-result-article__cat { font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; color: var(--text-faint); }
.sbc-result-article__title { font-size: 0.8125rem; font-weight: 600; color: var(--text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 0.1rem; }
.sbc-result-article__date { font-size: 0.5625rem; color: var(--text-faint); margin-top: 0.125rem; }
/* ── guide / game results ── */
.sbc-result-guide { display: flex; align-items: center; gap: 0.625rem; padding: 0.5rem 0.625rem; border-radius: 10px; border-left: 3px solid transparent; transition: var(--transition); text-decoration: none; }
.sbc-result-guide:hover, .sbc-result-guide:focus { background: var(--bg-glass); border-left-color: var(--border-subtle); outline: none; }
.sbc-result-guide__icon { width: 30px; height: 30px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: var(--bg-glass); border: 1px solid var(--border-subtle); border-radius: 7px; color: var(--text-muted); overflow: hidden; }
.sbc-result-guide__body { flex: 1; min-width: 0; }
.sbc-result-guide__cat { font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; color: var(--text-faint); }
.sbc-result-guide__title { font-size: 0.8125rem; font-weight: 600; color: var(--text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 0.1rem; }
.sbc-result-guide__badge { font-size: 0.5rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; padding: 0.1rem 0.375rem; border-radius: 4px; background: var(--bg-elevated); color: var(--text-faint); border: 1px solid var(--border-subtle); flex-shrink: 0; }
/* ── shared palette chrome ── */
.sbc-palette-footer { display: flex; align-items: center; gap: 0.875rem; padding: 0.625rem 1.25rem; border-top: 1px solid var(--border-subtle); font-size: 0.6875rem; color: var(--text-muted); }
.sbc-palette-footer kbd { font-family: var(--font-mono); background: var(--bg-glass); border: 1px solid var(--border-subtle); border-radius: 4px; padding: 0.125rem 0.3rem; font-size: 0.625rem; }
.sbc-palette-footer-sep { flex: 1; }
.sbc-palette-powered { margin-left: auto; font-weight: 700; color: var(--gold); font-size: 0.625rem; letter-spacing: 0.04em; }
.sbc-palette-spin { width: 16px; height: 16px; border: 2px solid var(--border-subtle); border-top-color: var(--gold); border-radius: 50%; animation: ccSpin 0.6s linear infinite; }
@keyframes ccSpin { to { transform: rotate(360deg); } }
.sbc-palette-no-results { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; padding: 2.5rem 1rem; text-align: center; color: var(--text-muted); }
.sbc-palette-group { margin-bottom: 0.25rem; }
@media (max-width: 520px) {
  .sbc-featured-casinos { grid-template-columns: repeat(2, 1fr); }
  .sbc-palette-results { max-height: 400px; }
  .sbc-palette { border-radius: 16px; margin: 0 0.5rem; }
}

/* ═══════════════════════════════════════════════════════════════
   SECTION HEADERS
═══════════════════════════════════════════════════════════════ */
.cc-section-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; flex-wrap: wrap; }
.cc-section-eyebrow { font-size: 0.625rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gold); margin-bottom: 0.375rem; }
.cc-section-title { font-family: var(--font-display); font-size: clamp(1.375rem, 3vw, 2rem); font-weight: 900; color: var(--text-primary); line-height: 1.15; }
.cc-section-title em { font-style: italic; color: var(--gold); }
.cc-section-link { font-size: 0.8125rem; font-weight: 700; color: var(--text-secondary); display: flex; align-items: center; gap: 0.3rem; white-space: nowrap; transition: color 0.2s; }
.cc-section-link:hover { color: var(--gold); }
.cc-section-badge { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.6875rem; font-weight: 800; letter-spacing: 0.10em; text-transform: uppercase; color: var(--gold); background: var(--gold-dim); border: 1px solid var(--gold-border); border-radius: var(--radius-pill); padding: 0.3rem 0.875rem; margin-bottom: 1.25rem; }
.cc-breadcrumb { display: flex; align-items: center; gap: 0.4rem; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 1.25rem; }
.cc-breadcrumb a:hover { color: var(--gold); }
.cc-breadcrumb-sep { color: var(--text-faint); }

/* ═══════════════════════════════════════════════════════════════
   BUTTONS
═══════════════════════════════════════════════════════════════ */
.cc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.375rem; font-family: var(--font-sans); font-weight: 700; font-size: 0.8125rem; letter-spacing: 0.03em; text-transform: uppercase; border-radius: 10px; padding: 0.625rem 1.125rem; transition: var(--transition); white-space: nowrap; cursor: pointer; border: none; }
/* ── Gold shimmer sweep on primary CTA ── */
@keyframes ccGoldShimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}
.cc-btn--gold {
  background: var(--gold);
  color: #000;
  box-shadow: 0 2px 12px rgba(245,200,66,0.3);
  position: relative;
  overflow: hidden;
}
.cc-btn--gold::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    transparent 30%,
    rgba(255,255,255,0.45) 50%,
    transparent 70%
  );
  background-size: 200% 100%;
  background-position: -200% center;
  opacity: 0;
  transition: opacity 0.2s;
}
.cc-btn--gold:hover::after {
  opacity: 1;
  animation: ccGoldShimmer 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.cc-btn--gold:hover {
  background: var(--gold-hover);
  box-shadow: 0 4px 20px rgba(245,200,66,0.45);
  transform: translateY(-1px);
}

/* ── Rank row: precision scorecard hover ── */
.cc-rank-row:hover {
  border-color: var(--border-mid);
  box-shadow: var(--shadow-card), 0 6px 28px rgba(0,0,0,0.22);
}
.cc-rank-row::before { display: none; }
/* Province accent hover */
.cc-rank-row[data-province]:hover {
  border-color: rgba(var(--prov-rgb), 0.28);
  box-shadow: var(--shadow-card), 0 6px 24px rgba(var(--prov-rgb), 0.1);
}

/* ── Casino card hero height upgrade ── */
.cc-casino-card__hero {
  position: relative;
  height: 140px;
  background: #0d1117;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ── Casino card 3D tilt — set perspective on card ── */
.cc-casino-card {
  transform-style: preserve-3d;
  will-change: transform;
}

/* ── Game card play btn — nicer scale + ring ── */
.cc-game-card:hover .cc-game-card__play-btn {
  transform: scale(1.08);
  box-shadow: 0 0 0 6px rgba(245,200,66,0.18), 0 4px 20px rgba(245,200,66,0.5);
}

/* ── Jackpot ticker amount pulse ── */
@keyframes ccAmountPop {
  0%   { transform: scale(1); }
  40%  { transform: scale(1.12); color: var(--gold-hover); }
  100% { transform: scale(1); }
}
.cc-jackpot-ticker__amount.cc-amount-pop {
  animation: ccAmountPop 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* ── Active badge — breathing pulse ── */

.cc-btn--ghost { background: var(--bg-glass); border: 1px solid var(--border-mid); color: var(--text-secondary); }
.cc-btn--ghost:hover { background: var(--bg-glass-hover); color: var(--text-primary); border-color: var(--gold-border); }
.cc-btn--sm { font-size: 0.6875rem; padding: 0.4rem 0.75rem; }
.cc-btn--full { width: 100%; justify-content: center; }

/* ═══════════════════════════════════════════════════════════════
   CASINO CARDS
═══════════════════════════════════════════════════════════════ */
.cc-casino-card { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); overflow: visible; display: flex; flex-direction: column; transition: var(--transition); box-shadow: var(--shadow-card); }
/* Hero must clip to card's border-radius — footer stays visible */
.cc-casino-card__hero { overflow: hidden; border-radius: var(--radius-card) var(--radius-card) 0 0; }
.cc-casino-card:hover { border-color: var(--gold-border); box-shadow: var(--shadow-card), var(--shadow-gold); transform: translateY(-3px); }
.cc-casino-card__hero-blur { position: absolute; inset: 0; background-size: cover; background-position: center; filter: blur(16px) brightness(0.35); transform: scale(1.1); }
/* Logo: fills the hero container, centred, no box — brand bg colour shows through */
.cc-casino-card__logo {
  position: relative;
  z-index: 1;
  width: auto;
  height: auto;
  max-width: 72%;
  max-height: 70%;
  object-fit: contain;
  display: block;
  /* No border, no background box, no border-radius — logo floats on brand colour */
  background: none;
  border: none;
  border-radius: 0;
  padding: 0;
}
/* Fallback icon container when no logo set */
.cc-casino-card__logo--fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
/* ── Card Flags: Province Dog-ear ─────────────────────────────────── */
.cc-prov-dogear {
  position: absolute;
  top: 0; left: 0;
  width: 46px; height: 46px;
  z-index: 10;
  pointer-events: none;
  border-radius: var(--radius-card) 0 0 0;
  overflow: hidden;
}
/* Triangle fold — province colour */
.cc-prov-dogear::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  border-style: solid;
  border-width: 46px 46px 0 0;
  border-color: var(--prov-color, #10b981) transparent transparent transparent;
  filter: drop-shadow(1px 2px 5px rgba(0,0,0,0.55));
}
/* Depth shadow on inner fold edge */
.cc-prov-dogear::after {
  content: '';
  position: absolute;
  top: 0; left: 0;
  border-style: solid;
  border-width: 9px 9px 0 0;
  border-color: rgba(0,0,0,0.28) transparent transparent transparent;
  z-index: 1;
}
/* Province code label — centred at triangle centroid */
.cc-prov-dogear__label {
  position: absolute;
  top: 15px; left: 15px;
  transform: translate(-50%, -50%) rotate(-45deg);
  font-size: 0.6875rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: rgba(0,0,0,0.8);
  z-index: 12;
  line-height: 1;
  pointer-events: none;
  white-space: nowrap;
  text-shadow: 0 1px 0 rgba(255,255,255,0.12);
}

/* ── Card Flags: Province Type-Logo Overlay ───────────────────────── */
.cc-type-logo-overlay {
  position: absolute;
  inset: 0;
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  pointer-events: none;
}
/* Province colour atmosphere glow — fills hero behind text */
.cc-type-logo-overlay__atmo {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 70% at 50% 0%, rgba(var(--prov-rgb, 16,185,129), 0.18) 0%, transparent 65%),
    #0d1116;
  z-index: 0;
}
/* Bottom fade into card body */
.cc-type-logo-overlay::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 36px;
  background: linear-gradient(to bottom, transparent, #0d1116);
  z-index: 2;
  pointer-events: none;
}
/* Subtle horizontal glint line across hero mid-point */
.cc-type-logo-overlay__glint {
  position: absolute;
  top: 50%; left: 8%; right: 8%;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent,
    rgba(var(--prov-rgb, 16,185,129), 0.28) 30%,
    rgba(var(--prov-rgb, 16,185,129), 0.28) 70%,
    transparent
  );
  transform: translateY(-50%);
  z-index: 1;
  pointer-events: none;
}
/* The split brand name */
.cc-type-logo-overlay__text {
  position: relative;
  z-index: 3;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.03em;
  display: flex;
  align-items: baseline;
  gap: 0;
}
.cc-type-logo-overlay__p1 { color: #ffffff; }
.cc-type-logo-overlay__p2 { color: var(--prov-color, #10b981); }
/* Province label pill — bottom-right of hero */
.cc-type-logo-overlay__badge {
  position: absolute;
  bottom: 10px; right: 10px;
  z-index: 5;
  font-size: 0.45rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
  background: rgba(var(--prov-rgb, 16,185,129), 0.14);
  color: var(--prov-color, #10b981);
  border: 1px solid rgba(var(--prov-rgb, 16,185,129), 0.32);
  line-height: 1.4;
}
/* Light mode — keep overlay dark for readability */
:root.light .cc-type-logo-overlay__atmo { background: radial-gradient(ellipse 80% 70% at 50% 0%, rgba(var(--prov-rgb, 16,185,129), 0.20) 0%, transparent 65%), #0d1116; }
:root.light .cc-type-logo-overlay::after { background: linear-gradient(to bottom, transparent, #0d1116); }

.cc-casino-card__badge-row { position: absolute; top: 0.5rem; right: 0.5rem; display: flex; gap: 0.25rem; z-index: 6; }
.cc-badge { font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; padding: 0.2rem 0.45rem; border-radius: 5px; }
.cc-badge--gold  { background: var(--gold); color: #000; }
.cc-badge--green { background: var(--emerald); color: #000; }
.cc-badge--red   { background: var(--red); color: #fff; }
.cc-badge--glass { background: rgba(0,0,0,0.5); color: #fff; border: 1px solid rgba(255,255,255,0.15); }
.cc-casino-card__body { padding: 1.125rem 1.25rem; flex: 1; display: flex; flex-direction: column; gap: 0.75rem; }
.cc-casino-card__name { font-family: var(--font-display); font-size: 1rem; font-weight: 700; color: var(--text-primary); line-height: 1.2; }
.cc-casino-card__name a:hover { color: var(--gold); }
.cc-casino-card__meta { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.cc-stars { display: inline-flex; gap: 1px; }
.cc-star { width: 12px; height: 12px; color: var(--text-faint); }
.cc-star.on { color: var(--gold); }
.cc-rating-number { font-family: var(--font-mono); font-size: 0.75rem; font-weight: 600; color: var(--gold); }
.cc-casino-card__signal-row { display: flex; gap: 0.375rem; flex-wrap: wrap; }
.cc-signal-chip { font-size: 0.625rem; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; padding: 0.2rem 0.5rem; background: var(--bg-glass); border: 1px solid var(--border-subtle); border-radius: 5px; color: var(--text-secondary); white-space: nowrap; }
.cc-casino-card__bonus { font-size: 0.8125rem; font-weight: 600; color: var(--text-primary); background: var(--gold-dim); border: 1px solid var(--gold-border); border-radius: 8px; padding: 0.5rem 0.75rem; line-height: 1.3; }
.cc-casino-card__bonus-label { font-size: 0.625rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gold); display: block; margin-bottom: 0.15rem; }
.cc-casino-card__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 0.375rem; font-size: 0.6875rem; }
.cc-casino-card__stat { display: flex; flex-direction: column; gap: 0.1rem; }
.cc-casino-card__stat-label { color: var(--text-muted); font-weight: 600; letter-spacing: 0.03em; text-transform: uppercase; font-size: 0.5625rem; }
.cc-casino-card__stat-val { color: var(--text-primary); font-weight: 700; font-family: var(--font-mono); }
.cc-casino-card__footer { padding: 0.875rem 1.25rem; border-top: 1px solid var(--border-subtle); display: flex; gap: 0.625rem; }

/* ═══════════════════════════════════════════════════════════════
   GAME CARDS
═══════════════════════════════════════════════════════════════ */
.cc-game-card { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); overflow: hidden; display: flex; flex-direction: column; transition: var(--transition); box-shadow: var(--shadow-card); }
.cc-game-card:hover { border-color: var(--gold-border); transform: translateY(-3px); box-shadow: var(--shadow-card), var(--shadow-gold); }
.cc-game-card__thumb { aspect-ratio: 16/10; position: relative; overflow: hidden; background: var(--bg-elevated); }
.cc-game-card__thumb img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; transition: transform 0.4s ease; display: block; }
.cc-game-card:hover .cc-game-card__thumb img { transform: scale(1.05); }
.cc-game-card__thumb-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 60%); opacity: 0; transition: opacity 0.3s; display: flex; align-items: center; justify-content: center; }
.cc-game-card:hover .cc-game-card__thumb-overlay { opacity: 1; }
.cc-game-card__play-btn { width: 48px; height: 48px; background: var(--gold); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #000; transform: scale(0.8); transition: transform 0.3s; box-shadow: 0 4px 16px rgba(245,200,66,0.5); }
.cc-game-card:hover .cc-game-card__play-btn { transform: scale(1); }
.cc-game-card__body { padding: 1rem 1.125rem; flex: 1; display: flex; flex-direction: column; gap: 0.5rem; }
.cc-game-card__provider { font-size: 0.625rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gold); }
.cc-game-card__name { font-family: var(--font-display); font-size: 0.9375rem; font-weight: 700; color: var(--text-primary); line-height: 1.25; }
.cc-game-card__meta-row { display: flex; align-items: center; gap: 0.625rem; font-family: var(--font-mono); font-size: 0.6875rem; color: var(--text-secondary); margin-top: auto; }
.cc-rtp-badge { background: var(--gold-dim); border: 1px solid var(--gold-border); color: var(--gold); font-family: var(--font-mono); font-size: 0.6875rem; font-weight: 700; padding: 0.125rem 0.5rem; border-radius: 6px; }
.cc-vol-badge { font-size: 0.5625rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; padding: 0.15rem 0.4rem; border-radius: 4px; }
.cc-vol-badge--low      { background: rgba(16,185,129,0.15); color: #10b981; }
.cc-vol-badge--medium   { background: rgba(59,130,246,0.15); color: #60a5fa; }
.cc-vol-badge--high     { background: rgba(245,158,11,0.15); color: #fbbf24; }
.cc-vol-badge--very-high { background: rgba(239,68,68,0.15); color: #f87171; }

/* ═══════════════════════════════════════════════════════════════
   NEWS CARDS
═══════════════════════════════════════════════════════════════ */
.cc-news-card { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); overflow: hidden; display: flex; flex-direction: column; transition: var(--transition); box-shadow: var(--shadow-card); }
.cc-news-card:hover { border-color: var(--gold-border); transform: translateY(-2px); box-shadow: var(--shadow-card), var(--shadow-gold); }
.cc-news-card__thumb { aspect-ratio: 16/9; overflow: hidden; background: var(--bg-elevated); }
.cc-news-card__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.cc-news-card:hover .cc-news-card__thumb img { transform: scale(1.05); }
.cc-news-card__body { padding: 1.25rem 1.375rem; flex: 1; display: flex; flex-direction: column; gap: 0.625rem; }
.cc-news-card__cat { font-size: 0.625rem; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; color: var(--gold); }
.cc-news-card__title { font-family: var(--font-display); font-size: 1rem; font-weight: 700; color: var(--text-primary); line-height: 1.35; }
.cc-news-card__title a:hover { color: var(--gold); }
.cc-news-card__excerpt { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.55; flex: 1; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.cc-news-card__footer { display: flex; align-items: center; justify-content: space-between; font-size: 0.6875rem; color: var(--text-muted); padding-top: 0.625rem; border-top: 1px solid var(--border-subtle); margin-top: 0.25rem; }
.cc-news-card--featured { grid-column: 1 / -1; }
@media (min-width:768px) { .cc-news-card--featured { display: grid; grid-template-columns: 1.4fr 1fr; } .cc-news-card--featured .cc-news-card__thumb { aspect-ratio: unset; min-height: 280px; } }

/* ═══════════════════════════════════════════════════════════════
   PODCAST CARDS
═══════════════════════════════════════════════════════════════ */
.cc-podcast-card { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); padding: 1.25rem; display: flex; gap: 1rem; transition: var(--transition); box-shadow: var(--shadow-card); }
.cc-podcast-card:hover { border-color: var(--gold-border); box-shadow: var(--shadow-card), var(--shadow-gold); }
.cc-podcast-card__thumb { width: 72px; height: 72px; border-radius: 12px; object-fit: cover; flex-shrink: 0; border: 1px solid var(--border-subtle); }
.cc-podcast-card__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.375rem; }
.cc-podcast-card__ep { font-family: var(--font-mono); font-size: 0.625rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--gold); }
.cc-podcast-card__title { font-family: var(--font-display); font-size: 0.9375rem; font-weight: 700; color: var(--text-primary); line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cc-podcast-card__meta { font-size: 0.6875rem; color: var(--text-muted); display: flex; gap: 0.875rem; }
.cc-podcast-card__play { width: 36px; height: 36px; background: var(--gold); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #000; flex-shrink: 0; align-self: center; transition: var(--transition); box-shadow: 0 2px 10px rgba(245,200,66,0.3); }
.cc-podcast-card__play:hover { background: var(--gold-hover); transform: scale(1.1); }

/* ═══════════════════════════════════════════════════════════════
   RANK ROWS — PRECISION SCORECARD
═══════════════════════════════════════════════════════════════ */
.cc-rank-row {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 0;
  display: flex;
  align-items: center;
  height: 100px;
  gap: 0;
  transition: var(--transition);
  box-shadow: var(--shadow-card);
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

/* Trust bar: 2px score-coloured gradient bleeds along bottom edge */
.cc-rank-row::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--sc-trust, rgba(255,255,255,0.06)) 0%, transparent 60%);
  opacity: 0.65;
  transition: opacity 0.2s;
  pointer-events: none;
  z-index: 2;
}
.cc-rank-row:hover::after { opacity: 1; }

/* #1 row: permanent gold radial spotlight */
.cc-rank-row[data-rank-pos="1"] {
  background: radial-gradient(ellipse 45% 100% at 12% 50%, rgba(245,200,66,0.07), var(--bg-card));
}

/* ── Logo column ── */
.cc-rank-row__logo-wrap {
  width: 100px;
  height: 100px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background: transparent;
}

/* Inner colored box — houses the actual logo image */
.cc-rank-row__logo-box {
  width: 62px;
  height: 62px;
  border-radius: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
  position: relative;
}

/* Logo image: autoscales within its colored box */
.cc-rank-row__logo {
  max-width: 82%;
  max-height: 76%;
  object-fit: contain;
  display: block;
}

/* Rank badge: overlays top-left corner of the logo box */
.cc-rank-row__rank-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  font-family: var(--font-display);
  font-size: 7.5px;
  font-weight: 800;
  letter-spacing: 0.04em;
  padding: 2px 4px;
  border-radius: 3px;
  line-height: 1;
  z-index: 3;
  pointer-events: none;
}

/* ── Name column ── */
.cc-rank-row__info {
  flex: 1 1 0;
  min-width: 0;
  padding: 0 12px 0 0;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.cc-rank-row__name {
  font-family: var(--font-display);
  font-size: 0.9375rem;
  font-weight: 700;
  font-style: italic;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.2;
}
.cc-rank-row__name a { color: inherit; transition: color 0.2s; }
.cc-rank-row__name a:hover { color: var(--gold); }
.cc-rank-row[data-rank-pos="1"] .cc-rank-row__name { color: var(--gold); }

.cc-rank-row__sub {
  font-size: 0.625rem;
  font-weight: 500;
  color: var(--text-faint);
  letter-spacing: 0.07em;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: flex;
  gap: 0.3rem;
  align-items: center;
}

/* ── Score ring column ── */
.cc-rank-row__score {
  flex: 0 0 82px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
}
.cc-rank-row__ring {
  position: relative;
  width: 52px;
  height: 52px;
  transition: transform 0.2s ease;
}
.cc-rank-row:hover .cc-rank-row__ring { transform: scale(1.07); }
.cc-rank-row__ring svg {
  width: 52px;
  height: 52px;
  transform: rotate(-90deg);
  display: block;
}
.cc-rank-ring__track {
  fill: none;
  stroke: rgba(255,255,255,0.07);
  stroke-width: 2.5;
}
.cc-rank-ring__fill {
  fill: none;
  stroke-width: 2.5;
}
.cc-rank-ring__num {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

/* ── Stat chips column ── */
.cc-rank-row__chips {
  flex: 0 1 210px;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding: 0 12px 0 0;
  align-content: center;
}
.cc-rank-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  padding: 3px 7px;
  border-radius: 4px;
  border: 1px solid var(--border-subtle);
  background: rgba(255,255,255,0.025);
  color: var(--text-muted);
  white-space: nowrap;
  transition: border-color 0.2s, color 0.2s;
}
.cc-rank-row:hover .cc-rank-chip {
  border-color: var(--border-mid);
  color: var(--text-secondary);
}

/* ── Actions column ── */
.cc-rank-row__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  padding-right: 16px;
}

/* Review: minimal underlined italic link */
.cc-rank-review-link {
  font-size: 0.6875rem;
  font-weight: 500;
  font-style: italic;
  color: var(--text-faint);
  text-decoration: underline;
  text-decoration-color: rgba(255,255,255,0.1);
  text-underline-offset: 3px;
  transition: color 0.2s, text-decoration-color 0.2s;
  white-space: nowrap;
}
.cc-rank-review-link:hover {
  color: var(--text-secondary);
  text-decoration-color: rgba(255,255,255,0.35);
}

/* Join button: reuses .cc-btn--gold — override sizing for new row height */
.cc-rank-row__actions .cc-btn--gold {
  height: 34px;
  padding: 0 18px;
  font-size: 0.75rem;
  border-radius: 8px;
  white-space: nowrap;
}

/* ── Rank-row panoramic type-logo banner (Option C) ──────────────────── */
/* Expands logo-box to cinematic plate when type-logo override is active   */
.cc-rank-row__logo-wrap--panoramic {
  width: 188px; /* 160px box + 28px side padding */
}
.cc-rank-row__logo-wrap--panoramic .cc-rank-row__logo-box {
  width: 160px;
  height: 56px;
  border-radius: 10px;
  background-color: #080c14 !important; /* Override inline style — prevents corner bleed */
  position: relative;
  overflow: hidden;
}
.cc-row-type-logo {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cc-row-type-logo__atmo {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 100% 120% at 20% 50%, rgba(var(--prov-rgb), 0.20) 0%, transparent 60%),
    radial-gradient(ellipse 60%  80% at 90% 50%, rgba(var(--prov-rgb), 0.08) 0%, transparent 55%),
    #080c14;
}
/* Right-edge fade — banner bleeds into card body */
.cc-row-type-logo__atmo::after {
  content: '';
  position: absolute;
  top: 0; right: 0; bottom: 0;
  width: 24px;
  background: linear-gradient(to right, transparent, #080c14);
  z-index: 2;
}
/* Horizontal glint line at midpoint */
.cc-row-type-logo__glint {
  position: absolute;
  top: 50%; left: 10%; right: 10%;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(var(--prov-rgb), 0.25) 30%, rgba(var(--prov-rgb), 0.25) 70%, transparent);
  transform: translateY(-50%);
  z-index: 1;
}
/* Brand name — horizontal flex, baseline-aligned */
.cc-row-type-logo__text {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: baseline;
  gap: 0;
  font-family: var(--font-display);
  font-size: 1.375rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.025em;
}
.cc-row-type-logo__p1 { color: #ffffff; }
.cc-row-type-logo__p2 { color: var(--prov-color); }
/* Province badge — bottom-right corner, filled pill */
.cc-row-type-logo__badge {
  position: absolute;
  bottom: 5px;
  right: 7px;
  z-index: 3;
  font-size: 0.4rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  padding: 0.15rem 0.35rem;
  border-radius: 999px;
  background: rgba(var(--prov-rgb), 0.14);
  color: var(--prov-color);
  border: 1px solid rgba(var(--prov-rgb), 0.28);
  white-space: nowrap;
}

/* ── Rank-row + card grid mobile breakpoints (≤640px) ───────────────────
   ALL rules are max-width only — desktop layout is completely untouched.
─────────────────────────────────────────────────────────────────────── */
@media (max-width: 640px) {

  /* ── Homepage rankings section: tighten vertical padding ── */
  .cc-hp-rankings-section { padding: 2rem 0; }

  /* ── Rank row: tighten height on mobile ── */
  .cc-rank-row {
    height: auto;
    min-height: 72px;
    padding: 0.75rem 0;
    flex-wrap: wrap;
  }

  /* Logo column: shrink */
  .cc-rank-row__logo-wrap {
    width: 80px;
    height: 80px;
  }
  .cc-rank-row__logo-box {
    width: 50px;
    height: 50px;
    border-radius: 11px;
  }
  .cc-rank-row__rank-badge {
    top: 6px;
    left: 6px;
    font-size: 7px;
  }

  /* Score ring: tighten */
  .cc-rank-row__score { flex: 0 0 64px; }
  .cc-rank-row__ring,
  .cc-rank-row__ring svg { width: 44px; height: 44px; }

  /* Chips: allow wrapping, tighten font */
  .cc-rank-row__chips { flex: 0 0 100%; padding: 0 12px; order: 5; }

  /* Hide review link on mobile — Join is sufficient */
  .cc-rank-review-link { display: none; }

  /* Panoramic banner: shrink to 96px */
  .cc-rank-row__logo-wrap--panoramic {
    width: 96px;
    height: 60px;
  }
  .cc-rank-row__logo-wrap--panoramic .cc-rank-row__logo-box {
    width: 88px;
    height: 52px;
  }
  .cc-row-type-logo__text {
    font-size: 0.9375rem;
  }
  .cc-row-type-logo__badge {
    font-size: 0.3125rem;
    bottom: 3px;
    right: 4px;
    padding: 0.1rem 0.25rem;
  }

  /* Info: allow name to wrap on very small screens */
  .cc-rank-row__name {
    font-size: 0.8125rem;
  }
  .cc-rank-row__sub {
    gap: 0.375rem;
    flex-wrap: wrap;
  }

  /* Join button: slightly smaller on mobile */
  .cc-rank-row__actions .cc-btn--gold {
    padding: 0 0.875rem;
    font-size: 0.6875rem;
    height: 32px;
  }

  /* ── Card grid: tighten hero height ── */
  .cc-casino-card__hero { height: 110px; }

  /* ── Card grid: tighten card body padding ── */
  .cc-casino-card__body { padding: 0.875rem 1rem; gap: 0.5rem; }
  .cc-casino-card__footer { padding: 0.75rem 1rem; }


  /* ── Rank row actions: reduce right padding so Join button isn't clipped ── */
  .cc-rank-row__actions { padding-right: 8px; gap: 6px; }

  /* ── Rank row: prevent whole row from overflowing viewport ── */
  .cc-rank-row { max-width: 100%; }

  /* ── Casino card grid: !important overrides the inline style on homepage
     that forces repeat(3,1fr) even on narrow screens ── */
  .cc-casino-grid { grid-template-columns: 1fr !important; }

  /* ── Archive layout: tighter horizontal padding on very small screens ── */
  .cc-archive-layout { padding-left: 1rem; padding-right: 1rem; }

  /* ── QuickMatch pill rows: horizontal scroll instead of wrapping ── */
  .cc-qm-pills {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 3px; /* space for scrollbar on some browsers */
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .cc-qm-pills::-webkit-scrollbar { display: none; }
  .cc-qm-pill { flex-shrink: 0; } /* pills must not compress — they scroll */
  .cc-qm-header { padding: 1rem; }

}
/* ── END mobile rank-row / card-grid breakpoints ── */

/* ── Mobile consent banner animation (no translateX so it stays on screen) ── */
@keyframes cc-consent-slide-up-mobile {
  from { opacity: 0; transform: translateY(1.5rem); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ═══════════════════════════════════════════════════════════════
   FILTER BAR
═══════════════════════════════════════════════════════════════ */
#cc-reviews-filter-bar, #cc-games-filter-bar { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); padding: 1rem 1.25rem; margin-bottom: 1.5rem; box-shadow: var(--shadow-card); }
.cc-filter-row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.625rem; }
.cc-filter-label { font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--text-muted); white-space: nowrap; }
.cc-filter-select { font-family: var(--font-sans); font-size: 0.8125rem; font-weight: 600; color: var(--text-primary); background: var(--bg-glass); border: 1px solid var(--border-mid); border-radius: 10px; padding: 0.4rem 2rem 0.4rem 0.875rem; cursor: pointer; transition: var(--transition); outline: none; appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0.5rem center; }
.cc-filter-select:focus { border-color: var(--gold-border); box-shadow: 0 0 0 3px var(--gold-dim); }
.cc-filter-select option { background: var(--bg-card); }
#cc-filter-search { font-family: var(--font-sans); font-size: 0.8125rem; color: var(--text-primary); background: var(--bg-glass); border: 1px solid var(--border-mid); border-radius: 10px; padding: 0.4rem 0.875rem; outline: none; transition: var(--transition); flex: 1; min-width: 140px; max-width: 260px; }
#cc-filter-search::placeholder { color: var(--text-muted); }
#cc-filter-search:focus { border-color: var(--gold-border); box-shadow: 0 0 0 3px var(--gold-dim); }
.cc-filter-toggle { font-size: 0.75rem; font-weight: 700; padding: 0.375rem 0.875rem; background: var(--bg-glass); border: 1px solid var(--border-mid); border-radius: 100px; color: var(--text-secondary); cursor: pointer; transition: var(--transition); white-space: nowrap; }
.cc-filter-toggle:hover, .cc-filter-toggle[aria-pressed="true"] { background: var(--gold-dim); border-color: var(--gold-border); color: var(--gold); }
.cc-view-btn { width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; border-radius: 8px; background: var(--bg-glass); border: 1px solid var(--border-mid); color: var(--text-muted); cursor: pointer; transition: var(--transition); }
.cc-view-btn.active { background: var(--gold-dim); border-color: var(--gold-border); color: var(--gold); }
.cc-archive-tabs { display: flex; gap: 0.25rem; flex-wrap: wrap; }
.cc-archive-tab { font-size: 0.8125rem; font-weight: 600; padding: 0.4rem 0.875rem; border-radius: 100px; color: var(--text-secondary); border: 1px solid transparent; cursor: pointer; transition: var(--transition); }
.cc-archive-tab:hover { color: var(--text-primary); background: var(--bg-glass); }
.cc-archive-tab.active { background: var(--gold-dim); border-color: var(--gold-border); color: var(--gold); }
#cc-no-results { display: none; flex-direction: column; align-items: center; gap: 0.75rem; padding: 4rem 2rem; text-align: center; background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); color: var(--text-muted); }
#cc-no-results.visible { display: flex; }

/* ═══════════════════════════════════════════════════════════════
   JACKPOT TICKER
═══════════════════════════════════════════════════════════════ */
.cc-jackpot-ticker { background: var(--bg-card); border-top: 1px solid var(--border-subtle); border-bottom: 1px solid var(--border-subtle); overflow: hidden; height: 48px; display: flex; align-items: center; }
.cc-jackpot-ticker__label { flex-shrink: 0; padding: 0 1.25rem 0 1.5rem; font-size: 0.625rem; font-weight: 800; letter-spacing: 0.10em; text-transform: uppercase; color: var(--gold); border-right: 1px solid var(--border-subtle); height: 100%; display: flex; align-items: center; gap: 0.5rem; background: var(--gold-dim); }
.cc-jackpot-ticker__track { display: flex; animation: ccTickerScroll 30s linear infinite; }
.cc-jackpot-ticker__item { display: flex; align-items: center; gap: 0.625rem; padding: 0 2rem; font-size: 0.8125rem; font-weight: 600; color: var(--text-secondary); border-right: 1px solid var(--border-subtle); white-space: nowrap; height: 48px; }
.cc-jackpot-ticker__amount { font-family: var(--font-mono); font-weight: 800; color: var(--gold); font-size: 0.875rem; }
@keyframes ccTickerScroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* ═══════════════════════════════════════════════════════════════
   PROVINCE STRIP
═══════════════════════════════════════════════════════════════ */
.cc-province-strip { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
@media (min-width:640px) { .cc-province-strip { grid-template-columns: repeat(4, 1fr); } }
.cc-province-card { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); padding: 1.25rem; text-align: center; cursor: pointer; transition: var(--transition); }
.cc-province-card:hover { border-color: var(--gold-border); transform: translateY(-2px); }
.cc-province-card__code { font-family: var(--font-display); font-size: 2rem; font-weight: 900; color: var(--text-faint); line-height: 1; margin-bottom: 0.375rem; transition: color 0.2s; }
.cc-province-card:hover .cc-province-card__code { color: var(--gold); }
.cc-province-card__name { font-size: 0.8125rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.25rem; }
.cc-province-card__status { font-size: 0.6rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; padding: 0.175rem 0.5rem; border-radius: 100px; }
.cc-province-card__status--live    { background: rgba(16,185,129,0.15); color: #10b981; }
.cc-province-card__status--soon    { background: rgba(245,200,66,0.15); color: var(--gold); }
.cc-province-card__status--limited { background: rgba(59,130,246,0.15); color: #60a5fa; }

/* ═══════════════════════════════════════════════════════════════
   GRIDS
═══════════════════════════════════════════════════════════════ */
.cc-casino-grid { display: grid; grid-template-columns: 1fr; gap: 1.125rem; }
@media (min-width:640px)  { .cc-casino-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width:1024px) { .cc-casino-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width:1280px) { .cc-casino-grid { grid-template-columns: repeat(4, 1fr); } }

/* Archive grid view — cap at 3 cols to match homepage style (sidebar takes the 4th slot) */
@media (min-width:1280px) { #cc-grid-view.cc-casino-grid { grid-template-columns: repeat(3, 1fr); } }

/* Where to Play grid — always exactly 3 cols, overrides all base cc-casino-grid rules above */
.cc-casino-grid.cc-cg-where-grid { gap: 1rem; width: 100%; grid-template-columns: repeat(3, 1fr); }
@media (min-width:640px)  { .cc-casino-grid.cc-cg-where-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width:1024px) { .cc-casino-grid.cc-cg-where-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width:1280px) { .cc-casino-grid.cc-cg-where-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width:599px)  { .cc-casino-grid.cc-cg-where-grid { grid-template-columns: 1fr; } }
.cc-cg-where-grid .cc-casino-card { width: 100%; min-width: 0; }
.cc-game-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
@media (min-width:640px)  { .cc-game-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width:900px)  { .cc-game-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width:1200px) { .cc-game-grid { grid-template-columns: repeat(5, 1fr); } }
/* /games/ archive only — cap at 4 columns */
@media (min-width:1200px) { #cc-games-grid.cc-game-grid { grid-template-columns: repeat(4, 1fr); } }
.cc-news-grid { display: grid; grid-template-columns: 1fr; gap: 1.125rem; }
@media (min-width:640px)  { .cc-news-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width:1024px) { .cc-news-grid { grid-template-columns: repeat(3, 1fr); } }

/* ═══════════════════════════════════════════════════════════════
   ARCHIVE LAYOUT
═══════════════════════════════════════════════════════════════ */
.cc-archive-layout { display: grid; grid-template-columns: 1fr; gap: 1.5rem; max-width: 1280px; margin: 0 auto; padding: 0 1.5rem 4rem; }
@media (min-width:1024px) { .cc-archive-layout { grid-template-columns: 1fr 300px; padding: 0 2.5rem 5rem; } }
.cc-archive-layout > div { min-width: 0; }
.cc-casino-grid .cc-casino-card { min-width: 0; }
.cc-archive-sidebar > * + * { margin-top: 1.25rem; }

/* ═══════════════════════════════════════════════════════════════
   QUICKMATCH
═══════════════════════════════════════════════════════════════ */
#cc-quickmatch { background: var(--bg-card); border: 1px solid var(--gold-border); border-radius: var(--radius-card); overflow: hidden; box-shadow: var(--shadow-card), var(--shadow-gold); }
.cc-qm-header { background: linear-gradient(135deg, rgba(245,200,66,0.10) 0%, transparent 70%); padding: 1.25rem 1.375rem 1rem; border-bottom: 1px solid var(--border-subtle); }
.cc-qm-pills { display: flex; flex-wrap: wrap; gap: 0.375rem; }
.cc-qm-pill { font-size: 0.75rem; font-weight: 700; padding: 0.35rem 0.75rem; background: var(--bg-glass); border: 1px solid var(--border-mid); border-radius: 100px; color: var(--text-secondary); cursor: pointer; transition: var(--transition); }
.cc-qm-pill:hover, .cc-qm-pill.active { background: var(--gold-dim); border-color: var(--gold-border); color: var(--gold); }

/* ═══════════════════════════════════════════════════════════════
   CATEGORY TILES — Color Court
═══════════════════════════════════════════════════════════════ */
.cc-cat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
@media (min-width:640px)  { .cc-cat-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width:1024px) { .cc-cat-grid { grid-template-columns: repeat(9, 1fr); } }

.cc-cat-tile {
  background: #0E0E18;
  border: 1px solid rgba(255,255,255,0.05);
  border-radius: 16px;
  padding: 22px 16px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  text-align: center;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: transform 0.22s cubic-bezier(0.22,1,0.36,1), box-shadow 0.22s ease, border-color 0.22s;
  color: inherit;
}

/* Atmospheric color glow bleeding up from bottom */
.cc-cat-tile::before {
  content: '';
  position: absolute;
  bottom: -20px; left: -20px; right: -20px;
  height: 70%;
  background: radial-gradient(ellipse 80% 60% at 50% 100%, var(--ac, #F5C842), transparent 70%);
  opacity: 0.18;
  transition: opacity 0.25s;
  pointer-events: none;
}

/* Top edge color rule — expands on hover */
.cc-cat-tile::after {
  content: '';
  position: absolute;
  top: 0; left: 20%; right: 20%;
  height: 1.5px;
  background: linear-gradient(90deg, transparent, var(--ac, #F5C842), transparent);
  opacity: 0.5;
  transition: opacity 0.25s, left 0.25s, right 0.25s;
}

.cc-cat-tile:hover { transform: translateY(-5px); border-color: rgba(255,255,255,0.1); box-shadow: 0 16px 40px rgba(0,0,0,0.5); }
.cc-cat-tile:hover::before { opacity: 0.32; }
.cc-cat-tile:hover::after  { opacity: 1; left: 10%; right: 10%; }

/* Ghost count watermark */
.cc-cat-tile-ghost {
  position: absolute;
  bottom: 8px; right: 10px;
  font-size: 3rem;
  font-weight: 900;
  color: var(--ac, #F5C842);
  opacity: 0.06;
  line-height: 1;
  letter-spacing: -0.04em;
  pointer-events: none;
  font-family: var(--font-mono);
  transition: opacity 0.25s;
  user-select: none;
}
.cc-cat-tile:hover .cc-cat-tile-ghost { opacity: 0.1; }

.cc-cat-tile__icon {
  width: 48px; height: 48px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  position: relative;
  z-index: 1;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
  color: var(--ac, #F5C842);
  transition: background 0.22s, border-color 0.22s;
  flex-shrink: 0;
}
.cc-cat-tile:hover .cc-cat-tile__icon { background: rgba(255,255,255,0.07); border-color: var(--ac, #F5C842); }

.cc-cat-tile__name { font-size: 0.78125rem; font-weight: 700; color: rgba(255,255,255,0.88); line-height: 1.25; margin-bottom: 5px; position: relative; z-index: 1; letter-spacing: -0.01em; }
.cc-cat-tile__count { font-family: var(--font-mono); font-size: 0.625rem; color: var(--ac, #F5C842); opacity: 0.7; position: relative; z-index: 1; transition: opacity 0.2s; }
.cc-cat-tile:hover .cc-cat-tile__count { opacity: 1; }

/* ── Game-type section shell ────────────────────────────────── */
.cc-game-cats-section {
  background: #07070E;
  padding: 3.25rem 0 3.75rem;
}

/* Light mode — section + tiles */
:root.light .cc-game-cats-section {
  background: var(--bg-elevated);
}
:root.light .cc-cat-tile {
  background: var(--bg-card);
  border-color: rgba(0,0,0,0.07);
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
:root.light .cc-cat-tile:hover {
  border-color: rgba(0,0,0,0.12);
  box-shadow: 0 12px 32px rgba(0,0,0,0.10);
}
:root.light .cc-cat-tile__icon {
  background: rgba(0,0,0,0.03);
  border-color: rgba(0,0,0,0.06);
}
:root.light .cc-cat-tile:hover .cc-cat-tile__icon {
  background: rgba(0,0,0,0.05);
}
:root.light .cc-cat-tile__name { color: var(--text-primary); }
:root.light .cc-cat-tile-ghost { opacity: 0.04; }

/* ═══════════════════════════════════════════════════════════════
   SINGLE REVIEW
═══════════════════════════════════════════════════════════════ */
.cc-sr-hero { position: relative; overflow: hidden; min-height: 540px; }
.cc-sr-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; will-change: transform; }
.cc-sr-hero__veil { position: absolute; inset: 0; background: linear-gradient(to right, rgba(7,9,15,0.98) 0%, rgba(7,9,15,0.85) 55%, rgba(7,9,15,0.5) 100%); }
.cc-sr-hero__inner { position: relative; z-index: 2; max-width: 1280px; margin: 0 auto; padding: 5rem 1.5rem 4rem; display: grid; grid-template-columns: 1fr; gap: 2.5rem; align-items: start; }
@media (min-width:1024px) { .cc-sr-hero__inner { grid-template-columns: 1fr 340px; padding: 6rem 2.5rem 5rem; } }
.cc-score-ring-wrap { position: relative; width: 100px; height: 100px; }
.cc-score-ring { transform: rotate(-90deg); }
.cc-score-ring-track { fill: none; stroke: rgba(255,255,255,0.08); stroke-width: 6; }
.cc-score-ring-fill { fill: none; stroke: var(--gold); stroke-width: 6; stroke-linecap: round; stroke-dasharray: 0 251; transition: stroke-dasharray 1.2s cubic-bezier(0.4,0,0.2,1); }
.cc-score-ring-label { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.cc-score-ring-num { font-family: var(--font-display); font-size: 1.625rem; font-weight: 900; color: var(--gold); line-height: 1; }
.cc-score-ring-sub { font-size: 0.5rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-muted); }
.cc-score-bar-item { display: flex; align-items: center; gap: 0.75rem; font-size: 0.8125rem; }
.cc-score-bar-label { color: var(--text-secondary); min-width: 120px; }
.cc-score-bar-track { flex: 1; height: 6px; background: rgba(255,255,255,0.08); border-radius: 100px; overflow: hidden; }
.cc-score-bar-fill { height: 100%; background: linear-gradient(90deg, var(--gold), var(--gold-hover)); border-radius: 100px; width: 0%; transition: width 1s cubic-bezier(0.4,0,0.2,1); }
.cc-score-bar-val { font-family: var(--font-mono); font-size: 0.75rem; font-weight: 700; color: var(--gold); min-width: 2rem; text-align: right; }
/* ── Reading Progress Rail ── */
.cc-read-rail {
  position: fixed;
  left: 20px;
  top: 50%;
  transform: translateY(-50%) translateX(-100px);
  z-index: 80;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.875rem;
  background: rgba(10,11,20,0.92);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 50px;
  padding: 1.125rem 0.75rem;
  width: 64px;
  opacity: 0;
  transition: transform 0.4s cubic-bezier(0.34,1.56,0.64,1), opacity 0.3s ease;
  pointer-events: none;
  box-shadow: 0 8px 32px rgba(0,0,0,0.4), 0 0 0 1px rgba(255,255,255,0.04);
}
.cc-read-rail.is-visible {
  transform: translateY(-50%) translateX(0);
  opacity: 1;
  pointer-events: all;
}
@media (max-width: 960px) { .cc-read-rail { display: none; } }

/* Ring */
.cc-read-rail__ring-wrap {
  position: relative;
  width: 44px; height: 44px;
  flex-shrink: 0;
}
.cc-read-rail__ring {
  width: 44px; height: 44px;
  transform: rotate(-90deg);
}
.cc-read-rail__ring-track {
  fill: none;
  stroke: rgba(212,175,55,0.15);
  stroke-width: 2.5;
}
.cc-read-rail__ring-fill {
  fill: none;
  stroke: var(--gold);
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-dasharray: 0 99.9;
  transition: stroke-dasharray 0.15s linear;
  filter: drop-shadow(0 0 5px rgba(212,175,55,0.6));
}
.cc-read-rail__ring-pct {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 0.5625rem; font-weight: 800;
  color: var(--gold); letter-spacing: -0.01em;
  line-height: 1;
}

/* Divider */
.cc-read-rail__divider {
  width: 28px; height: 1px;
  background: rgba(255,255,255,0.1);
  flex-shrink: 0;
}

/* Section dots */
.cc-read-rail__sections {
  display: flex; flex-direction: column;
  align-items: center; gap: 0.625rem;
}
.cc-read-rail__dot {
  display: block;
  width: 10px; height: 10px;
  border-radius: 50%;
  background: rgba(255,255,255,0.2);
  border: 2px solid rgba(255,255,255,0.18);
  transition: background 0.2s, border-color 0.2s, transform 0.2s, box-shadow 0.2s;
  position: relative;
  cursor: pointer;
  flex-shrink: 0;
}
.cc-read-rail__dot:hover {
  background: rgba(212,175,55,0.5);
  border-color: var(--gold);
  transform: scale(1.4);
}
.cc-read-rail__dot.is-active {
  background: var(--gold);
  border-color: var(--gold);
  box-shadow: 0 0 8px rgba(212,175,55,0.7);
  transform: scale(1.3);
}
/* Tooltip */
.cc-read-rail__dot::after {
  content: attr(data-label);
  position: absolute;
  left: calc(100% + 14px);
  top: 50%; transform: translateY(-50%);
  background: rgba(10,11,20,0.96);
  border: 1px solid rgba(255,255,255,0.12);
  color: var(--text-primary);
  font-size: 0.75rem; font-weight: 600;
  white-space: nowrap;
  padding: 0.3rem 0.75rem;
  border-radius: 7px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.15s;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
.cc-read-rail__dot:hover::after { opacity: 1; }

/* Font size controls */
.cc-read-rail__controls {
  display: flex; flex-direction: column;
  align-items: center; gap: 0.375rem;
}
.cc-read-rail__btn {
  width: 40px; height: 32px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 8px;
  color: var(--text-secondary);
  font-size: 0.6875rem; font-weight: 800;
  cursor: pointer;
  transition: background 0.15s, color 0.15s, border-color 0.15s, transform 0.1s;
  display: flex; align-items: center; justify-content: center;
  line-height: 1;
  letter-spacing: -0.01em;
  font-family: var(--font-sans);
}
.cc-read-rail__btn:hover {
  background: var(--gold-dim);
  border-color: var(--gold-border);
  color: var(--gold);
  transform: scale(1.05);
}
.cc-read-rail__btn:active { transform: scale(0.97); }

/* Light mode */
:root.light .cc-read-rail {
  background: rgba(255,255,255,0.94);
  border-color: rgba(0,0,0,0.1);
  box-shadow: 0 8px 32px rgba(0,0,0,0.12);
}
:root.light .cc-read-rail__divider { background: rgba(0,0,0,0.08); }
:root.light .cc-read-rail__dot { background: rgba(0,0,0,0.12); border-color: rgba(0,0,0,0.15); }
:root.light .cc-read-rail__dot.is-active { background: var(--gold); border-color: var(--gold); }
:root.light .cc-read-rail__dot::after { background: rgba(255,255,255,0.98); border-color: rgba(0,0,0,0.1); color: var(--text-primary); }
:root.light .cc-read-rail__btn { background: rgba(0,0,0,0.03); border-color: rgba(0,0,0,0.1); color: var(--text-secondary); }

/* cc-cg-rail__card--meta removed — trust info moved to hero strip */
.cc-sr-qnav-link { font-size: 0.75rem; font-weight: 600; color: var(--text-secondary); padding: 0.375rem 0.75rem; border-radius: 8px; white-space: nowrap; transition: var(--transition); }
.cc-sr-qnav-link:hover, .cc-sr-qnav-link.active { color: var(--gold); background: var(--gold-dim); }
.cc-review-tabs { display: flex; gap: 0.125rem; border-bottom: 1px solid var(--border-subtle); overflow-x: auto; }
.cc-review-tab { font-size: 0.875rem; font-weight: 700; padding: 0.875rem 1.25rem; color: var(--text-secondary); border-bottom: 2px solid transparent; cursor: pointer; transition: var(--transition); white-space: nowrap; }
.cc-review-tab:hover { color: var(--text-primary); }
.cc-review-tab.active { color: var(--gold); border-bottom-color: var(--gold); }
.cc-review-tab-panel { display: none; padding: 2rem 0; }
.cc-review-tab-panel.active { display: block; }

/* ═══════════════════════════════════════════════════════════════
   GAME REVIEW GAUGES
═══════════════════════════════════════════════════════════════ */
.cc-sr-gauge-wrap { position: relative; width: 110px; height: 110px; }
.cc-sr-gauge-svg { transform: rotate(-90deg); }
.cc-sr-gauge-bg   { fill: none; stroke: rgba(255,255,255,0.07); stroke-width: 8; }
.cc-sr-gauge-fill { fill: none; stroke: var(--gold); stroke-width: 8; stroke-linecap: round; stroke-dasharray: 0 251; transition: stroke-dasharray 1.2s cubic-bezier(0.4,0,0.2,1); }
.cc-sr-gauge-label { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.cc-sr-gauge-num { font-family: var(--font-mono); font-size: 1.25rem; font-weight: 800; color: var(--gold); line-height: 1; }
.cc-sr-gauge-sub { font-size: 0.5625rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--text-muted); }
.cc-sr-gauge-bar-fill { height: 100%; background: linear-gradient(90deg, var(--gold), var(--gold-hover)); border-radius: 100px; width: 0%; transition: width 1s cubic-bezier(0.4,0,0.2,1); }

/* ═══════════════════════════════════════════════════════════════
   PROS / CONS
═══════════════════════════════════════════════════════════════ */
.cc-pros-cons-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width:600px) { .cc-pros-cons-grid { grid-template-columns: 1fr; } }
.cc-pros-col, .cc-cons-col { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); padding: 1.25rem; }
.cc-pros-col { border-top: 3px solid var(--emerald); }
.cc-cons-col { border-top: 3px solid var(--red); }
.cc-pros-cons-title { font-size: 0.6875rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 0.875rem; display: flex; align-items: center; gap: 0.4rem; }
.cc-pros-col .cc-pros-cons-title { color: var(--emerald); }
.cc-cons-col .cc-pros-cons-title { color: var(--red); }
.cc-pros-cons-list { display: flex; flex-direction: column; gap: 0.5rem; }
.cc-pros-cons-item { font-size: 0.875rem; color: var(--text-secondary); display: flex; align-items: flex-start; gap: 0.5rem; line-height: 1.45; }

/* ═══════════════════════════════════════════════════════════════
   AUTHOR BOX
═══════════════════════════════════════════════════════════════ */
.cc-author-box { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); padding: 1.5rem; display: flex; gap: 1.25rem; align-items: flex-start; }
.cc-author-box__avatar { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; flex-shrink: 0; border: 2px solid var(--gold-border); }
.cc-author-box__name { font-family: var(--font-display); font-size: 1rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.2rem; }
.cc-author-box__title { font-size: 0.75rem; color: var(--gold); font-weight: 700; margin-bottom: 0.5rem; }
.cc-author-box__bio { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.6; }

/* ═══════════════════════════════════════════════════════════════
   COMPLIANCE CARDS
═══════════════════════════════════════════════════════════════ */
.cc-compliance-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width:768px)  { .cc-compliance-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width:1024px) { .cc-compliance-grid { grid-template-columns: repeat(3, 1fr); } }
.cc-compliance-card { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); padding: 1.5rem; display: flex; flex-direction: column; gap: 0.625rem; transition: var(--transition); }
.cc-compliance-card:hover { border-color: var(--gold-border); transform: translateY(-2px); }
.cc-compliance-icon { width: 44px; height: 44px; background: var(--gold-dim); border: 1px solid var(--gold-border); border-radius: 12px; display: flex; align-items: center; justify-content: center; color: var(--gold); }
.cc-compliance-card__title { font-family: var(--font-display); font-size: 1rem; font-weight: 700; color: var(--text-primary); }
.cc-compliance-card__desc { font-size: 0.875rem; color: var(--text-secondary); line-height: 1.6; }

/* ═══════════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════════ */
.cc-footer { background: var(--bg-card); border-top: 1px solid var(--border-subtle); margin-top: auto; }
.cc-footer__top { max-width: 1280px; margin: 0 auto; padding: 4rem 1.5rem 3rem; display: grid; grid-template-columns: 1fr; gap: 3rem; }
@media (min-width:768px) { .cc-footer__top { grid-template-columns: 2fr 1fr 1fr 1fr; } }
.cc-footer__logo { font-family: var(--font-display); font-size: 1.375rem; font-weight: 900; margin-bottom: 0.875rem; }
.cc-footer__tagline { font-size: 0.875rem; color: var(--text-secondary); line-height: 1.6; max-width: 320px; margin-bottom: 1.5rem; }
.cc-footer__col-title { font-size: 0.625rem; font-weight: 800; letter-spacing: 0.10em; text-transform: uppercase; color: var(--gold); margin-bottom: 1.125rem; }
.cc-footer__links { display: flex; flex-direction: column; gap: 0.625rem; }
.cc-footer__link { font-size: 0.875rem; color: var(--text-secondary); transition: color 0.2s; }
.cc-footer__link:hover { color: var(--gold); }
.cc-footer__bottom { max-width: 1280px; margin: 0 auto; padding: 1.25rem 1.5rem; border-top: 1px solid var(--border-subtle); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; font-size: 0.75rem; color: var(--text-muted); }
.cc-footer__rg-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; padding: 1.125rem 1.5rem; max-width: 1280px; margin: 0 auto; border-top: 1px solid var(--border-subtle); }
.cc-footer__rg-badge { display: inline-flex; align-items: center; gap: 0.375rem; font-size: 0.6875rem; font-weight: 700; padding: 0.3rem 0.75rem; background: var(--bg-glass); border: 1px solid var(--border-subtle); border-radius: 6px; color: var(--text-secondary); }

/* ═══════════════════════════════════════════════════════════════
   PAGINATION
═══════════════════════════════════════════════════════════════ */
.cc-pagination { display: flex; align-items: center; justify-content: center; gap: 0.375rem; padding: 3rem 0 1rem; flex-wrap: wrap; }
.cc-page-link a, .cc-page-link span { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 10px; font-size: 0.875rem; font-weight: 700; color: var(--text-secondary); background: var(--bg-glass); border: 1px solid var(--border-mid); transition: var(--transition); }
.cc-page-link a:hover { border-color: var(--gold-border); color: var(--gold); }
.cc-page-link .current { background: var(--gold); color: #000; border-color: var(--gold); }

/* ═══════════════════════════════════════════════════════════════
   SCROLL REVEAL — Tier 1 Upgrade
   Expo-out easing, 28px travel, element-type variants
═══════════════════════════════════════════════════════════════ */
.cc-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.cc-reveal.cc-visible { opacity: 1; transform: translateY(0); }

/* Card variant — slight scale up as it enters */
.cc-casino-card.cc-reveal,
.cc-game-card.cc-reveal,
.cc-news-card.cc-reveal,
.cc-podcast-card.cc-reveal {
  transform: translateY(28px) scale(0.97);
}
.cc-casino-card.cc-reveal.cc-visible,
.cc-game-card.cc-reveal.cc-visible,
.cc-news-card.cc-reveal.cc-visible,
.cc-podcast-card.cc-reveal.cc-visible {
  transform: translateY(0) scale(1);
}

/* Rank row variant — slides in from left */
.cc-rank-row.cc-reveal {
  transform: translateX(-16px);
  opacity: 0;
}
.cc-rank-row.cc-reveal.cc-visible {
  transform: translateX(0);
  opacity: 1;
}

/* Province card — scale up from slightly smaller */
.cc-province-card.cc-reveal {
  transform: translateY(20px) scale(0.95);
}
.cc-province-card.cc-reveal.cc-visible {
  transform: translateY(0) scale(1);
}

/* Cat tile — Color Court entrance */
.cc-cat-tile.cc-reveal {
  transform: translateY(20px) scale(0.95);
  transition-duration: 0.5s;
}
.cc-cat-tile.cc-reveal.cc-visible {
  transform: translateY(0) scale(1);
}

/* News mosaic — slides up as a block */
.cc-news-mosaic.cc-reveal {
  transform: translateY(32px);
  transition-duration: 0.7s;
}
.cc-news-mosaic.cc-reveal.cc-visible { transform: translateY(0); }

/* Portrait strip tiles — scale-up entrance */
.cc-news-pt.cc-reveal {
  transform: translateY(24px) scale(0.97);
  transition-duration: 0.55s;
}
.cc-news-pt.cc-reveal.cc-visible { transform: translateY(0) scale(1); }

@media (prefers-reduced-motion: reduce) {
  .cc-reveal,
  .cc-casino-card.cc-reveal,
  .cc-game-card.cc-reveal,
  .cc-news-card.cc-reveal,
  .cc-podcast-card.cc-reveal,
  .cc-rank-row.cc-reveal,
  .cc-province-card.cc-reveal,
  .cc-cat-tile.cc-reveal,
  .cc-news-mosaic.cc-reveal,
  .cc-news-pt.cc-reveal {
    opacity: 1; transform: none; transition: none;
  }
}

/* ── Hero section entrance choreography ── */
@keyframes ccHeroFadeUp {
  from { opacity: 0; transform: translateY(32px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes ccHeroFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes ccHeroSlideRight {
  from { opacity: 0; transform: translateX(-24px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes ccHeroBoxReveal {
  from { opacity: 0; transform: translateY(20px) scale(0.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

.cc-hero-badge-animate {
  opacity: 0;
  animation: ccHeroFadeIn 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.1s forwards;
}
.cc-hero-headline-animate {
  opacity: 0;
  animation: ccHeroFadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.22s forwards;
}
.cc-hero-sub-animate {
  opacity: 0;
  animation: ccHeroFadeUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.38s forwards;
}
.cc-hero-btns-animate {
  opacity: 0;
  animation: ccHeroFadeUp 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.5s forwards;
}
.cc-hero-trust-animate {
  opacity: 0;
  animation: ccHeroFadeIn 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.68s forwards;
}
.cc-hero-panel-animate {
  opacity: 0;
  animation: ccHeroBoxReveal 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.55s forwards;
}

@media (prefers-reduced-motion: reduce) {
  .cc-hero-badge-animate,
  .cc-hero-headline-animate,
  .cc-hero-sub-animate,
  .cc-hero-btns-animate,
  .cc-hero-trust-animate,
  .cc-hero-panel-animate {
    opacity: 1; animation: none;
  }
}

/* ═══════════════════════════════════════════════════════════════
   PROSE
═══════════════════════════════════════════════════════════════ */
/* ── Prose base ── */
.cc-prose {
  color: var(--text-secondary);
  font-size: 0.9375rem; line-height: 1.8;
  max-width: 68ch;
}
.cc-prose > * + * { margin-top: 1rem; }

/* Headings */
.cc-prose h2 {
  font-family: var(--font-display);
  font-size: 1.375rem; font-weight: 800;
  color: var(--text-primary);
  letter-spacing: -0.015em; line-height: 1.2;
  margin: 2.25rem 0 0.875rem;
  padding-left: 0.875rem;
  border-left: 3px solid var(--gold);
}
.cc-prose h3 {
  font-size: 1.0625rem; font-weight: 700;
  color: var(--text-primary); line-height: 1.3;
  margin: 1.75rem 0 0.625rem;
}
.cc-prose h4 {
  font-size: 0.9375rem; font-weight: 700;
  color: var(--gold); text-transform: uppercase;
  letter-spacing: 0.06em; font-size: 0.75rem;
  margin: 1.5rem 0 0.5rem;
}

/* Paragraphs */
.cc-prose p { margin-bottom: 1.125rem; }

/* Links */
.cc-prose a {
  color: var(--gold);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  transition: color 0.15s;
}
.cc-prose a:hover { color: var(--gold-hover); }

/* Strong / em */
.cc-prose strong { font-weight: 700; color: var(--text-primary); }
.cc-prose em { font-style: italic; color: var(--text-primary); }

/* Unordered lists — gold bullet */
/* ── Verdict Cards bullet system ── */
.cc-prose ul {
  padding-left: 0;
  margin-bottom: 1.25rem;
  list-style: none;
  display: flex; flex-direction: column; gap: 0.5rem;
}
.cc-prose ul li {
  display: flex; align-items: flex-start; gap: 0.75rem;
  background: var(--bg-card);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px;
  padding: 0.75rem 1rem;
  color: var(--text-secondary);
  font-size: 0.9375rem; line-height: 1.65;
  transition: border-color 0.18s, background 0.18s, transform 0.18s;
  cursor: default;
  /* Remove the old ::before dot */
}
.cc-prose ul li::before { display: none; }
.cc-prose ul li:hover {
  background: rgba(255,255,255,0.035);
  border-color: rgba(245,200,66,0.2);
  transform: translateX(3px);
}
.cc-prose ul li strong {
  color: var(--text-primary);
  font-weight: 700;
}

/* Icon badge — injected by JS */
.cc-prose ul li .vc-icon {
  width: 28px; height: 28px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; margin-top: 1px;
}
.vc-icon--green { background: rgba(16,185,129,0.12);  border: 1px solid rgba(16,185,129,0.22);  color: #10b981; }
.vc-icon--red   { background: rgba(248,113,113,0.12); border: 1px solid rgba(248,113,113,0.22); color: #f87171; }
.vc-icon--gold  { background: rgba(245,200,66,0.12);  border: 1px solid rgba(245,200,66,0.22);  color: #F5C842; }
.vc-icon--amber { background: rgba(251,191,36,0.12);  border: 1px solid rgba(251,191,36,0.22);  color: #fbbf24; }
.vc-icon--blue  { background: rgba(96,165,250,0.12);  border: 1px solid rgba(96,165,250,0.22);  color: #93c5fd; }
.vc-icon--purple{ background: rgba(167,139,250,0.12); border: 1px solid rgba(167,139,250,0.22); color: #c4b5fd; }
.vc-icon--casino { background: #0B1220; border: 1px solid rgba(255,255,255,0.1); overflow: hidden; }
/* bg overridden by inline style injected by JS from cc_logo_overlay_bg_color */
.vc-icon--casino img { width: 26px; height: 26px; object-fit: contain; border-radius: 6px; display: block; }

/* Light mode */
:root.light .cc-prose ul li {
  background: #fff;
  border-color: rgba(0,0,0,0.07);
}
:root.light .cc-prose ul li:hover {
  background: #fafafa;
  border-color: rgba(245,200,66,0.35);
}

/* Mobile */
@media (max-width: 640px) {
  .cc-prose ul li { padding: 0.625rem 0.875rem; }
}

/* Ordered lists — gold counter */
.cc-prose ol {
  padding-left: 0;
  margin-bottom: 1.125rem;
  list-style: none;
  counter-reset: cc-prose-counter;
  display: flex; flex-direction: column; gap: 0.625rem;
}
.cc-prose ol li {
  position: relative;
  padding-left: 2.25rem;
  color: var(--text-secondary);
  counter-increment: cc-prose-counter;
}
.cc-prose ol li::before {
  content: counter(cc-prose-counter, decimal-leading-zero);
  position: absolute; left: 0; top: 0;
  width: 1.625rem; height: 1.625rem;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 7px;
  font-size: 0.5625rem; font-weight: 800;
  color: var(--gold);
  display: flex; align-items: center; justify-content: center;
  letter-spacing: 0.04em;
  line-height: 1;
}

/* Nested lists */
.cc-prose ul ul,
.cc-prose ol ol,
.cc-prose ul ol,
.cc-prose ol ul { margin-top: 0.5rem; margin-bottom: 0; }

/* Blockquote */
.cc-prose blockquote {
  margin: 1.5rem 0;
  padding: 1rem 1.25rem;
  border-left: 3px solid var(--gold);
  background: var(--bg-card);
  border-radius: 0 10px 10px 0;
  font-style: italic;
  color: var(--text-secondary);
}
.cc-prose blockquote p { margin: 0; }

/* Code */
.cc-prose code {
  font-family: var(--font-mono);
  font-size: 0.875em;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 5px;
  padding: 0.1em 0.4em;
  color: var(--gold);
}

/* HR divider */
.cc-prose hr {
  border: none;
  border-top: 1px solid var(--border-subtle);
  margin: 2rem 0;
}

/* Tables */
/* ── Neon Ledger table — automatic for all .cc-prose tables ── */
.cc-prose table, .cc-sr-prose table {
  width: 100%; border-collapse: collapse;
  margin: 1.5rem 0;
  border-radius: 14px; overflow: hidden;
  border: 1px solid rgba(245,200,66,0.2);
  background: #0a0d14;
  font-size: 0.875rem;
}

/* ── Heading before table = fun-card style header bar ── */
.cc-prose h2:has(+ table),
.cc-prose h3:has(+ table),
.cc-sr-prose h2:has(+ table),
.cc-sr-prose h3:has(+ table) {
  display: flex; align-items: center; gap: 0.5rem;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(245,200,66,0.2);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  border-radius: 14px 14px 0 0;
  padding: 0.75rem 1rem;
  font-size: 0.625rem; font-weight: 800;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: #f0f4f8; margin: 1.5rem 0 0;
  line-height: 1;
}
/* Icon badge injected by JS — same as .cc-fun-card__hd-icon */
.cc-prose h2:has(+ table) .nl-hd-icon,
.cc-prose h3:has(+ table) .nl-hd-icon,
.cc-sr-prose h2:has(+ table) .nl-hd-icon,
.cc-sr-prose h3:has(+ table) .nl-hd-icon {
  width: 26px; height: 26px; border-radius: 8px;
  background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; color: #07090f;
}
.cc-prose h2:has(+ table) + table,
.cc-prose h3:has(+ table) + table,
.cc-sr-prose h2:has(+ table) + table,
.cc-sr-prose h3:has(+ table) + table {
  margin-top: 0;
  border-top: none;
  border-radius: 0 0 14px 14px;
}

/* Light mode header */
:root.light .cc-prose h2:has(+ table),
:root.light .cc-prose h3:has(+ table),
:root.light .cc-sr-prose h2:has(+ table),
:root.light .cc-sr-prose h3:has(+ table) {
  background: rgba(0,0,0,0.03);
  border-color: rgba(245,200,66,0.25);
  border-bottom-color: rgba(0,0,0,0.07);
  color: #1a1e2a;
}

/* ── thead = column labels (row 2): NO background, gold text only ── */
.cc-prose thead tr, .cc-sr-prose thead tr {
  /* Column labels row: dark background, NO gold gradient (that's title-only) */
  background: rgba(255,255,255,0.025);
  border-bottom: 1px solid rgba(245,200,66,0.14);
}
.cc-prose th, .cc-sr-prose th {
  padding: 0.8rem 1.25rem;
  font-size: 0.5rem; font-weight: 800;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: #F5C842; text-align: left;
  white-space: nowrap;
  background: transparent;
  border-bottom: none;
}

/* ── When NO heading before table: first thead row gets the gold gradient ── */
.cc-prose table:not(.cc-prose h2:has(+ table) + table):not(.cc-prose h3:has(+ table) + table) thead tr:first-child {
  background: linear-gradient(135deg, rgba(245,200,66,0.14) 0%, rgba(245,200,66,0.07) 100%);
}

/* Row styles */
.cc-prose td, .cc-sr-prose td {
  padding: 0.8rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.045);
  vertical-align: middle;
  transition: color 0.15s;
}
.cc-prose tr:last-child td, .cc-sr-prose tr:last-child td { border-bottom: none; }
.cc-prose tbody tr, .cc-sr-prose tbody tr { transition: background 0.15s; cursor: default; }
.cc-prose tbody tr:hover, .cc-sr-prose tbody tr:hover { background: rgba(245,200,66,0.05); }

/* Label column */
.cc-prose td:first-child, .cc-sr-prose td:first-child {
  width: 200px;
  font-size: 0.5rem; font-weight: 800;
  letter-spacing: 0.13em; text-transform: uppercase;
  color: rgba(255,255,255,0.38);
  border-right: 1px solid rgba(255,255,255,0.05);
  white-space: nowrap; transition: color 0.15s;
}
.cc-prose tbody tr:hover td:first-child, .cc-sr-prose tbody tr:hover td:first-child { color: rgba(245,200,66,0.75); }

/* Value column */
.cc-prose td:last-child, .cc-sr-prose td:last-child {
  font-size: 0.875rem; font-weight: 500;
  color: #c8d0dc; transition: color 0.15s;
}
.cc-prose tbody tr:hover td:last-child, .cc-sr-prose tbody tr:hover td:last-child { color: #fff; }

/* ── nl-hd-row: always-on gold overlay, full row width ── */
.cc-prose tr.nl-hd-row,
.cc-sr-prose tr.nl-hd-row {
  background: rgba(245,200,66,0.06);
  border-bottom: 1px solid rgba(245,200,66,0.12) !important;
}
/* No hover change — state is permanent */
.cc-prose tr.nl-hd-row:hover,
.cc-sr-prose tr.nl-hd-row:hover {
  background: rgba(245,200,66,0.06);
}
.cc-prose tr.nl-hd-row th,
.cc-sr-prose tr.nl-hd-row th {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.875rem 1.25rem;
  font-size: 0.625rem; font-weight: 800;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: #f0f4f8; background: transparent;
  border-bottom: none; white-space: normal;
  width: 100%;
}
/* Icon badge */
.cc-prose tr.nl-hd-row .nl-hd-icon,
.cc-sr-prose tr.nl-hd-row .nl-hd-icon,
.cc-prose h2:has(+ table) .nl-hd-icon,
.cc-prose h3:has(+ table) .nl-hd-icon,
.cc-sr-prose h2:has(+ table) .nl-hd-icon,
.cc-sr-prose h3:has(+ table) .nl-hd-icon {
  width: 26px; height: 26px; border-radius: 8px;
  background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0; color: #07090f;
}
/* Light mode */
:root.light .cc-prose tr.nl-hd-row,
:root.light .cc-sr-prose tr.nl-hd-row,
:root.light .cc-prose tr.nl-hd-row:hover,
:root.light .cc-sr-prose tr.nl-hd-row:hover {
  background: rgba(245,200,66,0.08);
  border-bottom-color: rgba(245,200,66,0.18) !important;
}

/* JS-injected colour classes on value cells */
.cc-prose td.nl-gold, .cc-sr-prose td.nl-gold  { color: #F5C842 !important; font-weight: 700; }
.cc-prose td.nl-red, .cc-sr-prose td.nl-red   { color: #f87171 !important; font-weight: 600; }
.cc-prose td.nl-green, .cc-sr-prose td.nl-green { color: #34d399 !important; font-weight: 600; }
.cc-prose td.nl-amber, .cc-sr-prose td.nl-amber { color: #fbbf24 !important; font-weight: 600; }
.cc-prose td.nl-blue, .cc-sr-prose td.nl-blue  { color: #93c5fd !important; font-weight: 600; }
.cc-prose td.nl-muted, .cc-sr-prose td.nl-muted { color: rgba(255,255,255,0.35) !important; font-size:0.775rem !important; font-weight: 400; line-height: 1.55; }

/* Light mode */
:root.light .cc-prose table { background: #fff; border-color: rgba(232,106,23,0.28); }
:root.light .cc-prose thead tr { background: rgba(232,106,23,0.09); }
:root.light .cc-prose td { border-color: rgba(0,0,0,0.05); }
:root.light .cc-prose td:first-child { color: rgba(0,0,0,0.4); border-color: rgba(0,0,0,0.06); }
:root.light .cc-prose td:last-child { color: #1a1e2a; }
:root.light .cc-prose tbody tr:hover { background: rgba(232,106,23,0.05); }
:root.light .cc-prose tbody tr:hover td:first-child { color: rgba(200,90,16,0.9); }
:root.light .cc-prose tbody tr:hover td:last-child { color: #000; }
:root.light .cc-prose h2:has(+ table),
:root.light .cc-prose h3:has(+ table) {
  background: rgba(245,200,66,0.09);
  border-color: rgba(245,200,66,0.28);
  border-bottom-color: rgba(245,200,66,0.18);
  color: #a07800;
}

/* Mobile */
@media (max-width: 640px) {
  .cc-prose table { border-radius: 10px; }
  .cc-prose td:first-child { width: auto; min-width: 110px; }
  .cc-prose td { padding: 0.625rem 0.875rem; }
  .cc-prose figure.wp-block-table,
  .cc-prose .wp-block-table {
    overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 0 1.25rem;
  }
}
.cc-divider { border: none; border-top: 1px solid var(--border-subtle); margin: 2.5rem 0; }

/* ═══════════════════════════════════════════════════════════════
   TOOLTIPS & TRUST BAR
═══════════════════════════════════════════════════════════════ */
.tooltip-trigger { position: relative; }
.tooltip { visibility: hidden; position: absolute; top: calc(100% + 6px); right: 0; background: var(--bg-elevated); color: var(--text-primary); font-size: 0.6875rem; font-weight: 600; padding: 0.375rem 0.625rem; border-radius: 6px; white-space: nowrap; border: 1px solid var(--border-mid); opacity: 0; transition: opacity 0.2s; z-index: 200; pointer-events: none; }
.tooltip-trigger:hover .tooltip { visibility: visible; opacity: 1; }
.cc-trust-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; padding: 1.125rem 0; }
.cc-trust-item { display: flex; align-items: center; gap: 0.5rem; font-size: 0.8125rem; font-weight: 600; color: var(--text-secondary); }

/* ═══════════════════════════════════════════════════════════════
   TAILWIND COMPAT + LIGHT MODE OVERRIDES
═══════════════════════════════════════════════════════════════ */
:root.light body { background: var(--bg-main); color: var(--text-primary); }
:root.light .text-white { color: var(--text-primary) !important; }
:root.light .text-white\/60 { color: var(--text-secondary) !important; }
:root.light .text-white\/40 { color: var(--text-muted) !important; }
:root.light .text-white\/20 { color: var(--text-faint) !important; }
:root.light .text-white\/5  { color: #d1d5db !important; }
:root.light .bg-white\/5  { background: rgba(0,0,0,0.03) !important; }
:root.light .bg-white\/8  { background: rgba(0,0,0,0.04) !important; }
:root.light .bg-white\/10 { background: rgba(0,0,0,0.05) !important; }
:root.light .bg-white\/15 { background: rgba(0,0,0,0.07) !important; }
:root.light .border-white\/10 { border-color: rgba(0,0,0,0.08) !important; }
:root.light .border-white\/20 { border-color: rgba(0,0,0,0.12) !important; }
:root.light header, :root.light .cc-header { background: rgba(244,246,249,0.94) !important; border-bottom-color: var(--border-subtle) !important; }
:root.light footer, :root.light .cc-footer { background: var(--bg-card) !important; }
:root.light .glass-card { background: #ffffff !important; }
:root.light .cc-casino-card { background: #ffffff !important; }
:root.light .cc-news-card { background: #ffffff !important; }
:root.light .cc-rank-row { background: #ffffff !important; }
:root.light .cc-rank-row[data-rank-pos="1"] { background: linear-gradient(90deg, rgba(245,200,66,0.06), #ffffff 50%) !important; }
:root.light .cc-rank-row__name { color: #0f172a; }
:root.light .cc-rank-row__sub { color: #64748b; }
:root.light .cc-rank-chip { background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.1); color: #64748b; }
:root.light .cc-rank-row:hover .cc-rank-chip { border-color: rgba(0,0,0,0.18); color: #374151; }
:root.light .cc-rank-ring__track { stroke: rgba(0,0,0,0.08); }
:root.light .cc-rank-review-link { color: #94a3b8; text-decoration-color: rgba(0,0,0,0.12); }
:root.light .cc-rank-review-link:hover { color: #475569; text-decoration-color: rgba(0,0,0,0.3); }
:root.light .cc-sr-hero__veil { background: linear-gradient(to right, rgba(244,246,249,0.98) 0%, rgba(244,246,249,0.88) 55%, rgba(244,246,249,0.55) 100%) !important; }
:root.light .cc-sr-hero .cc-score-ring-track { stroke: rgba(0,0,0,0.08); }
:root.light .cc-score-bar-track { background: rgba(0,0,0,0.07); }

/* Verdict panel — light mode: matches other light containers (white bg, dark text) */
:root.light .cc-sr-verdict-panel { background: #ffffff !important; color: var(--text-primary); border-color: rgba(0,0,0,0.09) !important; }
:root.light .cc-sr-vp__operator { color: var(--text-primary) !important; }
:root.light .cc-sr-vp__bar-label { color: var(--text-secondary) !important; }
:root.light .cc-sr-vp__bar-track { background: rgba(0,0,0,0.08) !important; }
:root.light .cc-sr-vp__bar-val { color: #e86a17 !important; }
:root.light .cc-sr-vp__stat-val { color: var(--text-primary) !important; }
:root.light .cc-sr-vp__stat-label { color: var(--text-muted) !important; }
:root.light .cc-sr-vp__score-sub { color: var(--text-muted) !important; }
:root.light .cc-sr-vp__disclaimer { color: var(--text-muted) !important; }
:root.light .cc-sr-vp__header { border-bottom-color: rgba(0,0,0,0.08) !important; }
:root.light .cc-sr-vp__stats { border-top-color: rgba(0,0,0,0.08) !important; }

/* ═══════════════════════════════════════════════════════════════
   CINEMATIC VIDEO HERO — v2.1
   Full-bleed ambient video, layered veil, gold accents,
   Ken Burns static fallback, scroll hint, video controls
═══════════════════════════════════════════════════════════════ */

/* ── Base hero container ── */
.cc-hero-cinematic {
  position: relative;
  overflow: hidden;
  min-height: 680px;
  display: flex;
  align-items: center;
  background: #03040a; /* deep fallback while video loads */
  isolation: isolate;
}

/* ── Video element — covers entire hero ── */
.cc-hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
  /* Subtle slow zoom on the video itself adds depth */
  transform: scale(1.04);
  transition: transform 0.5s ease;
  will-change: transform;
}
/* Play state: let the video breathe at normal scale */
.cc-hero-video.cc-video-playing {
  animation: ccVideoBreath 14s ease-in-out infinite alternate;
}
@keyframes ccVideoBreath {
  from { transform: scale(1.04); }
  to   { transform: scale(1.0);  }
}

/* ── Static Ken Burns fallback (no video) ── */
.cc-hero-static-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-size: cover;
  background-position: center;
}
@keyframes ccKenBurns {
  0%   { transform: scale(1.0)  translate(0,    0);    }
  33%  { transform: scale(1.05) translate(-1%,  -0.5%); }
  66%  { transform: scale(1.03) translate(0.5%,  1%);  }
  100% { transform: scale(1.0)  translate(0,    0);    }
}
.cc-hero-kenburns {
  animation: ccKenBurns 20s ease-in-out infinite;
  will-change: transform;
}
@media (prefers-reduced-motion: reduce) {
  .cc-hero-kenburns   { animation: none; }
  .cc-hero-video      { animation: none; }
  .cc-hero-video      { transform: scale(1); }
}

/* ── Pure CSS atmospheric fallback (no image set) ── */
.cc-hero-css-fallback {
  background:
    radial-gradient(ellipse 120% 80% at 10% 60%, rgba(245,200,66,0.09) 0%, transparent 55%),
    radial-gradient(ellipse 80%  60% at 85% 25%, rgba(245,200,66,0.05) 0%, transparent 50%),
    radial-gradient(ellipse 60%  50% at 50% 90%, rgba(245,200,66,0.03) 0%, transparent 50%),
    linear-gradient(160deg, #0a0b14 0%, #03040a 50%, #080a10 100%);
}

/* ── Layer 2: Cinematic veil — directional dark-left gradient ── */
.cc-hero-veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    /* Hard left anchor — text always readable */
    linear-gradient(
      100deg,
      rgba(3,4,10,0.96)  0%,
      rgba(3,4,10,0.88)  32%,
      rgba(3,4,10,0.65)  58%,
      rgba(3,4,10,0.28)  78%,
      rgba(3,4,10,0.10)  100%
    ),
    /* Bottom fade — ground the section */
    linear-gradient(
      to top,
      rgba(3,4,10,0.75) 0%,
      transparent 40%
    ),
    /* Top fade — blend with nav */
    linear-gradient(
      to bottom,
      rgba(3,4,10,0.50) 0%,
      transparent 25%
    );
  pointer-events: none;
}

/* ── Layer 3: Gold atmospheric glows ── */
.cc-hero-glow-left {
  position: absolute;
  z-index: 2;
  left: -8%;
  top: 20%;
  width: 55%;
  height: 70%;
  background: radial-gradient(
    ellipse at center,
    rgba(245,200,66,0.055) 0%,
    transparent 70%
  );
  pointer-events: none;
  mix-blend-mode: screen;
}
.cc-hero-glow-right {
  position: absolute;
  z-index: 2;
  right: -5%;
  top: -10%;
  width: 40%;
  height: 60%;
  background: radial-gradient(
    ellipse at center,
    rgba(245,200,66,0.03) 0%,
    transparent 70%
  );
  pointer-events: none;
  mix-blend-mode: screen;
}

/* ── Layer 4: Film grain texture ── */
.cc-hero-grain {
  position: absolute;
  inset: 0;
  z-index: 3;
  opacity: 0.028;
  pointer-events: none;
  /* SVG-based noise — no external asset required */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 200px 200px;
}

/* ── Layer 5: Content layout ── */
.cc-hero-copy {
  max-width: 640px;
}

/* Hero H1 */
.cc-hero-h1 {
  font-size: clamp(3rem, 6.5vw, 5rem);
  font-weight: 900;
  line-height: 1.0;
  letter-spacing: -0.02em;
  color: #fff;
  margin-bottom: 1.375rem;
  text-shadow: 0 2px 32px rgba(0,0,0,0.5);
}
.cc-hero-h1__accent {
  font-style: italic;
  color: var(--gold);
  /* Subtle gold text-shadow for depth against video */
  text-shadow: 0 0 40px rgba(245,200,66,0.25), 0 2px 32px rgba(0,0,0,0.5);
}
.cc-hero-h1__muted {
  color: rgba(255,255,255,0.45);
}
.cc-hero-tagline {
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gold);
  opacity: 0.85;
  margin: 0 0 0.5rem;
}

/* Hero subtext */
.cc-hero-sub {
  font-size: 1.0625rem;
  color: rgba(255,255,255,0.68);
  max-width: 500px;
  line-height: 1.72;
  margin-bottom: 2rem;
}

/* Hero button row */
.cc-hero-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 2.5rem;
}
.cc-btn--hero {
  font-size: 0.875rem;
  padding: 0.75rem 1.5rem;
}

/* Trust bar in hero context — always light text */
.cc-hero-cinematic .cc-trust-item {
  color: rgba(255,255,255,0.6);
}

/* ── Hero picks panel ── */
.cc-hero-pick-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  transition: var(--transition);
}
.cc-hero-pick-row:hover {
  background: rgba(255,255,255,0.08);
  border-color: var(--gold-border);
}
.cc-hero-pick-num {
  font-family: var(--font-display);
  font-size: 1.125rem;
  font-weight: 900;
  font-style: italic;
  color: rgba(255,255,255,0.2);
  min-width: 1.5rem;
  text-align: center;
  flex-shrink: 0;
}
.cc-hero-pick-logo {
  width: 44px;
  height: 44px;
  border-radius: 9px;
  object-fit: contain;
  background: rgba(255,255,255,0.08);
  padding: 0.25rem;
  border: 1px solid rgba(255,255,255,0.10);
  flex-shrink: 0;
}
.cc-hero-pick-logo--empty {
  display: flex;
  align-items: center;
  justify-content: center;
}
.cc-hero-pick-info {
  flex: 1;
  min-width: 0;
}
.cc-hero-pick-name {
  font-weight: 700;
  font-size: 0.875rem;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-hero-pick-name a { color: inherit; }
.cc-hero-pick-name a:hover { color: var(--gold); }
.cc-hero-pick-rating {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--gold);
}
.cc-hero-panel-disclaimer {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255,255,255,0.07);
  font-size: 0.6875rem;
  color: rgba(255,255,255,0.3);
  line-height: 1.5;
}

/* ── Video pause/play toggle button ── */
.cc-hero-video-toggle {
  position: absolute;
  bottom: 1.5rem;
  right: 1.5rem;
  z-index: 10;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.45);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 50%;
  color: rgba(255,255,255,0.65);
  cursor: pointer;
  transition: var(--transition);
  /* Keep away from scroll hint */
}
.cc-hero-video-toggle:hover {
  background: rgba(0,0,0,0.7);
  color: #fff;
  border-color: rgba(255,255,255,0.25);
}

/* ── Scroll indicator ── */
.cc-hero-scroll-hint {
  position: absolute;
  bottom: 1.75rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.375rem;
  pointer-events: none;
}
@keyframes ccScrollPulse {
  0%, 100% { transform: scaleY(1);   opacity: 0.5; }
  50%       { transform: scaleY(1.6); opacity: 1;   }
}
.cc-hero-scroll-line {
  display: block;
  width: 1px;
  height: 28px;
  background: linear-gradient(to bottom, rgba(255,255,255,0.6), transparent);
  animation: ccScrollPulse 2s cubic-bezier(0.16,1,0.3,1) infinite;
  transform-origin: top center;
}
.cc-hero-scroll-label {
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.35);
}

/* ════════════════════════════════════════════════════════
   HERO — Moving Game Tiles background (admin-toggled)
   Replaces video in Layer 1; all other layers unchanged.
   Reuses cc-lp-scroll-left / cc-lp-scroll-right keyframes.
════════════════════════════════════════════════════════ */
.cc-hero-tiles {
  position: absolute; inset: 0; z-index: 0;
  overflow: hidden;
}
.cc-hero-tiles__wrap {
  /* Oversized + rotated so tiles fill every edge even when clipped */
  position: absolute;
  top: -35%; left: -25%; right: -25%; bottom: -35%;
  transform: rotate(-12deg) scale(1.1);
  display: flex; flex-direction: column; gap: 10px;
}
/* Base row: scrolls left — negative delay = start already mid-scroll, no blank gap on load.
   14 tiles per row (14 × 210px = 2940px per copy) ensures one copy always covers the full
   rotated viewport width before the seamless second copy kicks in. */
.cc-hero-tiles__row {
  display: flex; gap: 10px;
  flex-shrink: 0;
  width: max-content;
  animation: cc-lp-scroll-left 200s linear infinite;
  animation-delay: -47s;
}
/* Alternate rows: different directions, speeds, and start offsets */
.cc-hero-tiles__row:nth-child(2)  { animation-name: cc-lp-scroll-right; animation-duration: 150s; animation-delay: -33s; }
.cc-hero-tiles__row:nth-child(3)  { animation-duration: 230s; animation-delay: -78s; }
.cc-hero-tiles__row:nth-child(4)  { animation-name: cc-lp-scroll-right; animation-duration: 175s; animation-delay: -22s; }
.cc-hero-tiles__row:nth-child(5)  { animation-duration: 210s; animation-delay: -63s; }
.cc-hero-tiles__row:nth-child(6)  { animation-name: cc-lp-scroll-right; animation-duration: 145s; animation-delay: -44s; }
.cc-hero-tiles__row:nth-child(7)  { animation-duration: 190s; animation-delay: -96s; }
.cc-hero-tiles__row:nth-child(8)  { animation-name: cc-lp-scroll-right; animation-duration: 195s; animation-delay: -59s; }

.cc-hero-tiles__card {
  width: 200px; height: 130px;
  border-radius: 10px; flex-shrink: 0; overflow: hidden;
}
.cc-hero-tiles__card img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  opacity: 0.72;
}
/* Pause on reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .cc-hero-tiles__row { animation: none; }
}

/* ── Responsive ── */
@media (max-width: 899px) {
  .cc-hero-cinematic { min-height: 580px; }
  .cc-hero-h1        { font-size: clamp(2.5rem, 8vw, 3.5rem); }
  .cc-hero-sub       { font-size: 0.9375rem; }
  .cc-hero-scroll-hint { display: none; }
  .cc-hero-video-toggle { bottom: 1rem; right: 1rem; width: 30px; height: 30px; }
  /* Veil goes heavier on mobile — no side panel, text needs more contrast */
  .cc-hero-veil {
    background:
      linear-gradient(to bottom, rgba(3,4,10,0.80) 0%, rgba(3,4,10,0.75) 60%, rgba(3,4,10,0.90) 100%);
  }
}
@media (max-width: 599px) {
  .cc-hero-cinematic { min-height: 520px; }
  .cc-hero-btns .cc-btn--hero { font-size: 0.8125rem; padding: 0.625rem 1.125rem; }
}

/* ── Light mode — hero always stays dark (video/cinema context) ── */
:root.light .cc-hero-cinematic {
  /* Trust items stay white against video */
}
:root.light .cc-hero-cinematic .cc-trust-item {
  color: rgba(255,255,255,0.6) !important;
}
:root.light .cc-hero-cinematic .cc-section-badge {
  background: rgba(245,200,66,0.15) !important;
  border-color: rgba(245,200,66,0.3) !important;
}

/* ═══════════════════════════════════════════════════════════════
   FIX: cc-page-hero — MISSING FROM INITIAL BUILD
   Used by archive, compliance, podcasts, guides, about,
   home.php, single.php, 404, and all template-parts/pages
═══════════════════════════════════════════════════════════════ */

.cc-page-hero {
  position: relative;
  overflow: hidden;
  background: var(--bg-main);
  min-height: 320px;
  display: flex;
  align-items: center;
}

.cc-page-hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform-origin: center;
  will-change: transform;
}

.cc-page-hero__veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    110deg,
    rgba(7,9,15,0.97) 0%,
    rgba(7,9,15,0.82) 50%,
    rgba(7,9,15,0.55) 100%
  );
}

.cc-page-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 5rem 1.5rem 4rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: center;
}

@media (min-width: 900px) {
  .cc-page-hero__content {
    grid-template-columns: 1fr auto;
    padding: 6rem 2.5rem 5rem;
  }
}

/* Hero content box (right-side card in hero) */
.cc-hero-content-box {
  background: rgba(13,17,23,0.75);
  backdrop-filter: blur(24px) saturate(160%);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
  border: 1px solid var(--gold-border);
  border-radius: var(--radius-card);
  padding: 2rem;
  min-width: 280px;
  max-width: 360px;
}

@media (max-width: 899px) {
  .cc-hero-content-box { max-width: 100%; }
}

/* ═══════════════════════════════════════════════════════════════
   FIX: RANK BONUS COLUMN — was display:none with no toggle
═══════════════════════════════════════════════════════════════ */

.cc-rank-bonus-col {
  display: none;
  text-align: right;
  max-width: 200px;
}

@media (min-width: 1100px) {
  .cc-rank-bonus-col { display: block; }
}

/* ═══════════════════════════════════════════════════════════════
   FIX + ENHANCE: MICRO-INTERACTIONS
═══════════════════════════════════════════════════════════════ */

/* Tab panel fade transition */
.cc-review-tab-panel {
  animation: ccFadeIn 0.22s ease forwards;
}

@keyframes ccFadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Casino card logo bg on light mode */
.cc-casino-card__hero { background: var(--bg-elevated); }

/* Signal chip tooltip */
.cc-signal-chip {
  position: relative;
  cursor: default;
}

.cc-signal-chip[data-tip]::after {
  content: attr(data-tip);
  position: absolute;
  bottom: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
  background: var(--bg-elevated);
  color: var(--text-primary);
  font-size: 0.625rem;
  font-weight: 600;
  padding: 0.3rem 0.6rem;
  border-radius: 6px;
  border: 1px solid var(--border-mid);
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.18s ease;
  z-index: 50;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}

.cc-signal-chip[data-tip]:hover::after {
  opacity: 1;
}

/* Number count-up: elements that animate */
.cc-count-up {
  display: inline-block;
  font-variant-numeric: tabular-nums;
}

/* Shimmer loading skeleton */
.cc-skeleton {
  background: linear-gradient(
    90deg,
    var(--bg-glass) 25%,
    rgba(255,255,255,0.08) 50%,
    var(--bg-glass) 75%
  );
  background-size: 200% 100%;
  animation: ccShimmer 1.4s ease-in-out infinite;
  border-radius: 6px;
}

@keyframes ccShimmer {
  0%   { background-position: -200% 0; }
  100% { background-position:  200% 0; }
}

/* Jackpot ticker live pulse */
.cc-jackpot-live-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--gold);
  animation: ccPulseBright 1.6s ease-in-out infinite;
  display: inline-block;
  flex-shrink: 0;
}

@keyframes ccPulseBright {
  0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(245,200,66,0.5); }
  50%       { opacity: 0.7; box-shadow: 0 0 0 5px rgba(245,200,66,0); }
}

/* Ticker pause on hover */
.cc-jackpot-ticker__track {
  display: flex;
  animation: ccTickerScroll 32s linear infinite;
}

.cc-jackpot-ticker:hover .cc-jackpot-ticker__track {
  animation-play-state: paused;
}

/* Mobile sticky CTA */
.cc-sticky-cta {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 90;
  background: var(--bg-card);
  border-top: 1px solid var(--gold-border);
  padding: 0.875rem 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.875rem;
  transform: translateY(100%);
  transition: transform 0.35s cubic-bezier(0.4,0,0.2,1);
  box-shadow: 0 -4px 24px rgba(0,0,0,0.3);
}

.cc-sticky-cta.is-visible { transform: translateY(0); }

.cc-sticky-cta__name {
  flex: 1;
  font-family: var(--font-display);
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cc-sticky-cta__rating {
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--gold);
  flex-shrink: 0;
}

@media (min-width: 768px) {
  .cc-sticky-cta { display: none !important; }
}

/* Score bar scroll-triggered: starts invisible, JS adds width */
.cc-score-bar-fill {
  width: 0%;
  transition: width 1.2s cubic-bezier(0.4,0,0.2,1);
}

/* QuickMatch result slide-in */
#cc-quickmatch-result {
  animation: ccSlideDown 0.28s cubic-bezier(0.4,0,0.2,1) forwards;
}

@keyframes ccSlideDown {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Archive rank row bonus — reveal on wider screens */
@media (min-width: 1200px) {
  .cc-rank-bonus-col { display: block; }
}

/* RTP Calculator widget */
.cc-rtp-calculator {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}

.cc-rtp-calc-header {
  background: linear-gradient(135deg, var(--gold-dim) 0%, transparent 60%);
  padding: 1.5rem;
  border-bottom: 1px solid var(--border-subtle);
}

.cc-rtp-result {
  font-family: var(--font-mono);
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--gold);
  line-height: 1;
  margin: 0.5rem 0;
}

.cc-rtp-input {
  font-family: var(--font-sans);
  font-size: 1rem;
  color: var(--text-primary);
  background: var(--bg-glass);
  border: 1px solid var(--border-mid);
  border-radius: 10px;
  padding: 0.625rem 1rem;
  width: 100%;
  outline: none;
  transition: var(--transition);
}

.cc-rtp-input:focus {
  border-color: var(--gold-border);
  box-shadow: 0 0 0 3px var(--gold-dim);
}

/* ═══════════════════════════════════════════════════════════════
   FIX: COMPREHENSIVE LIGHT MODE OVERRIDES
   Covers every component not fully handled by CSS variables
═══════════════════════════════════════════════════════════════ */

/* ── Page hero veil — CRITICAL (was missing) ── */
:root.light .cc-page-hero__veil {
  background: linear-gradient(
    110deg,
    rgba(244,246,249,0.97) 0%,
    rgba(244,246,249,0.88) 50%,
    rgba(244,246,249,0.58) 100%
  ) !important;
}

/* ── Hero content box — ALWAYS dark regardless of light/dark mode ── */
/* The hero video background is always dark, so the panel must always
   render in dark mode to stay legible against it. */
:root.light .cc-hero-content-box {
  background: rgba(13,17,23,0.82) !important;
  border-color: var(--gold-border) !important;
  box-shadow: 0 4px 32px rgba(0,0,0,0.45) !important;
  color: #f0f4f8 !important;
}
/* Force all text inside the hero panel dark even in light mode */
:root.light .cc-hero-content-box,
:root.light .cc-hero-content-box h1,
:root.light .cc-hero-content-box h2,
:root.light .cc-hero-content-box h3,
:root.light .cc-hero-content-box p,
:root.light .cc-hero-content-box span,
:root.light .cc-hero-content-box a:not(.cc-btn),
:root.light .cc-hero-content-box .cc-section-eyebrow,
:root.light .cc-hero-content-box .cc-rating-number {
  color: #f0f4f8 !important;
}
:root.light .cc-hero-content-box .cc-text-muted,
:root.light .cc-hero-content-box [style*="color:var(--text-muted)"],
:root.light .cc-hero-content-box [style*="color:var(--text-secondary)"] {
  color: rgba(240,244,248,0.65) !important;
}

/* ── Casino card hero area ── */
:root.light .cc-casino-card__hero { background: #c0c3c6 !important; }

/* ── Game card ── */
:root.light .cc-game-card          { background: #ffffff !important; }
:root.light .cc-game-card__thumb   { background: #e8edf3 !important; }

/* ── Podcast card ── */
:root.light .cc-podcast-card       { background: #ffffff !important; }

/* ── Category tiles — Color Court (always dark, no light-mode override) ── */

/* ── Province cards ── */
:root.light .cc-province-card      { background: #ffffff !important; }

/* ── Compliance cards ── */
:root.light .cc-compliance-card    { background: #ffffff !important; }

/* ── Filter bar ── */
:root.light #cc-reviews-filter-bar,
:root.light #cc-games-filter-bar   { background: #ffffff !important; border-color: rgba(0,0,0,0.08) !important; }
:root.light .cc-filter-select      { background: #f0f4f8 !important; color: var(--text-primary) !important; border-color: rgba(0,0,0,0.12) !important; }
:root.light .cc-filter-select option { background: #ffffff; color: #0f172a; }
:root.light #cc-filter-search      { background: #f0f4f8 !important; color: var(--text-primary) !important; border-color: rgba(0,0,0,0.12) !important; }

/* ── Archive tabs ── */
:root.light .cc-archive-tab        { color: var(--text-secondary) !important; }
:root.light .cc-archive-tab:hover  { background: rgba(0,0,0,0.04) !important; color: var(--text-primary) !important; }
:root.light .cc-archive-tab.active { background: var(--gold-dim) !important; border-color: var(--gold-border) !important; color: var(--gold) !important; }

/* ── QuickMatch ── */
:root.light #cc-quickmatch         { background: #ffffff !important; }
:root.light .cc-qm-header          { background: linear-gradient(135deg, var(--gold-dim) 0%, transparent 70%) !important; }
:root.light .cc-qm-pill            { background: rgba(0,0,0,0.04) !important; border-color: rgba(0,0,0,0.10) !important; color: var(--text-secondary) !important; }
:root.light .cc-qm-pill:hover,
:root.light .cc-qm-pill.active     { background: var(--gold-dim) !important; border-color: var(--gold-border) !important; color: var(--gold) !important; }

/* ── Jackpot ticker ── */
:root.light .cc-jackpot-ticker     { background: #ffffff !important; }
:root.light .cc-jackpot-ticker__label { background: var(--gold-dim) !important; }
:root.light .cc-jackpot-ticker__item  { color: var(--text-secondary) !important; border-color: rgba(0,0,0,0.07) !important; }

/* ── Score ring / bars on single review ── */
:root.light .cc-score-ring-track   { stroke: rgba(0,0,0,0.08) !important; }
:root.light .cc-score-bar-track    { background: rgba(0,0,0,0.06) !important; }
:root.light .cc-sr-gauge-bg        { stroke: rgba(0,0,0,0.08) !important; }
:root.light .cc-score-ring-num,
:root.light .cc-sr-gauge-num,
:root.light .cc-score-ring-sub,
:root.light .cc-sr-gauge-sub       { /* keep gold / muted — already CSS vars */ }

/* ── Single review hero — inline white text fix ── */
:root.light .cc-sr-hero .cc-sr-hero__inner p { color: var(--text-secondary) !important; }
:root.light .cc-sr-hero .cc-sr-hero__inner h1 { color: var(--text-primary) !important; }

/* ── Pros/cons ── */
:root.light .cc-pros-col,
:root.light .cc-cons-col           { background: #ffffff !important; }

/* ── Author box ── */
:root.light .cc-author-box         { background: #ffffff !important; }

/* ── Review tabs ── */
:root.light .cc-review-tabs        { border-color: rgba(0,0,0,0.08) !important; }
:root.light .cc-review-tab         { color: var(--text-secondary) !important; border-color: transparent !important; }
:root.light .cc-review-tab:hover   { color: var(--text-primary) !important; }
:root.light .cc-review-tab.active  { color: var(--gold) !important; border-bottom-color: var(--gold) !important; }
:root.light .cc-review-tab-panel   { color: var(--text-primary); }

/* ── Sticky quick nav ── */
/* cc-sr-quicknav removed — replaced by cc-read-rail */
:root.light .cc-sr-qnav-link       { color: var(--text-secondary) !important; }
:root.light .cc-sr-qnav-link:hover,
:root.light .cc-sr-qnav-link.active { color: var(--gold) !important; background: var(--gold-dim) !important; }

/* ── Comparison table ── */
:root.light .cc-comparison-table th,
:root.light .cc-comparison-table td { border-color: rgba(0,0,0,0.07) !important; }

/* ── Pagination ── */
:root.light .cc-page-link a,
:root.light .cc-page-link span     { background: #ffffff !important; border-color: rgba(0,0,0,0.10) !important; color: var(--text-secondary) !important; }
:root.light .cc-page-link a:hover  { border-color: var(--gold-border) !important; color: var(--gold) !important; }
:root.light .cc-page-link .current { background: var(--gold) !important; color: #000 !important; border-color: var(--gold) !important; }

/* ── No results panel ── */
:root.light #cc-no-results         { background: #ffffff !important; }

/* ── Prose ── */
:root.light .cc-prose              { color: var(--text-secondary); }
:root.light .cc-prose h2,
:root.light .cc-prose h3,
:root.light .cc-prose h4           { color: var(--text-primary); }
:root.light .cc-prose strong       { color: var(--text-primary); }
:root.light .cc-prose blockquote   { background: rgba(0,0,0,0.03); }
:root.light .cc-prose ul li::before { background: var(--gold); }
:root.light .cc-prose ol li::before { background: var(--gold-dim); color: var(--gold); border-color: var(--gold-border); }

/* ── Stat cells in single-review hero (rgba white) ── */
:root.light .cc-sr-hero .cc-sr-hero__inner [style*="rgba(255,255,255,0.04)"] {
  background: rgba(0,0,0,0.04) !important;
  border-color: rgba(0,0,0,0.07) !important;
}
:root.light .cc-sr-hero .cc-sr-hero__inner [style*="rgba(255,255,255,0.06)"] {
  border-color: rgba(0,0,0,0.06) !important;
}

/* ── Sticky mobile CTA ── */
:root.light .cc-sticky-cta         { background: #ffffff !important; border-color: var(--gold-border) !important; box-shadow: 0 -4px 24px rgba(0,0,0,0.10) !important; }

/* ── Command palette ── */
:root.light .sbc-palette           { background: #ffffff !important; }
:root.light .sbc-palette-input     { color: var(--text-primary) !important; }
:root.light .sbc-palette-input::placeholder { color: var(--text-muted) !important; }
:root.light .sbc-palette-quick-link { background: rgba(0,0,0,0.04) !important; border-color: rgba(0,0,0,0.08) !important; color: var(--text-secondary) !important; }
:root.light .sbc-palette-quick-link:hover { background: var(--gold-dim) !important; border-color: var(--gold-border) !important; color: var(--gold) !important; }
:root.light .sbc-palette-result-item:hover { background: var(--gold-dim) !important; }
:root.light .sbc-palette-result-icon { background: rgba(0,0,0,0.04) !important; }
:root.light .sbc-palette-footer kbd { background: rgba(0,0,0,0.05) !important; border-color: rgba(0,0,0,0.09) !important; }

/* ── Signal chip tooltip ── */
:root.light .cc-signal-chip[data-tip]::after {
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}

/* ── Section eyebrow / badge ── */
:root.light .cc-section-eyebrow { color: var(--gold); }

/* ── Trust bar ── */
:root.light .cc-trust-item { color: var(--text-secondary); }

/* ── Archive sidebar glass cards ── */
:root.light .cc-archive-sidebar .glass-card { background: #ffffff !important; }

/* ── RTP Calculator ── */
:root.light .cc-rtp-calculator { background: #ffffff !important; }
:root.light .cc-rtp-input { background: #f0f4f8 !important; color: var(--text-primary) !important; border-color: rgba(0,0,0,0.12) !important; }

/* ═══════════════════════════════════════════════════════════════
   QUICKMATCH ENGINE (inc/quickmatch-engine.php output)
═══════════════════════════════════════════════════════════════ */

.cc-qm-wrap {
  background: var(--bg-card);
  border: 1px solid var(--gold-border);
  border-radius: var(--radius-card);
  padding: 1.375rem;
  box-shadow: var(--shadow-card), var(--shadow-gold);
}

.cc-qm-title {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

.cc-qm-step { margin-bottom: 1rem; }

.cc-qm-step-label {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--text-muted);
  margin-bottom: 0.5rem;
}

.cc-qm-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}

.cc-qm-option {
  font-size: 0.8125rem;
  font-weight: 700;
  padding: 0.375rem 0.875rem;
  background: var(--bg-glass);
  border: 1px solid var(--border-mid);
  border-radius: var(--radius-pill);
  color: var(--text-secondary);
  cursor: pointer;
  transition: var(--transition);
}

.cc-qm-option:hover,
.cc-qm-option.selected {
  background: var(--gold-dim);
  border-color: var(--gold-border);
  color: var(--gold);
}

.cc-qm-result {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border-subtle);
}

.cc-qm-our-pick {
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.25rem;
}

.cc-qm-rec {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.cc-qm-logo-box {
  width: 52px; height: 52px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--border-subtle);
  display: flex; align-items: center; justify-content: center;
  padding: 0.25rem;
}

.cc-qm-logo-link { display: inline-block; }

.cc-qm-rec-name {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 800;
  color: var(--text-primary);
  text-decoration: none;
  transition: color 0.2s;
}
.cc-qm-rec-name:hover { color: var(--gold); }

.cc-qm-rec-note {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.5;
}

.cc-qm-rec-cta {
  display: inline-flex;
  align-items: center;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--gold);
  text-decoration: none;
  gap: 0.25rem;
  transition: opacity 0.2s;
  margin-top: 0.25rem;
}
.cc-qm-rec-cta:hover { opacity: 0.8; }

/* ── QM light mode ── */
:root.light .cc-qm-wrap   { background: #ffffff !important; }
:root.light .cc-qm-option { background: rgba(0,0,0,0.04) !important; border-color: rgba(0,0,0,0.10) !important; }
:root.light .cc-qm-option:hover,
:root.light .cc-qm-option.selected { background: var(--gold-dim) !important; border-color: var(--gold-border) !important; }

/* ═══════════════════════════════════════════════════════════════
   VS COMPARISON (inc/vs-comparison.php output)
   Also used by our custom casino-comparison.php template
═══════════════════════════════════════════════════════════════ */

.cc-vs-tool {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}

.cc-vs-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 900;
  font-style: italic;
  color: var(--gold);
  padding: 0.75rem;
}

.cc-vs-results { }

.cc-vs-table {
  width: 100%;
  border-collapse: collapse;
}

.cc-vs-table th,
.cc-vs-table td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.875rem;
  text-align: left;
}

.cc-vs-table th {
  background: var(--bg-elevated);
  font-family: var(--font-display);
  font-weight: 800;
  color: var(--text-primary);
  font-size: 0.9375rem;
}

.cc-vs-table td { color: var(--text-primary); }
.cc-vs-table td.highlight { color: var(--gold); font-weight: 700; font-family: var(--font-mono); }

.cc-vs-compare-btn {
  background: var(--gold);
  color: #000;
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 0.875rem;
  padding: 0.75rem 1.75rem;
  border-radius: 10px;
  cursor: pointer;
  transition: var(--transition);
  border: none;
  box-shadow: 0 2px 12px rgba(245,200,66,0.3);
}
.cc-vs-compare-btn:hover {
  background: var(--gold-hover);
  box-shadow: 0 4px 20px rgba(245,200,66,0.45);
  transform: translateY(-1px);
}

/* ── CC-chip (used in helpers.php for payment method display) ── */
.cc-chip {
  display: inline-flex;
  align-items: center;
  font-size: 0.6875rem;
  font-weight: 700;
  padding: 0.2rem 0.6rem;
  background: var(--bg-glass);
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  color: var(--text-secondary);
}

.cc-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}

/* ── Light mode for vs/chip ── */
:root.light .cc-vs-tool  { background: #ffffff !important; }
:root.light .cc-vs-table th { background: #f0f4f8 !important; }
:root.light .cc-vs-table th,
:root.light .cc-vs-table td { border-color: rgba(0,0,0,0.07) !important; }
:root.light .cc-chip { background: rgba(0,0,0,0.04) !important; border-color: rgba(0,0,0,0.08) !important; }

/* ═══════════════════════════════════════════════════════════════
   TIER A — GEO-AWARE PROVINCE BANNER
═══════════════════════════════════════════════════════════════ */

.cc-geo-banner {
  background: var(--bg-elevated);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  padding: 0;
}
.cc-geo-banner .cc-container { padding-top: 0; padding-bottom: 0; }

.cc-geo-banner__inner {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 1.125rem 0;
  flex-wrap: wrap;
}

/* Province identity */
.cc-geo-banner__id {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}
.cc-geo-banner__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  animation: ccPulse 2.5s ease-in-out infinite;
}
.cc-geo-banner__province-name {
  font-weight: 800;
  font-size: 0.875rem;
  color: var(--text-primary);
  white-space: nowrap;
}
.cc-geo-banner__status-tag {
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.15rem 0.5rem;
  border-radius: 100px;
  background: color-mix(in srgb, var(--geo-color, #10b981) 15%, transparent);
  color: var(--geo-color, #10b981);
  white-space: nowrap;
}
.cc-geo-banner__change {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--text-muted);
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
  border-radius: 6px;
  transition: var(--transition);
  white-space: nowrap;
}
.cc-geo-banner__change:hover { color: var(--gold); background: var(--gold-dim); }

/* Copy */
.cc-geo-banner__copy { flex: 1; min-width: 0; }
.cc-geo-banner__headline {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.3;
  margin: 0 0 0.125rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-geo-banner__subline {
  font-size: 0.75rem;
  color: var(--text-secondary);
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Province picker */
.cc-geo-picker {
  padding: 0.875rem 0 1rem;
  border-top: 1px solid var(--border-subtle);
  animation: ccHeroFadeUp 0.3s cubic-bezier(0.16,1,0.3,1);
}
.cc-geo-picker__label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.625rem;
}
.cc-geo-picker__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}
.cc-geo-picker__pill {
  font-size: 0.8125rem;
  font-weight: 700;
  padding: 0.375rem 0.875rem;
  background: var(--bg-glass);
  border: 1px solid var(--border-mid);
  border-radius: 100px;
  color: var(--text-secondary);
  cursor: pointer;
  transition: var(--transition);
}
.cc-geo-picker__pill:hover,
.cc-geo-picker__pill.active {
  background: var(--gold-dim);
  border-color: var(--gold-border);
  color: var(--gold);
}
.cc-geo-picker__pill--intl {
  opacity: 0.7;
}

/* ════════════════════════════════════════════════════════════
   CASINO REVIEW — INTELLIGENCE REPORT LAYOUT v3
   Left: lean verdict nav · Main: editorial · Right: pros/cons + trending
════════════════════════════════════════════════════════════ */

/* ── Hero (unchanged from v2) ── */
.cc-sr-hero { position:relative;overflow:hidden;min-height:600px;display:flex;align-items:flex-end;background:#03040a; }
.cc-sr-hero__bg { position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.03);will-change:transform; }
.cc-sr-hero__veil { position:absolute;inset:0;background:linear-gradient(105deg,rgba(3,4,10,0.98) 0%,rgba(3,4,10,0.88) 38%,rgba(3,4,10,0.55) 70%,rgba(3,4,10,0.22) 100%),linear-gradient(to top,rgba(3,4,10,0.95) 0%,transparent 45%),linear-gradient(to bottom,rgba(3,4,10,0.6) 0%,transparent 22%); }
.cc-sr-hero__grain { position:absolute;inset:0;opacity:0.025;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px; }
.cc-sr-hero__inner { position:relative;z-index:2;width:100%;max-width:1280px;margin:0 auto;padding:6rem 2.5rem 4rem;display:grid;grid-template-columns:1fr 360px;gap:3rem;align-items:end; }
@media (max-width:1023px) { .cc-sr-hero__inner { grid-template-columns:1fr;padding:5rem 1.5rem 3rem; } }
.cc-sr-hero__identity { display:flex;flex-direction:column;gap:0; }
.cc-sr-hero__logo-row { display:flex;align-items:center;gap:1.25rem;margin-bottom:1.25rem; }
.cc-sr-hero__logo-wrap { width:80px;height:80px;border-radius:16px;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center; }
.cc-sr-hero__logo { max-width:75%;max-height:70%;object-fit:contain;display:block; }
.cc-sr-hero__licence-badge { display:inline-flex;align-items:center;gap:0.35rem;font-size:0.5625rem;font-weight:800;letter-spacing:0.09em;text-transform:uppercase;color:#10b981;background:rgba(16,185,129,0.1);border:1px solid rgba(16,185,129,0.22);border-radius:100px;padding:0.2rem 0.625rem;margin-bottom:0.5rem; }
.cc-sr-hero__h1 { font-size:clamp(1.875rem,4.5vw,3.25rem);font-weight:900;color:#fff;letter-spacing:-0.025em;line-height:1.05;margin-bottom:0.625rem; }
.cc-sr-hero__meta-row { display:flex;align-items:center;flex-wrap:wrap;gap:0.625rem;margin-bottom:1rem; }
.cc-sr-hero__rating-num { font-family:var(--font-mono);font-size:1rem;font-weight:800;color:var(--gold); }
.cc-sr-hero__best-for { display:inline-flex;align-items:center;gap:0.3rem;font-size:0.625rem;font-weight:800;text-transform:uppercase;letter-spacing:0.08em;color:var(--gold);background:var(--gold-dim);border:1px solid var(--gold-border);border-radius:100px;padding:0.2rem 0.625rem; }
.cc-sr-hero__overview { font-size:0.9375rem;color:rgba(255,255,255,0.65);max-width:560px;line-height:1.7;margin-bottom:1.5rem; }
.cc-sr-hero__ctas { display:flex;flex-wrap:wrap;gap:0.625rem;margin-bottom:1.25rem; }
.cc-btn--hero-cta { font-size:0.9375rem;padding:0.8rem 1.625rem; }
.cc-sr-hero__bonus-strip { display:inline-flex;align-items:center;gap:0.75rem;background:rgba(245,200,66,0.08);border:1px solid var(--gold-border);border-radius:12px;padding:0.75rem 1rem;max-width:520px; }
.cc-sr-hero__bonus-label { font-size:0.5rem;font-weight:800;text-transform:uppercase;letter-spacing:0.1em;color:var(--gold);margin-bottom:0.15rem; }
.cc-sr-hero__bonus-val { font-size:0.875rem;font-weight:700;color:#fff; }
.cc-sr-hero__bonus-rollover { font-size:0.625rem;color:var(--text-muted);border-left:1px solid var(--border-subtle);padding-left:0.75rem;white-space:nowrap; }
.cc-sr-hero__bonus-tc { font-size:0.5625rem;color:var(--text-muted);white-space:nowrap;margin-left:auto; }
.cc-sr-hero__bonus-banner { position:relative;margin-top:1.5rem;padding:1.25rem 1.5rem;border-radius:12px;border:1px solid rgba(245,200,66,0.3);background:linear-gradient(135deg,rgba(245,200,66,0.1) 0%,rgba(245,200,66,0.02) 100%);overflow:hidden; }
.cc-sr-hero__bonus-banner-glow { position:absolute;inset:-1px;border-radius:12px;background:linear-gradient(135deg,rgba(245,200,66,0.18),transparent 60%);pointer-events:none; }
.cc-sr-hero__bonus-banner-content { position:relative;z-index:1; }
.cc-sr-hero__bonus-banner-badge { display:inline-flex;align-items:center;gap:6px;font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--gold);margin-bottom:0.5rem; }
.cc-sr-hero__bonus-banner-offer { font-size:1.5rem;font-weight:700;color:#fff;line-height:1.25;margin-bottom:0.5rem; }
.cc-sr-hero__bonus-banner-terms { font-size:0.8rem;color:var(--text-muted);margin-bottom:0.875rem; }
.cc-sr-hero__bonus-banner-cta { display:inline-flex;align-items:center;gap:6px;font-size:0.9375rem;padding:0.7rem 1.5rem; }

/* Hero verdict panel */
.cc-sr-verdict-panel { background:var(--bg-main);border:1px solid var(--gold-border);border-radius:20px;padding:1.75rem;display:flex;flex-direction:column;gap:1.125rem; }
.cc-sr-vp__header { border-bottom:1px solid var(--border-subtle);padding-bottom:0.875rem; }
.cc-sr-vp__label { font-size:0.5rem;font-weight:800;text-transform:uppercase;letter-spacing:0.12em;color:var(--gold);margin-bottom:0.2rem; }
.cc-sr-vp__operator { font-family:var(--font-display);font-size:1rem;font-weight:800;color:var(--text-primary); }
.cc-sr-vp__score-row { display:flex;align-items:center;gap:1rem; }
.cc-sr-vp__verdict-word { font-family:var(--font-display);font-size:1.25rem;font-weight:900;color:var(--gold);line-height:1;margin-bottom:0.2rem; }
.cc-sr-vp__score-sub { font-size:0.6rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.08em; }
.cc-sr-vp__bars { display:flex;flex-direction:column;gap:0.625rem; }
.cc-sr-vp__bar-row { display:flex;align-items:center;gap:0.5rem; }
.cc-sr-vp__bar-label { color:var(--text-secondary);min-width:130px;font-size:0.6875rem; }
.cc-sr-vp__bar-track { flex:1;height:4px;background:rgba(255,255,255,0.07);border-radius:100px;overflow:hidden; }
.cc-sr-vp__bar-fill { height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-hover));border-radius:100px;width:0%;transition:width 1.1s cubic-bezier(0.4,0,0.2,1); }
.cc-sr-vp__bar-val { font-family:var(--font-mono);font-size:0.625rem;font-weight:700;color:var(--gold);min-width:1.75rem;text-align:right; }
.cc-sr-vp__stats { display:grid;grid-template-columns:repeat(3,1fr);gap:0.5rem;padding-top:0.75rem;border-top:1px solid var(--border-subtle); }
.cc-sr-vp__stat { display:flex;align-items:flex-start;gap:0.375rem;font-size:0.625rem; }
.cc-sr-vp__stat-label { color:var(--text-muted);margin-bottom:0.1rem; }
.cc-sr-vp__stat-val { font-weight:700;color:var(--text-primary);font-family:var(--font-mono); }
.cc-sr-vp__cta { width:100%;justify-content:center;font-size:0.875rem;padding:0.75rem; }
.cc-sr-vp__disclaimer { font-size:0.5rem;color:var(--text-muted);text-align:center;text-transform:uppercase;letter-spacing:0.07em; }

/* ── Three-column body ── */
.cc-sr-body { background:var(--bg-main);border-top:1px solid var(--border-subtle); }
.cc-sr-body__inner {
  max-width:1280px;margin:0 auto;padding:0 2.5rem;
  display:grid;
  grid-template-columns:1fr 280px;
  gap:0;align-items:start;position:relative;
}
@media (max-width:1100px) { .cc-sr-body__inner { grid-template-columns:1fr 260px;padding:0 1.5rem; } }
@media (max-width:860px)  { .cc-sr-body__inner { grid-template-columns:1fr; } .cc-sr-right-rail { display:none; } }

/* Left rail removed — two-column layout: 1fr + right rail only */

/* ── Main column ── */
.cc-sr-main { padding:2.5rem 2.5rem 4rem;min-width:0;max-width:100%;overflow:hidden;overflow-wrap:break-word;word-break:break-word; }
.cc-sr-section { padding-bottom:3rem;margin-bottom:3rem;border-bottom:1px solid var(--border-subtle); }
.cc-sr-section:last-child { border-bottom:none; }
.cc-sr-section__eyebrow { font-size:0.5625rem;font-weight:800;text-transform:uppercase;letter-spacing:0.12em;color:var(--gold);margin-bottom:0.375rem; }
.cc-sr-section__title { font-family:var(--font-display);font-size:1.5rem;font-weight:900;color:var(--text-primary);letter-spacing:-0.015em;margin-bottom:1.5rem;line-height:1.15; }
.cc-sr-lede { font-size:1rem;color:var(--text-secondary);line-height:1.75;margin-bottom:1.5rem;padding-left:1rem;border-left:3px solid var(--gold); }
.cc-sr-lede p { margin:0; }
.cc-sr-prose { max-width:100%;overflow-wrap:break-word;word-break:break-word; }

/* Score cards */
.cc-sr-scores-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem; }
.cc-sr-score-card { background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:14px;padding:1.125rem 1.25rem;display:flex;flex-direction:column;gap:0.75rem;transition:border-color 0.15s; }
.cc-sr-score-card:hover { border-color:var(--gold-border); }
.cc-sr-score-card__label { font-size:0.6875rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.07em; }
.cc-sr-score-card__bar-track { height:5px;background:rgba(255,255,255,0.07);border-radius:100px;overflow:hidden; }
.cc-sr-score-card__bar-fill { height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-hover));border-radius:100px;width:0%;transition:width 1.1s cubic-bezier(0.4,0,0.2,1); }
.cc-sr-score-card__bottom { display:flex;justify-content:space-between;align-items:center; }
.cc-sr-score-card__verdict { font-size:0.6875rem;font-weight:700;color:var(--text-secondary); }
.cc-sr-score-card__num { font-family:var(--font-mono);font-size:1.125rem;font-weight:800;color:var(--gold); }

/* Specs grid */
.cc-sr-specs-grid {
  background: #0a0d14;
  border: 1px solid rgba(245,200,66,0.22);
  border-radius: 16px; overflow: hidden;
  margin-bottom: 1.25rem;
}
/* Title bar equivalent — eyebrow above specs grid already provides context,
   so we add a subtle gold top accent line */
.cc-sr-specs-grid::before {
  content: '';
  display: block;
  height: 2px;
  background: linear-gradient(90deg, rgba(245,200,66,0.6) 0%, rgba(245,200,66,0.15) 60%, transparent 100%);
}
.cc-sr-spec-row {
  display: grid;
  grid-template-columns: 36px minmax(130px,1fr) 1fr;
  align-items: center; gap: 0.875rem;
  padding: 0.8rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.045);
  transition: background 0.15s;
  cursor: default;
}
.cc-sr-spec-row:last-child { border-bottom: none; }
.cc-sr-spec-row:hover { background: rgba(245,200,66,0.05); }
.cc-sr-spec-row:nth-child(even) { background: rgba(255,255,255,0.015); }
.cc-sr-spec-row:nth-child(even):hover { background: rgba(245,200,66,0.05); }

.cc-sr-spec-row__icon-wrap {
  width: 30px; height: 30px;
  background: rgba(245,200,66,0.1);
  border: 1px solid rgba(245,200,66,0.2);
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  color: var(--gold); align-self: center;
  transition: filter 0.15s, transform 0.15s;
}
.cc-sr-spec-row:hover .cc-sr-spec-row__icon-wrap {
  filter: brightness(1.3) saturate(1.2);
  transform: scale(1.07);
}
.cc-sr-spec-row__label {
  font-size: 0.5rem; font-weight: 800;
  color: rgba(255,255,255,0.38);
  text-transform: uppercase; letter-spacing: 0.13em;
  transition: color 0.15s;
}
.cc-sr-spec-row:hover .cc-sr-spec-row__label { color: rgba(245,200,66,0.75); }
.cc-sr-spec-row__val {
  font-size: 0.875rem; font-weight: 500;
  color: #c8d0dc;
  text-align: left; font-family: var(--font-sans);
  word-break: break-word; line-height: 1.45;
  transition: color 0.15s;
}
.cc-sr-spec-row:hover .cc-sr-spec-row__val { color: #fff; }

/* Light mode */
:root.light .cc-sr-specs-grid { background: #fff; border-color: rgba(245,200,66,0.28); }
:root.light .cc-sr-spec-row { border-color: rgba(0,0,0,0.05); }
:root.light .cc-sr-spec-row:nth-child(even) { background: rgba(0,0,0,0.02); }
:root.light .cc-sr-spec-row:hover { background: rgba(245,200,66,0.05); }
:root.light .cc-sr-spec-row__label { color: rgba(0,0,0,0.4); }
:root.light .cc-sr-spec-row:hover .cc-sr-spec-row__label { color: rgba(160,120,0,0.9); }
:root.light .cc-sr-spec-row__val { color: #1a1e2a; }
:root.light .cc-sr-spec-row:hover .cc-sr-spec-row__val { color: #000; }
.cc-sr-feature-flags { display:flex;flex-wrap:wrap;gap:0.5rem; }
.cc-sr-flag { display:inline-flex;align-items:center;gap:0.375rem;font-size:0.6875rem;font-weight:700;padding:0.375rem 0.875rem;border-radius:100px; }
.cc-sr-flag--on { background:rgba(16,185,129,0.1);border:1px solid rgba(16,185,129,0.25);color:#10b981; }
.cc-sr-flag--off { background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-muted); }
.cc-sr-flag__status { font-weight:900;margin-left:0.25rem;font-family:var(--font-mono);font-size:0.5625rem;text-transform:uppercase;letter-spacing:0.07em; }

/* Bonus card */
.cc-sr-bonus-card { position:relative;overflow:hidden;background:var(--bg-card);border:1px solid var(--gold-border);border-radius:20px;padding:2.5rem 2rem;display:flex;flex-direction:column;align-items:flex-start;gap:0.875rem; }
.cc-sr-bonus-card__glow { position:absolute;top:-40%;right:-10%;width:280px;height:280px;background:radial-gradient(ellipse,rgba(245,200,66,0.1) 0%,transparent 70%);pointer-events:none; }
.cc-sr-bonus-card__offer { font-family:var(--font-display);font-size:1.75rem;font-weight:900;color:var(--text-primary);line-height:1.15; }
.cc-sr-bonus-card__rollover { font-size:0.875rem;color:var(--text-secondary); }
.cc-sr-bonus-card__rollover strong { color:var(--text-primary); }
.cc-sr-bonus-card__cta { font-size:0.875rem;padding:0.75rem 1.5rem; }
.cc-sr-bonus-card__disclaimer { font-size:0.6875rem;color:var(--text-muted);line-height:1.55;margin-top:0.25rem;border-top:1px solid var(--border-subtle);padding-top:0.875rem;width:100%; }

/* Payments */
.cc-sr-pay-group__label { display:flex;align-items:center;gap:0.375rem;font-size:0.5625rem;font-weight:800;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-muted);margin-bottom:0.75rem; }
.cc-sr-pay-chips { display:flex;flex-wrap:wrap;gap:0.5rem; }
.cc-sr-pay-chip { display:inline-flex;align-items:center;gap:0.5rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;padding:0.5rem 0.875rem;font-size:0.75rem;font-weight:600;color:var(--text-secondary);transition:border-color 0.15s; }
.cc-sr-pay-chip:hover { border-color:var(--gold-border);color:var(--text-primary); }
.cc-sr-pay-chip svg { width:20px;height:14px; }
.cc-sr-banking-stats { display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:0.75rem;margin-top:1.25rem; }
.cc-sr-banking-stat { display:flex;align-items:flex-start;gap:0.625rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;padding:1rem; }
.cc-sr-banking-stat__label { font-size:0.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:0.07em;color:var(--text-muted);margin-bottom:0.2rem; }
.cc-sr-banking-stat__val { font-family:var(--font-mono);font-size:0.9375rem;font-weight:800;color:var(--text-primary); }

/* RG */
.cc-sr-rg-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0.625rem;margin-bottom:1.25rem; }
.cc-sr-rg-item { display:flex;align-items:center;gap:0.625rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;padding:0.625rem 0.875rem;font-size:0.8125rem;color:var(--text-secondary); }
.cc-sr-rg-item__icon { width:26px;height:26px;flex-shrink:0;background:rgba(16,185,129,0.1);border-radius:7px;display:flex;align-items:center;justify-content:center; }
.cc-sr-rg-footer { display:flex;align-items:flex-start;gap:0.875rem;background:rgba(16,185,129,0.05);border:1px solid rgba(16,185,129,0.15);border-radius:12px;padding:1.125rem; }
.cc-sr-rg-footer p { font-size:0.8125rem;color:var(--text-secondary);line-height:1.6;margin:0; }
.cc-sr-rg-footer a { color:#10b981; }

/* Verdict block */
.cc-sr-verdict-block { position:relative;overflow:hidden;background:var(--bg-card);border:1px solid var(--gold-border);border-radius:24px;padding:2.5rem;display:flex;flex-wrap:wrap;gap:2rem;align-items:center; }
.cc-sr-verdict-block__glow { position:absolute;top:-50%;left:-10%;width:400px;height:300px;background:radial-gradient(ellipse,rgba(245,200,66,0.07) 0%,transparent 65%);pointer-events:none; }
.cc-sr-verdict-block__inner { flex:1;min-width:280px;position:relative; }
.cc-sr-verdict-block__body { font-size:0.9375rem;color:var(--text-secondary);line-height:1.75;margin-bottom:0.5rem; }
.cc-sr-verdict-block__legal { font-size:0.6875rem;color:var(--text-muted);line-height:1.6;margin-top:0.875rem;padding-top:0.875rem;border-top:1px solid var(--border-subtle); }
.cc-sr-verdict-block__score { flex-shrink:0;text-align:center;position:relative; }
.cc-sr-verdict-block__score-num { font-family:var(--font-display);font-size:5rem;font-weight:900;color:var(--gold);line-height:1;margin-bottom:0.25rem; }
.cc-sr-verdict-block__score-label { font-size:0.625rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-muted);margin-bottom:1rem; }
.cc-sr-verdict-block__cta { font-size:0.9375rem;padding:0.875rem 1.75rem; }
.cc-sr-verdict-block__tc { font-size:0.5625rem;color:var(--text-muted);margin-top:0.5rem; }

/* ── RIGHT RAIL ── */
.cc-sr-right-rail {
  position:sticky;top:120px;
  padding:2rem 0 2rem 1.75rem;
  display:flex;flex-direction:column;gap:1.25rem;
  align-self:start;
}

/* Pros/Cons panel */
/* Pros card */
.cc-sr-pc-panel { background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:0.875rem 1rem; }
/* Cons card — amber tint border */
.cc-sr-pc-panel--cons { border-color:rgba(245,158,11,0.25); }
/* Standalone group header (no outer wrapper needed) */
.cc-sr-pc-panel__group-hd--standalone { display:flex;align-items:center;gap:0.375rem;font-size:0.4375rem;font-weight:800;text-transform:uppercase;letter-spacing:0.1em;color:#10b981;margin-bottom:0.625rem; }
.cc-sr-pc-panel--cons .cc-sr-pc-panel__group-hd--standalone { color:#f59e0b; }
.cc-sr-pc-panel__group-hd { display:flex;align-items:center;gap:0.375rem;font-size:0.4375rem;font-weight:800;text-transform:uppercase;letter-spacing:0.1em;color:#10b981;margin-bottom:0.5rem; }
.cc-sr-pc-panel__group-hd--cons { color:#f59e0b; }
.cc-sr-pc-panel__item { display:flex;align-items:flex-start;gap:0.5rem;font-size:0.6875rem;color:var(--text-secondary);line-height:1.4;margin-bottom:0.4rem; }
.cc-sr-pc-panel__item:last-child { margin-bottom:0; }

/* Trending sections */
.cc-sr-trending { background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;overflow:hidden; }
.cc-sr-trending__hd { display:flex;align-items:center;gap:0.5rem;font-size:0.5rem;font-weight:800;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-muted);padding:0.875rem 1rem;border-bottom:1px solid var(--border-subtle); }

/* Trending casino rows */
.cc-sr-trending-row { display:flex;align-items:center;gap:0.75rem;padding:0.75rem 1rem;border-bottom:1px solid var(--border-subtle);text-decoration:none;transition:background 0.12s; }
.cc-sr-trending-row:last-child { border-bottom:none; }
.cc-sr-trending-row:hover { background:var(--bg-glass); }
.cc-sr-trending-row__logo { width:36px;height:36px;border-radius:8px;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center; }
.cc-sr-trending-row__info { flex:1;min-width:0; }
.cc-sr-trending-row__name { font-size:0.75rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.cc-sr-trending-row__bonus { font-size:0.5625rem;color:var(--text-muted);margin-top:0.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.cc-sr-trending-row__rating { font-family:var(--font-mono);font-size:0.6875rem;font-weight:800;color:var(--gold);flex-shrink:0; }

/* Trending game thumbnails */
.cc-sr-games-grid { display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;padding:0.75rem; }
.cc-sr-game-thumb { position:relative;aspect-ratio:16/10;border-radius:8px;overflow:hidden;display:block;background:var(--bg-elevated); }
.cc-sr-game-thumb img { width:100%;height:100%;object-fit:cover;transition:transform 0.3s; }
.cc-sr-game-thumb:hover img { transform:scale(1.05); }
.cc-sr-game-thumb__overlay { position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.75) 0%,transparent 55%);display:flex;flex-direction:column;justify-content:flex-end;padding:0.5rem; }
.cc-sr-game-thumb__name { font-size:0.5625rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.cc-sr-game-thumb__rtp { font-size:0.4375rem;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:0.07em; }

/* Related section */
.cc-sr-related { background:var(--bg-elevated);border-top:1px solid var(--border-subtle);padding:3.5rem 0; }

/* Light mode */
:root.light .cc-geo-banner { background: #fff; }
:root.light .cc-geo-picker__pill { background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.10); }
:root.light .cc-geo-picker__pill:hover,
:root.light .cc-geo-picker__pill.active { background: var(--gold-dim); border-color: var(--gold-border); }

@media (max-width: 767px) {
  .cc-geo-banner__inner { flex-direction: column; align-items: flex-start; gap: 0.75rem; }
  .cc-geo-banner__headline { white-space: normal; }
  .cc-geo-banner__subline  { white-space: normal; display: none; }
  .cc-geo-banner__cta { width: 100%; text-align: center; justify-content: center; }
}

/* ═══════════════════════════════════════════════════════════════
   TIER A — BONUS VALUE CALCULATOR
═══════════════════════════════════════════════════════════════ */

.cc-bvc-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  align-items: start;
}
@media (max-width: 720px) {
  .cc-bvc-wrap { grid-template-columns: 1fr; }
}

.cc-bvc-panel {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.5rem;
  box-shadow: var(--shadow-card);
}
.cc-bvc-panel--results {
  border-color: var(--gold-border);
  box-shadow: var(--shadow-card), var(--shadow-gold);
}
.cc-bvc-panel__title {
  font-family: var(--font-display);
  font-size: 1.0625rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* Fields */
.cc-bvc-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.cc-bvc-field { display: flex; flex-direction: column; gap: 0.3rem; }
.cc-bvc-field--wide { grid-column: 1 / -1; }
.cc-bvc-label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.cc-bvc-input-wrap { position: relative; display: flex; align-items: center; }
.cc-bvc-prefix, .cc-bvc-suffix {
  position: absolute;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text-muted);
  pointer-events: none;
}
.cc-bvc-prefix { left: 0.75rem; }
.cc-bvc-suffix { right: 0.75rem; }
.cc-bvc-input {
  font-family: var(--font-mono);
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--text-primary);
  background: var(--bg-glass);
  border: 1px solid var(--border-mid);
  border-radius: 10px;
  padding: 0.5rem 0.75rem;
  width: 100%;
  outline: none;
  transition: var(--transition);
  -moz-appearance: textfield;
}
.cc-bvc-input::-webkit-inner-spin-button,
.cc-bvc-input::-webkit-outer-spin-button { -webkit-appearance: none; }
.cc-bvc-input-wrap .cc-bvc-input { padding-left: 1.75rem; }
.cc-bvc-input.cc-bvc-input--has-suffix { padding-right: 2rem; }
.cc-bvc-input:focus { border-color: var(--gold-border); box-shadow: 0 0 0 3px var(--gold-dim); }
.cc-bvc-select {
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text-primary);
  background: var(--bg-glass);
  border: 1px solid var(--border-mid);
  border-radius: 10px;
  padding: 0.5rem 2rem 0.5rem 0.75rem;
  width: 100%;
  outline: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.625rem center;
  transition: var(--transition);
}
.cc-bvc-select:focus { border-color: var(--gold-border); box-shadow: 0 0 0 3px var(--gold-dim); }
.cc-bvc-hint { font-size: 0.6rem; color: var(--text-muted); line-height: 1.4; }

/* Empty state */
.cc-bvc-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  padding: 3rem 1rem;
  text-align: center;
  color: var(--text-muted);
  font-size: 0.875rem;
}

/* Hero metric */
.cc-bvc-hero-metric {
  text-align: center;
  padding: 1.25rem;
  background: var(--bg-glass);
  border-radius: 12px;
  margin-bottom: 1.25rem;
}
.cc-bvc-hero-metric__label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.25rem;
}
.cc-bvc-hero-metric__value {
  font-family: var(--font-display);
  font-size: 2.5rem;
  font-weight: 900;
  line-height: 1;
  margin-bottom: 0.25rem;
  transition: color 0.3s;
}
.cc-bvc-pos { color: var(--emerald); }
.cc-bvc-neg { color: var(--red); }
.cc-bvc-hero-metric__sub { font-size: 0.75rem; color: var(--text-muted); }

@keyframes ccBvcPop {
  0%   { transform: scale(1); }
  40%  { transform: scale(1.06); }
  100% { transform: scale(1); }
}
.cc-bvc-pop { animation: ccBvcPop 0.4s cubic-bezier(0.16,1,0.3,1); }

/* Metrics grid */
.cc-bvc-metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.625rem;
  margin-bottom: 1.25rem;
}
.cc-bvc-metric {
  background: var(--bg-glass);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  padding: 0.625rem 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.cc-bvc-metric__label {
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.cc-bvc-metric__val {
  font-family: var(--font-mono);
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--text-primary);
}
.cc-bvc-metric__val--neg { color: var(--red); }

/* Wagering bar */
.cc-bvc-wager-bar-wrap { margin-bottom: 1.25rem; }
.cc-bvc-wager-bar-label {
  display: flex;
  justify-content: space-between;
  font-size: 0.6875rem;
  color: var(--text-muted);
  margin-bottom: 0.375rem;
}
.cc-bvc-wager-bar-track {
  height: 6px;
  background: var(--bg-elevated);
  border-radius: 100px;
  overflow: hidden;
}
.cc-bvc-wager-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--emerald), var(--gold), var(--red));
  border-radius: 100px;
  transition: width 0.6s cubic-bezier(0.16,1,0.3,1);
}
.cc-bvc-wager-bar-hint {
  font-size: 0.625rem;
  color: var(--text-muted);
  margin-top: 0.25rem;
}

/* Recommendation */
.cc-bvc-rec {
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 10px;
  padding: 0.875rem 1rem;
  margin-bottom: 1rem;
}
.cc-bvc-rec__title {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.375rem;
}
.cc-bvc-rec__text { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.6; margin: 0; }

/* Verdict stars */
.cc-bvc-verdict {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  flex-wrap: wrap;
}
.cc-bvc-verdict__label {
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-muted);
}
.cc-bvc-verdict__stars { display: flex; gap: 2px; }
.cc-bvc-star { font-size: 1rem; color: var(--text-faint); transition: color 0.2s; }
.cc-bvc-star.on { color: var(--gold); }
.cc-bvc-verdict__text { font-size: 0.75rem; color: var(--text-secondary); font-weight: 600; }

/* Light mode */
:root.light .cc-bvc-panel    { background: #fff; }
:root.light .cc-bvc-input    { background: #f0f4f8; color: var(--text-primary); border-color: rgba(0,0,0,0.12); }
:root.light .cc-bvc-select   { background: #f0f4f8; color: var(--text-primary); border-color: rgba(0,0,0,0.12); }
:root.light .cc-bvc-metric   { background: rgba(0,0,0,0.03); }
:root.light .cc-bvc-hero-metric { background: rgba(0,0,0,0.04); }

/* ═══════════════════════════════════════════════════════════════
   TIER A — QUICK COMPARE TRAY
═══════════════════════════════════════════════════════════════ */

/* "+" button injected into casino cards — bottom-right corner, clear of ON/IGO badges */
.cc-compare-add-btn {
  position: absolute;
  bottom: 8px;
  right: 8px;
  z-index: 5;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.6);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1.5px solid rgba(255,255,255,0.25);
  border-radius: 50%;
  color: rgba(255,255,255,0.9);
  cursor: pointer;
  transition: opacity 0.2s ease, transform 0.2s ease, background 0.15s, border-color 0.15s;
  opacity: 0;
  transform: scale(0.8);
}
.cc-casino-card:hover .cc-compare-add-btn,
.cc-compare-add-btn.active {
  opacity: 1;
  transform: scale(1);
}
.cc-compare-add-btn.active {
  background: var(--gold);
  border-color: var(--gold);
  color: #000;
}
.cc-compare-add-btn:hover:not(.active) {
  background: rgba(0,0,0,0.85);
  color: #fff;
  border-color: rgba(255,255,255,0.45);
  transform: scale(1.12);
}

/* Tray */
.cc-compare-tray {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 500;
  background: var(--bg-card);
  border-top: 1px solid var(--gold-border);
  box-shadow: 0 -8px 32px rgba(0,0,0,0.4), var(--shadow-gold);
  transform: translateY(100%);
  transition: transform 0.4s cubic-bezier(0.16,1,0.3,1);
}
.cc-compare-tray:not([hidden]) {
  transform: translateY(0);
}
.cc-compare-tray__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0.875rem 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

/* Slots */
.cc-compare-slots {
  display: flex;
  gap: 0.625rem;
  flex: 1;
  min-width: 0;
}
.cc-compare-slot {
  flex: 1;
  max-width: 200px;
  min-height: 52px;
  border-radius: 10px;
  border: 1px solid var(--border-mid);
  transition: var(--transition);
  overflow: hidden;
}
.cc-compare-slot--empty {
  border-style: dashed;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cc-compare-slot__placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  color: var(--text-faint);
  font-size: 0.6rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0.5rem;
}
.cc-compare-slot__filled {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.625rem;
  background: var(--bg-glass);
}
.cc-compare-slot__logo {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  object-fit: contain;
  background: var(--bg-elevated);
  padding: 0.2rem;
  flex-shrink: 0;
}
.cc-compare-slot__logo-fallback {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  background: var(--bg-elevated);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 0.875rem;
  color: var(--gold);
  flex-shrink: 0;
}
.cc-compare-slot__name {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--text-primary);
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-compare-slot__remove {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: none;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
  flex-shrink: 0;
  transition: var(--transition);
}
.cc-compare-slot__remove:hover { background: var(--bg-glass-hover); color: var(--red); }

/* Actions */
.cc-compare-tray__actions { display: flex; gap: 0.5rem; flex-shrink: 0; }
.cc-compare-tray__close {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: none;
  border: 1px solid var(--border-subtle);
  color: var(--text-muted);
  cursor: pointer;
  flex-shrink: 0;
  transition: var(--transition);
}
.cc-compare-tray__close:hover { background: var(--bg-glass); color: var(--text-primary); }

/* Shake animation for max reached */
@keyframes ccTrayShake {
  0%,100% { transform: translateX(0); }
  20%      { transform: translateX(-6px); }
  40%      { transform: translateX(6px); }
  60%      { transform: translateX(-4px); }
  80%      { transform: translateX(4px); }
}
.cc-compare-tray--shake { animation: ccTrayShake 0.45s cubic-bezier(0.16,1,0.3,1); }

/* ── Compare modal wrapper (backdrop + centering) ── */
.cc-compare-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.cc-compare-modal[hidden] { display: none; }
.cc-compare-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.75);
  backdrop-filter: blur(4px);
}
.cc-compare-modal__body { padding: 0; }

/* ══════════════════════════════════════════════
   Concept B: Card Duel — cc-cm-* components
══════════════════════════════════════════════ */

/* Panel */
.cc-cm-panel {
  position: relative;
  width: 100%;
  max-width: 1060px;
  max-height: 90vh;
  background: #080810;
  border-radius: 20px;
  overflow-y: auto;
  overflow-x: hidden;
  border: 1px solid rgba(255,255,255,0.06);
  box-shadow:
    0 0 0 1px rgba(245,200,66,0.05),
    0 40px 100px rgba(0,0,0,0.85),
    0 0 60px rgba(245,200,66,0.03);
  animation: cc-cm-panel-in 0.55s cubic-bezier(0.16,1,0.3,1) both;
}
@keyframes cc-cm-panel-in {
  from { opacity: 0; transform: translateY(18px) scale(0.975); }
  to   { opacity: 1; transform: none; }
}

/* Topbar (close button) */
.cc-cm-topbar {
  position: absolute;
  top: 14px;
  right: 16px;
  z-index: 30;
  display: flex;
  align-items: center;
  gap: 10px;
}
.cc-cm-tag {
  font-size: 0.65rem;
  letter-spacing: 0.22em;
  color: rgba(255,255,255,0.22);
  text-transform: uppercase;
}
.cc-cm-close-btn {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(0,0,0,0.45);
  border: 1px solid rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 0.8rem;
  line-height: 1;
  transition: all 0.18s;
  flex-shrink: 0;
}
.cc-cm-close-btn:hover { background: rgba(255,255,255,0.12); color: #fff; }

/* Hero strip */
.cc-cm-hero-strip {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  height: 196px;
  position: relative;
}
#cc-compare-modal-body[data-count="2"] .cc-cm-hero-strip {
  grid-template-columns: 1fr 1fr;
}

/* Shimmer */
@keyframes cc-cm-shimmer {
  0%   { background-position: -250% center; }
  100% { background-position:  250% center; }
}
.cc-cm-hero-card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 18px 22px 20px;
}
.cc-cm-hero-card + .cc-cm-hero-card { border-left: 1px solid rgba(255,255,255,0.06); }
.cc-cm-shimmer {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    108deg,
    transparent 30%,
    rgba(255,255,255,0.0) 44%,
    rgba(255,255,255,0.07) 50%,
    rgba(255,255,255,0.0) 56%,
    transparent 70%
  );
  background-size: 250% 100%;
  animation: cc-cm-shimmer 3.5s linear infinite;
  z-index: 2;
  pointer-events: none;
}
.cc-cm-watermark {
  position: absolute;
  right: -8px;
  top: -22px;
  font-family: var(--font-display, 'Arial Narrow', sans-serif);
  font-size: 10rem;
  line-height: 1;
  color: rgba(255,255,255,0.028);
  pointer-events: none;
  z-index: 1;
  letter-spacing: -0.04em;
  user-select: none;
}

/* Hero card gradient backgrounds per position */
.cc-cm-hero-card[data-pos="0"] {
  background:
    linear-gradient(150deg, rgba(180,65,0,0.55) 0%, transparent 55%),
    linear-gradient(to top,  rgba(220,90,0,0.22) 0%, transparent 55%),
    radial-gradient(ellipse at 75% 25%, rgba(255,130,20,0.13) 0%, transparent 65%),
    #080810;
}
.cc-cm-hero-card[data-pos="1"] {
  background:
    linear-gradient(150deg, rgba(0,30,110,0.65) 0%, transparent 55%),
    linear-gradient(to top,  rgba(20,70,220,0.18) 0%, transparent 55%),
    radial-gradient(ellipse at 25% 75%, rgba(59,130,246,0.18) 0%, transparent 65%),
    #080810;
}
.cc-cm-hero-card[data-pos="2"] {
  background:
    linear-gradient(150deg, rgba(0,70,25,0.65) 0%, transparent 55%),
    linear-gradient(to top,  rgba(20,160,65,0.22) 0%, transparent 55%),
    radial-gradient(ellipse at 75% 75%, rgba(34,197,94,0.18) 0%, transparent 65%),
    #080810;
}

/* Winner pulse animation */
@keyframes cc-cm-winner-pulse {
  0%, 100% { box-shadow: inset 0 -60px 60px rgba(34,197,94,0.06); }
  50%       { box-shadow: inset 0 -60px 60px rgba(34,197,94,0.13); }
}
.cc-cm-hero-card--winner { animation: cc-cm-winner-pulse 2.8s ease-in-out infinite; }

/* Accent lines per position */
.cc-cm-accent-line {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  z-index: 4;
}
.cc-cm-hero-card[data-pos="0"] .cc-cm-accent-line {
  background: linear-gradient(90deg, transparent 0%, rgba(255,100,20,0.55) 50%, transparent 100%);
}
.cc-cm-hero-card[data-pos="1"] .cc-cm-accent-line {
  background: linear-gradient(90deg, transparent 0%, rgba(59,130,246,0.55) 50%, transparent 100%);
}
.cc-cm-hero-card[data-pos="2"] .cc-cm-accent-line {
  background: linear-gradient(90deg, transparent 0%, rgba(34,197,94,0.55) 50%, transparent 100%);
}

/* Hero logo */
.cc-cm-hero-logo-area {
  position: absolute;
  top: 0; left: 0; right: 0;
  bottom: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  z-index: 3;
}
.cc-cm-hero-logo {
  max-width: 130px;
  max-height: 65px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 2px 10px rgba(0,0,0,0.7));
}
.cc-cm-hero-logo-fallback {
  font-size: 1rem;
  font-weight: 700;
  color: rgba(255,255,255,0.8);
  text-align: center;
}

/* Hero rating */
.cc-cm-hero-content { position: relative; z-index: 3; }
.cc-cm-hero-rating-row {
  display: flex;
  align-items: baseline;
  gap: 5px;
  margin-bottom: 2px;
}
.cc-cm-hero-star { font-size: 1rem; color: var(--gold); line-height: 1; }
.cc-cm-hero-score {
  font-family: var(--font-display, 'Arial Narrow', sans-serif);
  font-size: 3.4rem;
  line-height: 1;
  color: var(--gold);
  letter-spacing: 0.01em;
  text-shadow: 0 0 20px rgba(245,200,66,0.5), 0 0 55px rgba(245,200,66,0.18);
}

/* TOP PICK ribbon */
.cc-cm-top-pick-wrap {
  position: absolute;
  top: 0; left: 0;
  width: 110px;
  height: 110px;
  overflow: hidden;
  z-index: 10;
  pointer-events: none;
}
.cc-cm-top-pick-ribbon {
  position: absolute;
  top: 22px;
  left: -28px;
  width: 120px;
  background: linear-gradient(135deg, #f0bc20 0%, var(--gold) 50%, #e8b010 100%);
  color: #000;
  text-align: center;
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 5px 0;
  transform: rotate(-45deg);
  box-shadow: 0 3px 14px rgba(245,200,66,0.5), 0 1px 4px rgba(0,0,0,0.5);
  white-space: nowrap;
}

/* VS badges */
.cc-cm-vs-badge {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  background: #080810;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.58rem;
  letter-spacing: 0.06em;
  color: #475569;
  z-index: 20;
  box-shadow: 0 0 10px rgba(0,0,0,0.6);
}

/* Column headers */
.cc-cm-col-headers {
  display: grid;
  grid-template-columns: 170px 1fr 1fr 1fr;
  background: #0d0d18;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
#cc-compare-modal-body[data-count="2"] .cc-cm-col-headers {
  grid-template-columns: 170px 1fr 1fr;
}
.cc-cm-col-header {
  padding: 9px 20px;
  border-left: 1px solid rgba(255,255,255,0.07);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #94a3b8;
}
.cc-cm-col-header[data-pos="0"] { color: #ff844a; }
.cc-cm-col-header[data-pos="1"] { color: #60a5fa; }
.cc-cm-col-header[data-pos="2"] { color: #4ade80; }

/* Sections */
.cc-cm-section { border-bottom: 1px solid rgba(255,255,255,0.07); }
.cc-cm-section:last-of-type { border-bottom: none; }
.cc-cm-section-header {
  display: flex;
  align-items: center;
  padding: 9px 20px 8px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  background: rgba(255,255,255,0.015);
}
.cc-cm-section-label {
  font-size: 0.8rem;
  letter-spacing: 0.2em;
  color: #94a3b8;
  border-left: 3px solid var(--gold);
  padding-left: 11px;
  line-height: 1;
  text-transform: uppercase;
}
.cc-cm-section-label small {
  display: block;
  font-size: 0.6rem;
  letter-spacing: 0.15em;
  color: #475569;
  margin-top: 2px;
  text-transform: uppercase;
}

/* Compare rows */
.cc-cm-row {
  display: grid;
  grid-template-columns: 170px 1fr 1fr 1fr;
  align-items: center;
  min-height: 46px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  animation: cc-cm-row-in 0.35s ease both;
}
#cc-compare-modal-body[data-count="2"] .cc-cm-row {
  grid-template-columns: 170px 1fr 1fr;
}
.cc-cm-row:last-child { border-bottom: none; }
.cc-cm-row:hover { background: rgba(255,255,255,0.018); }

@keyframes cc-cm-row-in {
  from { opacity: 0; transform: translateX(-6px); }
  to   { opacity: 1; transform: none; }
}
.cc-cm-row:nth-child(1) { animation-delay: 0.08s; }
.cc-cm-row:nth-child(2) { animation-delay: 0.13s; }
.cc-cm-row:nth-child(3) { animation-delay: 0.18s; }
.cc-cm-row:nth-child(4) { animation-delay: 0.23s; }
.cc-cm-row:nth-child(5) { animation-delay: 0.28s; }

.cc-cm-row-label {
  padding: 8px 14px 8px 20px;
  font-size: 0.68rem;
  font-weight: 500;
  color: #475569;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.cc-cm-row-cell {
  padding: 8px 18px;
  border-left: 1px solid rgba(255,255,255,0.07);
  display: flex;
  align-items: center;
}

/* Bar charts */
.cc-cm-bar-wrap { display: flex; flex-direction: column; gap: 5px; width: 100%; }
.cc-cm-bar-val-row { display: flex; align-items: baseline; gap: 5px; }
.cc-cm-bar-val {
  font-family: var(--font-display, 'Arial Narrow', sans-serif);
  font-size: 1.05rem;
  letter-spacing: 0.03em;
  color: #f1f5f9;
  line-height: 1;
}
.cc-cm-bar-val.best { color: var(--gold); text-shadow: 0 0 12px rgba(245,200,66,0.4); }
.cc-cm-bar-val.worst { color: #475569; }
.cc-cm-bar-val-unit { font-size: 0.65rem; color: #475569; font-weight: 500; letter-spacing: 0.04em; }
.cc-cm-bar-track { height: 3px; background: rgba(255,255,255,0.07); border-radius: 99px; overflow: hidden; }
.cc-cm-bar-fill {
  height: 100%;
  border-radius: 99px;
  background: rgba(255,255,255,0.18);
  transform-origin: left center;
  animation: cc-cm-bar-grow 1s cubic-bezier(0.16,1,0.3,1) both;
  animation-delay: 0.4s;
}
@keyframes cc-cm-bar-grow {
  from { transform: scaleX(0); opacity: 0; }
  to   { transform: scaleX(1); opacity: 1; }
}
.cc-cm-bar-fill.best {
  background: linear-gradient(90deg, #c9a230 0%, var(--gold) 100%);
  box-shadow: 0 0 6px rgba(245,200,66,0.35);
}

/* Text value cells */
.cc-cm-val { font-size: 0.88rem; font-weight: 500; color: #f1f5f9; white-space: nowrap; }
.cc-cm-val.best {
  color: var(--gold);
  background: rgba(245,200,66,0.09);
  padding: 3px 9px;
  border-radius: 6px;
  border: 1px solid rgba(245,200,66,0.28);
  font-size: 0.83rem;
}
.cc-cm-val.worst { color: #475569; }

/* Yes / No chips */
.cc-cm-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  padding: 4px 11px;
  border-radius: 99px;
}
.cc-cm-chip-yes {
  background: rgba(16,185,129,0.13);
  color: #10b981;
  border: 1px solid rgba(16,185,129,0.28);
}
.cc-cm-chip-no {
  background: rgba(239,68,68,0.09);
  color: #f87171;
  border: 1px solid rgba(239,68,68,0.2);
}
.cc-cm-chip-dot { width: 5px; height: 5px; border-radius: 50%; background: currentColor; flex-shrink: 0; }

/* CTA strip */
.cc-cm-cta-strip {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  border-top: 1px solid rgba(255,255,255,0.07);
  background: #0d0d18;
}
#cc-compare-modal-body[data-count="2"] .cc-cm-cta-strip {
  grid-template-columns: 1fr 1fr;
}
.cc-cm-cta-col {
  padding: 13px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
}
.cc-cm-cta-col + .cc-cm-cta-col { border-left: 1px solid rgba(255,255,255,0.07); }
.cc-cm-cta-label {
  font-size: 0.65rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #475569;
  align-self: flex-start;
}
.cc-cm-cta-label[data-pos="0"] { color: rgba(255,132,74,0.7); }
.cc-cm-cta-label[data-pos="1"] { color: rgba(96,165,250,0.7); }
.cc-cm-cta-label[data-pos="2"] { color: rgba(74,222,128,0.7); }
.cc-cm-cta-buttons { display: flex; gap: 8px; width: 100%; }
.cc-cm-btn-ghost {
  flex: 1;
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,0.12);
  background: transparent;
  color: #94a3b8;
  border-radius: 8px;
  font-size: 0.75rem;
  font-weight: 500;
  cursor: pointer;
  text-align: center;
  transition: all 0.18s;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
.cc-cm-btn-ghost:hover { border-color: rgba(255,255,255,0.26); color: #f1f5f9; background: rgba(255,255,255,0.04); }
.cc-cm-btn-visit {
  flex: 1;
  padding: 9px 12px;
  background: var(--gold);
  color: #000;
  border: none;
  border-radius: 8px;
  font-size: 0.75rem;
  font-weight: 700;
  cursor: pointer;
  text-align: center;
  transition: all 0.18s;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
.cc-cm-btn-visit:hover { background: #ffd84a; box-shadow: 0 4px 18px rgba(245,200,66,0.35); transform: translateY(-1px); }
@keyframes cc-cm-btn-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(245,200,66,0.3); }
  50%       { box-shadow: 0 0 0 4px rgba(245,200,66,0); }
}
.cc-cm-btn-visit--winner { animation: cc-cm-btn-pulse 2.4s ease-in-out infinite; }

/* Mobile: sheet from bottom */
@media (max-width: 640px) {
  .cc-compare-modal { padding: 0; align-items: flex-end; }
  .cc-cm-panel { border-radius: 20px 20px 0 0; max-height: 92vh; max-width: 100%; }
  .cc-cm-hero-strip { height: 150px; }
  .cc-cm-hero-score { font-size: 2.4rem; }
  .cc-cm-hero-logo { max-width: 90px; max-height: 48px; }
}

/* Light mode */
:root.light .cc-compare-tray { background: #fff; }
:root.light .cc-cm-panel { background: #fff; border: 1px solid rgba(0,0,0,0.1); }
:root.light .cc-cm-col-headers,
:root.light .cc-cm-cta-strip { background: #f0f4f8; }

/* ═══════════════════════════════════════════════════════════════
   TIER A — PROGRESSIVE TRUST SIGNALS
═══════════════════════════════════════════════════════════════ */

.cc-trust-signal {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted);
  background: var(--bg-glass);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  padding: 0.175rem 0.4rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  flex-shrink: 1;
  min-width: 0;
}
.cc-trust-signal--fresh {
  color: var(--emerald);
  background: rgba(16,185,129,0.08);
  border-color: rgba(16,185,129,0.2);
}
.cc-casino-card__footer {
  padding: 0.875rem 1.25rem;
  border-top: 1px solid var(--border-subtle);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.cc-casino-card__footer-btns {
  display: flex;
  gap: 0.625rem;
}

/* ── Flatten footer back for cards that don't have trust signals ── */
.cc-casino-card__footer .cc-btn {
  flex: 1;
}

/* ═══════════════════════════════════════════════════════════════
   REVEAL FALLBACK
   Safety net: if IntersectionObserver hasn't fired within 1.5s,
   animate elements into view anyway. Prevents blank section bug.
═══════════════════════════════════════════════════════════════ */
@keyframes ccRevealFallback {
  to { opacity: 1; transform: none; }
}
.cc-reveal:not(.cc-visible) {
  animation: ccRevealFallback 0.6s cubic-bezier(0.16, 1, 0.3, 1) 1.5s forwards;
}
@media (prefers-reduced-motion: reduce) {
  .cc-reveal:not(.cc-visible) { animation: none; opacity: 1; transform: none; }
}

/* ═══════════════════════════════════════════════════════════════
   TIER B — NEWS SENTIMENT TICKER
═══════════════════════════════════════════════════════════════ */

.cc-sentiment-ticker {
  background: var(--bg-card);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  overflow: hidden;
  height: 44px;
  display: flex;
  align-items: center;
  gap: 0;
}
.cc-sentiment-ticker__label {
  flex-shrink: 0;
  padding: 0 1rem 0 1.5rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--text-secondary);
  border-right: 1px solid var(--border-subtle);
  height: 100%;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  background: var(--bg-glass);
  white-space: nowrap;
}
.cc-sentiment-ticker__track-wrap { overflow: hidden; flex: 1; height: 100%; }
@keyframes ccSentimentScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.cc-sentiment-ticker__track {
  display: flex;
  height: 100%;
  animation: ccSentimentScroll 60s linear infinite;
  will-change: transform;
}
.cc-sentiment-ticker__track:hover {
  animation-play-state: paused;
}
.cc-sentiment-ticker__item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0 1.75rem 0 0;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--text-secondary);
  border-right: 1px solid var(--border-subtle);
  height: 100%;
  white-space: nowrap;
  text-decoration: none;
  transition: color 0.2s;
  flex-shrink: 0;
}
.cc-sentiment-ticker__item:first-child { padding-left: 1.25rem; }
.cc-sentiment-ticker__item:hover { color: var(--text-primary); }
.cc-sentiment-ticker__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.cc-sentiment-ticker__title {
  max-width: 340px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-sentiment-ticker__meta {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-shrink: 0;
}
.cc-sentiment-ticker__source {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-muted);
  background: var(--bg-glass);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  padding: 0.1rem 0.35rem;
}
.cc-sentiment-ticker__age {
  font-size: 0.5625rem;
  color: var(--text-faint);
}
.cc-sentiment-ticker__all {
  flex-shrink: 0;
  padding: 0 1.25rem;
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 0.3rem;
  height: 100%;
  border-left: 1px solid var(--border-subtle);
  white-space: nowrap;
  transition: color 0.2s;
}
.cc-sentiment-ticker__all:hover { color: var(--gold); }

/* Light mode */
:root.light .cc-sentiment-ticker { background: #fff; }
:root.light .cc-sentiment-ticker__label { background: rgba(0,0,0,0.03); }

/* ═══════════════════════════════════════════════════════════════
   TIER B — LICENSE LOOKUP TOOL
═══════════════════════════════════════════════════════════════ */

.cc-license-tool { }
.cc-license-tool__title {
  font-size: clamp(1.875rem, 4vw, 2.75rem);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: var(--text-primary);
  margin-bottom: 0.75rem;
}
.cc-license-tool__subtitle {
  font-size: 1rem;
  color: var(--text-secondary);
  max-width: 600px;
  line-height: 1.7;
  margin-bottom: 2rem;
}
.cc-license-tool__intro { margin-bottom: 2rem; }

/* Search box */
.cc-license-search { position: relative; margin-bottom: 1.5rem; }
.cc-license-search__wrap {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  background: var(--bg-card);
  border: 2px solid var(--border-mid);
  border-radius: 16px;
  padding: 0.625rem 0.625rem 0.625rem 1.25rem;
  box-shadow: var(--shadow-card);
  transition: border-color 0.2s;
}
.cc-license-search__wrap:focus-within {
  border-color: var(--gold-border);
  box-shadow: var(--shadow-card), var(--shadow-gold);
}
.cc-license-search__icon { color: var(--text-muted); flex-shrink: 0; }
.cc-license-search__input {
  flex: 1;
  font-family: var(--font-sans);
  font-size: 1rem;
  color: var(--text-primary);
  background: transparent;
  border: none;
  outline: none;
}
.cc-license-search__input::placeholder { color: var(--text-muted); }

/* Autocomplete suggestions */
.cc-license-suggestions {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  background: var(--bg-card);
  border: 1px solid var(--gold-border);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0,0,0,0.3);
  z-index: 100;
}
.cc-license-suggest-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.625rem 1rem;
  font-size: 0.875rem;
  color: var(--text-secondary);
  background: none;
  border: none;
  border-bottom: 1px solid var(--border-subtle);
  cursor: pointer;
  text-align: left;
  transition: var(--transition);
}
.cc-license-suggest-item:last-child { border-bottom: none; }
.cc-license-suggest-item:hover { background: var(--gold-dim); color: var(--text-primary); }

/* Result card */
.cc-license-result__loading {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 1rem;
  color: var(--text-muted);
  font-size: 0.875rem;
}
.cc-license-spinner {
  width: 16px; height: 16px;
  border: 2px solid var(--border-subtle);
  border-top-color: var(--gold);
  border-radius: 50%;
  animation: ccSpin 0.6s linear infinite;
  flex-shrink: 0;
}
.cc-license-result__card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 16px;
  padding: 1.5rem;
  margin-top: 0.5rem;
}
.cc-license-result__status {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin-bottom: 0.75rem;
}
.cc-license-result__label {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 900;
}
.cc-license-result__msg {
  font-size: 0.9375rem;
  color: var(--text-secondary);
  line-height: 1.65;
  margin: 0 0 0.5rem;
}
.cc-license-result__note {
  font-size: 0.8125rem;
  color: var(--text-muted);
  margin: 0;
  line-height: 1.5;
}

/* Full operator list */
.cc-license-all { margin-top: 2.5rem; }
.cc-license-all__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
  flex-wrap: wrap;
}
.cc-license-all__updated {
  font-size: 0.6875rem;
  color: var(--text-muted);
  font-weight: 600;
}
.cc-license-all__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.cc-license-all__pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.3rem 0.75rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 100px;
  color: var(--text-secondary);
  cursor: pointer;
  transition: var(--transition);
}
.cc-license-all__pill:hover {
  background: rgba(16,185,129,0.08);
  border-color: rgba(16,185,129,0.3);
  color: var(--emerald);
}

/* Disclaimer */
.cc-license-tool__disclaimer {
  font-size: 0.75rem;
  color: var(--text-muted);
  line-height: 1.6;
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border-subtle);
}
.cc-license-tool__disclaimer a { color: var(--gold); }

/* Widget (compact sidebar version) */
.cc-license-widget {
  padding: 1.375rem;
}
.cc-license-widget__title {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 0.375rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.cc-license-widget__sub {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  margin-bottom: 0.875rem;
}
.cc-license-widget__search {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}
.cc-license-widget__input {
  flex: 1;
  font-family: var(--font-sans);
  font-size: 0.875rem;
  color: var(--text-primary);
  background: var(--bg-glass);
  border: 1px solid var(--border-mid);
  border-radius: 10px;
  padding: 0.5rem 0.875rem;
  outline: none;
  transition: var(--transition);
}
.cc-license-widget__input::placeholder { color: var(--text-muted); }
.cc-license-widget__input:focus {
  border-color: var(--gold-border);
  box-shadow: 0 0 0 3px var(--gold-dim);
}
.cc-license-widget__result { font-size: 0.8125rem; }
.cc-lw-yes {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--emerald);
  font-weight: 700;
}
.cc-lw-no {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--red);
  font-weight: 700;
}
.cc-lw-no a { color: var(--gold); }

/* Light mode */
:root.light .cc-license-search__wrap { background: #fff; }
:root.light .cc-license-suggestions  { background: #fff; }
:root.light .cc-license-result__card { background: #fff; }
:root.light .cc-license-all__pill    { background: #fff; }

/* ═══════════════════════════════════════════════════════════════
   TIER B — PERSONALIZATION "FOR YOU" SECTION
═══════════════════════════════════════════════════════════════ */

.cc-foryou-section { }

.cc-foryou-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
@media (min-width: 640px)  { .cc-foryou-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .cc-foryou-grid { grid-template-columns: repeat(6, 1fr); } }

.cc-foryou-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: var(--transition);
  box-shadow: var(--shadow-card);
}
.cc-foryou-card:hover {
  border-color: var(--gold-border);
  transform: translateY(-3px);
  box-shadow: var(--shadow-card), var(--shadow-gold);
}
.cc-foryou-card--skeleton {
  min-height: 160px;
  background: linear-gradient(
    90deg,
    var(--bg-elevated) 25%,
    var(--bg-glass) 50%,
    var(--bg-elevated) 75%
  );
  background-size: 200% 100%;
  animation: ccSkeleton 1.4s ease infinite;
}
@keyframes ccSkeleton {
  0%   { background-position: 200% center; }
  100% { background-position: -200% center; }
}
.cc-foryou-card__inner {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  padding: 0.875rem;
  flex: 1;
  text-decoration: none;
}
.cc-foryou-card__logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  /* background set via inline style from cc_logo_overlay_bg_color meta */
  border-radius: 8px;
  overflow: hidden;
}
.cc-foryou-card__logo {
  max-width: 80%;
  max-height: 44px;
  object-fit: contain;
}
.cc-foryou-card__logo--fallback {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: var(--bg-glass);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 900;
  color: var(--gold);
}
.cc-foryou-card__info { flex: 1; }
.cc-foryou-card__name {
  font-family: var(--font-display);
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.3;
  margin-bottom: 0.2rem;
}
.cc-foryou-card__rating {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--gold);
}
.cc-foryou-card__badge {
  display: inline-block;
  font-size: 0.5rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 4px;
  padding: 0.1rem 0.35rem;
  margin-top: 0.25rem;
}
.cc-foryou-card__bonus {
  font-size: 0.6875rem;
  color: var(--text-secondary);
  margin-top: 0.25rem;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.cc-foryou-card__actions {
  display: flex;
  gap: 0.375rem;
  padding: 0.625rem 0.875rem;
  border-top: 1px solid var(--border-subtle);
}
.cc-foryou-card__actions .cc-btn {
  flex: 1;
  font-size: 0.625rem;
  padding: 0.3rem 0.5rem;
}

/* Light mode */
:root.light .cc-foryou-card { background: #fff; }

/* ── Ticker adjacency fix: collapse whitespace text nodes between tickers ── */
.cc-jackpot-ticker + .cc-sentiment-ticker {
  margin-top: 0;
  display: flex;
}
/* Remove any gap caused by PHP whitespace output between ticker elements */
.cc-jackpot-ticker,
.cc-sentiment-ticker {
  display: flex;
  line-height: 0;
}
.cc-jackpot-ticker__label,
.cc-jackpot-ticker__item,
.cc-sentiment-ticker__label,
.cc-sentiment-ticker__item,
.cc-sentiment-ticker__all {
  line-height: normal;
}

/* Tickers wrapper — eliminates whitespace text nodes between ticker divs */
.cc-tickers-wrap {
  font-size: 0;
  line-height: 0;
  display: block;
}
.cc-tickers-wrap > * {
  font-size: 1rem;
  line-height: 1.6;
}

/* ═══════════════════════════════════════════════════════════════
   RANKINGS SECTION — Full-width rows + three-column tool strip
═══════════════════════════════════════════════════════════════ */

/* Three-column tool strip below the rank rows */
.cc-rankings-tools {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-top: 0;
}
@media (min-width: 768px) {
  .cc-rankings-tools { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .cc-rankings-tools { grid-template-columns: repeat(3, 1fr); }
}

.cc-rankings-tools__col {
  display: flex;
  flex-direction: column;
}

/* Market stat rows */
.cc-market-stat {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.8125rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-market-stat:last-child { border-bottom: none; }
.cc-market-stat__label { color: var(--text-secondary); }
.cc-market-stat__val   { font-family: var(--font-mono); font-weight: 700; color: var(--text-primary); }

/* ── Compare button on rank rows ── */
.cc-rank-row { position: relative; }
.cc-rank-row .cc-compare-add-btn {
  position: static;
  width: 26px;
  height: 26px;
  opacity: 0;
  transform: scale(0.85);
  flex-shrink: 0;
  margin-left: -0.25rem;
  transition: opacity 0.2s, transform 0.2s;
}
.cc-rank-row:hover .cc-compare-add-btn,
.cc-rank-row .cc-compare-add-btn.active {
  opacity: 1;
  transform: scale(1);
}



/* ═══════════════════════════════════════════════════════════════
   RANKINGS + SIDEBAR — rank rows left, widgets right
═══════════════════════════════════════════════════════════════ */

.cc-rankings-with-sidebar {
  display: grid;
  /* minmax(0, 1fr), not 1fr, so the track cannot grow to fit descendants'
     min-content. Without this, a fixed-width flex child deep inside the
     main column (rank-row logo/score/actions) would pull the grid track
     past the viewport on mobile, even though .cc-rankings-col-main has
     min-width: 0. */
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
  margin-bottom: 2rem;
}
@media (min-width: 1024px) {
  .cc-rankings-with-sidebar {
    grid-template-columns: minmax(0, 1fr) 280px;
  }
}

.cc-rankings-col-main { min-width: 0; }

.cc-rankings-col-sidebar {
  position: sticky;
  top: 88px;
}

/* 4-column casino card grid */
@media (min-width: 1024px) {
  .cc-casino-grid--4col {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}
@media (min-width: 640px) and (max-width: 1023px) {
  .cc-casino-grid--4col {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   MARKET INTELLIGENCE PAGE
   /igaming-ontario-market-data/
═══════════════════════════════════════════════════════════════ */

/* ── Hero — The Terminal ── */
.cc-mi-hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
  display: flex;
  flex-direction: column;
}
.cc-mi-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 120% at 0% 50%, rgba(245,200,66,0.05) 0%, transparent 55%),
    radial-gradient(ellipse 50% 80% at 100% 0%, rgba(99,102,241,0.06) 0%, transparent 50%),
    linear-gradient(180deg, #0a0d14 0%, #07090f 100%);
  z-index: 0;
}
.cc-mi-hero__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(245,200,66,0.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(245,200,66,0.022) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
  z-index: 0;
}
.cc-mi-hero__scan {
  position: absolute;
  top: 0; bottom: 0;
  width: 1px;
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(245,200,66,0.45) 35%,
    rgba(245,200,66,0.65) 50%,
    rgba(245,200,66,0.45) 65%,
    transparent 100%
  );
  animation: ccMiScan 10s ease-in-out infinite alternate;
  pointer-events: none;
  z-index: 1;
}
@keyframes ccMiScan {
  0%   { left: 4%;  opacity: 0.22; }
  100% { left: 96%; opacity: 0.1;  }
}
.cc-mi-hero__ghost {
  position: absolute;
  right: -0.04em;
  top: 50%;
  transform: translateY(-52%);
  font-family: var(--font-display);
  font-size: clamp(100px, 14vw, 220px);
  font-weight: 900;
  letter-spacing: -0.06em;
  line-height: 1;
  background: linear-gradient(
    140deg,
    rgba(245,200,66,0.055) 0%,
    rgba(245,200,66,0.10) 40%,
    rgba(245,200,66,0.04) 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  pointer-events: none;
  user-select: none;
  white-space: nowrap;
  z-index: 0;
}
.cc-mi-hero__ticker {
  position: relative;
  z-index: 2;
  background: rgba(245,200,66,0.04);
  border-bottom: 1px solid rgba(245,200,66,0.1);
  height: 34px;
  display: flex;
  align-items: center;
  overflow: hidden;
  flex-shrink: 0;
}
.cc-mi-hero__ticker-label {
  flex-shrink: 0;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold);
  padding: 0 1rem 0 1.5rem;
  border-right: 1px solid rgba(245,200,66,0.14);
  height: 100%;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
}
.cc-mi-hero__ticker-overflow {
  flex: 1;
  overflow: hidden;
  height: 100%;
  display: flex;
  align-items: center;
}
.cc-mi-hero__ticker-track {
  display: flex;
  animation: ccMiTicker 34s linear infinite;
  will-change: transform;
}
@keyframes ccMiTicker {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.cc-mi-hero__ticker-item {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0 2rem;
  font-size: 0.5625rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-secondary);
  border-right: 1px solid rgba(255,255,255,0.04);
  white-space: nowrap;
  height: 34px;
}
.cc-mi-hero__ticker-val {
  font-weight: 800;
  font-size: 0.625rem;
  font-family: var(--font-mono);
  letter-spacing: 0.02em;
}
.cc-mi-hero__ticker-val--up   { color: var(--emerald); }
.cc-mi-hero__ticker-val--down { color: var(--red); }
.cc-mi-hero__body {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr;
  max-width: 1320px;
  margin: 0 auto;
  width: 100%;
  padding: 0 1.5rem;
}
@media (min-width: 1024px) { .cc-mi-hero__body { grid-template-columns: 1fr 460px; } }
.cc-mi-hero__left {
  padding: 3rem 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (min-width: 1024px) {
  .cc-mi-hero__left { padding: 3.25rem 3rem 3.25rem 0; border-right: 1px solid var(--border-subtle); }
}
.cc-mi-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1.5rem;
  align-self: flex-start;
}
.cc-mi-hero__title {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 3.25vw, 2.75rem);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--text-primary);
  margin-bottom: 1.875rem;
}
.cc-mi-hero__title em { color: var(--gold); font-style: italic; }
.cc-mi-hero__meta { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.625rem; }
.cc-mi-meta-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-secondary);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 4px;
  padding: 0.3rem 0.625rem;
}
.cc-mi-meta-chip--confidence-high {
  color: var(--emerald);
  background: rgba(16,185,129,0.07);
  border-color: rgba(16,185,129,0.22);
}
.cc-mi-meta-chip--confidence-high::before {
  content: '';
  display: inline-block;
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--emerald);
  animation: ccPulse 2s ease infinite;
  flex-shrink: 0;
}
.cc-mi-meta-chip--confidence-medium { color: #d97706; background: rgba(217,119,6,0.07); border-color: rgba(217,119,6,0.22); }
.cc-mi-hero__attribution {
  font-size: 0.5625rem;
  color: var(--text-muted);
  letter-spacing: 0.03em;
  line-height: 1.6;
  padding-top: 1.125rem;
  border-top: 1px solid var(--border-subtle);
}
.cc-mi-hero__attribution strong { color: var(--text-secondary); }
.cc-mi-hero__attribution a { color: var(--gold); text-decoration: none; font-weight: 700; }
.cc-mi-hero__attribution a:hover { text-decoration: underline; }
.cc-mi-hero__right { display: none; padding: 2.25rem 0 2.25rem 2.5rem; flex-direction: column; }
@media (min-width: 1024px) { .cc-mi-hero__right { display: flex; } }
.cc-mi-hero__panel-header {
  font-size: 0.5rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.cc-mi-hero__panel-header::after { content: ''; flex: 1; height: 1px; background: var(--border-subtle); }
.cc-mi-hero__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; flex: 1; align-content: start; }
.cc-mi-hero__stat {
  background: rgba(255,255,255,0.025);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  padding: 1rem 1rem 0.875rem;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  position: relative;
  overflow: hidden;
  transition: border-color 0.2s, background 0.2s;
}
.cc-mi-hero__stat:hover { border-color: rgba(255,255,255,0.1); background: rgba(255,255,255,0.035); }
.cc-mi-hero__stat::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  border-radius: 10px 10px 0 0;
}
.cc-mi-hero__stat--up::before   { background: linear-gradient(90deg, var(--emerald), transparent 70%); }
.cc-mi-hero__stat--down::before { background: linear-gradient(90deg, var(--red), transparent 70%); }
.cc-mi-hero__stat--flat::before { background: linear-gradient(90deg, var(--text-muted), transparent 70%); }
.cc-mi-hero__stat-bar { position: absolute; bottom: 0; left: 0; height: 2px; opacity: 0.22; border-radius: 0 0 10px 10px; }
.cc-mi-hero__stat--up   .cc-mi-hero__stat-bar { background: var(--emerald); }
.cc-mi-hero__stat--down .cc-mi-hero__stat-bar { background: var(--red); }
.cc-mi-hero__stat--flat .cc-mi-hero__stat-bar { background: var(--text-muted); }
.cc-mi-hero__stat-label { font-size: 0.5rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); }
.cc-mi-hero__stat-value-row { display: flex; align-items: baseline; gap: 0.25rem; }
.cc-mi-hero__stat-value {
  font-family: var(--font-display);
  font-size: 2.125rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.04em;
  font-variant-numeric: tabular-nums;
}
.cc-mi-hero__stat--up   .cc-mi-hero__stat-value { color: var(--emerald); }
.cc-mi-hero__stat--down .cc-mi-hero__stat-value { color: var(--red); }
.cc-mi-hero__stat--flat .cc-mi-hero__stat-value { color: var(--text-secondary); }
.cc-mi-hero__stat-dir { font-size: 0.8125rem; font-weight: 700; line-height: 1; margin-bottom: 2px; }
.cc-mi-hero__stat--up   .cc-mi-hero__stat-dir { color: var(--emerald); }
.cc-mi-hero__stat--down .cc-mi-hero__stat-dir { color: var(--red); }
.cc-mi-hero__stat-evidence { font-size: 0.5rem; color: var(--text-muted); line-height: 1.45; margin-top: 0.1rem; }
.cc-mi-hero__footer {
  position: relative;
  z-index: 2;
  border-top: 1px solid var(--border-subtle);
  background: rgba(255,255,255,0.012);
  height: 38px;
  display: flex;
  align-items: center;
  padding: 0 1.5rem;
  flex-shrink: 0;
}
.cc-mi-hero__footer-inner {
  max-width: 1320px;
  margin: 0 auto;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 2rem;
}
.cc-mi-hero__footer-item { display: none; align-items: center; gap: 0.35rem; font-size: 0.5rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); white-space: nowrap; }
@media (min-width: 640px) { .cc-mi-hero__footer-item { display: flex; } }
.cc-mi-hero__footer-item strong { color: var(--text-secondary); font-weight: 700; }
.cc-mi-hero__footer-sep { flex: 1; }
.cc-mi-hero__footer-link { font-size: 0.5rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gold); text-decoration: none; opacity: 0.75; margin-left: auto; white-space: nowrap; }
.cc-mi-hero__footer-link:hover { opacity: 1; text-decoration: underline; }
.cc-mi-pulse { width: 6px; height: 6px; border-radius: 50%; background: var(--gold); animation: ccPulse 2s ease infinite; flex-shrink: 0; }
/* ── Light mode ── */
:root.light .cc-mi-hero__bg {
  background:
    radial-gradient(ellipse 70% 120% at 0% 50%, rgba(201,146,14,0.05) 0%, transparent 55%),
    radial-gradient(ellipse 50% 80% at 100% 0%, rgba(99,102,241,0.04) 0%, transparent 50%),
    linear-gradient(180deg, #f7f8fb 0%, #ffffff 100%);
}
:root.light .cc-mi-hero__grid { background-image: linear-gradient(rgba(0,0,0,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(0,0,0,0.04) 1px, transparent 1px); }
:root.light .cc-mi-hero__scan { background: linear-gradient(180deg, transparent 0%, rgba(201,146,14,0.3) 50%, transparent 100%); }
:root.light .cc-mi-hero__ghost { background: linear-gradient(140deg, rgba(201,146,14,0.06) 0%, rgba(201,146,14,0.1) 40%, rgba(201,146,14,0.03) 100%); -webkit-background-clip: text; background-clip: text; }
:root.light .cc-mi-hero__ticker { background: rgba(201,146,14,0.05); border-color: rgba(146,98,10,0.12); }
:root.light .cc-mi-hero__ticker-label { color: #92620a; border-color: rgba(146,98,10,0.15); }
:root.light .cc-mi-hero__ticker-item { color: #4b5563; border-color: rgba(0,0,0,0.05); }
:root.light .cc-mi-hero__stat { background: rgba(0,0,0,0.02); border-color: rgba(0,0,0,0.08); }
:root.light .cc-mi-hero__stat:hover { background: rgba(0,0,0,0.03); border-color: rgba(0,0,0,0.12); }
:root.light .cc-mi-hero__footer { background: rgba(0,0,0,0.02); border-color: rgba(0,0,0,0.06); }
:root.light .cc-mi-meta-chip { background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.1); color: #374151; }

/* ── Body layout ── */
.cc-mi-body {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.cc-mi-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: start;
}
@media (min-width: 1024px) {
  .cc-mi-layout { grid-template-columns: 1fr 320px; }
}

/* ── Sections ── */
.cc-mi-section { margin-bottom: 3rem; }
.cc-mi-section__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.cc-mi-section__eyebrow {
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.25rem;
}
.cc-mi-section__title {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  margin: 0;
}
.cc-mi-section__title em { color: var(--gold); font-style: italic; }
.cc-mi-section__count {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--text-muted);
  white-space: nowrap;
}

/* ── Cards ── */
.cc-mi-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.75rem;
  box-shadow: var(--shadow-card);
}
.cc-mi-card__eyebrow {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 1rem;
}
.cc-mi-card--summary {
  border-left: 3px solid var(--gold);
  background: linear-gradient(135deg, rgba(245,200,66,0.04) 0%, transparent 60%), var(--bg-card);
}
.cc-mi-summary__body {
  font-size: 1rem;
  color: var(--text-secondary);
  line-height: 1.75;
}
.cc-mi-summary__perspective {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.6875rem;
  color: var(--text-muted);
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border-subtle);
}
.cc-mi-card--methodology {
  background: var(--bg-elevated);
  border-color: var(--border-mid);
}
.cc-mi-methodology__text {
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.7;
  margin: 0 0 0.875rem;
}
.cc-mi-methodology__attribution {
  font-size: 0.75rem;
  color: var(--text-muted);
}
.cc-mi-methodology__attribution a { color: var(--gold); }

/* ── Trends ── */
.cc-mi-trends {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.cc-mi-trend {
  display: flex;
  gap: 1.25rem;
  padding: 1.25rem 1.5rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  margin-bottom: 0.75rem;
  box-shadow: var(--shadow-card);
  transition: var(--transition);
}
.cc-mi-trend:hover {
  border-color: var(--gold-border);
  transform: translateX(4px);
  box-shadow: var(--shadow-card), -4px 0 0 var(--gold);
}
.cc-mi-trend__rank {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 800;
  color: var(--text-faint);
  min-width: 1.5rem;
  padding-top: 0.25rem;
}
.cc-mi-trend__body { flex: 1; min-width: 0; }
.cc-mi-trend__header {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin-bottom: 0.5rem;
  flex-wrap: wrap;
}
.cc-mi-trend__icon-wrap {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-mi-trend__icon-wrap--up   { background: rgba(16,185,129,0.12);  color: var(--emerald); }
.cc-mi-trend__icon-wrap--down { background: rgba(239,68,68,0.12);   color: var(--red); }
.cc-mi-trend__icon-wrap--flat { background: rgba(148,163,184,0.12); color: var(--text-muted); }
.cc-mi-trend__metric {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 800;
  color: var(--text-primary);
}
.cc-mi-trend__value {
  font-family: var(--font-mono);
  font-size: 0.875rem;
  font-weight: 800;
  margin-left: auto;
}
.cc-mi-trend__value--up   { color: var(--emerald); }
.cc-mi-trend__value--down { color: var(--red); }
.cc-mi-trend__value--flat { color: var(--text-muted); }
.cc-mi-trend__evidence {
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.6;
  margin: 0;
}

/* ── Opportunity / Risk cards grid ── */
.cc-mi-cards-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 640px) {
  .cc-mi-cards-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .cc-mi-cards-grid { grid-template-columns: repeat(3, 1fr); }
}
.cc-mi-item {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.375rem;
  box-shadow: var(--shadow-card);
  transition: var(--transition);
}
.cc-mi-item:hover { transform: translateY(-3px); box-shadow: var(--shadow-card), var(--shadow-gold); }
.cc-mi-item--opp { border-top: 2px solid var(--emerald); }
.cc-mi-item--risk { border-top: 2px solid var(--red); }
.cc-mi-item__priority {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  border-radius: 100px;
  padding: 0.2rem 0.6rem;
  margin-bottom: 0.75rem;
}
.cc-mi-item__priority-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}
.cc-mi-item__priority--high   { color: #dc2626; background: rgba(220,38,38,0.10); }
.cc-mi-item__priority--medium { color: #d97706; background: rgba(217,119,6,0.10); }
.cc-mi-item__priority--low    { color: #64748b; background: rgba(100,116,139,0.10); }
.cc-mi-item__title {
  font-family: var(--font-display);
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--text-primary);
  line-height: 1.3;
  margin-bottom: 0.625rem;
}
.cc-mi-item__detail {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.6;
  margin: 0;
}

/* ── Sidebar ── */
.cc-mi-sidebar {
  position: sticky;
  top: 88px;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.cc-mi-sidebar__card {
  padding: 1.375rem;
}
.cc-mi-sidebar__card-title {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 1rem;
}

/* Snapshot rows */
.cc-mi-snapshot { display: flex; flex-direction: column; gap: 0; }
.cc-mi-snapshot__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.75rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border-subtle);
  gap: 0.5rem;
}
.cc-mi-snapshot__row:last-child { border-bottom: none; }
.cc-mi-snapshot__label {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--text-secondary);
  flex-shrink: 0;
}
.cc-mi-snapshot__val {
  font-family: var(--font-mono);
  font-weight: 700;
  color: var(--text-primary);
  font-size: 0.6875rem;
  text-align: right;
}

/* Trend bar */
.cc-mi-trend-bar {
  display: flex;
  height: 8px;
  border-radius: 100px;
  overflow: hidden;
  gap: 2px;
  margin-bottom: 0.75rem;
}
.cc-mi-trend-bar__seg { border-radius: 100px; }
.cc-mi-trend-bar__seg--up   { background: var(--emerald); }
.cc-mi-trend-bar__seg--flat { background: #64748b; }
.cc-mi-trend-bar__seg--down { background: var(--red); }
.cc-mi-trend-legend {
  display: flex;
  gap: 0.875rem;
  flex-wrap: wrap;
}
.cc-mi-trend-legend__item {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.6875rem;
  font-weight: 700;
}
.cc-mi-trend-legend__item--up   { color: var(--emerald); }
.cc-mi-trend-legend__item--flat { color: var(--text-muted); }
.cc-mi-trend-legend__item--down { color: var(--red); }

/* CTA card */
.cc-mi-cta-card {
  background: linear-gradient(135deg, rgba(245,200,66,0.07) 0%, transparent 70%), var(--bg-card);
  border-color: var(--gold-border);
}

/* Empty state */
.cc-mi-empty {
  text-align: center;
  padding: 4rem 2rem;
  max-width: 480px;
  margin: 3rem auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Light mode overrides — hero handled inline in the hero block above */
:root.light .cc-mi-card,
:root.light .cc-mi-trend,
:root.light .cc-mi-item { background: #ffffff; }

/* ═══════════════════════════════════════════════════════════════
   MARKET INTELLIGENCE — PREDICTIVELY LOGO + BLUR GATES
═══════════════════════════════════════════════════════════════ */

/* ── Predictively attribution logo ── */
.cc-mi-pred-logo-link {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border-subtle);
  opacity: 0.35;
  transition: opacity 0.25s ease, filter 0.25s ease;
  filter: grayscale(1) brightness(1.8);
  text-decoration: none;
}
.cc-mi-pred-logo-link:hover {
  opacity: 1;
  filter: grayscale(0) brightness(10) invert(0);
}
.cc-mi-pred-logo {
  max-width: 160px;
  height: auto;
  display: block;
  /* Force white at rest via filter */
  filter: brightness(0) invert(1);
}
.cc-mi-pred-logo-link:hover .cc-mi-pred-logo {
  filter: brightness(0) invert(1);
}

/* ── Gated content blur overlay ──
   Strategy: .cc-mi-item--gated uses overflow:hidden + position:relative.
   The blur div sits absolutely over the detail text only.
   The title stays readable — only the detail paragraph is obscured.
   
   DevTools-resistant: blur is applied via both the div AND a ::before
   pseudo-element on the parent. Removing the div still leaves ::before.
   Removing ::before via DevTools requires editing the stylesheet —
   much higher barrier than just deleting an element.
── */

.cc-mi-item--gated {
  position: relative;
  overflow: hidden;
}

/* The actual blur container (DOM element — first line of defense) */
.cc-mi-item__blur {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 72%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.45;
  letter-spacing: 0.01em;
  border-radius: 0 0 var(--radius-card) var(--radius-card);
  pointer-events: none;
  z-index: 2;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.cc-mi-item__blur--opp {
  background: linear-gradient(
    to bottom,
    rgba(16,185,129,0) 0%,
    rgba(16,185,129,0.45) 25%,
    rgba(16,185,129,0.75) 100%
  );
  color: rgba(16,185,129,0.9);
}
.cc-mi-item__blur--risk {
  background: linear-gradient(
    to bottom,
    rgba(239,68,68,0) 0%,
    rgba(239,68,68,0.45) 25%,
    rgba(239,68,68,0.75) 100%
  );
  color: rgba(239,68,68,0.9);
}
.cc-mi-item__blur span {
  display: block;
  opacity: 0.85;
}

/* ::before pseudo-element — second line of defense.
   Even if the .cc-mi-item__blur div is removed in DevTools,
   this pseudo-element still obscures the content. */
.cc-mi-item--gated.cc-mi-item--opp::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 65%;
  background: linear-gradient(
    to bottom,
    rgba(16,185,129,0) 0%,
    rgba(16,185,129,0.55) 40%,
    rgba(16,185,129,0.85) 100%
  );
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border-radius: 0 0 var(--radius-card) var(--radius-card);
  z-index: 1;
  pointer-events: none;
}
.cc-mi-item--gated.cc-mi-item--risk::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 65%;
  background: linear-gradient(
    to bottom,
    rgba(239,68,68,0) 0%,
    rgba(239,68,68,0.55) 40%,
    rgba(239,68,68,0.85) 100%
  );
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border-radius: 0 0 var(--radius-card) var(--radius-card);
  z-index: 1;
  pointer-events: none;
}

/* Ensure the card has min-height so blur is proportional */
.cc-mi-item--gated { min-height: 180px; }

/* ═══════════════════════════════════════════════════════════════
   TIER C — EXIT INTENT
═══════════════════════════════════════════════════════════════ */

.cc-exit-intent {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.cc-exit-intent[hidden] { display: none; }

.cc-exit-intent__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.72);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  cursor: pointer;
}

.cc-exit-intent__panel {
  position: relative;
  z-index: 1;
  background: var(--bg-card);
  border: 1px solid var(--gold-border);
  border-radius: 24px;
  padding: 2rem;
  max-width: 420px;
  width: 100%;
  box-shadow: 0 24px 80px rgba(0,0,0,0.5), 0 0 0 1px var(--gold-border);
  transform: translateY(24px) scale(0.96);
  opacity: 0;
  transition: transform 0.35s cubic-bezier(0.16,1,0.3,1), opacity 0.3s ease;
}
.cc-exit-intent--visible .cc-exit-intent__panel {
  transform: translateY(0) scale(1);
  opacity: 1;
}

.cc-exit-intent__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: var(--bg-glass);
  border: 1px solid var(--border-subtle);
  color: var(--text-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: var(--transition);
}
.cc-exit-intent__close:hover { color: var(--text-primary); background: var(--bg-elevated); }

.cc-exit-intent__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.625rem;
}
.cc-exit-intent__headline {
  font-size: 1.625rem;
  font-weight: 900;
  color: var(--text-primary);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin-bottom: 1.25rem;
}
.cc-exit-intent__headline em { color: var(--gold); font-style: italic; }

.cc-exit-intent__card {
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 16px;
  padding: 1.125rem;
  margin-bottom: 1rem;
}
.cc-exit-intent__card-top {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  margin-bottom: 0.75rem;
}
.cc-exit-intent__logo {
  width: 56px;
  height: 56px;
  object-fit: contain;
  border-radius: 10px;
  background: var(--bg-glass);
  padding: 4px;
  border: 1px solid var(--border-subtle);
  flex-shrink: 0;
}
.cc-exit-intent__name {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 0.25rem;
}
.cc-exit-intent__stars { display: flex; align-items: center; margin-bottom: 0.3rem; }
.cc-exit-intent__badge {
  display: inline-block;
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 4px;
  padding: 0.1rem 0.375rem;
}
.cc-exit-intent__bonus {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.375rem;
  line-height: 1.4;
}
.cc-exit-intent__payout {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.75rem;
  color: var(--text-secondary);
}
.cc-exit-intent__actions {
  display: flex;
  gap: 0.625rem;
  margin-bottom: 0.875rem;
}
.cc-exit-intent__disclaimer {
  font-size: 0.625rem;
  color: var(--text-faint);
  text-align: center;
  margin: 0;
  line-height: 1.5;
}

/* ═══════════════════════════════════════════════════════════════
   TIER C — CANADA PROVINCE MAP
═══════════════════════════════════════════════════════════════ */

.cc-canada-map-wrap { position: relative; }

/* Legend */
.cc-map-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.cc-map-legend__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text-secondary);
}
.cc-map-legend__dot {
  width: 12px; height: 12px;
  border-radius: 3px;
  flex-shrink: 0;
}
.cc-map-legend__dot--live      { background: #10b981; }
.cc-map-legend__dot--launching { background: var(--gold); }
.cc-map-legend__dot--monopoly  { background: #6366f1; }
.cc-map-legend__dot--grey      { background: #475569; }

/* SVG map */
.cc-map-svg-wrap { position: relative; }
.cc-map-svg {
  width: 100%;
  height: auto;
  max-height: 520px;
  display: block;
}

/* Province fills */
.cc-map-province {
  cursor: pointer;
  transition: opacity 0.15s, filter 0.15s;
  stroke: var(--bg-main);
  stroke-width: 2;
}
.cc-map-province:hover { opacity: 0.8; filter: brightness(1.15); }
.cc-map-province--active { stroke: #fff; stroke-width: 3; filter: brightness(1.2); }
.cc-map-province:focus { outline: 2px solid var(--gold); outline-offset: 2px; }

.cc-map-live      { fill: #10b981; }
.cc-map-launching { fill: var(--gold); }
.cc-map-monopoly  { fill: #6366f1; }
.cc-map-grey      { fill: #475569; }
.cc-map-territory { fill: #334155; }

/* Glow rings */
.cc-map-glow {
  fill: none;
  stroke-width: 2;
  transform-origin: center;
  animation: ccMapPulse 2.5s ease infinite;
  transform-box: fill-box;
}
.cc-map-glow--live     { stroke: #10b981; }
.cc-map-glow--launching{ stroke: var(--gold); }
@keyframes ccMapPulse {
  0%   { opacity: 0.7; transform: scale(1); }
  70%  { opacity: 0;   transform: scale(2.2); }
  100% { opacity: 0;   transform: scale(2.2); }
}

/* Province labels */
.cc-map-label {
  fill: rgba(255,255,255,0.85);
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 800;
  text-anchor: middle;
  dominant-baseline: middle;
  pointer-events: none;
  letter-spacing: 0.04em;
}
.cc-map-label--lg { font-size: 14px; }

/* Tooltip */
.cc-map-tooltip {
  position: absolute;
  pointer-events: none;
  background: var(--bg-card);
  border: 1px solid var(--gold-border);
  border-radius: 12px;
  padding: 0.875rem;
  max-width: 220px;
  z-index: 10;
  box-shadow: 0 8px 32px rgba(0,0,0,0.4);
}
.cc-map-tooltip[hidden] { display: none; }
.cc-map-tooltip__name {
  font-family: var(--font-display);
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 0.2rem;
}
.cc-map-tooltip__status {
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  border-radius: 100px;
  padding: 0.15rem 0.5rem;
  display: inline-block;
  margin-bottom: 0.5rem;
}
.cc-map-tooltip__status--live      { background: rgba(16,185,129,0.15); color: #10b981; }
.cc-map-tooltip__status--launching { background: rgba(245,200,66,0.15);  color: var(--gold); }
.cc-map-tooltip__status--monopoly  { background: rgba(99,102,241,0.15);  color: #818cf8; }
.cc-map-tooltip__status--grey      { background: rgba(71,85,105,0.2);    color: #94a3b8; }
.cc-map-tooltip__detail {
  font-size: 0.75rem;
  color: var(--text-secondary);
  line-height: 1.5;
  margin-bottom: 0.375rem;
}
.cc-map-tooltip__pop  { font-size: 0.6875rem; color: var(--text-muted); margin-bottom: 0.25rem; }
.cc-map-tooltip__cta  { font-size: 0.6875rem; color: var(--gold); font-weight: 700; }

/* Info panel */
.cc-map-info-panel {
  margin-top: 1.5rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.375rem;
  min-height: 100px;
}
.cc-map-info-panel__placeholder {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 0.875rem;
  color: var(--text-muted);
}
.cc-map-info-panel__content { }
.cc-map-info-panel__header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.75rem;
}
.cc-map-info-panel__province-code {
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
  min-width: 2.5rem;
}
.cc-map-info-panel__name {
  font-family: var(--font-display);
  font-size: 1.0625rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 0.25rem;
}
.cc-map-info-panel__status {
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  border-radius: 100px;
  padding: 0.2rem 0.625rem;
  display: inline-block;
}
.cc-map-info-panel__status--live      { background: rgba(16,185,129,0.12); color: #10b981; }
.cc-map-info-panel__status--launching { background: rgba(245,200,66,0.12);  color: var(--gold); }
.cc-map-info-panel__status--monopoly  { background: rgba(99,102,241,0.12);  color: #818cf8; }
.cc-map-info-panel__status--grey      { background: rgba(71,85,105,0.12);   color: #94a3b8; }
.cc-map-info-panel__detail {
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.65;
  margin: 0 0 0.375rem;
}
.cc-map-info-panel__pop {
  font-size: 0.75rem;
  color: var(--text-muted);
}

/* ═══════════════════════════════════════════════════════════════
   TIER C — SCORING METHODOLOGY PAGE
═══════════════════════════════════════════════════════════════ */

.cc-methodology-body { padding-top: 3rem; padding-bottom: 5rem; }

/* Intro */
.cc-methodology-intro {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  margin-bottom: 3rem;
  align-items: start;
}
@media (min-width: 768px) {
  .cc-methodology-intro { grid-template-columns: 1.4fr 1fr; }
}
.cc-methodology-intro__text p {
  font-size: 0.9375rem;
  color: var(--text-secondary);
  line-height: 1.75;
  margin-bottom: 1rem;
}
.cc-methodology-intro__text a { color: var(--gold); }
.cc-methodology-intro__commitments {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-top: 1.5rem;
  padding: 1.25rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
}
.cc-methodology-intro__commit {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.5;
}

/* Score wheel */
.cc-methodology-intro__score-wheel {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
}
.cc-score-wheel {
  position: relative;
  width: 200px;
  height: 200px;
  flex-shrink: 0;
}
.cc-score-wheel__svg {
  width: 200px;
  height: 200px;
  transform: rotate(0deg);
}
.cc-score-wheel__inner {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.cc-score-wheel__label {
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
}
.cc-score-wheel__number {
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 900;
  color: var(--text-primary);
  line-height: 1;
}
.cc-score-wheel__sub {
  font-size: 0.6875rem;
  color: var(--text-muted);
}
.cc-score-wheel__legend {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  width: 100%;
}
.cc-score-wheel__legend-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: var(--text-secondary);
}

/* Criteria */
.cc-methodology-section-title {
  font-size: 1.625rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  margin-bottom: 1.75rem;
}
.cc-methodology-section-title em { color: var(--gold); font-style: italic; }
.cc-methodology-criteria { margin-bottom: 3.5rem; }

.cc-methodology-criterion {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.75rem;
  margin-bottom: 1.25rem;
  box-shadow: var(--shadow-card);
  transition: var(--transition);
}
.cc-methodology-criterion:hover {
  border-color: var(--gold-border);
  box-shadow: var(--shadow-card), var(--shadow-gold);
}
.cc-methodology-criterion__header {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1rem;
}
.cc-methodology-criterion__icon-wrap {
  width: 44px; height: 44px;
  border-radius: 10px;
  border: 1px solid;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-methodology-criterion__meta { flex: 1; min-width: 0; }
.cc-methodology-criterion__title {
  font-family: var(--font-display);
  font-size: 1.0625rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 0.5rem;
}
.cc-methodology-criterion__weight-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.cc-methodology-criterion__bar-track {
  flex: 1;
  height: 6px;
  background: var(--bg-glass);
  border-radius: 100px;
  overflow: hidden;
}
.cc-methodology-criterion__bar-fill {
  height: 100%;
  border-radius: 100px;
  transition: width 0.8s cubic-bezier(0.16,1,0.3,1);
}
.cc-methodology-criterion__weight-num {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 800;
  white-space: nowrap;
  flex-shrink: 0;
}
.cc-methodology-criterion__desc {
  font-size: 0.9375rem;
  color: var(--text-secondary);
  line-height: 1.7;
  margin-bottom: 1rem;
}
.cc-methodology-subcriteria__header {
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.625rem;
}
.cc-methodology-subcriteria__row {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-methodology-subcriteria__row:last-child { border-bottom: none; }
.cc-methodology-subcriteria__bullet {
  width: 6px; height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 0.375rem;
}
.cc-methodology-subcriteria__text {
  flex: 1;
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.55;
}
.cc-methodology-subcriteria__pts {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 800;
  flex-shrink: 0;
}

/* Scale */
.cc-methodology-scale { margin-bottom: 3.5rem; }
.cc-methodology-scale__grid {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}
.cc-methodology-scale__row {
  display: grid;
  grid-template-columns: 80px 130px 1fr;
  gap: 1rem;
  padding: 1rem 1.375rem;
  border-bottom: 1px solid var(--border-subtle);
  align-items: center;
}
.cc-methodology-scale__row:last-child { border-bottom: none; }
.cc-methodology-scale__range {
  font-family: var(--font-mono);
  font-size: 0.875rem;
  font-weight: 800;
  white-space: nowrap;
}
.cc-methodology-scale__label {
  font-weight: 700;
  font-size: 0.875rem;
}
.cc-methodology-scale__desc {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.5;
}

/* Protocol steps */
.cc-methodology-protocol { margin-bottom: 3.5rem; }
.cc-methodology-steps {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.cc-methodology-step {
  display: flex;
  gap: 1.25rem;
  padding: 1.375rem 0;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-methodology-step:last-child { border-bottom: none; }
.cc-methodology-step__num {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 800;
  color: var(--gold);
  letter-spacing: 0.05em;
  min-width: 2rem;
  padding-top: 0.2rem;
  flex-shrink: 0;
}
.cc-methodology-step__title {
  font-family: var(--font-display);
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 0.375rem;
}
.cc-methodology-step__desc {
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.65;
  margin: 0;
}

/* Independence card */
.cc-methodology-independence {
  padding: 2rem;
  border-left: 3px solid var(--gold);
  background: linear-gradient(135deg, rgba(245,200,66,0.04) 0%, transparent 60%), var(--bg-card);
}
.cc-methodology-independence p {
  font-size: 0.9375rem;
  color: var(--text-secondary);
  line-height: 1.75;
  margin-bottom: 0.875rem;
}
.cc-methodology-independence p:last-child { margin-bottom: 0; }
.cc-methodology-independence a { color: var(--gold); }
.cc-methodology-independence strong { color: var(--text-primary); }

/* Light mode */
:root.light .cc-exit-intent__panel,
:root.light .cc-map-info-panel,
:root.light .cc-methodology-criterion { background: #fff; }

/* ═══════════════════════════════════════════════════════════════
   LOGO — header + footer image replacement
═══════════════════════════════════════════════════════════════ */

.cc-logo--img {
  display: flex;
  align-items: center;
  padding: 0;
  background: none;
  border: none;
}
.cc-logo__img {
  height: 62px;
  width: auto;
  display: block;
  transition: transform 0.25s cubic-bezier(0.16,1,0.3,1), filter 0.25s ease;
  filter: brightness(1);
}
.cc-logo--img:hover .cc-logo__img {
  transform: scale(1.06);
  filter: brightness(1.15);
}


/* Footer logo */
.cc-footer__logo-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
.cc-footer__logo-img {
  height: 56px;
  width: auto;
  display: block;
  opacity: 0.85;
  transition: opacity 0.2s, transform 0.25s cubic-bezier(0.16,1,0.3,1);
  filter: brightness(1);
}
.cc-footer__logo-link:hover .cc-footer__logo-img {
  opacity: 1;
  transform: scale(1.08);
}

/* ── CSS Donut chart (replaces broken SVG arc) ── */
.cc-score-donut {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  flex-shrink: 0;
  position: relative;
  /* Gap lines via mask */
  mask-image: none;
}
/* Fake segment gaps via box shadow on the hole */
.cc-score-donut::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(transparent 0% 100%);
  /* Segment separators */
  box-shadow:
    0 -90px 0 1px var(--bg-main),
    90px 0 0 1px var(--bg-main),
    0 90px 0 1px var(--bg-main),
    -90px 0 0 1px var(--bg-main);
}
.cc-score-donut__hole {
  position: absolute;
  inset: 28%;
  border-radius: 50%;
  background: var(--bg-elevated);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: 0 0 0 2px var(--bg-main);
}
:root.light .cc-score-donut__hole { background: #f4f6f9; }

/* ═══════════════════════════════════════════════════════════════
   CASINO COMPARISON TOOL — ULTIMATE EDITION
═══════════════════════════════════════════════════════════════ */

/* ── Main layout ── */
.cc-cmp-wrap {
  display: grid;
  grid-template-columns: 320px 1fr;
  min-height: calc(100vh - 320px);
  border-top: 1px solid var(--border-subtle);
}
@media (max-width: 900px) {
  .cc-cmp-wrap { grid-template-columns: 1fr; }
}

/* ── Picker (left panel) ── */
.cc-cmp-picker {
  background: var(--bg-card);
  border-right: 1px solid var(--border-subtle);
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 200px);
  position: sticky;
  top: 72px;
  overflow: hidden;
}
.cc-cmp-picker__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.125rem 1.25rem 0.75rem;
  border-bottom: 1px solid var(--border-subtle);
  flex-shrink: 0;
}
.cc-cmp-picker__title {
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
}
.cc-cmp-picker__count {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--text-muted);
  transition: color 0.2s;
}
.cc-cmp-picker__count.cc-shake {
  animation: ccShake 0.4s ease;
  color: var(--red);
}
@keyframes ccShake {
  0%,100%{ transform: translateX(0); }
  25%    { transform: translateX(-4px); }
  75%    { transform: translateX(4px); }
}
.cc-cmp-picker__search-wrap {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0.75rem 1rem;
  background: var(--bg-glass);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  padding: 0.5rem 0.75rem;
  flex-shrink: 0;
}
.cc-cmp-picker__search {
  flex: 1;
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  color: var(--text-primary);
  background: transparent;
  border: none;
  outline: none;
}
.cc-cmp-picker__search::placeholder { color: var(--text-muted); }
.cc-cmp-picker__list {
  flex: 1;
  overflow-y: auto;
  padding: 0.25rem 0;
}
.cc-cmp-picker__item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.625rem 1.125rem;
  cursor: pointer;
  transition: background 0.15s;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-cmp-picker__item:last-child { border-bottom: none; }
.cc-cmp-picker__item:hover { background: var(--bg-glass); }
.cc-cmp-picker__item--selected { background: var(--gold-dim) !important; }
.cc-cmp-picker__logo {
  width: 36px;
  height: 36px;
  object-fit: contain;
  border-radius: 8px;
  background: var(--bg-elevated);
  padding: 3px;
  border: 1px solid var(--border-subtle);
  flex-shrink: 0;
}
.cc-cmp-picker__logo--fb {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 1rem;
  color: var(--gold);
  flex-shrink: 0;
}
.cc-cmp-picker__item-info { flex: 1; min-width: 0; }
.cc-cmp-picker__item-name {
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-cmp-picker__item-sub {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  color: var(--text-muted);
  margin-top: 0.125rem;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
.cc-cmp-picker__badge {
  background: var(--gold-dim);
  color: var(--gold);
  border-radius: 4px;
  padding: 0.05rem 0.3rem;
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.cc-cmp-picker__item-check {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1.5px solid var(--border-mid);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  flex-shrink: 0;
  transition: var(--transition);
}
.cc-cmp-picker__item--selected .cc-cmp-picker__item-check {
  background: var(--gold);
  border-color: var(--gold);
  color: #000;
}

/* ── Matrix (right side) ── */
.cc-cmp-matrix {
  background: var(--bg-main);
  padding: 1.5rem;
  overflow-y: auto;
}
.cc-cmp-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 300px;
  text-align: center;
  color: var(--text-muted);
}
/* CSS display rules override the browser's [hidden]{display:none} — fix that */
.cc-cmp-empty[hidden],
.cc-cmp-cards[hidden],
.cc-cmp-rows[hidden] { display: none !important; }

/* ── Casino cards grid ── */
.cc-cmp-cards {
  display: grid;
  gap: 1.25rem;
  margin-bottom: 2rem;
}
.cc-cmp-cards--1 { grid-template-columns: minmax(0, 480px); }
.cc-cmp-cards--2 { grid-template-columns: repeat(2, 1fr); }
.cc-cmp-cards--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1100px) {
  .cc-cmp-cards--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .cc-cmp-cards--2,
  .cc-cmp-cards--3 { grid-template-columns: 1fr; }
}

/* ── Individual comparison card ── */
.cc-cmp-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  position: relative;
  display: flex;
  flex-direction: column;
}
.cc-cmp-card__remove {
  position: absolute;
  top: 0.625rem;
  right: 0.625rem;
  z-index: 10;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: rgba(0,0,0,0.5);
  border: 1px solid rgba(255,255,255,0.15);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.15s;
}
.cc-cmp-card__remove:hover { background: var(--red); }
.cc-cmp-card__hero {
  height: 120px;
  position: relative;
  flex-shrink: 0;
}
.cc-cmp-card__hero-veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 30%, rgba(0,0,0,0.7) 100%);
}
.cc-cmp-card__logo {
  position: absolute;
  bottom: 0.75rem;
  left: 50%;
  transform: translateX(-50%);
  height: 44px;
  width: auto;
  max-width: 80%;
  object-fit: contain;
  background: rgba(0,0,0,0.5);
  border-radius: 8px;
  padding: 4px 8px;
  backdrop-filter: blur(4px);
}
.cc-cmp-badge {
  position: absolute;
  top: 0.625rem;
  left: 0.625rem;
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-radius: 4px;
  padding: 0.2rem 0.5rem;
}
.cc-cmp-badge--fav   { background: rgba(245,200,66,0.9); color: #000; }
.cc-cmp-badge--trend { background: rgba(16,185,129,0.9); color: #fff; }

.cc-cmp-card__body {
  padding: 1.125rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.cc-cmp-card__name {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 800;
  color: var(--text-primary);
  line-height: 1.2;
}
.cc-cmp-card__stars {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  flex-wrap: wrap;
}
.cc-cmp-card__rtg {
  font-family: var(--font-mono);
  font-size: 0.875rem;
  font-weight: 800;
  color: var(--gold);
  margin-left: 0.25rem;
}
.cc-cmp-card__bfor {
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 4px;
  padding: 0.1rem 0.35rem;
  margin-left: 0.25rem;
}
.cc-cmp-card__lic {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.6875rem;
  color: var(--emerald);
  font-weight: 600;
}
.cc-cmp-card__bonus {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  background: rgba(245,200,66,0.06);
  border: 1px solid var(--gold-border);
  border-radius: 10px;
  padding: 0.625rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.4;
}

/* Stats grid */
.cc-cmp-card__stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
}
.cc-cmp-stat {
  display: flex;
  align-items: flex-start;
  gap: 0.375rem;
  background: var(--bg-glass);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  padding: 0.5rem 0.625rem;
}
.cc-cmp-stat__label {
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-muted);
  line-height: 1.3;
}
.cc-cmp-stat__val {
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.3;
}

/* Features row */
.cc-cmp-card__features {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}
.cc-cmp-feat {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.625rem;
  font-weight: 700;
  border-radius: 100px;
  padding: 0.2rem 0.625rem;
}
.cc-cmp-feat--yes { background: rgba(16,185,129,0.10); color: var(--emerald); }
.cc-cmp-feat--no  { background: var(--bg-glass);       color: var(--text-faint); }

/* Detail rows */
.cc-cmp-dr {
  display: flex;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: var(--text-secondary);
  line-height: 1.5;
}
.cc-cmp-dr__l {
  font-weight: 700;
  color: var(--text-muted);
  flex-shrink: 0;
  min-width: 60px;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Score bars */
.cc-cmp-card__scores { }
.cc-cmp-scores-ttl {
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  margin-bottom: 0.5rem;
}
.cc-cmp-score-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.375rem;
}
.cc-cmp-score-label {
  font-size: 0.6875rem;
  color: var(--text-secondary);
  width: 80px;
  flex-shrink: 0;
}
.cc-cmp-score-track {
  flex: 1;
  height: 4px;
  background: var(--bg-glass);
  border-radius: 100px;
  overflow: hidden;
}
.cc-cmp-score-fill {
  height: 100%;
  background: var(--gold);
  border-radius: 100px;
}
.cc-cmp-score-num {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 800;
  color: var(--gold);
  width: 24px;
  text-align: right;
  flex-shrink: 0;
}

/* Pros / Cons */
.cc-cmp-card__proscons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  border-top: 1px solid var(--border-subtle);
  padding-top: 0.75rem;
}
.cc-cmp-pc-col { display: flex; flex-direction: column; gap: 0.25rem; }
.cc-cmp-pro, .cc-cmp-con {
  display: flex;
  align-items: flex-start;
  gap: 0.3rem;
  font-size: 0.6875rem;
  color: var(--text-secondary);
  line-height: 1.45;
}

/* CTAs */
.cc-cmp-card__actions {
  display: flex;
  gap: 0.5rem;
  border-top: 1px solid var(--border-subtle);
  padding-top: 0.75rem;
  margin-top: auto;
}

/* ── Data table (rows view) ── */
.cc-cmp-rows-inner { margin-top: 0.5rem; }
.cc-cmp-section-title {
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.875rem;
}
.cc-cmp-table {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}
.cc-cmp-tr {
  display: grid;
  grid-template-columns: 140px repeat(3, 1fr);
  border-bottom: 1px solid var(--border-subtle);
}
.cc-cmp-tr:last-child { border-bottom: none; }
.cc-cmp-tr--alt { background: rgba(255,255,255,0.02); }
.cc-cmp-tr--head { background: var(--bg-elevated); }
.cc-cmp-td {
  padding: 0.625rem 0.875rem;
  font-size: 0.8125rem;
  display: flex;
  align-items: center;
  border-right: 1px solid var(--border-subtle);
}
.cc-cmp-td:last-child { border-right: none; }
.cc-cmp-td--label {
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: var(--bg-elevated);
}
.cc-cmp-td--head {
  flex-direction: column;
  justify-content: center;
  font-weight: 700;
  color: var(--text-primary);
}
.cc-cmp-td--val { color: var(--text-secondary); }
.cc-cmp-td--best {
  color: var(--text-primary) !important;
  font-weight: 700;
  background: rgba(245,200,66,0.05);
}

/* ── Floating action bar ── */
.cc-cmp-bar {
  position: sticky;
  bottom: 0;
  background: var(--bg-card);
  border-top: 1px solid var(--border-subtle);
  z-index: 50;
  box-shadow: 0 -4px 20px rgba(0,0,0,0.2);
}

/* Light mode */
:root.light .cc-cmp-picker { background: #fff; }
:root.light .cc-cmp-matrix { background: #f4f6f9; }
:root.light .cc-cmp-card   { background: #fff; }
:root.light .cc-cmp-table  { background: #fff; }
:root.light .cc-cmp-bar    { background: #fff; }
:root.light .cc-cmp-tr--alt{ background: rgba(0,0,0,0.02); }
:root.light .cc-cmp-tr--head{ background: #f4f6f9; }
:root.light .cc-cmp-td--label { background: #f4f6f9; }

/* ═══════════════════════════════════════════════════════════════
   CASINO COMPARISON — HUB SECTIONS (below fold)
═══════════════════════════════════════════════════════════════ */
.cc-cmp-hub { padding-bottom: 5rem; }
.cc-cmp-hub-section { padding: 4rem 0; border-top: 1px solid var(--border-subtle); }
.cc-cmp-hub-header { margin-bottom: 2.5rem; }
.cc-cmp-hub-header .cc-section-eyebrow { margin-bottom: 0.5rem; }
.cc-cmp-hub-lead { margin-top: 0.5rem; font-size: 1rem; color: var(--text-secondary); max-width: 60ch; line-height: 1.65; }

/* VS matchup cards */
.cc-cmp-vs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1rem; }
.cc-cmp-vs-card { display: block; background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); padding: 1.375rem 1.5rem; text-decoration: none; transition: var(--transition); position: relative; overflow: hidden; }
.cc-cmp-vs-card::after { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, var(--emerald), var(--gold)); opacity: 0; transition: opacity 0.2s; }
.cc-cmp-vs-card:hover { border-color: var(--gold-border); transform: translateY(-3px); box-shadow: var(--shadow-card), var(--shadow-gold); }
.cc-cmp-vs-card:hover::after { opacity: 1; }
.cc-cmp-vs-eyebrow { font-size: 0.625rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--emerald); margin-bottom: 0.5rem; display: flex; align-items: center; gap: 0.3rem; }
.cc-cmp-vs-title { font-size: 1.0625rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.375rem; }
.cc-cmp-vs-cta { font-size: 0.8125rem; color: var(--text-secondary); }

/* Priority wizard */
.cc-cmp-priority-section { background: linear-gradient(160deg, rgba(16,185,129,0.04) 0%, transparent 60%); border-top: 1px solid rgba(16,185,129,0.14); border-bottom: 1px solid rgba(16,185,129,0.14); padding: 4rem 0; }
.cc-cmp-priority-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(195px, 1fr)); gap: 0.875rem; }
.cc-cmp-priority-card { display: flex; flex-direction: column; gap: 0.625rem; background: rgba(255,255,255,0.02); border: 1px solid var(--border-subtle); border-radius: 12px; padding: 1.25rem; text-decoration: none; transition: var(--transition); color: inherit; }
.cc-cmp-priority-card:hover { border-color: var(--emerald); background: rgba(16,185,129,0.06); transform: translateY(-2px); }
.cc-cmp-priority-icon { width: 36px; height: 36px; border-radius: 8px; background: var(--emerald-dim); display: flex; align-items: center; justify-content: center; color: var(--emerald); flex-shrink: 0; }
.cc-cmp-priority-name { font-weight: 700; font-size: 0.9375rem; color: var(--text-primary); }
.cc-cmp-priority-desc { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.45; }

/* Live data widgets */
.cc-cmp-widgets { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 1.5rem; }
.cc-cmp-widget { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); overflow: hidden; display: flex; flex-direction: column; }
.cc-cmp-widget__head { padding: 1.125rem 1.5rem; border-bottom: 1px solid var(--border-subtle); display: flex; align-items: flex-start; gap: 0.875rem; }
.cc-cmp-widget__icon { width: 34px; height: 34px; border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cc-cmp-widget__hdr { flex: 1; }
.cc-cmp-widget__title { font-weight: 700; font-size: 0.9375rem; color: var(--text-primary); line-height: 1.2; }
.cc-cmp-widget__sub { font-size: 0.75rem; color: var(--text-muted); margin-top: 0.2rem; }
.cc-cmp-widget__body { flex: 1; }
.cc-cmp-widget__row { display: flex; align-items: center; gap: 0.75rem; padding: 0.7rem 1.5rem; border-bottom: 1px solid var(--border-subtle); }
.cc-cmp-widget__row:last-child { border-bottom: none; }
.cc-cmp-widget__rank { width: 20px; font-size: 0.8125rem; font-weight: 700; color: var(--text-muted); text-align: right; flex-shrink: 0; }
.cc-cmp-widget__logo-wrap { width: 38px; height: 26px; background: #0B1220; border-radius: 4px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; overflow: hidden; padding: 2px 4px; }
.cc-cmp-widget__logo { max-width: 30px; max-height: 20px; width: auto; height: auto; object-fit: contain; }
.cc-cmp-widget__name { flex: 1; min-width: 0; font-weight: 500; font-size: 0.9rem; color: var(--text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-decoration: none; }
.cc-cmp-widget__name:hover { color: var(--gold); }
.cc-cmp-widget__value { font-size: 0.8125rem; font-weight: 600; white-space: nowrap; flex-shrink: 0; }
.cc-cmp-widget__foot { padding: 0.875rem 1.5rem; border-top: 1px solid var(--border-subtle); }

/* Ranking table */
.cc-cmp-rank-wrap { border-radius: var(--radius-card); border: 1px solid var(--border-subtle); overflow: hidden; }
.cc-cmp-rank-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; color: var(--text-primary); }
.cc-cmp-rank-table thead th { padding: 0.75rem 1rem; text-align: left; font-size: 0.625rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); background: rgba(255,255,255,0.03); border-bottom: 1px solid var(--border-subtle); }
.cc-cmp-rank-table td { padding: 0.75rem 1rem; border-bottom: 1px solid var(--border-subtle); vertical-align: middle; }
.cc-cmp-rank-table tr:last-child td { border-bottom: none; }
.cc-cmp-rank-table tbody tr { transition: background 0.15s; }
.cc-cmp-rank-table tbody tr:hover { background: rgba(255,255,255,0.025); }
.cc-cmp-rank-num { font-size: 0.875rem; font-weight: 800; text-align: center; }
.cc-cmp-rank-casino { display: flex; align-items: center; gap: 0.75rem; }
.cc-cmp-rank-logo { width: 44px; height: 28px; background: #0B1220; border-radius: 4px; padding: 3px 5px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cc-cmp-rank-logo img { max-height: 22px; width: auto; object-fit: contain; }
.cc-cmp-rank-name { font-weight: 600; color: var(--text-primary); }
.cc-cmp-rank-rating { font-weight: 700; color: var(--gold); font-family: var(--font-mono); }
.cc-cmp-rank-payout { font-size: 0.8125rem; color: var(--text-secondary); }
.cc-cmp-rank-review { display: inline-flex; align-items: center; padding: 0.35rem 0.75rem; border-radius: 6px; background: rgba(16,185,129,0.12); color: var(--emerald); font-size: 0.8125rem; font-weight: 600; text-decoration: none; transition: var(--transition); white-space: nowrap; }
.cc-cmp-rank-review:hover { background: rgba(16,185,129,0.22); }
@media (max-width: 680px) { .cc-cmp-rank-table th:nth-child(n+4), .cc-cmp-rank-table td:nth-child(n+4) { display: none; } }

/* Methodology trust strip */
.cc-cmp-method-card { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); padding: 2rem; }
.cc-cmp-method-scores { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 0.875rem; margin-top: 1.75rem; }
.cc-cmp-method-score { background: var(--bg-main); border: 1px solid var(--border-subtle); border-radius: 10px; padding: 0.875rem 1rem; }
.cc-cmp-method-score-label { font-size: 0.625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); margin-bottom: 0.5rem; }
.cc-cmp-method-score-bar-wrap { height: 4px; border-radius: 2px; background: var(--border-subtle); overflow: hidden; margin-bottom: 0.375rem; }
.cc-cmp-method-score-bar { height: 100%; border-radius: 2px; background: var(--gold); }
.cc-cmp-method-score-val { font-size: 0.75rem; font-weight: 700; color: var(--gold); font-family: var(--font-mono); }

/* Numbered factors */
.cc-cmp-factors { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 1rem; }
.cc-cmp-factor { display: flex; gap: 1.125rem; padding: 1.25rem 1.5rem; background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 12px; align-items: flex-start; }
.cc-cmp-factor__num { font-size: 1.875rem; font-weight: 900; color: var(--gold); line-height: 1; font-family: var(--font-display); flex-shrink: 0; min-width: 2.25rem; text-align: right; opacity: 0.5; }
.cc-cmp-factor__title { font-weight: 700; color: var(--text-primary); margin-bottom: 0.25rem; font-size: 0.9375rem; }
.cc-cmp-factor__desc { color: var(--text-secondary); font-size: 0.875rem; line-height: 1.6; }

/* Use-case cards */
.cc-cmp-usecases { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.cc-cmp-usecase { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 12px; padding: 1.5rem; display: flex; flex-direction: column; gap: 0.75rem; transition: var(--transition); }
.cc-cmp-usecase:hover { border-color: var(--border-mid); background: var(--bg-elevated); transform: translateY(-2px); }
.cc-cmp-usecase__icon { width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; }
.cc-cmp-usecase__title { font-weight: 700; font-size: 0.9375rem; color: var(--text-primary); }
.cc-cmp-usecase__desc { font-size: 0.875rem; color: var(--text-secondary); line-height: 1.6; flex: 1; }

/* FAQ accordion */
.cc-cmp-faq { display: grid; gap: 0.625rem; }
.cc-cmp-faq-item { border: 1px solid var(--border-subtle); border-radius: 12px; background: var(--bg-card); overflow: hidden; transition: border-color 0.2s; }
.cc-cmp-faq-item[open] { border-color: var(--border-mid); }
.cc-cmp-faq-summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.125rem 1.5rem; cursor: pointer; font-weight: 600; font-size: 0.9375rem; color: var(--text-primary); user-select: none; }
.cc-cmp-faq-summary::-webkit-details-marker { display: none; }
.cc-cmp-faq-item[open] .cc-cmp-faq-summary { color: var(--gold); border-bottom: 1px solid var(--border-subtle); }
.cc-cmp-faq-icon { width: 22px; height: 22px; border-radius: 50%; background: var(--border-subtle); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--text-secondary); font-size: 1rem; font-weight: 700; line-height: 1; transition: var(--transition); }
.cc-cmp-faq-item[open] .cc-cmp-faq-icon { background: var(--gold-dim); color: var(--gold); }
.cc-cmp-faq-body { padding: 1.125rem 1.5rem; color: var(--text-secondary); font-size: 0.9375rem; line-height: 1.7; }

/* Ignore callout */
.cc-cmp-ignore { display: inline-flex; align-items: center; gap: 0.375rem; padding: 0.5rem 1rem; border-radius: 100px; background: rgba(239,68,68,0.07); border: 1px solid rgba(239,68,68,0.18); color: #fca5a5; font-size: 0.8125rem; font-weight: 600; margin-top: 1rem; }


/* ═══════════════════════════════════════════════════════════════
   CATEGORY COMPARISON PAGES  (/best-slots-casinos/ etc.)
═══════════════════════════════════════════════════════════════ */

/* Hero */
.cc-cat-hero { position: relative; background: var(--bg-card); overflow: hidden; border-bottom: 1px solid var(--border-subtle); }
.cc-cat-hero__bg { position: absolute; inset: 0; background: radial-gradient(ellipse 65% 80% at 80% 40%, rgba(16,185,129,0.06) 0%, transparent 60%), radial-gradient(ellipse 50% 60% at 15% 20%, rgba(245,200,66,0.04) 0%, transparent 50%), linear-gradient(160deg, var(--bg-card) 0%, var(--bg-elevated) 100%); pointer-events: none; }
.cc-cat-hero__grid { position: absolute; inset: 0; background-image: linear-gradient(var(--border-subtle) 1px, transparent 1px), linear-gradient(90deg, var(--border-subtle) 1px, transparent 1px); background-size: 60px 60px; opacity: 0.25; pointer-events: none; }
.cc-cat-hero__content { position: relative; z-index: 1; padding: 4rem 0 3.5rem; }

/* Stat strip */
.cc-cat-hero__stats { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; margin-top: 2rem; }
.cc-cat-hero__stat { display: flex; flex-direction: column; gap: 0.2rem; }
.cc-cat-hero__stat-value { font-size: 1.5rem; font-weight: 900; font-family: var(--font-display); color: var(--gold); line-height: 1; }
.cc-cat-hero__stat-label { font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; color: var(--text-muted); }
.cc-cat-hero__stat-divider { width: 1px; height: 2.5rem; background: var(--border-subtle); flex-shrink: 0; }

/* Ranking table section */
.cc-cat-table-section { background: var(--bg-main); padding: 3.5rem 0; border-bottom: 1px solid var(--border-subtle); }

/* Prose + sidebar layout */
.cc-cat-prose-section { padding: 4rem 0; border-bottom: 1px solid var(--border-subtle); }
.cc-cat-prose-grid { display: grid; grid-template-columns: 1fr 290px; gap: 3rem; align-items: start; }
@media (max-width: 900px) { .cc-cat-prose-grid { grid-template-columns: 1fr; } }

/* Sidebar */
.cc-cat-sidebar { display: flex; flex-direction: column; gap: 1rem; position: sticky; top: 2rem; }
.cc-cat-sidebar-card { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); padding: 1.375rem; }
.cc-cat-sidebar-title { font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 0.875rem; display: flex; align-items: center; gap: 0.3rem; }
.cc-cat-sidebar-item { display: flex; align-items: center; gap: 0.625rem; padding: 0.5rem 0; border-bottom: 1px solid var(--border-subtle); font-size: 0.875rem; color: var(--text-secondary); }
.cc-cat-sidebar-item:last-child { border-bottom: none; }
.cc-cat-sidebar-item strong { color: var(--text-primary); font-weight: 600; }

/* FAQ section */
.cc-cat-faq-section { padding: 4rem 0; background: var(--bg-card); border-top: 1px solid var(--border-subtle); border-bottom: 1px solid var(--border-subtle); }

/* Related category cards */
.cc-cat-related-section { padding: 4rem 0 5rem; }
.cc-cat-related-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1rem; margin-top: 1.5rem; }
.cc-cat-related-card { display: block; background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); padding: 1.375rem; text-decoration: none; color: inherit; transition: var(--transition); position: relative; overflow: hidden; }
.cc-cat-related-card::after { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, var(--emerald), var(--gold)); opacity: 0; transition: opacity 0.2s; }
.cc-cat-related-card:hover { border-color: var(--border-mid); transform: translateY(-3px); box-shadow: var(--shadow-card); }
.cc-cat-related-card:hover::after { opacity: 1; }
.cc-cat-related-icon { width: 36px; height: 36px; border-radius: 9px; background: var(--emerald-dim); display: flex; align-items: center; justify-content: center; margin-bottom: 0.875rem; }
.cc-cat-related-eyebrow { font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--emerald); margin-bottom: 0.3rem; }
.cc-cat-related-title { font-weight: 700; font-size: 1rem; color: var(--text-primary); line-height: 1.3; margin-bottom: 0.25rem; }
.cc-cat-related-sub { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.4; }


/* ═══════════════════════════════════════════════════════════════
   GUIDES INDEX PAGE
═══════════════════════════════════════════════════════════════ */

.cc-guides-hero {
  position: relative;
  background: var(--bg-card);
  padding: 5rem 0 4rem;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-guides-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 80% at 80% 50%, rgba(245,200,66,0.06) 0%, transparent 60%),
    radial-gradient(ellipse 50% 60% at 20% 30%, rgba(16,185,129,0.05) 0%, transparent 50%),
    linear-gradient(135deg, var(--bg-card) 0%, var(--bg-elevated) 100%);
}
.cc-guides-hero__grid-overlay {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(var(--border-subtle) 1px, transparent 1px),
    linear-gradient(90deg, var(--border-subtle) 1px, transparent 1px);
  background-size: 60px 60px;
  opacity: 0.3;
  pointer-events: none;
}
.cc-guides-hero__content { position: relative; z-index: 1; }
.cc-guides-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.3rem 0.75rem;
  margin-bottom: 1.125rem;
}
.cc-guides-hero__title {
  font-size: clamp(1.875rem, 4vw, 3rem);
  font-weight: 900;
  letter-spacing: -0.015em;
  color: var(--text-primary);
  line-height: 1.1;
  margin-bottom: 1rem;
}
.cc-guides-hero__title em { color: var(--gold); font-style: italic; }
.cc-guides-hero__sub {
  font-size: 1rem;
  color: var(--text-secondary);
  max-width: 560px;
  line-height: 1.7;
  margin-bottom: 2rem;
}
.cc-guides-hero__stats {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.cc-guides-hero__stat { text-align: center; }
.cc-guides-hero__stat-num {
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 900;
  color: var(--gold);
  display: block;
  line-height: 1;
}
.cc-guides-hero__stat-label {
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.cc-guides-hero__stat-sep {
  width: 1px;
  height: 32px;
  background: var(--border-subtle);
}

/* Guides body */
.cc-guides-body { padding: 3rem 0 5rem; }
.cc-guides-index-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}
.cc-guides-section-eyebrow {
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.25rem;
}
.cc-guides-section-title {
  font-family: var(--font-display);
  font-size: 1.625rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  margin: 0;
}
.cc-guides-section-title em { color: var(--gold); font-style: italic; }
.cc-guides-section-desc {
  font-size: 0.9375rem;
  color: var(--text-secondary);
  max-width: 400px;
  line-height: 1.6;
  margin: 0;
}

/* Guide cards grid */
.cc-guides-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .cc-guides-grid { grid-template-columns: 1fr; }
}
.cc-guide-card {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-top: 3px solid var(--guide-color, var(--gold));
  border-radius: var(--radius-card);
  padding: 1.75rem;
  text-decoration: none;
  box-shadow: var(--shadow-card);
  transition: var(--transition);
  position: relative;
  overflow: hidden;
}
.cc-guide-card::before {
  content: '';
  position: absolute;
  top: 0; right: 0;
  width: 120px; height: 120px;
  background: radial-gradient(circle at top right, var(--guide-color, var(--gold)), transparent 70%);
  opacity: 0.06;
  pointer-events: none;
}
.cc-guide-card:hover {
  transform: translateY(-4px);
  border-color: var(--guide-color, var(--gold));
  box-shadow: var(--shadow-card), 0 12px 32px rgba(0,0,0,0.15);
  text-decoration: none;
}
.cc-guide-card:hover .cc-guide-card__arrow {
  transform: translateX(4px);
  color: var(--guide-color, var(--gold));
}
.cc-guide-card__num {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 800;
  color: var(--text-faint);
  letter-spacing: 0.08em;
}
.cc-guide-card__icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--guide-color, var(--gold)) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--guide-color, var(--gold)) 25%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--guide-color, var(--gold));
}
.cc-guide-card__cat {
  display: inline-flex;
  align-items: center;
  font-size: 0.5rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  border: 1px solid;
  border-radius: 100px;
  padding: 0.2rem 0.6rem;
  width: fit-content;
}
.cc-guide-card__title {
  font-family: var(--font-display);
  font-size: 1.1875rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.015em;
  line-height: 1.25;
  margin: 0;
}
.cc-guide-card__desc {
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.65;
  margin: 0;
  flex: 1;
}
.cc-guide-card__meta {
  display: flex;
  gap: 0.875rem;
  flex-wrap: wrap;
}
.cc-guide-card__meta-item {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--text-muted);
}
.cc-guide-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}
.cc-guide-card__tag {
  font-size: 0.5625rem;
  font-weight: 700;
  color: var(--text-muted);
  background: var(--bg-glass);
  border: 1px solid var(--border-subtle);
  border-radius: 100px;
  padding: 0.15rem 0.5rem;
  letter-spacing: 0.03em;
}
.cc-guide-card__arrow {
  color: var(--text-muted);
  transition: transform 0.2s, color 0.2s;
  align-self: flex-end;
}
.cc-guides-cta-band {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
  background: linear-gradient(135deg, rgba(245,200,66,0.06) 0%, transparent 60%), var(--bg-card);
  border: 1px solid var(--gold-border);
  border-radius: var(--radius-card);
  padding: 2rem;
  margin-top: 3rem;
}

/* ═══════════════════════════════════════════════════════════════
   GUIDE PAGE LAYOUT (shared across all four guides)
═══════════════════════════════════════════════════════════════ */

/* Guide Hero */
.cc-guide-hero {
  position: relative;
  padding: 4.5rem 0 3.5rem;
  overflow: hidden;
}
.cc-guide-hero__bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--bg-main) 0%, var(--bg-elevated) 100%);
}
.cc-guide-hero--emerald .cc-guide-hero__bg {
  background: linear-gradient(135deg, rgba(16,185,129,0.04) 0%, var(--bg-main) 50%);
}
.cc-guide-hero--indigo .cc-guide-hero__bg {
  background: linear-gradient(135deg, rgba(99,102,241,0.05) 0%, var(--bg-main) 50%);
}
.cc-guide-hero--amber .cc-guide-hero__bg {
  background: linear-gradient(135deg, rgba(245,158,11,0.05) 0%, var(--bg-main) 50%);
}
.cc-guide-hero--pink .cc-guide-hero__bg {
  background: linear-gradient(135deg, rgba(236,72,153,0.05) 0%, var(--bg-main) 50%);
}
.cc-guide-hero__content { position: relative; z-index: 1; }
.cc-guide-hero__meta-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.cc-guide-hero__cat {
  font-size: 0.5rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  border: 1px solid;
  border-radius: 100px;
  padding: 0.2rem 0.625rem;
}
.cc-guide-hero__readtime,
.cc-guide-hero__level {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.6875rem;
  color: var(--text-muted);
}
.cc-guide-hero__updated { font-size: 0.6875rem; color: var(--text-faint); }
.cc-guide-hero__title {
  font-size: clamp(2rem, 4.5vw, 3.25rem);
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin-bottom: 1.125rem;
}
.cc-guide-hero__title em { color: var(--gold); font-style: italic; }
.cc-guide-hero__intro {
  font-size: 1.0625rem;
  color: var(--text-secondary);
  line-height: 1.75;
  max-width: 680px;
  margin-bottom: 2rem;
}
/* TOC */
.cc-guide-hero__toc {
  background: var(--bg-glass);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  display: inline-flex;
  align-items: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
  max-width: 100%;
}
.cc-guide-toc__label {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  flex-shrink: 0;
  padding-top: 0.125rem;
}
.cc-guide-toc__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
}
.cc-guide-toc__links a {
  font-size: 0.8125rem;
  color: var(--gold);
  text-decoration: none;
  font-weight: 600;
}
.cc-guide-toc__links a:hover { text-decoration: underline; }

/* Body layout */
.cc-guide-body { padding: 3rem 0 5rem; }
.cc-guide-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 1024px) {
  .cc-guide-layout { grid-template-columns: 1fr; }
  .cc-guide-sidebar { order: -1; }
}
.cc-guide-article { min-width: 0; }
.cc-guide-section { margin-bottom: 3.5rem; scroll-margin-top: 80px; }

/* Article typography */
.cc-guide-h2 {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  margin-bottom: 1rem;
  position: relative;
}
.cc-guide-article p {
  font-size: 1rem;
  color: var(--text-secondary);
  line-height: 1.8;
  margin-bottom: 1rem;
}

/* Callout boxes */
.cc-guide-callout {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  border-radius: 12px;
  padding: 1.125rem 1.375rem;
  margin: 1.5rem 0;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--text-secondary);
}
.cc-guide-callout--info { background: rgba(99,102,241,0.08); border: 1px solid rgba(99,102,241,0.2); }
.cc-guide-callout--shield { background: rgba(16,185,129,0.07); border: 1px solid rgba(16,185,129,0.2); }
.cc-guide-callout--gold { background: var(--gold-dim); border: 1px solid var(--gold-border); }
.cc-guide-callout__icon { flex-shrink: 0; font-size: 1.25rem; padding-top: 0.125rem; }

/* Visual containers */
.cc-guide-visual {
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.5rem;
  margin: 1.75rem 0;
  overflow-x: auto;
}
.cc-guide-visual--formula { background: linear-gradient(135deg, rgba(16,185,129,0.04) 0%, var(--bg-elevated) 100%); }
.cc-guide-visual--wide { max-width: 100%; overflow-x: auto; }

/* Tip list */
.cc-guide-tip-list { display: flex; flex-direction: column; gap: 1.25rem; margin: 1.5rem 0; }
.cc-guide-tip { display: flex; gap: 1.25rem; align-items: flex-start; }
.cc-guide-tip__num {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 800;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 8px;
  padding: 0.25rem 0.5rem;
  flex-shrink: 0;
  margin-top: 0.125rem;
}
.cc-guide-tip__body { font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.7; }
.cc-guide-tip__body strong { color: var(--text-primary); }

/* CTA card */
.cc-guide-cta-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
  background: linear-gradient(135deg, rgba(245,200,66,0.06) 0%, transparent 60%), var(--bg-card);
  border: 1px solid var(--gold-border);
  border-radius: var(--radius-card);
  padding: 1.5rem;
  margin-top: 2.5rem;
}
.cc-guide-cta-card__text strong { font-size: 0.9375rem; color: var(--text-primary); display: block; margin-bottom: 0.25rem; }
.cc-guide-cta-card__text p { font-size: 0.8125rem; color: var(--text-secondary); margin: 0; }

/* Sidebar */
.cc-guide-sidebar { position: sticky; top: 88px; display: flex; flex-direction: column; gap: 1.25rem; }
.cc-guide-sidebar__card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.25rem;
  box-shadow: var(--shadow-card);
}
.cc-guide-sidebar__card--gold { border-color: var(--gold-border); background: linear-gradient(135deg, rgba(245,200,66,0.05) 0%, var(--bg-card) 100%); }
.cc-guide-sidebar__card-title {
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.875rem;
}
.cc-guide-sidebar__takeaways { display: flex; flex-direction: column; gap: 0.5rem; }
.cc-guide-takeaway {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.45;
}
.cc-guide-quick-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.4rem 0;
  border-bottom: 1px solid var(--border-subtle);
  gap: 0.5rem;
}
.cc-guide-quick-row:last-child { border-bottom: none; }
.cc-guide-quick-label { font-size: 0.75rem; font-weight: 700; color: var(--text-secondary); flex-shrink: 0; }
.cc-guide-quick-val { font-family: var(--font-mono); font-size: 0.75rem; font-weight: 700; }
.cc-guide-sidebar__related-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: var(--text-secondary);
  text-decoration: none;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border-subtle);
  transition: color 0.2s;
}
.cc-guide-sidebar__related-link:last-child { border-bottom: none; }
.cc-guide-sidebar__related-link:hover { color: var(--gold); }
.cc-guide-sidebar__related-link i { color: var(--gold); flex-shrink: 0; }

/* ═══ RTP GUIDE VISUALS ═══ */
.cc-rtp-scale { width: 100%; }
.cc-rtp-scale__label { font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); margin-bottom: 0.75rem; }
.cc-rtp-scale__bar { display: flex; height: 36px; border-radius: 8px; overflow: hidden; gap: 2px; }
.cc-rtp-seg { display: flex; align-items: center; justify-content: center; transition: flex 0.3s; border-radius: 4px; }
.cc-rtp-seg__inner { font-size: 0.6875rem; font-weight: 800; color: rgba(255,255,255,0.9); white-space: nowrap; }
.cc-rtp-seg--avoid  { background: #ef4444; }
.cc-rtp-seg--ok     { background: #f97316; }
.cc-rtp-seg--good   { background: #10b981; }
.cc-rtp-seg--great  { background: #059669; }
.cc-rtp-scale__markers { position: relative; height: 20px; margin-top: 0.25rem; font-size: 0.5625rem; color: var(--text-muted); }
.cc-rtp-scale__markers span { position: absolute; transform: translateX(-50%); }
.cc-rtp-scale__legend { display: flex; gap: 1rem; margin-top: 0.75rem; flex-wrap: wrap; }
.cc-rtp-legend-item { font-size: 0.6875rem; font-weight: 700; padding: 0.15rem 0.5rem; border-radius: 4px; }
.cc-rtp-legend--avoid  { background: rgba(239,68,68,0.15);  color: #ef4444; }
.cc-rtp-legend--ok     { background: rgba(249,115,22,0.15); color: #f97316; }
.cc-rtp-legend--good   { background: rgba(16,185,129,0.15); color: #10b981; }
.cc-rtp-legend--great  { background: rgba(5,150,105,0.15);  color: #059669; }

.cc-formula-box { text-align: center; padding: 1.5rem; }
.cc-formula-box__label { font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); margin-bottom: 1rem; }
.cc-formula-box__eq { font-family: var(--font-mono); font-size: 1.0625rem; font-weight: 700; color: var(--text-primary); display: flex; align-items: center; justify-content: center; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.cc-formula-frac { display: inline-flex; flex-direction: column; align-items: center; gap: 2px; }
.cc-formula-num { border-bottom: 2px solid var(--text-primary); padding-bottom: 2px; font-size: 0.875rem; }
.cc-formula-den { font-size: 0.875rem; }
.cc-formula-box__example { font-size: 0.875rem; color: var(--text-secondary); background: var(--bg-glass); border-radius: 8px; padding: 0.75rem 1rem; line-height: 1.6; }

.cc-rtp-breakdown__title { font-size: 0.6875rem; font-weight: 800; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.07em; margin-bottom: 1rem; }
.cc-rtp-breakdown__bars { display: flex; flex-direction: column; gap: 0.75rem; }
.cc-rtpb-row { display: flex; align-items: center; gap: 0.75rem; }
.cc-rtpb-row--edge { padding-top: 0.75rem; border-top: 1px solid var(--border-subtle); margin-top: 0.25rem; }
.cc-rtpb-label { font-size: 0.8125rem; color: var(--text-secondary); width: 140px; flex-shrink: 0; }
.cc-rtpb-track { flex: 1; height: 8px; background: var(--bg-glass); border-radius: 100px; overflow: hidden; }
.cc-rtpb-fill { height: 100%; border-radius: 100px; }
.cc-rtpb-val { font-family: var(--font-mono); font-size: 0.75rem; font-weight: 800; width: 40px; text-align: right; flex-shrink: 0; }

.cc-compare-pair { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; justify-content: center; }
.cc-compare-pair__col { text-align: center; padding: 1.5rem; border-radius: 12px; flex: 1; min-width: 140px; }
.cc-compare-pair__col--player { background: rgba(16,185,129,0.06); border: 1px solid rgba(16,185,129,0.2); }
.cc-compare-pair__col--house  { background: rgba(239,68,68,0.06);  border: 1px solid rgba(239,68,68,0.2); }
.cc-compare-pair__icon { font-size: 1.5rem; margin-bottom: 0.375rem; }
.cc-compare-pair__label { font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); margin-bottom: 0.25rem; }
.cc-compare-pair__big { font-family: var(--font-display); font-size: 2.5rem; font-weight: 900; line-height: 1; }
.cc-compare-pair__sub { font-size: 0.6875rem; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.06em; }
.cc-compare-pair__desc { font-size: 0.75rem; color: var(--text-secondary); margin-top: 0.375rem; line-height: 1.4; }
.cc-compare-pair__divider { text-align: center; }
.cc-compare-pair__plus { font-family: var(--font-mono); font-size: 0.875rem; font-weight: 800; color: var(--text-muted); }
.cc-compare-pair__equals { font-family: var(--font-display); font-size: 1.25rem; font-weight: 900; color: var(--text-primary); }

.cc-vol-chart__title { font-size: 0.6875rem; font-weight: 800; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.07em; margin-bottom: 1rem; }
.cc-vol-chart__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.cc-vol-chart__col-label { font-size: 0.75rem; font-weight: 700; margin-bottom: 0.5rem; }
.cc-vol-chart__bars { display: flex; align-items: flex-end; gap: 3px; height: 100px; padding: 0 0 0.25rem; border-bottom: 1px solid var(--border-subtle); }
.cc-vol-bar { flex: 1; border-radius: 2px 2px 0 0; min-height: 4px; }
.cc-vol-chart__sub { font-size: 0.6875rem; color: var(--text-muted); margin-top: 0.5rem; text-align: center; }

.cc-rtp-table { width: 100%; }
.cc-rtp-table__header { display: grid; grid-template-columns: 1.5fr 1fr 2fr; font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); padding: 0 0.5rem 0.75rem; border-bottom: 2px solid var(--border-subtle); gap: 1rem; }
.cc-rtp-table__row { display: grid; grid-template-columns: 1.5fr 1fr 2fr; gap: 1rem; padding: 0.75rem 0.5rem; border-bottom: 1px solid var(--border-subtle); align-items: center; }
.cc-rtp-table__row:last-child { border-bottom: none; }
.cc-rtp-table__game { font-size: 0.875rem; color: var(--text-primary); font-weight: 600; }
.cc-rtp-table__pct { font-family: var(--font-mono); font-size: 0.875rem; font-weight: 800; }
.cc-rtp-table__note { font-size: 0.75rem; color: var(--text-secondary); line-height: 1.45; }

/* ═══ TESTING GUIDE VISUALS ═══ */
.cc-lab-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
@media (max-width:700px) { .cc-lab-grid { grid-template-columns: 1fr; } }
.cc-lab-card { background: var(--bg-card); border: 1px solid var(--border-subtle); border-top: 3px solid; border-radius: var(--radius-card); padding: 1.25rem; box-shadow: var(--shadow-card); }
.cc-lab-card__name { font-family: var(--font-display); font-size: 1.25rem; font-weight: 900; }
.cc-lab-card__full { font-size: 0.6875rem; color: var(--text-muted); margin: 0.125rem 0; }
.cc-lab-card__founded { font-size: 0.625rem; color: var(--text-faint); margin-bottom: 0.75rem; }
.cc-lab-card__desc { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.65; margin-bottom: 0.75rem; }
.cc-lab-card__known { font-size: 0.6875rem; color: var(--text-muted); font-style: italic; }

.cc-guide-process-steps { display: flex; flex-direction: column; gap: 1.25rem; margin: 1.5rem 0; }
.cc-process-step { display: flex; gap: 1.25rem; align-items: flex-start; }
.cc-process-step__num { font-family: var(--font-mono); font-size: 0.75rem; font-weight: 800; border: 1px solid; border-radius: 8px; padding: 0.25rem 0.5rem; flex-shrink: 0; margin-top: 0.125rem; }
.cc-process-step__title { font-family: var(--font-display); font-size: 1rem; font-weight: 800; margin-bottom: 0.375rem; }
.cc-process-step__desc { font-size: 0.875rem; color: var(--text-secondary); line-height: 1.7; margin: 0; }

.cc-rng-visual { padding: 0.5rem 0; }
.cc-rng-visual__title { font-size: 0.6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-muted); margin-bottom: 1.25rem; }
.cc-rng-visual__flow { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; justify-content: center; margin-bottom: 1rem; }
.cc-rng-step { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 10px; padding: 0.875rem; text-align: center; max-width: 140px; }
.cc-rng-step__icon { font-size: 1.5rem; margin-bottom: 0.375rem; }
.cc-rng-step__label { font-size: 0.6875rem; color: var(--text-secondary); line-height: 1.45; }
.cc-rng-arrow { color: var(--gold); font-weight: 800; font-size: 1.25rem; }
.cc-rng-visual__note { font-size: 0.75rem; color: var(--text-muted); text-align: center; font-style: italic; background: var(--bg-glass); border-radius: 6px; padding: 0.5rem; }

.cc-timeline { display: flex; flex-direction: column; position: relative; padding-left: 1rem; }
.cc-timeline::before { content:''; position:absolute; left:80px; top:0; bottom:0; width:2px; background:var(--border-subtle); }
.cc-timeline-item { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1.5rem; position: relative; }
.cc-timeline-week { font-family: var(--font-mono); font-size: 0.625rem; font-weight: 800; color: var(--text-muted); width: 64px; flex-shrink: 0; padding-top: 0.875rem; text-align: right; }
.cc-timeline-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--gold); border: 2px solid var(--bg-main); position: relative; z-index: 1; flex-shrink: 0; margin-top: 1rem; }
.cc-timeline-content { flex: 1; background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 10px; padding: 0.875rem 1rem; }
.cc-timeline-content strong { font-size: 0.875rem; color: var(--text-primary); display: block; margin-bottom: 0.25rem; }
.cc-timeline-content p { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.6; margin: 0; }


/* ═══ NEW GUIDE HERO COLOUR VARIANTS ═══ */
.cc-guide-hero--gold .cc-guide-hero__bg { background: linear-gradient(135deg, rgba(245,158,11,0.06) 0%, var(--bg-main) 50%); }
.cc-guide-hero--cyan .cc-guide-hero__bg { background: linear-gradient(135deg, rgba(6,182,212,0.06) 0%, var(--bg-main) 50%); }
.cc-guide-hero--purple .cc-guide-hero__bg { background: linear-gradient(135deg, rgba(139,92,246,0.06) 0%, var(--bg-main) 50%); }

/* ═══ GUIDE COMPARE TABLE ═══ */
.cc-guide-compare { width: 100%; border: 1px solid var(--border-subtle); border-radius: var(--radius-card); overflow: hidden; }
.cc-guide-compare__header { display: grid; grid-template-columns: 1.75fr 1fr 1fr 2fr; gap: 0.75rem; padding: 0.625rem 1rem; background: var(--bg-elevated); font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); }
.cc-guide-compare__row { display: grid; grid-template-columns: 1.75fr 1fr 1fr 2fr; gap: 0.75rem; padding: 0.875rem 1rem; border-top: 1px solid var(--border-subtle); align-items: center; }
.cc-guide-compare__row--best { background: rgba(16,185,129,0.04); }
.cc-guide-compare__row--caution { background: rgba(245,158,11,0.04); }
.cc-guide-compare__row--avoid { background: rgba(239,68,68,0.04); }
.cc-guide-compare__col { font-size: 0.8125rem; color: var(--text-primary); line-height: 1.4; }
.cc-guide-compare__col--name { font-weight: 600; display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.cc-guide-compare__col--stat { font-family: var(--font-mono); font-weight: 700; font-size: 0.875rem; }
.cc-guide-compare__col--note { font-size: 0.75rem; color: var(--text-secondary); line-height: 1.45; }
.cc-guide-compare__badge { font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; padding: 0.2em 0.55em; border-radius: 4px; border: 1px solid; flex-shrink: 0; }
@media (max-width: 680px) { .cc-guide-compare__header,.cc-guide-compare__row { grid-template-columns: 1.5fr 0.8fr; } .cc-guide-compare__header > :nth-child(3), .cc-guide-compare__header > :nth-child(4), .cc-guide-compare__row > :nth-child(3), .cc-guide-compare__row > :nth-child(4) { display: none; } }

/* ═══ BACCARAT BET CARDS ═══ */
.cc-bac-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
@media (max-width: 640px) { .cc-bac-cards { grid-template-columns: 1fr; } }
.cc-bac-card { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); padding: 1.25rem; text-align: center; box-shadow: var(--shadow-card); }
.cc-bac-card--banker { border-top: 3px solid #10b981; }
.cc-bac-card--player { border-top: 3px solid var(--gold); }
.cc-bac-card--tie { border-top: 3px solid #ef4444; opacity: 0.85; }
.cc-bac-card__label { font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); margin-bottom: 0.75rem; }
.cc-bac-card__edge { font-family: var(--font-display); font-size: 2.5rem; font-weight: 900; line-height: 1; }
.cc-bac-card__sub { font-size: 0.625rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-muted); margin: 0.25rem 0 0.75rem; }
.cc-bac-card__note { font-size: 0.75rem; color: var(--text-secondary); line-height: 1.5; margin-bottom: 0.75rem; }
.cc-bac-card__verdict { font-size: 0.6875rem; font-weight: 700; display: flex; align-items: center; justify-content: center; gap: 0.3rem; }

/* ═══ SELF-ASSESSMENT CHECKLIST ═══ */
.cc-self-assessment { border: 1px solid var(--border-subtle); border-radius: var(--radius-card); overflow: hidden; }
.cc-self-assessment__header { display: flex; align-items: center; gap: 0.75rem; padding: 1rem 1.25rem; background: var(--bg-elevated); font-size: 0.75rem; font-weight: 800; color: var(--text-primary); text-transform: uppercase; letter-spacing: 0.06em; border-bottom: 1px solid var(--border-subtle); }
.cc-self-assessment__row { display: flex; align-items: flex-start; gap: 0.875rem; padding: 0.875rem 1.25rem; border-top: 1px solid var(--border-subtle); }
.cc-self-assessment__row:first-of-type { border-top: none; }
.cc-self-assessment__check { width: 18px; height: 18px; border: 1.5px solid var(--border-subtle); border-radius: 4px; flex-shrink: 0; margin-top: 0.1rem; background: var(--bg-card); }
.cc-self-assessment__q { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.55; }
.cc-self-assessment__threshold { display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.875rem 1.25rem; background: rgba(245,158,11,0.06); border-top: 1px solid rgba(245,158,11,0.2); font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.55; }

/* ═══ HELP RESOURCES ═══ */
.cc-help-resources { display: flex; flex-direction: column; gap: 0.875rem; }
.cc-help-resource { display: flex; gap: 1rem; align-items: flex-start; background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); padding: 1.125rem 1.25rem; box-shadow: var(--shadow-card); }
.cc-help-resource--primary { border-color: rgba(16,185,129,0.3); border-left: 3px solid #10b981; background: rgba(16,185,129,0.03); }
.cc-help-resource__icon { width: 36px; height: 36px; border-radius: 8px; background: var(--bg-elevated); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cc-help-resource__body { flex: 1; min-width: 0; }
.cc-help-resource__name { font-size: 0.875rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.25rem; display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.cc-help-resource__badge { font-size: 0.5rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; background: rgba(16,185,129,0.15); color: #10b981; border: 1px solid rgba(16,185,129,0.3); border-radius: 4px; padding: 0.15em 0.5em; }
.cc-help-resource__phone { font-family: var(--font-mono); font-size: 1rem; font-weight: 800; color: #10b981; margin-bottom: 0.25rem; }
.cc-help-resource__desc { font-size: 0.75rem; color: var(--text-secondary); line-height: 1.5; }

/* ═══ REVIEWS MEGA PANEL COMPONENTS ═══ */

/* Podium column */
.cc-mega-rev-podium { display: flex; flex-direction: column; gap: 0.5rem; }
.cc-mega-rev-card { display: flex; align-items: center; gap: 0.75rem; padding: 0.625rem 0.75rem; background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 10px; text-decoration: none; color: inherit; transition: border-color .18s, transform .18s, box-shadow .18s; position: relative; overflow: hidden; }
.cc-mega-rev-card:hover { border-color: var(--c-reviews); transform: translateX(3px); box-shadow: -3px 0 0 0 var(--c-reviews); }
.cc-mega-rev-card--gold { border-color: rgba(245,192,66,0.3); background: rgba(245,192,66,0.04); }
.cc-mega-rev-card--gold:hover { border-color: var(--gold); box-shadow: -3px 0 0 0 var(--gold); }
.cc-mega-rev-card__rank { width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: var(--font-mono); font-size: 0.625rem; font-weight: 800; flex-shrink: 0; }
.cc-mega-rev-card__rank--1 { background: rgba(245,192,66,0.2); color: var(--gold); border: 1px solid rgba(245,192,66,0.4); }
.cc-mega-rev-card__rank--2 { background: rgba(148,163,184,0.15); color: #94a3b8; border: 1px solid rgba(148,163,184,0.3); }
.cc-mega-rev-card__rank--3 { background: rgba(180,100,60,0.15); color: #cd7c55; border: 1px solid rgba(180,100,60,0.3); }
.cc-mega-rev-card__logo { width: 64px; height: 28px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: var(--bg-elevated); border-radius: 6px; overflow: hidden; border: 1px solid var(--border-subtle); }
.cc-mega-rev-card__logo img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.cc-mega-rev-card__body { flex: 1; min-width: 0; }
.cc-mega-rev-card__name { font-size: 0.75rem; font-weight: 700; color: var(--text-primary); white-space: normal; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height: 1.25; }
.cc-mega-rev-card__bonus { font-size: 0.6rem; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 0.1rem; }
.cc-mega-rev-card__score { font-family: var(--font-mono); font-size: 0.6875rem; font-weight: 800; color: var(--gold); white-space: nowrap; flex-shrink: 0; }
.cc-mega-rev-all { display: block; text-align: center; font-size: 0.6875rem; font-weight: 700; color: var(--gold); text-decoration: none; padding: 0.5rem 0 0.25rem; transition: opacity .15s; }
.cc-mega-rev-all:hover { opacity: 0.75; }

/* Casino logo grid */
.cc-mega-rev-grid-hdr { display: flex; align-items: center; gap: 0.625rem; margin-bottom: 0.75rem; }
.cc-mega-rev-count { font-size: 0.5rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; background: rgba(233,64,87,0.12); color: var(--c-reviews); border: 1px solid rgba(233,64,87,0.25); border-radius: 4px; padding: 0.2em 0.6em; }
.cc-mega-rev-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.4rem; }
.cc-mega-rev-pill { display: flex; align-items: center; justify-content: center; height: 40px; background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 8px; text-decoration: none; overflow: hidden; padding: 0.25rem 0.5rem; transition: border-color .18s, box-shadow .18s, transform .15s; }
.cc-mega-rev-pill:hover { border-color: var(--c-reviews); box-shadow: 0 0 0 1px var(--c-reviews); transform: translateY(-1px); }
.cc-mega-rev-pill img { width: 100%; height: 100%; object-fit: contain; object-position: center; display: block; }
.cc-mega-rev-grid-all { display: block; text-align: right; font-size: 0.6875rem; font-weight: 700; color: var(--gold); text-decoration: none; margin-top: 0.625rem; transition: opacity .15s; }
.cc-mega-rev-grid-all:hover { opacity: 0.75; }

/* Browse by column */
.cc-mega-rev-browse { display: flex; flex-direction: column; gap: 0.25rem; }
.cc-mega-rev-browse-link { display: flex; align-items: center; gap: 0.625rem; padding: 0.5rem 0.625rem; border-radius: 8px; text-decoration: none; color: var(--text-secondary); font-size: 0.8rem; transition: background .15s, color .15s, transform .15s; }
.cc-mega-rev-browse-link:hover { background: rgba(233,64,87,0.08); color: var(--text-primary); transform: translateX(2px); }
.cc-mega-rev-browse-icon { width: 28px; height: 28px; border-radius: 7px; background: var(--bg-elevated); border: 1px solid var(--border-subtle); display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 0.875rem; }
.cc-mega-rev-browse-body { display: flex; flex-direction: column; }
.cc-mega-rev-browse-label { font-weight: 700; color: var(--text-primary); font-size: 0.75rem; line-height: 1.2; }
.cc-mega-rev-browse-sub { font-size: 0.6rem; color: var(--text-muted); }

/* Feature card */
.cc-mega-rev-feat { height: 100%; display: flex; flex-direction: column; }
.cc-mega-rev-feat__eyebrow { font-size: 0.5rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; color: var(--c-reviews); margin-bottom: 0.625rem; }
.cc-mega-rev-feat__title { font-family: var(--font-display); font-size: 1.0625rem; font-weight: 900; color: var(--text-primary); line-height: 1.2; margin-bottom: 0.625rem; }
.cc-mega-rev-feat__title em { color: var(--gold); font-style: italic; }
.cc-mega-rev-feat__body { font-size: 0.75rem; color: var(--text-secondary); line-height: 1.6; margin-bottom: 1rem; flex: 1; }
.cc-mega-rev-criteria { display: grid; grid-template-columns: 1fr 1fr; gap: 0.375rem; margin-bottom: 1rem; }
.cc-mega-rev-crit { display: flex; align-items: center; gap: 0.35rem; font-size: 0.6rem; font-weight: 600; color: var(--text-secondary); }
.cc-mega-rev-crit i { color: #10b981; flex-shrink: 0; }
.cc-mega-rev-feat__cta { display: flex; align-items: center; justify-content: center; gap: 0.375rem; background: var(--c-reviews); color: #fff; font-size: 0.75rem; font-weight: 800; padding: 0.6rem 1rem; border-radius: 8px; text-decoration: none; transition: opacity .15s; margin-top: auto; }
.cc-mega-rev-feat__cta:hover { opacity: 0.88; }

.cc-guide-standards-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; margin: 1.5rem 0; }
@media (max-width:640px) { .cc-guide-standards-grid { grid-template-columns: 1fr; } }
.cc-standard-item { display: flex; gap: 0.875rem; align-items: flex-start; background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 12px; padding: 1.125rem; }
.cc-standard-item__icon { width: 36px; height: 36px; border-radius: 8px; border: 1px solid; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cc-standard-item__title { font-size: 0.875rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.25rem; }
.cc-standard-item__desc { font-size: 0.75rem; color: var(--text-secondary); line-height: 1.55; }

/* ═══ BLACKJACK GUIDE VISUALS ═══ */
.cc-card-values { display: flex; gap: 2rem; align-items: flex-start; flex-wrap: wrap; justify-content: center; }
.cc-card-val-group { text-align: center; }
.cc-card-display { width: 52px; height: 72px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 1.5rem; font-weight: 900; border: 2px solid; margin: 0 auto 0.5rem; }
.cc-card-display--red  { background: #fff; color: #ef4444; border-color: #ef4444; }
.cc-card-display--dark { background: #fff; color: #1e293b; border-color: #1e293b; }
.cc-card-display--back { background: #1e3a5f; color: #93c5fd; border-color: #3b82f6; }
.cc-card-display-row { display: flex; gap: 0.375rem; margin-bottom: 0.5rem; }
.cc-card-val-label { font-size: 0.6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-muted); margin-bottom: 0.25rem; }
.cc-card-val-pts { font-family: var(--font-display); font-size: 1.25rem; font-weight: 900; }
.cc-card-val-note { font-size: 0.6875rem; color: var(--text-muted); }

.cc-bj-table__felt { background: #0f5132; border-radius: 12px; padding: 2rem; display: flex; flex-direction: column; align-items: center; gap: 1.5rem; min-height: 200px; position: relative; }
.cc-bj-table__dealer-area,.cc-bj-table__player-area { text-align: center; }
.cc-bj-table__dealer-label,.cc-bj-table__player-label { font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.10em; color: rgba(255,255,255,0.5); margin-bottom: 0.5rem; }
.cc-bj-table__dealer-cards,.cc-bj-table__player-cards { display: flex; gap: 0.5rem; justify-content: center; margin-bottom: 0.375rem; }
.cc-playing-card { width: 48px; height: 66px; background: #fff; border-radius: 6px; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 1rem; font-weight: 900; box-shadow: 0 2px 8px rgba(0,0,0,0.3); border: 1px solid rgba(255,255,255,0.3); }
.cc-playing-card span { font-size: 0.625rem; }
.cc-playing-card--red { color: #ef4444; }
.cc-playing-card--dark { color: #1e293b; }
.cc-playing-card--back { background: #1e3a5f; color: transparent; font-size: 1.5rem; }
.cc-bj-table__dealer-total,.cc-bj-table__player-total { font-size: 0.75rem; color: rgba(255,255,255,0.7); }
.cc-bj-table__caption { font-size: 0.75rem; color: var(--text-muted); text-align: center; margin-top: 0.75rem; }

.cc-bj-decisions { display: flex; flex-direction: column; gap: 1rem; margin: 1.5rem 0; }
.cc-bj-decision { border-left: 3px solid; border-radius: 0 12px 12px 0; background: var(--bg-card); border-top: 1px solid var(--border-subtle); border-right: 1px solid var(--border-subtle); border-bottom: 1px solid var(--border-subtle); padding: 1.125rem 1.25rem; }
.cc-bj-decision__header { display: flex; align-items: flex-start; gap: 0.875rem; margin-bottom: 0.875rem; }
.cc-bj-decision__icon { width: 36px; height: 36px; border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cc-bj-decision__name { font-family: var(--font-display); font-size: 1rem; font-weight: 800; margin-bottom: 0.125rem; }
.cc-bj-decision__short { font-size: 0.8125rem; color: var(--text-muted); }
.cc-bj-decision__when,.cc-bj-decision__signal { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.6; margin-bottom: 0.375rem; }
.cc-bj-decision__when strong,.cc-bj-decision__signal strong { color: var(--text-primary); }

.cc-payout-table { width: 100%; }
.cc-payout-table__title { font-size: 0.6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-muted); margin-bottom: 0.75rem; }
.cc-payout-table__header { display: grid; grid-template-columns: 2fr 1.2fr 1.5fr; font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-muted); padding: 0 0 0.75rem; border-bottom: 2px solid var(--border-subtle); gap: 0.75rem; }
.cc-payout-row { display: grid; grid-template-columns: 2fr 1.2fr 1.5fr; gap: 0.75rem; padding: 0.625rem 0; border-bottom: 1px solid var(--border-subtle); align-items: center; }
.cc-payout-row:last-of-type { border-bottom: none; }
.cc-payout-situation { font-size: 0.8125rem; color: var(--text-primary); }
.cc-payout-odds { font-family: var(--font-mono); font-size: 0.8125rem; font-weight: 800; }
.cc-payout-example { font-family: var(--font-mono); font-size: 0.75rem; color: var(--text-secondary); }
.cc-payout-note { display: flex; align-items: flex-start; gap: 0.375rem; font-size: 0.75rem; color: #ef4444; background: rgba(239,68,68,0.06); border-radius: 8px; padding: 0.625rem; margin-top: 0.75rem; line-height: 1.5; }

/* Strategy chart */
.cc-strategy-chart { width: 100%; }
.cc-strategy-chart__title { font-family: var(--font-display); font-size: 1.0625rem; font-weight: 800; color: var(--text-primary); margin-bottom: 0.75rem; }
.cc-strategy-chart__legend { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1rem; }
.cc-strategy-key { font-size: 0.6875rem; font-weight: 700; padding: 0.2rem 0.5rem; border-radius: 4px; }
.cc-strategy-key--hit     { background: rgba(16,185,129,0.15); color: #10b981; }
.cc-strategy-key--stand   { background: rgba(99,102,241,0.15); color: #818cf8; }
.cc-strategy-key--double  { background: rgba(245,158,11,0.15); color: #f59e0b; }
.cc-strategy-key--split   { background: rgba(249,115,22,0.15); color: #f97316; }
.cc-strategy-key--surrender { background: rgba(148,163,184,0.15); color: #94a3b8; }
.cc-strategy-chart__section-title { font-size: 0.75rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-muted); margin-bottom: 0.5rem; }
.cc-strategy-grid { overflow-x: auto; }
.cc-strategy-grid__header,.cc-strategy-grid__row { display: flex; }
.cc-sg-cell { width: 42px; min-width: 42px; height: 36px; display: flex; align-items: center; justify-content: center; font-size: 0.6875rem; font-weight: 800; border: 1px solid var(--border-subtle); }
.cc-sg-cell--corner     { background: var(--bg-main); width: 60px; min-width: 60px; font-size: 0.5rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-muted); }
.cc-sg-cell--dealer-head { background: var(--bg-elevated); color: var(--text-primary); }
.cc-sg-cell--hand-label  { background: var(--bg-elevated); color: var(--text-primary); font-family: var(--font-mono); width: 60px; min-width: 60px; font-size: 0.75rem; }
.cc-sg-cell--hit         { background: rgba(16,185,129,0.15); color: #10b981; }
.cc-sg-cell--stand       { background: rgba(99,102,241,0.15); color: #818cf8; }
.cc-sg-cell--double      { background: rgba(245,158,11,0.15); color: #f59e0b; }
.cc-sg-cell--split       { background: rgba(249,115,22,0.15); color: #f97316; }
.cc-sg-cell--surrender   { background: rgba(148,163,184,0.15); color: #94a3b8; }
.cc-guide-rules-list { display: flex; flex-direction: column; background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); overflow: hidden; margin: 1.5rem 0; }
.cc-rule-row { display: grid; grid-template-columns: 2fr 1.5fr 80px; gap: 1rem; padding: 0.875rem 1.125rem; border-bottom: 1px solid var(--border-subtle); align-items: center; }
.cc-rule-row:last-child { border-bottom: none; }
.cc-rule-row__rule { font-size: 0.875rem; color: var(--text-primary); font-weight: 600; }
.cc-rule-row__effect { font-size: 0.8125rem; color: var(--text-secondary); }
.cc-rule-row__edge { font-family: var(--font-mono); font-size: 0.75rem; font-weight: 800; text-align: right; }

/* ═══ SLOTS GUIDE VISUALS ═══ */
.cc-reel-diagram { width: 100%; }
.cc-reel-diagram__title { font-size: 0.6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-muted); margin-bottom: 0.875rem; }
.cc-reel-grid { display: grid; border-radius: 8px; overflow: hidden; border: 2px solid var(--border-subtle); }
.cc-reel-grid--5x3 { grid-template-columns: repeat(5, 1fr); }
.cc-reel-cell { height: 56px; display: flex; align-items: center; justify-content: center; font-size: 1.25rem; background: var(--bg-card); border: 1px solid var(--border-subtle); transition: background 0.2s; }
.cc-reel-cell--win { background: rgba(245,200,66,0.15); border-color: var(--gold-border); box-shadow: inset 0 0 0 1px var(--gold-border); }

.cc-symbol-guide { display: flex; flex-direction: column; gap: 1rem; }
.cc-symbol-type { display: flex; gap: 1rem; align-items: flex-start; background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 12px; padding: 1.125rem; }
.cc-symbol-type__icon { font-size: 1.75rem; flex-shrink: 0; }
.cc-symbol-type__name { font-weight: 800; color: var(--text-primary); margin-bottom: 0.375rem; }
.cc-symbol-type__desc { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.65; margin: 0; }

.cc-payline-examples { width: 100%; }
.cc-payline-examples__title { font-size: 0.6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-muted); margin-bottom: 0.875rem; }
.cc-payline-grid-row { display: flex; gap: 1.5rem; flex-wrap: wrap; justify-content: center; }
.cc-payline-example { text-align: center; }
.cc-payline-name { font-size: 0.75rem; font-weight: 700; color: var(--text-secondary); margin-bottom: 0.5rem; }
.cc-payline-mini-grid { display: grid; grid-template-columns: repeat(5, 20px); grid-template-rows: repeat(3, 16px); gap: 2px; }
.cc-payline-mini-cell { border-radius: 2px; background: var(--bg-glass); border: 1px solid var(--border-subtle); }
.cc-payline-mini-cell--active { background: var(--gold); border-color: var(--gold); }

.cc-megaways-visual__title { font-size: 0.6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-muted); margin-bottom: 1rem; }
.cc-megaways-example { display: flex; flex-direction: column; gap: 1rem; }
.cc-megaways-spin { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 10px; padding: 1rem; }
.cc-megaways-reels { display: flex; gap: 4px; align-items: flex-end; height: 70px; margin-bottom: 0.5rem; }
.cc-megaways-reel { flex: 1; display: flex; align-items: flex-end; }
.cc-megaways-spin__label { font-size: 0.75rem; color: var(--text-secondary); text-align: center; }
.cc-megaways-max { font-size: 0.875rem; color: var(--text-primary); text-align: center; font-weight: 600; padding: 0.75rem; background: rgba(236,72,153,0.06); border-radius: 8px; border: 1px solid rgba(236,72,153,0.2); }

.cc-cluster-visual__title { font-size: 0.6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-muted); margin-bottom: 1rem; }
.cc-cluster-grid-demo { display: grid; grid-template-columns: repeat(6, 1fr); gap: 4px; margin-bottom: 0.5rem; }
.cc-cluster-cell { height: 44px; border-radius: 6px; display: flex; align-items: center; justify-content: center; transition: transform 0.2s; }

.cc-vol-compare { width: 100%; overflow-x: auto; }
.cc-vol-compare__title { font-size: 0.6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-muted); margin-bottom: 0.75rem; }
.cc-vol-compare__table { min-width: 520px; }
.cc-vol-compare__header { display: grid; grid-template-columns: 1.4fr repeat(3,1fr); gap: 0.5rem; padding: 0 0.5rem 0.625rem; border-bottom: 2px solid var(--border-subtle); }
.cc-vol-head { font-size: 0.6875rem; font-weight: 800; text-align: center; }
.cc-vol-head--low  { color: #10b981; }
.cc-vol-head--med  { color: var(--gold); }
.cc-vol-head--high { color: #ec4899; }
.cc-vol-compare__row { display: grid; grid-template-columns: 1.4fr repeat(3,1fr); gap: 0.5rem; padding: 0.625rem 0.5rem; border-bottom: 1px solid var(--border-subtle); align-items: start; }
.cc-vol-compare__row:last-child { border-bottom: none; }
.cc-vol-compare__label { font-size: 0.75rem; font-weight: 700; color: var(--text-muted); }
.cc-vol-compare__val { font-size: 0.75rem; color: var(--text-secondary); text-align: center; line-height: 1.45; }

.cc-guide-feature-list { display: flex; flex-direction: column; gap: 1rem; margin: 1.5rem 0; }
.cc-guide-feature { display: flex; gap: 1rem; align-items: flex-start; background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 12px; padding: 1.125rem; }
.cc-guide-feature__icon { width: 36px; height: 36px; border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cc-guide-feature__name { font-weight: 800; font-size: 0.9375rem; margin-bottom: 0.375rem; }
.cc-guide-feature__desc { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.65; margin: 0; }

/* Light mode overrides */
:root.light .cc-guides-hero { background: #ffffff; }
:root.light .cc-guide-hero { background: #f4f6f9; }
:root.light .cc-guide-card { background: #ffffff; }
:root.light .cc-guide-visual { background: #f8fafc; }
:root.light .cc-bj-table__felt { box-shadow: inset 0 2px 12px rgba(0,0,0,0.1); }
:root.light .cc-playing-card { box-shadow: 0 2px 8px rgba(0,0,0,0.2); }
:root.light .cc-strategy-chart { background: transparent; }

/* ═══════════════════════════════════════════════════════════════
   GUIDE PAGES — Shared design system for all four guides
═══════════════════════════════════════════════════════════════ */

/* ── Hero ── */
.cc-guide-hero {
  position: relative;
  padding: 4rem 0 3rem;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-guide-hero__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.cc-guide-hero--emerald .cc-guide-hero__bg {
  background: radial-gradient(ellipse 70% 70% at 0% 50%, rgba(16,185,129,0.12) 0%, transparent 60%),
              linear-gradient(135deg, var(--bg-card) 0%, var(--bg-elevated) 100%);
}
.cc-guide-hero--indigo .cc-guide-hero__bg {
  background: radial-gradient(ellipse 70% 70% at 0% 50%, rgba(99,102,241,0.10) 0%, transparent 60%),
              linear-gradient(135deg, var(--bg-card) 0%, var(--bg-elevated) 100%);
}
.cc-guide-hero--gold .cc-guide-hero__bg, .cc-guide-hero--amber .cc-guide-hero__bg {
  background: radial-gradient(ellipse 70% 70% at 0% 50%, rgba(245,200,66,0.09) 0%, transparent 60%),
              linear-gradient(135deg, var(--bg-card) 0%, var(--bg-elevated) 100%);
}
.cc-guide-hero--blue .cc-guide-hero__bg {
  background: radial-gradient(ellipse 70% 70% at 0% 50%, rgba(59,130,246,0.10) 0%, transparent 60%),
              linear-gradient(135deg, var(--bg-card) 0%, var(--bg-elevated) 100%);
}
.cc-guide-hero__content { position: relative; z-index: 1; }

.cc-guide-hero__meta-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.cc-guide-hero__cat {
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  border: 1px solid;
  border-radius: 100px;
  padding: 0.25rem 0.75rem;
}
.cc-guide-hero__readtime,
.cc-guide-hero__level,
.cc-guide-hero__updated {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.75rem;
  color: var(--text-muted);
}

.cc-guide-hero__title {
  font-size: clamp(1.875rem, 5vw, 3.25rem);
  font-weight: 900;
  color: var(--text-primary);
  line-height: 1.1;
  letter-spacing: -0.015em;
  margin-bottom: 1rem;
  max-width: 700px;
}
.cc-guide-hero__title em { font-style: italic; color: var(--gold); }
.cc-guide-hero__intro {
  font-size: 1.0625rem;
  color: var(--text-secondary);
  line-height: 1.7;
  max-width: 680px;
  margin-bottom: 1.5rem;
}

/* Table of contents */
.cc-guide-hero__toc {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  flex-wrap: wrap;
  padding: 0.875rem 1.125rem;
  background: var(--bg-glass);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  max-width: 680px;
}
.cc-guide-toc__label {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  white-space: nowrap;
  flex-shrink: 0;
  padding-top: 0.125rem;
}
.cc-guide-toc__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}
.cc-guide-toc__links a {
  font-size: 0.75rem;
  color: var(--gold);
  text-decoration: none;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.2rem 0.625rem;
  transition: background 0.15s;
}
.cc-guide-toc__links a:hover { background: rgba(245,200,66,0.2); }

/* ── Body layout ── */
.cc-guide-body { padding: 3rem 0 5rem; }
.cc-guide-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: start;
}
@media (min-width: 1024px) {
  .cc-guide-layout { grid-template-columns: 1fr 300px; }
}

/* ── Article text ── */
.cc-guide-article { min-width: 0; }
.cc-guide-section { margin-bottom: 3rem; }
.cc-guide-h2 {
  font-family: var(--font-display);
  font-size: 1.625rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  margin-bottom: 1rem;
  padding-bottom: 0.625rem;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-guide-section p {
  font-size: 1rem;
  color: var(--text-secondary);
  line-height: 1.8;
  margin-bottom: 1.125rem;
}
.cc-guide-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.cc-guide-list li {
  font-size: 0.9375rem;
  color: var(--text-secondary);
  line-height: 1.6;
  padding-left: 1.25rem;
  position: relative;
}
.cc-guide-list li::before {
  content: '›';
  position: absolute;
  left: 0;
  color: var(--gold);
  font-weight: 700;
}

/* ── Visuals ── */
.cc-guide-visual {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.5rem;
  margin: 1.5rem 0;
  box-shadow: var(--shadow-card);
  overflow: hidden;
}
.cc-guide-visual--formula { border-color: var(--gold-border); background: linear-gradient(135deg, rgba(245,200,66,0.04), transparent 60%), var(--bg-card); }

/* ── Formula box ── */
.cc-formula-box__label {
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  margin-bottom: 1rem;
}
.cc-formula-box__eq {
  font-family: var(--font-mono);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.cc-formula-frac {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0.1rem;
  position: relative;
  padding: 0 0.25rem;
}
.cc-formula-num { color: #10b981; font-size: 0.875rem; }
.cc-formula-den { color: #ef4444; font-size: 0.875rem; border-top: 2px solid var(--text-muted); padding-top: 0.2rem; }
.cc-formula-box__example {
  font-size: 0.875rem;
  color: var(--text-secondary);
  background: var(--bg-elevated);
  border-radius: 10px;
  padding: 0.75rem 1rem;
  line-height: 1.6;
}

/* ── RTP Scale ── */
.cc-rtp-scale__label { font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); margin-bottom: 0.75rem; }
.cc-rtp-scale__bar-wrap { position: relative; margin-bottom: 0.5rem; }
.cc-rtp-scale__bar { display: flex; height: 32px; border-radius: 100px; overflow: hidden; }
.cc-rtp-seg { display: flex; align-items: center; }
.cc-rtp-seg__inner { font-size: 0.5625rem; font-weight: 800; color: rgba(255,255,255,0.9); text-align: center; width: 100%; padding: 0 0.25rem; }
.cc-rtp-seg--avoid { background: #ef4444; }
.cc-rtp-seg--ok    { background: #f59e0b; }
.cc-rtp-seg--good  { background: #10b981; }
.cc-rtp-seg--great { background: #059669; }
.cc-rtp-scale__markers { display: flex; justify-content: space-between; margin-top: 0.375rem; position: relative; }
.cc-rtp-scale__markers span { font-family: var(--font-mono); font-size: 0.5625rem; color: var(--text-muted); position: absolute; transform: translateX(-50%); }
.cc-rtp-scale__legend { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 1.25rem; }
.cc-rtp-legend-item { font-size: 0.625rem; font-weight: 700; padding: 0.2rem 0.625rem; border-radius: 100px; }
.cc-rtp-legend--avoid { background: rgba(239,68,68,0.15); color: #ef4444; }
.cc-rtp-legend--ok    { background: rgba(245,158,11,0.15); color: #f59e0b; }
.cc-rtp-legend--good  { background: rgba(16,185,129,0.15); color: #10b981; }
.cc-rtp-legend--great { background: rgba(5,150,105,0.15);  color: #059669; }

/* ── RTP Breakdown bars ── */
.cc-rtp-breakdown__title { font-size: 0.75rem; font-weight: 700; color: var(--text-secondary); margin-bottom: 1rem; }
.cc-rtpb-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.625rem; }
.cc-rtpb-label { font-size: 0.75rem; color: var(--text-secondary); width: 140px; flex-shrink: 0; }
.cc-rtpb-track { flex: 1; height: 10px; background: var(--bg-glass); border-radius: 100px; overflow: hidden; }
.cc-rtpb-fill  { height: 100%; border-radius: 100px; transition: width 1s ease; }
.cc-rtpb-val   { font-family: var(--font-mono); font-size: 0.75rem; font-weight: 700; width: 40px; text-align: right; }
.cc-rtpb-row--edge .cc-rtpb-label { color: var(--red); }

/* ── Comparison pair ── */
.cc-compare-pair { display: flex; align-items: center; justify-content: center; gap: 2rem; flex-wrap: wrap; }
.cc-compare-pair__col { text-align: center; flex: 1; min-width: 140px; padding: 1.5rem; background: var(--bg-elevated); border: 1px solid var(--border-subtle); border-radius: 16px; }
.cc-compare-pair__icon { font-size: 1.75rem; margin-bottom: 0.5rem; }
.cc-compare-pair__label { font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); margin-bottom: 0.5rem; }
.cc-compare-pair__big { font-family: var(--font-display); font-size: 3rem; font-weight: 900; line-height: 1; }
.cc-compare-pair__sub { font-family: var(--font-mono); font-size: 0.6875rem; font-weight: 700; margin-top: 0.25rem; color: var(--text-muted); }
.cc-compare-pair__desc { font-size: 0.75rem; color: var(--text-secondary); margin-top: 0.5rem; line-height: 1.5; }
.cc-compare-pair__divider { display: flex; flex-direction: column; align-items: center; gap: 0.25rem; }
.cc-compare-pair__plus { font-size: 1.5rem; color: var(--text-muted); }
.cc-compare-pair__equals { font-family: var(--font-mono); font-weight: 800; color: var(--gold); font-size: 0.875rem; }

/* ── Volatility chart ── */
.cc-vol-chart__title { font-size: 0.75rem; font-weight: 700; color: var(--text-secondary); margin-bottom: 1.25rem; }
.cc-vol-chart__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.cc-vol-chart__col-label { font-size: 0.6875rem; font-weight: 700; margin-bottom: 0.75rem; }
.cc-vol-chart__bars { display: flex; align-items: flex-end; gap: 3px; height: 160px; border-bottom: 1px solid var(--border-subtle); padding-bottom: 4px; }
.cc-vol-bar { width: 10px; border-radius: 3px 3px 0 0; flex-shrink: 0; }
.cc-vol-chart__sub { font-size: 0.6875rem; color: var(--text-muted); margin-top: 0.5rem; }

/* ── RTP Table ── */
.cc-rtp-table { overflow: hidden; border-radius: 12px; border: 1px solid var(--border-subtle); }
.cc-rtp-table__header { display: grid; grid-template-columns: 1.5fr 1fr 2fr; background: var(--bg-elevated); padding: 0.625rem 0.875rem; font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); }
.cc-rtp-table__row { display: grid; grid-template-columns: 1.5fr 1fr 2fr; padding: 0.75rem 0.875rem; border-top: 1px solid var(--border-subtle); align-items: center; }
.cc-rtp-table__row:hover { background: var(--bg-glass); }
.cc-rtp-table__game { font-size: 0.875rem; font-weight: 600; color: var(--text-primary); }
.cc-rtp-table__pct { font-family: var(--font-mono); font-size: 0.875rem; font-weight: 800; }
.cc-rtp-table__note { font-size: 0.75rem; color: var(--text-muted); }

/* ── Tips list ── */
.cc-guide-tip-list { display: flex; flex-direction: column; gap: 0; }
.cc-guide-tip {
  display: flex;
  gap: 1rem;
  padding: 1.125rem 0;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-guide-tip:last-child { border-bottom: none; }
.cc-guide-tip__num { font-family: var(--font-mono); font-size: 0.625rem; font-weight: 800; color: var(--gold); min-width: 2rem; flex-shrink: 0; padding-top: 0.2rem; }
.cc-guide-tip__body { font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.7; }
.cc-guide-tip__body strong { color: var(--text-primary); }

/* ── Callout ── */
.cc-guide-callout {
  display: flex;
  gap: 1rem;
  padding: 1.125rem 1.375rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-left: 3px solid var(--emerald);
  border-radius: var(--radius-card);
  margin: 1.5rem 0;
}
.cc-guide-callout--shield { border-left-color: #10b981; }
.cc-guide-callout--warn   { border-left-color: #f59e0b; }
.cc-guide-callout__icon { flex-shrink: 0; padding-top: 0.125rem; }
.cc-guide-callout__body { font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.7; }
.cc-guide-callout__body strong { color: var(--text-primary); }

/* ── CTA card ── */
.cc-guide-cta-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.375rem;
  background: linear-gradient(135deg, rgba(245,200,66,0.07) 0%, transparent 60%), var(--bg-card);
  border: 1px solid var(--gold-border);
  border-radius: var(--radius-card);
  margin-top: 1.75rem;
  flex-wrap: wrap;
}
.cc-guide-cta-card__text { flex: 1; }
.cc-guide-cta-card__text strong { display: block; font-size: 0.9375rem; color: var(--text-primary); margin-bottom: 0.25rem; }
.cc-guide-cta-card__text p { font-size: 0.8125rem; color: var(--text-secondary); margin: 0; }

/* ── Sidebar ── */
.cc-guide-sidebar {
  position: sticky;
  top: 88px;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.cc-guide-sidebar__card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.25rem;
  box-shadow: var(--shadow-card);
}
.cc-guide-sidebar__card--gold {
  background: linear-gradient(135deg, rgba(245,200,66,0.06), transparent 60%), var(--bg-card);
  border-color: var(--gold-border);
}
.cc-guide-sidebar__card-title {
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: var(--gold);
  margin-bottom: 1rem;
}
.cc-guide-sidebar__takeaways { display: flex; flex-direction: column; gap: 0.625rem; }
.cc-guide-takeaway {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.5;
}
.cc-guide-quick-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.8125rem;
}
.cc-guide-quick-row:last-child { border-bottom: none; }
.cc-guide-quick-label { color: var(--text-secondary); }
.cc-guide-quick-val { font-family: var(--font-mono); font-weight: 800; }
.cc-guide-sidebar__related-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0;
  font-size: 0.8125rem;
  color: var(--text-secondary);
  text-decoration: none;
  border-bottom: 1px solid var(--border-subtle);
  transition: color 0.15s;
}
.cc-guide-sidebar__related-link:last-child { border-bottom: none; }
.cc-guide-sidebar__related-link:hover { color: var(--gold); }

/* ══ SLOTS GUIDE SPECIFIC VISUALS ══ */

/* Reel grid demo */
.cc-slots-grid-demo__title { font-size: 0.75rem; font-weight: 700; color: var(--text-secondary); margin-bottom: 0.75rem; }
.cc-slots-grid-demo__labels { display: grid; grid-template-columns: repeat(5,1fr); gap: 6px; margin-bottom: 6px; text-align: center; }
.cc-slots-grid-demo__labels span { font-size: 0.5625rem; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.06em; }
.cc-slots-grid-demo__grid { display: grid; gap: 6px; }
.cc-slots-grid-demo__cell {
  aspect-ratio: 1;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
}
.cc-slots-grid-demo__cell--win {
  background: rgba(16,185,129,0.12);
  border-color: #10b981;
  box-shadow: 0 0 12px rgba(16,185,129,0.2);
}
.cc-slots-grid-demo__note { font-size: 0.6875rem; color: var(--text-muted); text-align: center; margin-top: 0.75rem; line-height: 1.5; }

/* Payline SVGs */
.cc-payline-demo__title { font-size: 0.75rem; font-weight: 700; color: var(--text-secondary); margin-bottom: 1rem; }
.cc-payline-demo__grid-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.cc-payline-demo__label { font-size: 0.6875rem; font-weight: 700; color: var(--text-muted); margin-bottom: 0.5rem; }
.cc-payline-svg { width: 100%; height: auto; }

/* Ways compare */
.cc-ways-compare__title { font-size: 0.75rem; font-weight: 700; color: var(--text-secondary); margin-bottom: 1rem; }
.cc-ways-compare__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.cc-ways-compare__col-title { font-weight: 800; font-size: 0.875rem; margin-bottom: 0.75rem; }

/* Symbol grid */
.cc-sym-grid__title { font-size: 0.75rem; font-weight: 700; color: var(--text-secondary); margin-bottom: 1rem; }
.cc-sym-grid__items { display: grid; grid-template-columns: repeat(3,1fr); gap: 0.875rem; }
@media (max-width: 600px) { .cc-sym-grid__items { grid-template-columns: repeat(2,1fr); } }
.cc-sym-item { text-align: center; padding: 0.875rem; background: var(--bg-elevated); border-radius: 12px; }
.cc-sym-item__icon { width: 44px; height: 44px; border: 1px solid; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 1.375rem; margin: 0 auto 0.625rem; }
.cc-sym-item__name { font-weight: 800; font-size: 0.75rem; color: var(--text-primary); margin-bottom: 0.25rem; }
.cc-sym-item__desc { font-size: 0.625rem; color: var(--text-muted); line-height: 1.4; }

/* Paytable */
.cc-paytable { overflow: hidden; border-radius: 12px; border: 1px solid var(--border-subtle); }
.cc-paytable__title { font-size: 0.75rem; font-weight: 700; color: var(--text-secondary); padding: 0.75rem 0.875rem; background: var(--bg-elevated); border-bottom: 1px solid var(--border-subtle); }
.cc-paytable__header { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; padding: 0.5rem 0.875rem; font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-muted); background: var(--bg-elevated); border-bottom: 1px solid var(--border-subtle); }
.cc-paytable__row { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; padding: 0.625rem 0.875rem; border-top: 1px solid var(--border-subtle); align-items: center; }
.cc-paytable__row:hover { background: var(--bg-glass); }
.cc-paytable__cell { font-size: 0.875rem; color: var(--text-secondary); font-family: var(--font-mono); }
.cc-paytable__sym { font-family: var(--font-sans); font-weight: 700; color: var(--text-primary); }

/* Volatility spectrum */
.cc-vol-spectrum__title { font-size: 0.75rem; font-weight: 700; color: var(--text-secondary); margin-bottom: 1rem; }
.cc-vol-spectrum__bar { display: flex; height: 28px; border-radius: 100px; overflow: hidden; gap: 3px; margin-bottom: 1.25rem; }
.cc-vol-seg { display: flex; align-items: center; justify-content: center; border-radius: 100px; }
.cc-vol-seg__label { font-size: 0.625rem; font-weight: 800; color: rgba(255,255,255,0.9); }
.cc-vol-spectrum__details { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
@media (max-width: 600px) { .cc-vol-spectrum__details { grid-template-columns: 1fr; } }
.cc-vol-detail__head { font-size: 0.8125rem; font-weight: 800; margin-bottom: 0.375rem; }
.cc-vol-detail__body { font-size: 0.75rem; color: var(--text-muted); line-height: 1.55; }

/* Cluster demo */
.cc-cluster-demo__title { font-size: 0.75rem; font-weight: 700; color: var(--text-secondary); margin-bottom: 0.875rem; }
.cc-cluster-demo__grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 5px; max-width: 280px; margin: 0 auto; }
.cc-cluster-demo__cell { aspect-ratio: 1; background: var(--bg-elevated); border: 1px solid var(--border-subtle); border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 1.0625rem; }
.cc-cluster-demo__cell--win { background: rgba(99,102,241,0.15); border-color: #6366f1; animation: ccClusterPulse 2s ease infinite; }
@keyframes ccClusterPulse { 0%,100%{box-shadow:none;} 50%{box-shadow:0 0 8px rgba(99,102,241,0.4);} }
.cc-cluster-demo__note { font-size: 0.6875rem; color: var(--text-muted); text-align: center; margin-top: 0.875rem; line-height: 1.5; }

/* Megaways demo */
.cc-megaways-demo__title { font-size: 0.75rem; font-weight: 700; color: var(--text-secondary); margin-bottom: 1.25rem; }
.cc-megaways-demo__spins { display: flex; gap: 1.5rem; justify-content: space-around; flex-wrap: wrap; }
.cc-mgw-spin { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; }
.cc-mgw-spin__reels { display: flex; align-items: flex-end; gap: 4px; height: 120px; }
.cc-mgw-reel { width: 28px; border-radius: 4px; display: flex; align-items: center; justify-content: center; transition: height 0.3s; }
.cc-mgw-spin__ways { font-family: var(--font-mono); font-size: 0.8125rem; font-weight: 800; }

/* Slot chooser table */
.cc-slot-chooser { overflow: hidden; border-radius: 12px; border: 1px solid var(--border-subtle); }
.cc-slot-chooser__header { display: grid; grid-template-columns: 1.5fr 1fr 1.5fr; padding: 0.625rem 0.875rem; background: var(--bg-elevated); font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-muted); border-bottom: 1px solid var(--border-subtle); }
.cc-slot-chooser__row { display: grid; grid-template-columns: 1.5fr 1fr 1.5fr; padding: 0.75rem 0.875rem; border-top: 1px solid var(--border-subtle); align-items: center; }
.cc-slot-chooser__row--alt { background: rgba(255,255,255,0.02); }
.cc-slot-chooser__cell { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.4; }

/* ══ BLACKJACK GUIDE VISUALS ══ (used in guide-blackjack.php) */
.cc-bj-table { display: grid; grid-template-columns: auto repeat(10,1fr); font-size: 0.5625rem; font-weight: 700; overflow: auto; }
.cc-bj-cell { padding: 4px 2px; text-align: center; border: 1px solid rgba(255,255,255,0.05); }
.cc-bj-cell--H  { background: rgba(239,68,68,0.3);    color: #fca5a5; }
.cc-bj-cell--S  { background: rgba(16,185,129,0.3);   color: #6ee7b7; }
.cc-bj-cell--D  { background: rgba(245,200,66,0.3);   color: #fde68a; }
.cc-bj-cell--R  { background: rgba(139,92,246,0.3);   color: #c4b5fd; }
.cc-bj-cell--Y  { background: rgba(59,130,246,0.3);   color: #93c5fd; }
.cc-bj-cell--head { background: var(--bg-elevated); color: var(--text-muted); }
.cc-bj-legend { display: flex; gap: 0.75rem; flex-wrap: wrap; margin-top: 0.75rem; }
.cc-bj-legend-item { font-size: 0.625rem; font-weight: 700; padding: 0.2rem 0.5rem; border-radius: 4px; }

/* Light mode adjustments */
:root.light .cc-guide-hero { background: #fff; }
:root.light .cc-guide-visual { background: #fff; }
:root.light .cc-guide-sidebar__card { background: #fff; }
:root.light .cc-guide-callout { background: #f4f6f9; }
:root.light .cc-slots-grid-demo__cell { background: #f0f4f8; }
:root.light .cc-cluster-demo__cell { background: #f0f4f8; }

/* ═══════════════════════════════════════════════════════════════
   GUIDES HUB — Curriculum Index Page
═══════════════════════════════════════════════════════════════ */

/* Hero */
.cc-guides-hub-hero {
  position: relative;
  padding: 4.5rem 0 3.5rem;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
  min-height: 0 !important;
}
.cc-guides-hub-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 90% at 90% 50%, rgba(245,200,66,0.055) 0%, transparent 60%),
    radial-gradient(ellipse 40% 60% at 10% 80%, rgba(16,185,129,0.04) 0%, transparent 50%),
    linear-gradient(135deg, var(--bg-card) 0%, var(--bg-elevated) 100%);
}
.cc-guides-hub-hero__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(var(--border-subtle) 1px, transparent 1px),
    linear-gradient(90deg, var(--border-subtle) 1px, transparent 1px);
  background-size: 48px 48px;
  opacity: 0.25;
  pointer-events: none;
}
.cc-guides-hub-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.3rem 0.75rem;
  margin-bottom: 1rem;
}
.cc-guides-hub-title {
  font-size: clamp(2rem, 4.5vw, 3.25rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: var(--text-primary);
  line-height: 1.1;
  margin-bottom: 1rem;
}
.cc-guides-hub-title em { color: var(--gold); font-style: italic; }
.cc-guides-hub-sub {
  font-size: 1rem;
  color: var(--text-secondary);
  max-width: 580px;
  line-height: 1.75;
  margin: 0;
}
.cc-guides-hub-stats {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 16px;
  padding: 1.25rem 1.5rem;
  flex-shrink: 0;
  box-shadow: var(--shadow-card);
}
.cc-guides-hub-stat { text-align: center; }
.cc-guides-hub-stat__num {
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
  display: block;
}
.cc-guides-hub-stat__label {
  font-size: 0.5625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--text-muted);
  margin-top: 0.2rem;
}
.cc-guides-hub-stat__sep {
  width: 1px;
  height: 36px;
  background: var(--border-subtle);
}

/* Body layout */
.cc-guides-hub-body { padding-top: 2.5rem; padding-bottom: 5rem; }
.cc-guides-hub-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 1024px) {
  .cc-guides-hub-layout { grid-template-columns: 1fr; }
  .cc-guides-hub-rail { order: -1; display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
}
@media (max-width: 640px) {
  .cc-guides-hub-rail { grid-template-columns: 1fr; }
}

/* Curriculum header divider */
.cc-curriculum-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.cc-curriculum-section-divider {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 2.5rem 0 1.75rem;
}
.cc-curriculum-header__line {
  flex: 1;
  height: 1px;
  background: var(--border-subtle);
}
.cc-curriculum-header__label {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  white-space: nowrap;
}

/* Coming soon divider */
.cc-curriculum-coming-divider {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 1rem 0;
}
.cc-curriculum-coming-divider__line { flex: 1; height: 1px; background: var(--border-subtle); border-style: dashed; }
.cc-curriculum-coming-divider__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--text-faint);
  background: var(--bg-glass);
  border: 1px solid var(--border-subtle);
  border-style: dashed;
  border-radius: 100px;
  padding: 0.25rem 0.75rem;
  white-space: nowrap;
}

/* ── Curriculum Row ── */
.cc-curriculum-row {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  padding: 1.375rem 1.5rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-left: 3px solid var(--guide-accent, var(--gold));
  border-radius: 0 var(--radius-card) var(--radius-card) 0;
  margin-bottom: 0.875rem;
  box-shadow: var(--shadow-card);
  transition: var(--transition);
  text-decoration: none;
  color: inherit;
  position: relative;
  overflow: hidden;
}
.cc-curriculum-row::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(90deg, var(--guide-accent, var(--gold)), transparent 30%);
  opacity: 0;
  transition: opacity 0.2s;
  pointer-events: none;
}
.cc-curriculum-row--live:hover { transform: translateX(4px); border-color: var(--guide-accent, var(--gold)); box-shadow: var(--shadow-card), -4px 0 0 var(--guide-accent, var(--gold)); }
.cc-curriculum-row--live:hover::before { opacity: 0.04; }
.cc-curriculum-row--live:hover .cc-curriculum-row__arrow { color: var(--guide-accent, var(--gold)); transform: translateX(4px); }

.cc-curriculum-row--locked {
  opacity: 0.55;
  cursor: default;
  border-left-color: var(--border-subtle);
  background: var(--bg-elevated);
}

.cc-curriculum-row__num {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 900;
  font-style: italic;
  color: var(--guide-accent, var(--gold));
  min-width: 2.5rem;
  line-height: 1;
  padding-top: 0.25rem;
  flex-shrink: 0;
}
.cc-curriculum-row__num--locked { color: var(--text-faint); }

.cc-curriculum-row__icon-col { flex-shrink: 0; padding-top: 0.125rem; }
.cc-curriculum-row__icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  border: 1px solid;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cc-curriculum-row__icon--locked { opacity: 0.5; }

.cc-curriculum-row__body { flex: 1; min-width: 0; }
.cc-curriculum-row__cat {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.5rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  margin-bottom: 0.375rem;
}
.cc-curriculum-row__cat--locked { color: var(--text-faint); }
.cc-curriculum-row__title {
  font-family: var(--font-display);
  font-size: 1.125rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.015em;
  margin-bottom: 0.375rem;
  line-height: 1.2;
}
.cc-curriculum-row__title--locked { color: var(--text-muted); }
.cc-curriculum-row__desc {
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.65;
  margin-bottom: 0.625rem;
}
.cc-curriculum-row__desc--locked { color: var(--text-faint); }
.cc-curriculum-row__meta {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  flex-wrap: wrap;
}
.cc-curriculum-row__meta span {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--text-muted);
}
.cc-curriculum-row__coming {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.625rem;
  font-weight: 800;
  color: var(--text-faint);
  background: var(--bg-glass);
  border: 1px dashed var(--border-subtle);
  border-radius: 100px;
  padding: 0.2rem 0.625rem;
  margin-top: 0.375rem;
}
.cc-curriculum-row__arrow {
  color: var(--text-muted);
  transition: transform 0.2s, color 0.2s;
  flex-shrink: 0;
  margin-top: 0.5rem;
}
.cc-curriculum-row__lock-icon { flex-shrink: 0; margin-top: 0.5rem; }

/* Masterclass banner */
.cc-guides-masterclass {
  position: relative;
  border-radius: var(--radius-card);
  overflow: hidden;
  margin: 2rem 0;
  padding: 2.5rem;
  border: 1px solid var(--gold-border);
}
.cc-guides-masterclass__bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(245,200,66,0.12) 0%, rgba(245,200,66,0.04) 50%, transparent 80%);
  pointer-events: none;
}
.cc-guides-masterclass__bg::after {
  content: '';
  position: absolute;
  right: -30px;
  top: -30px;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(245,200,66,0.12) 0%, transparent 70%);
  pointer-events: none;
}
.cc-guides-masterclass__content { position: relative; z-index: 1; }
.cc-guides-masterclass__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.875rem;
}
.cc-guides-masterclass__title {
  font-size: 1.625rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin-bottom: 0.875rem;
}
.cc-guides-masterclass__title em { color: var(--gold); font-style: italic; }
.cc-guides-masterclass__desc {
  font-size: 0.9375rem;
  color: var(--text-secondary);
  line-height: 1.7;
  max-width: 520px;
  margin-bottom: 1.5rem;
}

/* Media / content cards grid */
.cc-guides-media-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
@media (max-width: 640px) {
  .cc-guides-media-grid { grid-template-columns: 1fr; }
}
.cc-media-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow-card);
  transition: var(--transition);
}
.cc-media-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-card), 0 12px 32px rgba(0,0,0,0.15); border-color: var(--gold-border); }
.cc-media-card__thumb {
  position: relative;
  height: 140px;
  overflow: hidden;
}
.cc-media-card__thumb-inner {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cc-media-card__emoji {
  font-size: 3.5rem;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,0.3));
}
.cc-media-card__tag {
  position: absolute;
  top: 0.625rem;
  left: 0.625rem;
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #000;
  border-radius: 4px;
  padding: 0.2rem 0.5rem;
}
.cc-media-card__body { padding: 1rem; flex: 1; }
.cc-media-card__sub {
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  margin-bottom: 0.25rem;
}
.cc-media-card__title {
  font-family: var(--font-display);
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 0.375rem;
  line-height: 1.25;
}
.cc-media-card__desc {
  font-size: 0.75rem;
  color: var(--text-secondary);
  line-height: 1.55;
  margin: 0;
}

/* ── Side Rail ── */
.cc-guides-hub-rail {
  position: sticky;
  top: 88px;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.cc-guides-rail-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.25rem;
  box-shadow: var(--shadow-card);
}
.cc-guides-rail-card--casino {
  border-color: var(--gold-border);
  background: linear-gradient(135deg, rgba(245,200,66,0.04) 0%, var(--bg-card) 60%);
}
.cc-guides-rail-card--data {
  background: var(--bg-elevated);
  border-color: var(--border-mid);
}
.cc-guides-rail-card__eyebrow {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.875rem;
}
.cc-guides-rail-casino-logo {
  height: 40px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  display: block;
  margin-bottom: 0.5rem;
  border-radius: 6px;
  background: var(--bg-glass);
  padding: 4px;
  border: 1px solid var(--border-subtle);
}
.cc-guides-rail-casino-name {
  font-family: var(--font-display);
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 0.25rem;
}
.cc-guides-rail-casino-rating {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  margin-bottom: 0.5rem;
}
.cc-guides-rail-casino-rating span {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--gold);
  margin-left: 0.25rem;
}

/* Pro tips */
.cc-guides-rail-tips { display: flex; flex-direction: column; gap: 0; }
.cc-guides-rail-tip {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.625rem 0;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-guides-rail-tip:last-child { border-bottom: none; }
.cc-guides-rail-tip__num {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 800;
  color: var(--gold);
  flex-shrink: 0;
  padding-top: 0.1rem;
}
.cc-guides-rail-tip__text {
  font-size: 0.75rem;
  color: var(--text-secondary);
  line-height: 1.55;
}

/* Categories */
.cc-guides-rail-cats { display: flex; flex-direction: column; gap: 0; }
.cc-guides-rail-cat {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-guides-rail-cat:last-child { border-bottom: none; }
.cc-guides-rail-cat__icon { flex-shrink: 0; }
.cc-guides-rail-cat__label {
  font-size: 0.8125rem;
  font-weight: 700;
  flex: 1;
}
.cc-guides-rail-cat__status {
  font-size: 0.625rem;
  color: var(--text-faint);
  font-family: var(--font-mono);
}

/* Light mode */
:root.light .cc-guides-hub-hero { background: #ffffff; }
:root.light .cc-curriculum-row { background: #ffffff; }
:root.light .cc-curriculum-row--locked { background: #f8fafc; }
:root.light .cc-guides-masterclass { background: rgba(201,146,14,0.04); }
:root.light .cc-media-card { background: #ffffff; }
:root.light .cc-guides-rail-card { background: #ffffff; }

/* ═══════════════════════════════════════════════════════════════
   REVIEWS ARCHIVE HERO — Full Editorial Hub
═══════════════════════════════════════════════════════════════ */

.cc-reviews-hero {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}

/* Background image */
.cc-reviews-hero__bg-img {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center 30%;
  transform: scale(1.04);
  transition: transform 8s ease;
}
.cc-reviews-hero:hover .cc-reviews-hero__bg-img { transform: scale(1); }

/* Slots image treatment — darker, desaturated, shifted so it reads as
   atmosphere rather than subject. The veil does the heavy lifting. */
.cc-reviews-hero__bg-img--slots {
  background-position: center 50%;
  filter: brightness(0.45) saturate(0.6) contrast(1.05);
  transform: scale(1.08);
}
.cc-reviews-hero:hover .cc-reviews-hero__bg-img--slots {
  transform: scale(1.04);
  filter: brightness(0.5) saturate(0.65) contrast(1.05);
}

/* Multi-layer veil for depth */
.cc-reviews-hero__veil {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(7,9,15,0.95) 0%, rgba(7,9,15,0.88) 40%, rgba(7,9,15,0.55) 70%, rgba(7,9,15,0.35) 100%),
    linear-gradient(0deg, rgba(7,9,15,0.6) 0%, transparent 60%);
}

/* Subtle grain overlay */
.cc-reviews-hero__grain {
  position: absolute;
  inset: 0;
  opacity: 0.035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  background-size: 128px 128px;
  pointer-events: none;
}

/* Inner two-column layout */
.cc-reviews-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 3.5rem;
  align-items: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
  width: 100%;
}
@media (max-width: 1100px) {
  .cc-reviews-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-reviews-hero { min-height: auto; }
  .cc-reviews-hero__right { max-width: 540px; }
}

/* ── LEFT COLUMN ── */
.cc-reviews-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1.25rem;
}
.cc-reviews-hero__pulse {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--gold);
  animation: ccPulse 2s ease infinite;
  flex-shrink: 0;
}
.cc-reviews-hero__title {
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #ffffff;
  line-height: 1.05;
  margin-bottom: 1.25rem;
}
.cc-reviews-hero__title em {
  color: var(--gold);
  font-style: italic;
  display: block;
}
.cc-reviews-hero__desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.65);
  line-height: 1.75;
  max-width: 520px;
  margin-bottom: 1.75rem;
}

/* Trust signals */
.cc-reviews-hero__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.875rem;
  margin-bottom: 2rem;
}
.cc-reviews-hero__trust-item {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: rgba(255,255,255,0.55);
}

/* Stat chips */
.cc-reviews-hero__stats {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}
.cc-reviews-hero__stat { text-align: center; }
.cc-reviews-hero__stat-num {
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}
.cc-reviews-hero__stat-label {
  font-size: 0.5625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: rgba(255,255,255,0.4);
  margin-top: 0.2rem;
}
.cc-reviews-hero__stat-sep {
  width: 1px;
  height: 32px;
  background: rgba(255,255,255,0.12);
}

/* ── RIGHT COLUMN ── */
.cc-reviews-hero__right {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}

/* Top picks panel */
.cc-reviews-hero__panel {
  background: rgba(13,17,23,0.88);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 20px;
  padding: 1.25rem;
  box-shadow: 0 24px 60px rgba(0,0,0,0.45);
}
.cc-reviews-hero__panel-header {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.875rem;
}

/* Individual pick row */
.cc-reviews-hero__pick {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 0.875rem;
  border-radius: 12px;
  text-decoration: none;
  transition: background 0.15s, transform 0.15s;
  margin-bottom: 0.375rem;
  border: 1px solid transparent;
}
.cc-reviews-hero__pick:last-of-type { margin-bottom: 0.75rem; }
.cc-reviews-hero__pick:hover {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.08);
  transform: translateX(2px);
}
.cc-reviews-hero__pick--gold {
  background: rgba(245,200,66,0.08);
  border-color: rgba(245,200,66,0.2);
}
.cc-reviews-hero__pick--gold:hover { background: rgba(245,200,66,0.13); }

.cc-reviews-hero__pick-rank {
  font-family: var(--font-display);
  font-size: 1.125rem;
  font-weight: 900;
  font-style: italic;
  color: var(--gold);
  min-width: 1.5rem;
  flex-shrink: 0;
  line-height: 1;
}
.cc-reviews-hero__pick--standard .cc-reviews-hero__pick-rank { color: rgba(255,255,255,0.25); }

.cc-reviews-hero__pick-logo-wrap {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.cc-reviews-hero__pick-logo {
  max-width: 80%;
  max-height: 75%;
  object-fit: contain;
  display: block;
  background: none;
  border: none;
  padding: 0;
}
.cc-reviews-hero__pick-logo--fallback {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 1rem;
  color: var(--gold);
}
.cc-reviews-hero__pick-info { flex: 1; min-width: 0; }
.cc-reviews-hero__pick-name {
  font-size: 0.875rem;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 0.2rem;
}
.cc-reviews-hero__pick-stars {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  flex-wrap: wrap;
}
.cc-reviews-hero__pick-badge {
  font-size: 0.4375rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--gold);
  background: rgba(245,200,66,0.12);
  border: 1px solid rgba(245,200,66,0.25);
  border-radius: 3px;
  padding: 0.1rem 0.3rem;
  margin-left: 0.25rem;
}
.cc-reviews-hero__pick-bonus {
  font-size: 0.6875rem;
  color: rgba(255,255,255,0.45);
  margin-top: 0.125rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-reviews-hero__pick-cta {
  color: rgba(255,255,255,0.25);
  flex-shrink: 0;
  transition: color 0.15s, transform 0.15s;
}
.cc-reviews-hero__pick:hover .cc-reviews-hero__pick-cta {
  color: var(--gold);
  transform: translate(2px,-2px);
}

.cc-reviews-hero__see-all {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: rgba(255,255,255,0.35);
  text-decoration: none;
  padding: 0.625rem;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.06);
  transition: color 0.15s, border-color 0.15s;
}
.cc-reviews-hero__see-all:hover { color: var(--gold); border-color: var(--gold-border); }

/* Feature quick-stats row */
.cc-reviews-hero__features {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 0.5rem;
}
.cc-reviews-hero__feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  background: rgba(13,17,23,0.82);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  padding: 0.875rem 0.625rem;
  text-align: center;
}
.cc-reviews-hero__feature-icon {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-reviews-hero__feature-num {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}
.cc-reviews-hero__feature-label {
  font-size: 0.5rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(255,255,255,0.35);
}

/* Light mode: panel stays dark since it's over a photo */
:root.light .cc-reviews-hero__veil {
  background:
    linear-gradient(90deg, rgba(7,9,15,0.9) 0%, rgba(7,9,15,0.82) 40%, rgba(7,9,15,0.5) 70%, rgba(7,9,15,0.3) 100%),
    linear-gradient(0deg, rgba(7,9,15,0.5) 0%, transparent 60%);
}

/* ═══════════════════════════════════════════════════════════════
   NEWS / NEWSROOM HERO
═══════════════════════════════════════════════════════════════ */

.cc-news-hero {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}

/* Background: newspaper/editorial texture */
.cc-news-hero__bg-img {
  position: absolute;
  inset: 0;
  background-image: url('https://images.unsplash.com/photo-1504711434969-e33886168f5c?w=1400&q=60');
  background-size: cover;
  background-position: center 40%;
  transform: scale(1.04);
  filter: grayscale(0.3);
  transition: transform 8s ease;
}
.cc-news-hero:hover .cc-news-hero__bg-img { transform: scale(1); }

/* Directional veil — dark left, fades right */
.cc-news-hero__veil {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg,
      rgba(7,9,15,0.97) 0%,
      rgba(7,9,15,0.90) 35%,
      rgba(7,9,15,0.60) 65%,
      rgba(7,9,15,0.30) 100%
    ),
    linear-gradient(0deg, rgba(7,9,15,0.55) 0%, transparent 55%);
}

/* Horizontal scan lines — editorial feel */
.cc-news-hero__scan-lines {
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(
    0deg,
    transparent 0px,
    transparent 3px,
    rgba(255,255,255,0.012) 3px,
    rgba(255,255,255,0.012) 4px
  );
  pointer-events: none;
}

/* Inner grid */
.cc-news-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 3.5rem;
  align-items: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
  width: 100%;
}
@media (max-width: 1100px) {
  .cc-news-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-news-hero { min-height: auto; }
  .cc-news-hero__right { max-width: 560px; }
}

/* ── LEFT ── */
.cc-news-hero__kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1.25rem;
}
.cc-news-hero__live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--gold);
  animation: ccPulse 2s ease infinite;
  flex-shrink: 0;
}

.cc-news-hero__title {
  font-size: clamp(2.25rem, 4.5vw, 3.75rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #ffffff;
  line-height: 1.0;
  margin-bottom: 1.25rem;
}
.cc-news-hero__title em {
  color: var(--gold);
  font-style: italic;
  display: block;
}

.cc-news-hero__desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.58);
  line-height: 1.78;
  max-width: 500px;
  margin-bottom: 1.75rem;
}

/* Market data callout */
.cc-news-hero__market-callout {
  background: rgba(245,200,66,0.07);
  border: 1px solid rgba(245,200,66,0.22);
  border-left: 3px solid var(--gold);
  border-radius: 0 10px 10px 0;
  padding: 0.875rem 1.125rem;
  margin-bottom: 1.75rem;
  max-width: 500px;
}
.cc-news-hero__market-callout-label {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.5rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.375rem;
}
.cc-news-hero__market-callout-text {
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.7);
  line-height: 1.55;
  margin-bottom: 0.5rem;
}
.cc-news-hero__market-callout-link {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--gold);
  text-decoration: none;
  transition: gap 0.15s;
}
.cc-news-hero__market-callout-link:hover { gap: 0.5rem; }

/* Stats */
.cc-news-hero__stats {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}
.cc-news-hero__stat { text-align: center; }
.cc-news-hero__stat-num {
  font-family: var(--font-display);
  font-size: 1.625rem;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}
.cc-news-hero__stat-label {
  font-size: 0.5rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: rgba(255,255,255,0.35);
  margin-top: 0.2rem;
}
.cc-news-hero__stat-sep {
  width: 1px;
  height: 28px;
  background: rgba(255,255,255,0.1);
}

/* ── RIGHT ── */
.cc-news-hero__right {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}

/* Latest stories panel */
.cc-news-hero__panel {
  background: rgba(10,13,20,0.90);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 20px;
  padding: 1.25rem;
  box-shadow: 0 24px 60px rgba(0,0,0,0.5);
}
.cc-news-hero__panel-header {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.875rem;
}
.cc-news-hero__panel-time {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  color: rgba(255,255,255,0.25);
  font-weight: 600;
  letter-spacing: 0.05em;
}

/* Story rows */
.cc-news-hero__story {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem;
  border-radius: 12px;
  text-decoration: none;
  transition: background 0.15s, transform 0.15s;
  margin-bottom: 0.375rem;
  border: 1px solid transparent;
  flex-direction: column;
}
.cc-news-hero__story--standard {
  flex-direction: row;
  align-items: center;
}
.cc-news-hero__story:last-of-type { margin-bottom: 0.75rem; }
.cc-news-hero__story:hover {
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.07);
}

/* Featured story has a thumb image */
.cc-news-hero__story--featured {
  border-bottom: 1px solid rgba(255,255,255,0.07);
  border-radius: 10px 10px 0 0;
  margin-bottom: 0;
  padding-bottom: 0.875rem;
}
.cc-news-hero__story-thumb {
  width: 100%;
  height: 110px;
  border-radius: 8px;
  background-size: cover;
  background-position: center;
  margin-bottom: 0.625rem;
  flex-shrink: 0;
}
.cc-news-hero__story-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.3rem;
}
.cc-news-hero__story-cat {
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--gold);
  background: rgba(245,200,66,0.12);
  border-radius: 3px;
  padding: 0.1rem 0.375rem;
}
.cc-news-hero__story-date {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  color: rgba(255,255,255,0.25);
  font-weight: 600;
}
.cc-news-hero__story-title {
  font-size: 0.875rem;
  font-weight: 700;
  color: rgba(255,255,255,0.9);
  line-height: 1.35;
  flex: 1;
}
.cc-news-hero__story--featured .cc-news-hero__story-title {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 800;
  color: #fff;
}
.cc-news-hero__story-excerpt {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.45);
  line-height: 1.6;
  margin-top: 0.375rem;
}
.cc-news-hero__story-body { flex: 1; min-width: 0; }
.cc-news-hero__story-arrow {
  color: rgba(255,255,255,0.2);
  flex-shrink: 0;
  transition: color 0.15s, transform 0.15s;
  margin-top: 2px;
}
.cc-news-hero__story:hover .cc-news-hero__story-arrow {
  color: var(--gold);
  transform: translate(2px,-2px);
}

.cc-news-hero__see-all {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: rgba(255,255,255,0.3);
  text-decoration: none;
  padding: 0.625rem;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.06);
  transition: color 0.15s, border-color 0.15s;
}
.cc-news-hero__see-all:hover { color: var(--gold); border-color: var(--gold-border); }

/* Topic pills */
.cc-news-hero__topics {
  background: rgba(10,13,20,0.82);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  padding: 1rem 1.125rem;
}
.cc-news-hero__topics-label {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.5rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.3);
  margin-bottom: 0.75rem;
}
.cc-news-hero__topic-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}
.cc-news-hero__topic-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.6875rem;
  font-weight: 600;
  color: rgba(255,255,255,0.6);
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 100px;
  padding: 0.25rem 0.625rem;
  text-decoration: none;
  transition: color 0.15s, background 0.15s, border-color 0.15s;
}
.cc-news-hero__topic-pill:hover {
  color: var(--gold);
  background: var(--gold-dim);
  border-color: var(--gold-border);
}
.cc-news-hero__topic-count {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 800;
  color: rgba(255,255,255,0.25);
  background: rgba(255,255,255,0.06);
  border-radius: 100px;
  padding: 0.05rem 0.375rem;
}


/* ═══════════════════════════════════════════════════════════════
   NATIONAL COMPLIANCE HUB HERO
═══════════════════════════════════════════════════════════════ */

.cc-comp-hero {
  position: relative;
  min-height: 600px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
  background: var(--bg-main);
}
.cc-comp-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 50% 70% at 100% 40%, rgba(99,102,241,0.07) 0%, transparent 55%),
    radial-gradient(ellipse 35% 60% at 0%   60%, rgba(16,185,129,0.05) 0%, transparent 50%),
    radial-gradient(ellipse 70% 40% at 50% 100%, rgba(245,200,66,0.03) 0%, transparent 50%),
    linear-gradient(135deg, #07090f 0%, #0a0d16 100%);
}
.cc-comp-hero__grid {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
}
.cc-comp-hero__radial {
  position: absolute;
  right: -80px;
  top: 50%;
  transform: translateY(-50%);
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(99,102,241,0.07) 0%, transparent 65%);
  pointer-events: none;
}

.cc-comp-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 440px;
  gap: 3.5rem;
  align-items: start;
  padding-top: 4rem;
  padding-bottom: 4rem;
  width: 100%;
}
@media (max-width: 1150px) {
  .cc-comp-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-comp-hero { min-height: auto; }
}

/* ── LEFT ── */
.cc-comp-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #10b981;
  background: rgba(16,185,129,0.10);
  border: 1px solid rgba(16,185,129,0.22);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1.25rem;
}
.cc-comp-hero__shield-icon {
  width: 20px; height: 20px;
  background: rgba(16,185,129,0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #10b981;
}
.cc-comp-hero__title {
  font-size: clamp(2rem, 3.8vw, 3.25rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #ffffff;
  line-height: 1.05;
  margin-bottom: 1.125rem;
}
.cc-comp-hero__title em { color: #10b981; font-style: italic; display: block; }
.cc-comp-hero__desc {
  font-size: 0.9375rem;
  color: rgba(255,255,255,0.52);
  line-height: 1.78;
  max-width: 500px;
  margin-bottom: 2rem;
}

/* Status legend */
.cc-comp-hero__legend {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 1.75rem;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 14px;
  overflow: hidden;
  max-width: 480px;
}
.cc-comp-hero__legend-row {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  transition: background 0.15s;
}
.cc-comp-hero__legend-row:last-child { border-bottom: none; }
.cc-comp-hero__legend-row:hover { background: rgba(255,255,255,0.03); }
.cc-comp-hero__legend-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.cc-comp-hero__legend-body { flex: 1; min-width: 0; }
.cc-comp-hero__legend-label {
  font-size: 0.8125rem;
  font-weight: 700;
  display: block;
  margin-bottom: 0.1rem;
}
.cc-comp-hero__legend-detail {
  font-size: 0.625rem;
  color: rgba(255,255,255,0.28);
  display: block;
}
.cc-comp-hero__legend-count {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 900;
  flex-shrink: 0;
}

/* Quick stats */
.cc-comp-hero__quick-stats {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}
.cc-comp-hero__qs { text-align: center; }
.cc-comp-hero__qs-num {
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1;
}
.cc-comp-hero__qs-label {
  font-size: 0.5rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: rgba(255,255,255,0.3);
  margin-top: 0.2rem;
  line-height: 1.4;
}
.cc-comp-hero__qs-sep {
  width: 1px;
  height: 32px;
  background: rgba(255,255,255,0.08);
}

/* ── RIGHT: Province list ── */
.cc-comp-hero__right {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  position: sticky;
  top: 88px;
}
.cc-comp-hero__panel-header {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.125rem;
}
.cc-comp-hero__panel-updated {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  color: rgba(255,255,255,0.2);
  font-weight: 600;
}

/* Province list */
.cc-comp-province-list {
  background: rgba(10,14,22,0.90);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.45);
}
.cc-comp-province {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  text-decoration: none;
  transition: background 0.12s;
  position: relative;
}
.cc-comp-province:last-child { border-bottom: none; }
.cc-comp-province::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--prov-color, transparent);
  opacity: 0;
  transition: opacity 0.15s;
}
.cc-comp-province:hover { background: rgba(255,255,255,0.04); }
.cc-comp-province:hover::before { opacity: 1; }
.cc-comp-province--live:hover     { background: rgba(16,185,129,0.06); }
.cc-comp-province--launching:hover{ background: rgba(245,200,66,0.05); }

.cc-comp-province__code {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 900;
  color: var(--prov-color, rgba(255,255,255,0.4));
  width: 28px;
  flex-shrink: 0;
  letter-spacing: 0.04em;
}
.cc-comp-province__body { flex: 1; min-width: 0; }
.cc-comp-province__name {
  font-size: 0.875rem;
  font-weight: 700;
  color: rgba(255,255,255,0.85);
  line-height: 1.2;
}
.cc-comp-province--grey .cc-comp-province__name { color: rgba(255,255,255,0.4); }
.cc-comp-province__reg {
  font-size: 0.5625rem;
  color: rgba(255,255,255,0.25);
  margin-top: 0.1rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-comp-province__status {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  flex-shrink: 0;
  white-space: nowrap;
}
.cc-comp-province__arrow {
  color: rgba(255,255,255,0.18);
  flex-shrink: 0;
  transition: color 0.15s, transform 0.15s;
}
.cc-comp-province:hover .cc-comp-province__arrow {
  color: var(--prov-color, var(--gold));
  transform: translateX(3px);
}

/* Market link */
.cc-comp-hero__market-link {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  background: rgba(245,200,66,0.05);
  border: 1px solid rgba(245,200,66,0.15);
  border-radius: 12px;
  padding: 0.875rem 1rem;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s;
}
.cc-comp-hero__market-link:hover {
  background: rgba(245,200,66,0.09);
  border-color: var(--gold-border);
}
.cc-comp-hero__market-link-icon {
  width: 34px; height: 34px;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-comp-hero__market-link-label {
  font-size: 0.8125rem;
  font-weight: 700;
  color: rgba(255,255,255,0.8);
  margin-bottom: 0.125rem;
}
.cc-comp-hero__market-link-sub {
  font-size: 0.6875rem;
  color: rgba(255,255,255,0.3);
  line-height: 1.4;
}

:root.light .cc-comp-hero { background: #0a0d16; }

/* ═══════════════════════════════════════════════════════════════
   GAMES ARCHIVE HERO
═══════════════════════════════════════════════════════════════ */

.cc-games-hero {
  position: relative;
  min-height: 580px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}

/* Deep space / arcade atmosphere background */
.cc-games-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%,   rgba(139,92,246,0.08) 0%, transparent 55%),
    radial-gradient(ellipse 50% 80% at 0%   50%,  rgba(236,72,153,0.06) 0%, transparent 50%),
    radial-gradient(ellipse 50% 80% at 100% 50%,  rgba(245,200,66,0.05)  0%, transparent 50%),
    radial-gradient(ellipse 60% 40% at 50% 100%,  rgba(16,185,129,0.05)  0%, transparent 50%),
    linear-gradient(160deg, #07090f 0%, #0c0a18 40%, #07090f 100%);
}

/* Floating particle dots */
.cc-games-hero__particles {
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle, rgba(139,92,246,0.3) 1px, transparent 1px),
    radial-gradient(circle, rgba(236,72,153,0.2) 1px, transparent 1px),
    radial-gradient(circle, rgba(245,200,66,0.25)  1px, transparent 1px);
  background-size: 180px 180px, 120px 120px, 240px 240px;
  background-position: 20px 30px, 80px 90px, 140px 20px;
  pointer-events: none;
  animation: ccParticleFloat 20s ease infinite alternate;
}
@keyframes ccParticleFloat {
  0%   { background-position: 20px 30px, 80px 90px, 140px 20px; }
  100% { background-position: 30px 50px, 90px 70px, 160px 40px; }
}

/* Side glows */
.cc-games-hero__glow-left {
  position: absolute;
  left: -120px; top: 50%;
  transform: translateY(-50%);
  width: 400px; height: 500px;
  background: radial-gradient(circle, rgba(236,72,153,0.12) 0%, transparent 65%);
  pointer-events: none;
}
.cc-games-hero__glow-right {
  position: absolute;
  right: -80px; top: 30%;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(139,92,246,0.10) 0%, transparent 65%);
  pointer-events: none;
}

/* Inner layout */
.cc-games-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 480px;
  gap: 3rem;
  align-items: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
  width: 100%;
}
@media (max-width: 1150px) {
  .cc-games-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-games-hero { min-height: auto; }
  .cc-games-hero__right { max-width: 600px; }
}

/* ── LEFT ── */
.cc-games-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #ec4899;
  background: rgba(236,72,153,0.10);
  border: 1px solid rgba(236,72,153,0.25);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1.25rem;
}

.cc-games-hero__title {
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #ffffff;
  line-height: 1.05;
  margin-bottom: 1.125rem;
}
.cc-games-hero__title em {
  background: linear-gradient(90deg, #ec4899, #8b5cf6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-style: italic;
  display: block;
}

.cc-games-hero__desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.52);
  line-height: 1.75;
  max-width: 500px;
  margin-bottom: 2rem;
}

/* Stats */
.cc-games-hero__stats {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}
.cc-games-hero__stat { text-align: center; }
.cc-games-hero__stat-num {
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}
.cc-games-hero__stat-label {
  font-size: 0.5rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: rgba(255,255,255,0.3);
  margin-top: 0.2rem;
}
.cc-games-hero__stat-sep {
  width: 1px;
  height: 28px;
  background: rgba(255,255,255,0.08);
}

/* Game type quick-nav chips */
.cc-games-hero__type-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.cc-games-hero__type-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: rgba(255,255,255,0.7);
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 100px;
  padding: 0.35rem 0.75rem;
  text-decoration: none;
  transition: all 0.15s;
}
.cc-games-hero__type-chip:hover {
  background: color-mix(in srgb, var(--chip-color, #ec4899) 12%, transparent);
  border-color: color-mix(in srgb, var(--chip-color, #ec4899) 35%, transparent);
  color: #fff;
  transform: translateY(-2px);
}
.cc-games-hero__type-count {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 800;
  color: rgba(255,255,255,0.25);
  background: rgba(255,255,255,0.05);
  border-radius: 100px;
  padding: 0.05rem 0.35rem;
}

/* ── RIGHT ── */
.cc-games-hero__right {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.cc-games-hero__panel-header {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.125rem;
}
.cc-games-hero__panel-link {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.625rem;
  font-weight: 700;
  color: rgba(255,255,255,0.25);
  text-decoration: none;
  transition: color 0.15s;
}
.cc-games-hero__panel-link:hover { color: var(--gold); }

/* Game mosaic grid */
.cc-games-hero__mosaic {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 140px);
  gap: 6px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.5);
}
/* Make first card span 2 rows (taller feature) */
.cc-games-hero__game-card--0 { grid-row: span 2; }

.cc-games-hero__game-card {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  text-decoration: none;
  background: var(--bg-elevated);
  transition: transform 0.2s;
}
.cc-games-hero__game-card:hover { transform: scale(1.02); z-index: 2; }
.cc-games-hero__game-card:hover .cc-games-hero__game-overlay {
  background: linear-gradient(to top, rgba(0,0,0,0.92) 0%, rgba(0,0,0,0.3) 60%, transparent 100%);
}
.cc-games-hero__game-card:hover .cc-games-hero__game-name { color: #fff; }
.cc-games-hero__game-card:hover::after {
  content: '';
  position: absolute;
  inset: 0;
  border: 2px solid var(--game-color, var(--gold));
  border-radius: 0;
  pointer-events: none;
}

.cc-games-hero__game-thumb {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 0.4s ease;
}
.cc-games-hero__game-card:hover .cc-games-hero__game-thumb { transform: scale(1.06); }
.cc-games-hero__game-thumb--fallback {
  display: flex;
  align-items: center;
  justify-content: center;
}

.cc-games-hero__game-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.80) 0%, rgba(0,0,0,0.15) 50%, transparent 100%);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 0.5rem;
  transition: background 0.2s;
}
.cc-games-hero__game-type {
  align-self: flex-start;
  font-size: 0.4375rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #000;
  border-radius: 3px;
  padding: 0.15rem 0.4rem;
}
.cc-games-hero__game-info { }
.cc-games-hero__game-name {
  font-size: 0.75rem;
  font-weight: 800;
  color: rgba(255,255,255,0.9);
  line-height: 1.25;
  margin-bottom: 0.2rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-games-hero__game-card--0 .cc-games-hero__game-name {
  font-family: var(--font-display);
  font-size: 0.9375rem;
  white-space: normal;
}
.cc-games-hero__game-meta {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-wrap: wrap;
}
.cc-games-hero__game-meta span {
  font-size: 0.5rem;
  font-weight: 700;
  color: rgba(255,255,255,0.45);
}

/* Placeholder grid (no games yet) */
.cc-games-hero__placeholder-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 6px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.5);
}
.cc-games-hero__placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  height: 120px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
  text-decoration: none;
  font-size: 0.6875rem;
  font-weight: 700;
  color: rgba(255,255,255,0.4);
  transition: background 0.15s, color 0.15s;
}
.cc-games-hero__placeholder:hover {
  background: color-mix(in srgb, var(--ph-color, #ec4899) 10%, transparent);
  color: #fff;
}

/* Provider pills */
.cc-games-hero__providers {
  background: rgba(10,14,22,0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 12px;
  padding: 0.875rem 1rem;
}
.cc-games-hero__providers-label {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.4375rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.2);
  margin-bottom: 0.625rem;
}
.cc-games-hero__provider-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}
.cc-games-hero__provider-pill {
  display: inline-flex;
  font-size: 0.6875rem;
  font-weight: 600;
  color: rgba(255,255,255,0.5);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 100px;
  padding: 0.25rem 0.625rem;
  text-decoration: none;
  transition: all 0.15s;
}
.cc-games-hero__provider-pill:hover {
  color: var(--gold);
  background: var(--gold-dim);
  border-color: var(--gold-border);
}

/* Fairness badge */
.cc-games-hero__fairness {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  background: rgba(16,185,129,0.05);
  border: 1px solid rgba(16,185,129,0.15);
  border-radius: 12px;
  padding: 0.875rem 1rem;
}
.cc-games-hero__fairness-icon {
  width: 34px;
  height: 34px;
  background: rgba(16,185,129,0.12);
  border: 1px solid rgba(16,185,129,0.2);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-games-hero__fairness-title {
  font-size: 0.8125rem;
  font-weight: 700;
  color: rgba(255,255,255,0.85);
  margin-bottom: 0.2rem;
}
.cc-games-hero__fairness-sub {
  font-size: 0.6875rem;
  color: rgba(255,255,255,0.3);
  line-height: 1.55;
}

/* ═══════════════════════════════════════════════════════════════
   ONTARIO ONLINE CASINOS HERO
═══════════════════════════════════════════════════════════════ */

.cc-on-hero {
  position: relative;
  min-height: 580px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}

/* Background: dark with Ontario brand emerald/gold atmosphere */
.cc-on-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 80% at 100% 30%,  rgba(16,185,129,0.07)  0%, transparent 55%),
    radial-gradient(ellipse 40% 60% at 0%   70%,  rgba(99,102,241,0.05)  0%, transparent 50%),
    radial-gradient(ellipse 50% 40% at 50% 100%,  rgba(245,200,66,0.04)  0%, transparent 50%),
    radial-gradient(ellipse 30% 50% at 20% 10%,   rgba(16,185,129,0.04)  0%, transparent 45%),
    linear-gradient(150deg, #07090f 0%, #09110e 50%, #07090f 100%);
}

/* Subtle Ontario map watermark in background */
.cc-on-hero__map-watermark {
  position: absolute;
  right: -60px;
  top: 50%;
  transform: translateY(-50%);
  width: 520px;
  height: 380px;
  opacity: 0.028;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 300'%3E%3Cpath d='M 180 40 L 320 30 L 380 80 L 370 150 L 300 200 L 220 220 L 160 200 L 100 160 L 80 100 L 120 60 Z' fill='%23f5c842' stroke='%23f5c842' stroke-width='2'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
  filter: blur(2px);
}

/* Film grain */
.cc-on-hero__grain {
  position: absolute;
  inset: 0;
  opacity: 0.028;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 128px;
  pointer-events: none;
}

.cc-on-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 3.5rem;
  align-items: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
  width: 100%;
}
@media (max-width: 1100px) {
  .cc-on-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-on-hero { min-height: auto; }
}

/* ── LEFT ── */
.cc-on-hero__badges {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.cc-on-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  border-radius: 100px;
  padding: 0.3rem 0.75rem;
}
.cc-on-hero__badge--live {
  color: #10b981;
  background: rgba(16,185,129,0.10);
  border: 1px solid rgba(16,185,129,0.25);
}
.cc-on-hero__badge--agco {
  color: #818cf8;
  background: rgba(99,102,241,0.10);
  border: 1px solid rgba(99,102,241,0.22);
}
.cc-on-hero__badge-pulse {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 6px rgba(16,185,129,0.7);
  animation: ccPulse 2s ease infinite;
  flex-shrink: 0;
}

.cc-on-hero__title {
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #ffffff;
  line-height: 1.05;
  margin-bottom: 1.125rem;
}
.cc-on-hero__title em {
  color: var(--gold);
  font-style: italic;
  display: block;
}

.cc-on-hero__desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.55);
  line-height: 1.78;
  max-width: 520px;
  margin-bottom: 1.75rem;
}

/* Trust strip */
.cc-on-hero__trust-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
  margin-bottom: 1.75rem;
}
.cc-on-hero__trust-item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: rgba(255,255,255,0.5);
}

/* iGO fact bar */
.cc-on-hero__igo-bar {
  margin-bottom: 2rem;
  background: rgba(16,185,129,0.06);
  border: 1px solid rgba(16,185,129,0.15);
  border-left: 3px solid #10b981;
  border-radius: 0 12px 12px 0;
  padding: 1rem 1.25rem;
  max-width: 520px;
}
.cc-on-hero__igo-bar-inner {
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: wrap;
}
.cc-on-hero__igo-fact { flex: 1; min-width: 100px; text-align: center; }
.cc-on-hero__igo-fact-sep {
  width: 1px; height: 28px;
  background: rgba(16,185,129,0.2);
  flex-shrink: 0;
}
.cc-on-hero__igo-fact-label {
  font-size: 0.4375rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255,255,255,0.3);
  margin-bottom: 0.2rem;
}
.cc-on-hero__igo-fact-val {
  font-family: var(--font-display);
  font-size: 1.0625rem;
  font-weight: 900;
  color: #10b981;
  line-height: 1;
}

.cc-on-hero__ctas {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* ── RIGHT ── */
.cc-on-hero__right {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* Market status bar */
.cc-on-hero__market-status {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  background: rgba(16,185,129,0.07);
  border: 1px solid rgba(16,185,129,0.18);
  border-radius: 100px;
  padding: 0.5rem 1rem;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #10b981;
}
.cc-on-hero__market-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 8px rgba(16,185,129,0.6);
  animation: ccPulse 2s ease infinite;
  flex-shrink: 0;
}
.cc-on-hero__market-updated {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  color: rgba(255,255,255,0.2);
  font-weight: 500;
}

/* Picks panel */
.cc-on-hero__panel {
  background: rgba(10,14,22,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid #10b981;
  border-radius: 20px;
  padding: 1.25rem;
  box-shadow: 0 24px 60px rgba(0,0,0,0.45);
}
.cc-on-hero__panel-hdr {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.875rem;
}
.cc-on-hero__panel-count {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  color: rgba(255,255,255,0.2);
}

/* Pick rows */
.cc-on-hero__pick {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  border-radius: 12px;
  text-decoration: none;
  transition: background 0.15s, transform 0.15s;
  margin-bottom: 0.375rem;
  border: 1px solid transparent;
}
.cc-on-hero__pick:last-of-type { margin-bottom: 0.75rem; }
.cc-on-hero__pick--top {
  background: rgba(16,185,129,0.07);
  border-color: rgba(16,185,129,0.15);
}
.cc-on-hero__pick:hover {
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.08);
  transform: translateX(2px);
}
.cc-on-hero__pick--top:hover { background: rgba(16,185,129,0.12); }

.cc-on-hero__pick-rank {
  font-family: var(--font-display);
  font-size: 1.125rem;
  font-weight: 900;
  font-style: italic;
  color: var(--gold);
  min-width: 1.5rem;
  flex-shrink: 0;
  line-height: 1;
}
.cc-on-hero__pick--standard .cc-on-hero__pick-rank { color: rgba(255,255,255,0.2); }

.cc-on-hero__pick-logo {
  width: 40px; height: 40px;
  border-radius: 8px;
  object-fit: contain;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  padding: 4px;
  flex-shrink: 0;
}
.cc-on-hero__pick-logo--fb {
  width: 40px; height: 40px;
  border-radius: 8px;
  background: rgba(16,185,129,0.12);
  border: 1px solid rgba(16,185,129,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 1rem;
  color: #10b981;
  flex-shrink: 0;
}
.cc-on-hero__pick-info { flex: 1; min-width: 0; }
.cc-on-hero__pick-name {
  font-size: 0.875rem;
  font-weight: 700;
  color: rgba(255,255,255,0.9);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 0.2rem;
}
.cc-on-hero__pick-row {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  flex-wrap: wrap;
}
.cc-on-hero__pick-score {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 800;
  color: var(--gold);
  margin-left: 2px;
}
.cc-on-hero__pick-badge {
  font-size: 0.4375rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--gold);
  background: rgba(245,200,66,0.10);
  border: 1px solid rgba(245,200,66,0.2);
  border-radius: 3px;
  padding: 0.1rem 0.3rem;
  margin-left: 3px;
}
.cc-on-hero__pick-bonus {
  font-size: 0.625rem;
  color: rgba(255,255,255,0.35);
  margin-top: 0.1rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-on-hero__pick-lic { flex-shrink: 0; }
.cc-on-hero__pick-arrow {
  color: rgba(255,255,255,0.2);
  flex-shrink: 0;
  transition: color 0.15s, transform 0.15s;
}
.cc-on-hero__pick:hover .cc-on-hero__pick-arrow {
  color: var(--gold);
  transform: translate(2px,-2px);
}

.cc-on-hero__see-all {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: rgba(255,255,255,0.3);
  text-decoration: none;
  padding: 0.625rem;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.06);
  transition: color 0.15s, border-color 0.15s;
}
.cc-on-hero__see-all:hover { color: var(--gold); border-color: var(--gold-border); }

/* Mini chips */
.cc-on-hero__chips {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 0.5rem;
}
.cc-on-hero__chip {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.375rem;
  background: rgba(10,14,22,0.82);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 12px;
  padding: 0.875rem 0.5rem;
  text-align: center;
}
.cc-on-hero__chip-icon {
  width: 32px; height: 32px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cc-on-hero__chip-num {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}
.cc-on-hero__chip-label {
  font-size: 0.4375rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(255,255,255,0.3);
  line-height: 1.3;
}

/* Market data link */
.cc-on-hero__mkt-link {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  background: rgba(245,200,66,0.05);
  border: 1px solid rgba(245,200,66,0.14);
  border-radius: 12px;
  padding: 0.875rem 1rem;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s;
}
.cc-on-hero__mkt-link:hover {
  background: rgba(245,200,66,0.09);
  border-color: var(--gold-border);
}
.cc-on-hero__mkt-icon {
  width: 34px; height: 34px;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-on-hero__mkt-label {
  font-size: 0.8125rem;
  font-weight: 700;
  color: rgba(255,255,255,0.8);
  margin-bottom: 0.125rem;
}
.cc-on-hero__mkt-sub {
  font-size: 0.6875rem;
  color: rgba(255,255,255,0.3);
  line-height: 1.4;
}

:root.light .cc-on-hero,
:root.light .cc-on-hero__bg,
:root.light .cc-on-hero__panel,
:root.light .cc-on-hero__igo-bar,
:root.light .cc-on-hero__chip {
  background: #07090f;
}
:root.light .cc-on-hero {
  --bg-main:       #07090f;
  --bg-card:       #0d1117;
  --bg-elevated:   #111827;
  --text-primary:  #ffffff;
  --text-secondary:#94a3b8;
  --text-muted:    #64748b;
  --text-faint:    #334155;
  --border-subtle: rgba(255,255,255,0.06);
  --border-mid:    rgba(255,255,255,0.10);
  --gold:          #F5C842;
  --gold-dim:      rgba(245,200,66,0.12);
  --gold-border:   rgba(245,200,66,0.22);
}

/* ═══════════════════════════════════════════════════════════════
   CASINO COMPARISON — WINNERS PODIUM HERO
═══════════════════════════════════════════════════════════════ */

.cc-cmp-hero {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}

/* Deep dark atmosphere with warm gold undertone */
.cc-cmp-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 50% at 50% -10%, rgba(245,200,66,0.09) 0%, transparent 55%),
    radial-gradient(ellipse 40% 60% at 0%   60%, rgba(99,102,241,0.05) 0%, transparent 50%),
    radial-gradient(ellipse 40% 60% at 100% 60%, rgba(245,200,66,0.06) 0%, transparent 50%),
    linear-gradient(180deg, #0d0b05 0%, #07090f 40%, #07090f 100%);
}

/* Subtle dot grid */
.cc-cmp-hero__grid {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none;
}

/* Three dramatic stage spotlights from above */
.cc-cmp-hero__spotlight {
  position: absolute;
  top: -80px;
  width: 220px;
  height: 500px;
  pointer-events: none;
  clip-path: polygon(30% 0%, 70% 0%, 100% 100%, 0% 100%);
  opacity: 0.06;
}
.cc-cmp-hero__spotlight--l {
  left: 55%;
  background: linear-gradient(180deg, rgba(192,192,192,1) 0%, transparent 80%);
  transform: translateX(-220px) rotate(-4deg);
}
.cc-cmp-hero__spotlight--c {
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, rgba(245,200,66,1) 0%, transparent 80%);
  opacity: 0.10;
  width: 260px;
}
.cc-cmp-hero__spotlight--r {
  left: 55%;
  transform: translateX(0px) rotate(4deg);
  background: linear-gradient(180deg, rgba(205,127,50,1) 0%, transparent 80%);
}

/* Confetti container */
.cc-cmp-hero__confetti {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

/* Inner layout */
.cc-cmp-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 480px;
  gap: 3rem;
  align-items: center;
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
  width: 100%;
}
@media (max-width: 1100px) {
  .cc-cmp-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-cmp-hero { min-height: auto; }
  .cc-cmp-hero__right { max-width: 520px; }
}

/* ── LEFT ── */
.cc-cmp-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1.25rem;
}

.cc-cmp-hero__title {
  font-size: clamp(2.5rem, 5vw, 3.75rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #ffffff;
  line-height: 1.0;
  margin-bottom: 1.125rem;
}
.cc-cmp-hero__title em {
  color: var(--gold);
  font-style: normal;
  display: block;
}
.cc-cmp-hero__title-vs {
  position: relative;
  display: inline-block;
}
.cc-cmp-hero__title-vs::after {
  content: 'VS';
  position: absolute;
  top: -0.5rem;
  right: -2.5rem;
  font-size: 0.4375rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  color: var(--gold);
  background: rgba(245,200,66,0.15);
  border: 1px solid rgba(245,200,66,0.3);
  border-radius: 4px;
  padding: 0.15rem 0.35rem;
  vertical-align: super;
  font-style: normal;
}

.cc-cmp-hero__desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.52);
  line-height: 1.78;
  max-width: 500px;
  margin-bottom: 1.75rem;
}

/* How it works steps */
.cc-cmp-hero__steps {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 1.75rem;
}
.cc-cmp-hero__step {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.cc-cmp-hero__step-num {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.6875rem;
  font-weight: 900;
  color: var(--gold);
  flex-shrink: 0;
}
.cc-cmp-hero__step-text {
  font-size: 0.75rem;
  font-weight: 600;
  color: rgba(255,255,255,0.5);
  white-space: nowrap;
}
.cc-cmp-hero__step-arrow { flex-shrink: 0; }

/* Stat chips */
.cc-cmp-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.cc-cmp-hero__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: rgba(255,255,255,0.55);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 100px;
  padding: 0.35rem 0.75rem;
}

/* ── RIGHT: Podium ── */
.cc-cmp-hero__right {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.cc-cmp-hero__podium-label {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  align-self: flex-start;
}

/* Podium stage */
.cc-cmp-hero__podium {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 0.625rem;
  width: 100%;
}

.cc-cmp-podium-slot {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
}

/* Casino card floating above the platform */
.cc-cmp-podium-card {
  background: rgba(10,14,22,0.90);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid var(--podium-color, var(--gold));
  border-radius: 16px;
  padding: 1rem 0.875rem 0.875rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  transition: transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 16px 40px rgba(0,0,0,0.4),
              0 0 0 1px rgba(255,255,255,0.04);
}
.cc-cmp-podium-slot--center .cc-cmp-podium-card {
  transform: scale(1.06);
  box-shadow: 0 20px 50px rgba(0,0,0,0.5),
              0 0 40px rgba(245,200,66,0.08),
              0 0 0 1px rgba(245,200,66,0.12);
}
.cc-cmp-podium-card:hover { transform: translateY(-4px); }
.cc-cmp-podium-slot--center .cc-cmp-podium-card:hover { transform: scale(1.06) translateY(-4px); }

.cc-cmp-podium-card__logo {
  width: 52px;
  height: 52px;
  object-fit: contain;
  border-radius: 10px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  padding: 4px;
  margin-bottom: 0.625rem;
}
.cc-cmp-podium-card__logo--fb {
  width: 52px;
  height: 52px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 1.25rem;
  margin-bottom: 0.625rem;
}
.cc-cmp-podium-card__name {
  font-size: 0.8125rem;
  font-weight: 800;
  color: rgba(255,255,255,0.9);
  margin-bottom: 0.375rem;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.cc-cmp-podium-card__stars {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.15rem;
  margin-bottom: 0.5rem;
}
.cc-cmp-podium-card__score {
  font-size: 0.5625rem;
  font-weight: 800;
  color: var(--gold);
  margin-left: 3px;
  font-family: var(--font-mono);
}
.cc-cmp-podium-card__badge {
  font-size: 0.4375rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border: 1px solid;
  border-radius: 100px;
  padding: 0.15rem 0.5rem;
  margin-bottom: 0.5rem;
}

/* Medal emoji floating top-right */
.cc-cmp-podium-card__medal {
  position: absolute;
  top: -10px;
  right: -6px;
  font-size: 1.375rem;
  line-height: 1;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,0.4));
}

/* The platform blocks */
.cc-cmp-podium-platform {
  width: 100%;
  border-radius: 8px 8px 4px 4px;
  margin-top: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.cc-cmp-podium-platform::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.1) 0%, transparent 40%);
  pointer-events: none;
}
.cc-cmp-podium-platform--center {
  height: 80px;
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--podium-color) 40%, #1a1500) 0%,
    color-mix(in srgb, var(--podium-color) 25%, #0d0b00) 100%);
  box-shadow: 0 8px 24px rgba(245,200,66,0.2), inset 0 1px 0 rgba(255,255,255,0.15);
}
.cc-cmp-podium-platform--left {
  height: 56px;
  background: linear-gradient(135deg,
    rgba(192,192,192,0.25) 0%,
    rgba(120,120,120,0.15) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
}
.cc-cmp-podium-platform--right {
  height: 40px;
  background: linear-gradient(135deg,
    rgba(205,127,50,0.25) 0%,
    rgba(140,80,20,0.15) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
}
.cc-cmp-podium-platform__rank {
  font-size: 1.25rem;
  font-weight: 900;
  color: var(--podium-color, #fff);
  opacity: 0.8;
  font-style: italic;
  text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}
.cc-cmp-podium-platform--center .cc-cmp-podium-platform__rank {
  font-size: 1.75rem;
  opacity: 1;
}

/* Bottom CTA */
.cc-cmp-hero__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.625rem 1.25rem;
  text-decoration: none;
  transition: background 0.15s, transform 0.15s;
  align-self: center;
}
.cc-cmp-hero__cta:hover {
  background: rgba(245,200,66,0.15);
  transform: translateY(-2px);
}

/* Light mode keeps dark — arena/stage context */
:root.light .cc-cmp-hero { background: #0d0b05; }

/* ═══════════════════════════════════════════════════════════════
   RESPONSIBLE GAMBLING HUB
═══════════════════════════════════════════════════════════════ */

/* ── HERO ── */
.cc-rg-hero {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-rg-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 55% 70% at 100% 40%, rgba(16,185,129,0.07) 0%, transparent 55%),
    radial-gradient(ellipse 40% 60% at 0%   60%, rgba(236,72,153,0.05) 0%, transparent 50%),
    radial-gradient(ellipse 60% 40% at 50% 110%, rgba(16,185,129,0.04) 0%, transparent 50%),
    linear-gradient(135deg, #07090f 0%, #080f0c 100%);
}
.cc-rg-hero__grid {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.032) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
}
/* Concentric pulse rings from right */
.cc-rg-hero__pulse-ring {
  position: absolute;
  right: 380px;
  top: 50%;
  transform: translate(50%, -50%);
  border-radius: 50%;
  border: 1px solid rgba(16,185,129,0.12);
  pointer-events: none;
  animation: cc-rg-ring 4s ease infinite;
}
.cc-rg-hero__pulse-ring--1 { width: 200px; height: 200px; animation-delay: 0s; }
.cc-rg-hero__pulse-ring--2 { width: 340px; height: 340px; animation-delay: 0.8s; opacity:0.6; }
@keyframes cc-rg-ring {
  0%   { transform: translate(50%,-50%) scale(0.8); opacity: 0.5; }
  100% { transform: translate(50%,-50%) scale(1.2); opacity: 0; }
}

.cc-rg-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 3.5rem;
  align-items: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
  width: 100%;
}
@media (max-width: 1100px) {
  .cc-rg-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-rg-hero { min-height: auto; }
}

.cc-rg-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #10b981;
  background: rgba(16,185,129,0.10);
  border: 1px solid rgba(16,185,129,0.22);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1.25rem;
}
.cc-rg-hero__heart-icon {
  width: 20px; height: 20px;
  background: rgba(16,185,129,0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #10b981;
}

.cc-rg-hero__title {
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #ffffff;
  line-height: 1.05;
  margin-bottom: 1.125rem;
}
.cc-rg-hero__title em { color: #10b981; font-style: italic; display: block; }
.cc-rg-hero__desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.54);
  line-height: 1.78;
  max-width: 520px;
  margin-bottom: 1.75rem;
}

.cc-rg-hero__emergency {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  background: rgba(16,185,129,0.07);
  border: 1px solid rgba(16,185,129,0.2);
  border-left: 3px solid #10b981;
  border-radius: 0 12px 12px 0;
  padding: 1rem 1.25rem;
  max-width: 500px;
  margin-bottom: 1.5rem;
}
.cc-rg-hero__emergency-icon {
  width: 36px; height: 36px;
  background: rgba(16,185,129,0.15);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #10b981;
  flex-shrink: 0;
}
.cc-rg-hero__emergency-label {
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: #10b981;
  margin-bottom: 0.3rem;
}
.cc-rg-hero__emergency-numbers { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 0.25rem; }
.cc-rg-hero__emergency-num { font-size: 0.875rem; font-weight: 600; color: rgba(255,255,255,0.8); text-decoration: none; }
.cc-rg-hero__emergency-num:hover { color: #10b981; }
.cc-rg-hero__emergency-sep { color: rgba(255,255,255,0.2); }
.cc-rg-hero__emergency-sub { font-size: 0.625rem; color: rgba(255,255,255,0.3); }

.cc-rg-hero__jumplinks { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.cc-rg-hero__jump {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: rgba(255,255,255,0.5);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 100px;
  padding: 0.35rem 0.75rem;
  text-decoration: none;
  transition: all 0.15s;
}
.cc-rg-hero__jump:hover { color: #10b981; border-color: rgba(16,185,129,0.3); background: rgba(16,185,129,0.06); }

/* Hero right panel */
.cc-rg-hero__panel {
  background: rgba(10,14,22,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid #10b981;
  border-radius: 20px;
  padding: 1.375rem;
  box-shadow: 0 24px 60px rgba(0,0,0,0.45);
}
.cc-rg-hero__panel-hdr {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 1rem;
}
.cc-rg-hero__facts {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 1.125rem;
  padding-bottom: 1.125rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.cc-rg-hero__fact { flex: 1; text-align: center; }
.cc-rg-hero__fact-div { width: 1px; height: 36px; background: rgba(255,255,255,0.07); flex-shrink: 0; }
.cc-rg-hero__fact-num { font-size: 1.75rem; font-weight: 900; line-height: 1; margin-bottom: 0.25rem; }
.cc-rg-hero__fact-label { font-size: 0.5rem; color: rgba(255,255,255,0.35); line-height: 1.4; }
.cc-rg-hero__panel-divider { font-size: 0.4375rem; font-weight: 800; letter-spacing: 0.10em; text-transform: uppercase; color: rgba(255,255,255,0.2); margin: 0.75rem 0 0.625rem; }
.cc-rg-hero__reqs { display: flex; flex-direction: column; gap: 0.375rem; margin-bottom: 0.875rem; }
.cc-rg-hero__req { display: flex; align-items: center; gap: 0.5rem; font-size: 0.75rem; color: rgba(255,255,255,0.55); }
.cc-rg-hero__panel-footer { display: flex; align-items: center; gap: 0.35rem; font-size: 0.5625rem; color: rgba(255,255,255,0.2); border-top: 1px solid rgba(255,255,255,0.05); padding-top: 0.75rem; }

/* ── BODY LAYOUT ── */
.cc-rg-body { background: var(--bg-main); padding: 3.5rem 0 5rem; }
.cc-rg-layout {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 1024px) {
  .cc-rg-layout { grid-template-columns: 1fr; }
  .cc-rg-sidebar { order: -1; display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
}
@media (max-width: 640px) { .cc-rg-sidebar { grid-template-columns: 1fr; } }

/* ── SECTIONS ── */
.cc-rg-section { margin-bottom: 3.5rem; scroll-margin-top: 80px; }
.cc-rg-section-hdr { margin-bottom: 1.5rem; }
.cc-rg-section-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.4rem;
}
.cc-rg-section-eyebrow--emerald { color: #10b981; }
.cc-rg-section-eyebrow--pink    { color: #ec4899; }
.cc-rg-section-eyebrow--gold    { color: var(--gold); }
.cc-rg-section-title {
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.015em;
  margin-bottom: 0.5rem;
}
.cc-rg-section-sub { font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.7; max-width: 640px; }
.cc-rg-prose { font-size: 1rem; color: var(--text-secondary); line-height: 1.8; margin-bottom: 1rem; }

/* Spectrum bar */
.cc-rg-spectrum { margin: 1.5rem 0; }
.cc-rg-spectrum__title { font-size: 0.6875rem; font-weight: 700; color: var(--text-muted); margin-bottom: 0.625rem; }
.cc-rg-spectrum__bar { display: flex; border-radius: 10px; overflow: hidden; height: 70px; gap: 2px; }
.cc-rg-spectrum__seg { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 0.375rem; }
.cc-rg-spectrum__seg-label { font-size: 0.5625rem; font-weight: 800; color: rgba(0,0,0,0.75); margin-bottom: 0.2rem; }
.cc-rg-spectrum__seg-desc { font-size: 0.4375rem; color: rgba(0,0,0,0.6); line-height: 1.3; }
.cc-rg-spectrum__note { font-size: 0.5625rem; color: var(--text-faint); margin-top: 0.375rem; }

/* Warning signs */
.cc-rg-warning-signs { background: var(--bg-card); border: 1px solid var(--border-subtle); border-left: 3px solid var(--gold); border-radius: 0 var(--radius-card) var(--radius-card) 0; padding: 1.25rem 1.5rem; margin-top: 1.5rem; }
.cc-rg-warning-signs__title { display: flex; align-items: center; gap: 0.5rem; font-size: 0.75rem; font-weight: 800; color: var(--gold); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 0.875rem; }
.cc-rg-warning-signs__grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 0.625rem; }
@media (max-width: 600px) { .cc-rg-warning-signs__grid { grid-template-columns: 1fr; } }
.cc-rg-warning-item { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.5; }

/* ── PGSI QUIZ ── */
.cc-pgsi-quiz {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}
.cc-pgsi-quiz__intro {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.375rem 1.5rem;
  background: rgba(236,72,153,0.05);
  border-bottom: 1px solid rgba(236,72,153,0.12);
}
.cc-pgsi-quiz__intro-icon { flex-shrink: 0; margin-top: 0.125rem; }
.cc-pgsi-quiz__intro-title { font-size: 1rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.25rem; }
.cc-pgsi-quiz__intro-sub { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.55; }

.cc-pgsi-question {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--border-subtle);
  transition: background 0.15s;
}
.cc-pgsi-question:hover { background: var(--bg-glass); }
.cc-pgsi-question__num {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 800;
  color: rgba(236,72,153,0.6);
  min-width: 1.5rem;
  padding-top: 0.25rem;
  flex-shrink: 0;
}
.cc-pgsi-question__body { flex: 1; }
.cc-pgsi-question__text { font-size: 0.9375rem; font-weight: 600; color: var(--text-primary); margin-bottom: 0.75rem; line-height: 1.5; }
.cc-pgsi-question__opts { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.cc-pgsi-radio { position: absolute; opacity: 0; pointer-events: none; }
.cc-pgsi-opt { cursor: pointer; }
.cc-pgsi-opt__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  padding: 0.5rem 0.75rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  transition: all 0.15s;
  min-width: 72px;
  text-align: center;
}
.cc-pgsi-opt__btn:hover { border-color: rgba(236,72,153,0.3); background: rgba(236,72,153,0.05); }
.cc-pgsi-opt__btn.is-selected {
  background: rgba(236,72,153,0.12);
  border-color: rgba(236,72,153,0.4);
  box-shadow: 0 0 0 1px rgba(236,72,153,0.2);
}
.cc-pgsi-opt__score { font-family: var(--font-mono); font-size: 1.0625rem; font-weight: 900; color: var(--text-muted); }
.cc-pgsi-opt__btn.is-selected .cc-pgsi-opt__score { color: #ec4899; }
.cc-pgsi-opt__label { font-size: 0.5625rem; font-weight: 700; color: var(--text-muted); white-space: nowrap; }
.cc-pgsi-opt__btn.is-selected .cc-pgsi-opt__label { color: #ec4899; }

.cc-pgsi-quiz__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  background: var(--bg-elevated);
  border-top: 1px solid var(--border-subtle);
}
.cc-pgsi-submit { min-width: 200px; }
.cc-pgsi-submit:disabled { opacity: 0.4; cursor: not-allowed; }
.cc-pgsi-quiz__progress { font-size: 0.75rem; color: var(--text-muted); font-family: var(--font-mono); }

/* PGSI Result */
.cc-pgsi-result { padding: 1.5rem; }
.cc-pgsi-result__score-row {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.cc-pgsi-result__score-wrap {
  position: relative;
  width: 120px;
  flex-shrink: 0;
}
.cc-pgsi-result__arc { width: 120px; display: block; }
.cc-pgsi-result__score-num {
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  font-size: 2.5rem;
  font-weight: 900;
  color: var(--text-primary);
  line-height: 1;
}
.cc-pgsi-result__score-denom {
  position: absolute;
  bottom: 0; right: 8px;
  font-family: var(--font-mono);
  font-size: 0.625rem;
  color: var(--text-muted);
}
.cc-pgsi-result__verdict { flex: 1; }
.cc-pgsi-result__verdict-badge {
  display: inline-flex;
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-radius: 100px;
  padding: 0.2rem 0.625rem;
  margin-bottom: 0.5rem;
}
.cc-pgsi-result__verdict-title { font-size: 1.125rem; font-weight: 800; margin-bottom: 0.5rem; }
.cc-pgsi-result__verdict-text { font-size: 0.9rem; color: var(--text-secondary); line-height: 1.65; }
.cc-pgsi-result__actions { display: flex; flex-wrap: wrap; gap: 0.625rem; margin-bottom: 1rem; }
.cc-pgsi-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.8125rem;
  font-weight: 700;
  padding: 0.625rem 1rem;
  border-radius: 10px;
  text-decoration: none;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  color: var(--text-primary);
  transition: all 0.15s;
}
.cc-pgsi-action-btn:hover { border-color: var(--gold); color: var(--gold); }
.cc-pgsi-action-btn--emergency {
  background: rgba(239,68,68,0.10);
  border-color: rgba(239,68,68,0.3);
  color: #ef4444;
}
.cc-pgsi-action-btn--emergency:hover { background: rgba(239,68,68,0.18); }
.cc-pgsi-result__disclaimer { font-size: 0.6875rem; color: var(--text-muted); line-height: 1.6; margin-bottom: 1rem; }
.cc-pgsi-result__disclaimer a { color: #10b981; }
.cc-pgsi-retake {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--text-muted);
  background: none;
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  padding: 0.5rem 0.875rem;
  cursor: pointer;
  transition: color 0.15s, border-color 0.15s;
}
.cc-pgsi-retake:hover { color: var(--text-primary); border-color: var(--border-mid); }

/* ── TOOLS GRID ── */
.cc-rg-tools-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin-bottom: 2rem; }
@media (max-width: 900px) { .cc-rg-tools-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 540px) { .cc-rg-tools-grid { grid-template-columns: 1fr; } }
.cc-rg-tool-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.25rem;
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.cc-rg-tool-card__icon {
  width: 44px; height: 44px;
  border: 1px solid;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cc-rg-tool-card__title { font-size: 0.9375rem; font-weight: 800; }
.cc-rg-tool-card__desc { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.6; flex: 1; }
.cc-rg-tool-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.6875rem;
  font-weight: 700;
  text-decoration: none;
  margin-top: auto;
}
.cc-rg-tool-card__link:hover { opacity: 0.8; }

/* Blockers */
.cc-rg-blockers { background: var(--bg-elevated); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); padding: 1.5rem; }
.cc-rg-blockers__title { display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; font-weight: 800; color: var(--text-primary); margin-bottom: 0.5rem; }
.cc-rg-blockers__desc { font-size: 0.875rem; color: var(--text-secondary); line-height: 1.65; margin-bottom: 1rem; }
.cc-rg-blockers__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 0.75rem; }
@media (max-width: 700px) { .cc-rg-blockers__grid { grid-template-columns: 1fr; } }
.cc-rg-blocker-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 1rem;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  transition: border-color 0.15s, transform 0.15s;
}
.cc-rg-blocker-card:hover { border-color: var(--gold-border); transform: translateY(-2px); }
.cc-rg-blocker-card__name { font-size: 0.9375rem; font-weight: 800; color: var(--text-primary); }
.cc-rg-blocker-card__desc { font-size: 0.75rem; color: var(--text-secondary); line-height: 1.55; flex: 1; }
.cc-rg-blocker-card__tag { display: inline-flex; font-size: 0.5rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; background: rgba(255,255,255,0.06); color: var(--text-muted); border-radius: 4px; padding: 0.1rem 0.4rem; width: fit-content; }
.cc-rg-blocker-card__tag--free { background: rgba(16,185,129,0.12); color: #10b981; }

/* ── FRAMEWORK ── */
.cc-rg-framework-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
@media (max-width: 900px) { .cc-rg-framework-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 540px) { .cc-rg-framework-grid { grid-template-columns: 1fr; } }
.cc-rg-framework-card { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); padding: 1.25rem; box-shadow: var(--shadow-card); }
.cc-rg-framework-card__num {
  width: 36px; height: 36px;
  border: 1px solid;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 900;
  margin-bottom: 0.75rem;
}
.cc-rg-framework-card__title { font-size: 0.9375rem; font-weight: 800; margin-bottom: 0.5rem; }
.cc-rg-framework-card__desc { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.65; }

/* ── RESOURCES ── */
.cc-rg-resources-region { margin-bottom: 2rem; }
.cc-rg-resources-region__title {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.875rem;
}
.cc-rg-resources-region__dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.cc-rg-resource-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.cc-rg-resource-cards--2col { grid-template-columns: repeat(2,1fr); }
@media (max-width: 860px) { .cc-rg-resource-cards { grid-template-columns: 1fr; } .cc-rg-resource-cards--2col { grid-template-columns: 1fr; } }
.cc-rg-resource-card { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); overflow: hidden; box-shadow: var(--shadow-card); }
.cc-rg-resource-card--featured { border-color: rgba(16,185,129,0.2); }
.cc-rg-resource-card__header { padding: 1rem 1.25rem; border-bottom: 1px solid var(--border-subtle); }
.cc-rg-resource-card__org-name { font-size: 1rem; font-weight: 800; color: var(--text-primary); margin-bottom: 0.125rem; }
.cc-rg-resource-card__org-type { font-size: 0.625rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-muted); }
.cc-rg-resource-card__body { padding: 1rem 1.25rem; }
.cc-rg-resource-card__body p { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.6; margin-bottom: 0.875rem; }
.cc-rg-resource-card__contacts { display: flex; flex-direction: column; gap: 0.375rem; margin-bottom: 0.75rem; }
.cc-rg-contact-item {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text-secondary);
  text-decoration: none;
  transition: color 0.15s;
}
.cc-rg-contact-item--phone { font-weight: 800; color: var(--text-primary); }
.cc-rg-contact-item:hover { color: #10b981; }
.cc-rg-resource-card__tags { display: flex; flex-wrap: wrap; gap: 0.375rem; }
.cc-rg-tag { font-size: 0.5625rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; background: rgba(255,255,255,0.05); color: var(--text-muted); border-radius: 4px; padding: 0.15rem 0.5rem; }
.cc-rg-tag--green { background: rgba(16,185,129,0.12); color: #10b981; }

/* Provincial quick list */
.cc-rg-provincial-quick { background: var(--bg-elevated); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); padding: 1.25rem; margin-top: 1rem; }
.cc-rg-provincial-quick__title { font-size: 0.6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); margin-bottom: 0.875rem; }
.cc-rg-provincial-quick__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 0.5rem; }
@media (max-width: 800px) { .cc-rg-provincial-quick__grid { grid-template-columns: repeat(2,1fr); } }
.cc-rg-prov-line { display: flex; flex-direction: column; gap: 0.15rem; padding: 0.625rem; background: var(--bg-glass); border: 1px solid var(--border-subtle); border-radius: 8px; }
.cc-rg-prov-line__prov { font-size: 0.625rem; font-weight: 800; color: var(--text-primary); }
.cc-rg-prov-line__org { font-size: 0.5rem; color: var(--text-muted); }
.cc-rg-prov-line__num { font-family: var(--font-mono); font-size: 0.6875rem; font-weight: 700; color: #10b981; text-decoration: none; }
.cc-rg-prov-line__num:hover { color: var(--gold); }

/* ── FAMILY ── */
.cc-rg-family-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
@media (max-width: 700px) { .cc-rg-family-grid { grid-template-columns: 1fr; } }
.cc-rg-family-steps { display: flex; flex-direction: column; gap: 0.875rem; }
.cc-rg-family-step { display: flex; align-items: flex-start; gap: 0.875rem; }
.cc-rg-family-step__icon { width: 36px; height: 36px; border-radius: 9px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cc-rg-family-step__title { font-size: 0.875rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.2rem; }
.cc-rg-family-step__desc { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.6; }

/* ── SIDEBAR ── */
.cc-rg-sidebar { position: sticky; top: 88px; display: flex; flex-direction: column; gap: 1.125rem; }
.cc-rg-sidebar-card { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); padding: 1.125rem; box-shadow: var(--shadow-card); }
.cc-rg-sidebar-card--emergency { border-color: rgba(16,185,129,0.25); background: linear-gradient(135deg, rgba(16,185,129,0.05) 0%, var(--bg-card) 60%); }
.cc-rg-sidebar-card--quiz { border-color: rgba(236,72,153,0.2); cursor: pointer; transition: border-color 0.15s; }
.cc-rg-sidebar-card--quiz:hover { border-color: rgba(236,72,153,0.4); }
.cc-rg-sidebar-card__hdr { display: flex; align-items: center; gap: 0.4rem; font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.10em; text-transform: uppercase; color: var(--gold); margin-bottom: 0.875rem; }
.cc-rg-sidebar-hotline { display: block; text-decoration: none; background: rgba(16,185,129,0.08); border: 1px solid rgba(16,185,129,0.2); border-radius: 10px; padding: 0.875rem 1rem; margin-bottom: 0.625rem; transition: background 0.15s; }
.cc-rg-sidebar-hotline:hover { background: rgba(16,185,129,0.14); }
.cc-rg-sidebar-hotline__org { font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: #10b981; margin-bottom: 0.125rem; }
.cc-rg-sidebar-hotline__num { font-family: var(--font-mono); font-size: 1.0625rem; font-weight: 900; color: var(--text-primary); }
.cc-rg-sidebar-hotline__meta { font-size: 0.5625rem; color: rgba(255,255,255,0.3); margin-top: 0.125rem; }
.cc-rg-sidebar-link { display: flex; align-items: center; gap: 0.375rem; font-size: 0.75rem; font-weight: 600; color: var(--text-secondary); text-decoration: none; padding: 0.375rem 0; border-bottom: 1px solid var(--border-subtle); transition: color 0.15s; }
.cc-rg-sidebar-link:last-of-type { border-bottom: none; }
.cc-rg-sidebar-link:hover { color: #10b981; }
.cc-rg-sidebar-text { font-size: 0.6875rem; color: var(--text-muted); padding-top: 0.5rem; }
.cc-rg-sidebar-cta-btn { display: block; text-align: center; font-size: 0.75rem; font-weight: 800; color: #ec4899; background: rgba(236,72,153,0.10); border: 1px solid rgba(236,72,153,0.25); border-radius: 8px; padding: 0.5rem; margin-top: 0.375rem; }
.cc-rg-sidebar-tool { display: flex; align-items: center; gap: 0.625rem; padding: 0.5rem 0; border-bottom: 1px solid var(--border-subtle); text-decoration: none; transition: opacity 0.15s; }
.cc-rg-sidebar-tool:last-child { border-bottom: none; }
.cc-rg-sidebar-tool:hover { opacity: 0.8; }
.cc-rg-sidebar-tool__icon { width: 28px; height: 28px; border-radius: 7px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cc-rg-sidebar-tool span { font-size: 0.8125rem; font-weight: 600; color: var(--text-secondary); flex: 1; }
.cc-rg-sidebar-habit { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.75rem; color: var(--text-secondary); padding: 0.4rem 0; border-bottom: 1px solid var(--border-subtle); line-height: 1.4; }
.cc-rg-sidebar-habit:last-child { border-bottom: none; }
.cc-rg-sidebar-habit__num { font-family: var(--font-mono); font-size: 0.5625rem; font-weight: 800; color: var(--gold); flex-shrink: 0; padding-top: 0.1rem; }

:root.light .cc-rg-hero { background: #07090f; }
:root.light .cc-pgsi-quiz { background: #ffffff; }

/* ═══════════════════════════════════════════════════════════════
   GUIDES HUB — NEW HERO
═══════════════════════════════════════════════════════════════ */

.cc-guides-new-hero {
  position: relative;
  min-height: 540px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}

/* Background: dark with multi-colour knowledge palette */
.cc-guides-new-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 50% 70% at 100% 30%, rgba(245,200,66,0.07) 0%, transparent 55%),
    radial-gradient(ellipse 40% 60% at 0%   70%, rgba(99,102,241,0.05) 0%, transparent 50%),
    radial-gradient(ellipse 60% 40% at 50% 110%, rgba(16,185,129,0.04) 0%, transparent 50%),
    radial-gradient(ellipse 30% 50% at 80%   0%, rgba(236,72,153,0.04) 0%, transparent 45%),
    linear-gradient(145deg, #07090f 0%, #0a0b10 50%, #07090f 100%);
}

/* Dot grid */
.cc-guides-new-hero__grid {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
}

/* Three angled beams of light from top */
.cc-guides-new-hero__beam {
  position: absolute;
  top: -40px;
  width: 180px;
  height: 420px;
  pointer-events: none;
  clip-path: polygon(25% 0%, 75% 0%, 100% 100%, 0% 100%);
  opacity: 0;
  animation: cc-beam-fade 6s ease infinite;
}
.cc-guides-new-hero__beam--l {
  right: 52%;
  background: linear-gradient(180deg, rgba(16,185,129,0.6) 0%, transparent 80%);
  animation-delay: 0s;
}
.cc-guides-new-hero__beam--c {
  right: 38%;
  width: 220px;
  background: linear-gradient(180deg, rgba(245,200,66,0.7) 0%, transparent 80%);
  animation-delay: 1.5s;
}
.cc-guides-new-hero__beam--r {
  right: 24%;
  background: linear-gradient(180deg, rgba(99,102,241,0.5) 0%, transparent 80%);
  animation-delay: 3s;
}
@keyframes cc-beam-fade {
  0%, 100% { opacity: 0; }
  20%, 60%  { opacity: 0.045; }
}

/* Inner two-column layout */
.cc-guides-new-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 3.5rem;
  align-items: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
  width: 100%;
}
@media (max-width: 1100px) {
  .cc-guides-new-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-guides-new-hero { min-height: auto; }
}

/* ── LEFT ── */
.cc-guides-new-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1.25rem;
}

.cc-guides-new-hero__title {
  font-size: clamp(2.5rem, 5vw, 3.75rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #ffffff;
  line-height: 1.0;
  margin-bottom: 1.125rem;
}
.cc-guides-new-hero__title em {
  /* Animated gradient text — shifts through the four guide colours */
  background: linear-gradient(90deg, #10b981, #6366f1, #f59e0b, #ec4899, #10b981);
  background-size: 300% 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-style: italic;
  display: block;
  animation: cc-guides-gradient 8s linear infinite;
}
@keyframes cc-guides-gradient {
  0%   { background-position: 0% 50%; }
  100% { background-position: 300% 50%; }
}

.cc-guides-new-hero__desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.54);
  line-height: 1.78;
  max-width: 500px;
  margin-bottom: 1.75rem;
}

/* Guide chips (four featured links) */
.cc-guides-new-hero__chips {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin-bottom: 1.75rem;
  max-width: 500px;
}
.cc-guides-hero-chip {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-left: 2px solid var(--chip-c, var(--gold));
  border-radius: 0 10px 10px 0;
  padding: 0.625rem 0.75rem;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s, transform 0.15s;
}
.cc-guides-hero-chip:hover {
  background: color-mix(in srgb, var(--chip-c, var(--gold)) 8%, transparent);
  border-right-color: color-mix(in srgb, var(--chip-c, var(--gold)) 30%, transparent);
  border-top-color: color-mix(in srgb, var(--chip-c, var(--gold)) 30%, transparent);
  border-bottom-color: color-mix(in srgb, var(--chip-c, var(--gold)) 30%, transparent);
  transform: translateX(3px);
}
.cc-guides-hero-chip:hover .cc-guides-hero-chip__arrow {
  color: var(--chip-c, var(--gold)) !important;
  transform: translateX(3px);
}
.cc-guides-hero-chip__icon {
  width: 30px; height: 30px;
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-guides-hero-chip__body { flex: 1; min-width: 0; }
.cc-guides-hero-chip__title {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  color: rgba(255,255,255,0.85);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-guides-hero-chip__time {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.5rem;
  color: rgba(255,255,255,0.25);
  font-weight: 600;
  margin-top: 0.1rem;
}

.cc-guides-new-hero__ctas { display: flex; gap: 0.75rem; flex-wrap: wrap; }

/* ── RIGHT ── */
.cc-guides-new-hero__right {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* Stat strip */
.cc-guides-new-hero__stats {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  background: rgba(245,200,66,0.06);
  border: 1px solid rgba(245,200,66,0.15);
  border-radius: 100px;
  padding: 0.75rem 1.25rem;
}
.cc-guides-new-hero__stat { text-align: center; flex: 1; }
.cc-guides-new-hero__stat-num {
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
  display: block;
}
.cc-guides-new-hero__stat-label {
  font-size: 0.4375rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255,255,255,0.3);
  margin-top: 0.15rem;
}
.cc-guides-new-hero__stat-sep {
  width: 1px; height: 28px;
  background: rgba(245,200,66,0.2);
  flex-shrink: 0;
}

/* Curriculum preview panel */
.cc-guides-new-hero__panel {
  background: rgba(10,14,22,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid var(--gold);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.45), 0 0 40px rgba(245,200,66,0.04);
}
.cc-guides-new-hero__panel-hdr {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  padding: 0.875rem 1.125rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.cc-guides-new-hero__panel-badge {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 800;
  color: rgba(255,255,255,0.25);
  background: rgba(255,255,255,0.05);
  border-radius: 100px;
  padding: 0.1rem 0.5rem;
}

/* Individual guide rows inside the panel */
.cc-guides-hero-row,
div.cc-guides-hero-row {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.625rem 1.125rem;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  text-decoration: none;
  transition: background 0.12s;
  position: relative;
}
a.cc-guides-hero-row:hover { background: rgba(255,255,255,0.04); }
a.cc-guides-hero-row:hover::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 2px;
  background: var(--row-color, var(--gold));
}
.cc-guides-hero-row--locked { opacity: 0.45; cursor: default; }

.cc-guides-hero-row__num {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 900;
  min-width: 20px;
  flex-shrink: 0;
}
.cc-guides-hero-row__icon {
  width: 24px; height: 24px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-guides-hero-row__title {
  font-size: 0.8125rem;
  font-weight: 600;
  color: rgba(255,255,255,0.85);
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-guides-hero-row__time {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 700;
  color: rgba(255,255,255,0.25);
  flex-shrink: 0;
}

.cc-guides-new-hero__panel-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.75rem;
  font-size: 0.6875rem;
  font-weight: 700;
  color: rgba(255,255,255,0.25);
  text-decoration: none;
  transition: color 0.15s;
  border-top: 1px solid rgba(255,255,255,0.04);
}
.cc-guides-new-hero__panel-footer:hover { color: var(--gold); }

/* Trust line */
.cc-guides-new-hero__trust {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.cc-guides-new-hero__trust-item {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.625rem;
  font-weight: 600;
  color: rgba(255,255,255,0.3);
}
.cc-guides-new-hero__trust-sep {
  width: 3px; height: 3px;
  border-radius: 50%;
  background: rgba(255,255,255,0.15);
}

:root.light .cc-guides-new-hero { background: #07090f; }

/* ═══════════════════════════════════════════════════════════════
   PODCASTS HUB — FULL SYSTEM
   Hero · Sticky Player · Author Tiles · Episode Grids · Lists
   Sidebar · Section Headers · Category Nav
═══════════════════════════════════════════════════════════════ */

/* ── STICKY AUDIO PLAYER ─────────────────────────────────────── */
.cc-pod-player {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 9999;
  background: rgba(10,13,20,0.96);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-top: 1px solid rgba(245,200,66,0.25);
  box-shadow: 0 -8px 40px rgba(0,0,0,0.55);
  animation: cc-pod-player-in 0.3s cubic-bezier(0.16,1,0.3,1);
}
@keyframes cc-pod-player-in {
  from { transform: translateY(100%); }
  to   { transform: translateY(0); }
}
.cc-pod-player__inner {
  display: flex;
  align-items: center;
  gap: 1rem;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0.625rem 1.5rem;
}

/* Thumbnail */
.cc-pod-player__thumb-wrap { flex-shrink: 0; }
.cc-pod-player__thumb {
  width: 44px; height: 44px;
  border-radius: 8px;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,0.1);
  display: block;
}

/* Title/cat */
.cc-pod-player__info { min-width: 0; flex: 0 0 220px; }
.cc-pod-player__ep-cat {
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: var(--gold);
  margin-bottom: 0.15rem;
}
.cc-pod-player__ep-title {
  font-size: 0.8125rem;
  font-weight: 700;
  color: rgba(255,255,255,0.9);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Transport controls */
.cc-pod-player__controls {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-shrink: 0;
}
.cc-pod-player__btn {
  background: none;
  border: none;
  cursor: pointer;
  color: rgba(255,255,255,0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.15s, transform 0.15s;
  padding: 0.25rem;
  position: relative;
}
.cc-pod-player__btn:hover { color: #ffffff; }
.cc-pod-player__btn--skip {
  flex-direction: column;
  gap: 0;
}
.cc-pod-player__btn--skip span {
  font-family: var(--font-mono);
  font-size: 0.4375rem;
  font-weight: 900;
  line-height: 1;
  color: rgba(255,255,255,0.35);
  margin-top: -3px;
}
.cc-pod-player__btn--play {
  width: 40px; height: 40px;
  background: var(--gold);
  border-radius: 50%;
  color: #000;
  flex-shrink: 0;
}
.cc-pod-player__btn--play:hover {
  background: #ffd83d;
  transform: scale(1.08);
}

/* Progress bar */
.cc-pod-player__progress-wrap {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}
.cc-pod-player__time {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 700;
  color: rgba(255,255,255,0.35);
  flex-shrink: 0;
  min-width: 30px;
}
.cc-pod-player__progress {
  flex: 1;
  -webkit-appearance: none;
  appearance: none;
  height: 4px;
  border-radius: 2px;
  background: rgba(255,255,255,0.1);
  outline: none;
  cursor: pointer;
}
.cc-pod-player__progress::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 14px; height: 14px;
  border-radius: 50%;
  background: var(--gold);
  cursor: pointer;
  box-shadow: 0 0 6px rgba(245,200,66,0.5);
}
.cc-pod-player__progress::-webkit-slider-runnable-track {
  background: linear-gradient(to right, var(--gold) var(--progress, 0%), rgba(255,255,255,0.1) var(--progress, 0%));
}

/* Right controls */
.cc-pod-player__right {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
}
.cc-pod-player__vol-wrap {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
.cc-pod-player__vol {
  -webkit-appearance: none;
  appearance: none;
  width: 64px; height: 3px;
  border-radius: 2px;
  background: rgba(255,255,255,0.15);
  cursor: pointer;
  outline: none;
}
.cc-pod-player__vol::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 12px; height: 12px;
  border-radius: 50%;
  background: rgba(255,255,255,0.7);
  cursor: pointer;
}
.cc-pod-player__close {
  background: none;
  border: none;
  cursor: pointer;
  color: rgba(255,255,255,0.3);
  padding: 0.25rem;
  transition: color 0.15s;
}
.cc-pod-player__close:hover { color: rgba(255,255,255,0.8); }

@media (max-width: 640px) {
  .cc-pod-player__info { display: none; }
  .cc-pod-player__vol-wrap { display: none; }
}

/* ── HERO ────────────────────────────────────────────────────── */
.cc-pod-hero {
  position: relative;
  min-height: 580px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}

/* Deep black with warm amber-gold atmosphere */
.cc-pod-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 55% 60% at 100% 20%, rgba(245,200,66,0.09) 0%, transparent 55%),
    radial-gradient(ellipse 40% 50% at 0%   80%, rgba(245,200,66,0.05) 0%, transparent 50%),
    radial-gradient(ellipse 50% 40% at 50% 110%, rgba(99,102,241,0.04) 0%, transparent 50%),
    linear-gradient(135deg, #07090f 0%, #0c0a05 100%);
}

/* Animated waveform bars across the full width */
.cc-pod-hero__waveform {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 120px;
  display: flex;
  align-items: flex-end;
  gap: 3px;
  padding: 0 1rem;
  pointer-events: none;
}
.cc-pod-hero__wave-bar {
  flex: 1;
  background: rgba(245,200,66,0.12);
  border-radius: 2px 2px 0 0;
  animation: cc-wave-bounce 1.4s ease-in-out infinite alternate;
  transform-origin: bottom;
}
@keyframes cc-wave-bounce {
  0%   { transform: scaleY(0.3); opacity: 0.4; }
  100% { transform: scaleY(1.0); opacity: 0.85; }
}

/* Gradient veil over waveform so it fades into content */
.cc-pod-hero__veil {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 140px;
  background: linear-gradient(to top, var(--bg-main) 0%, transparent 100%);
  pointer-events: none;
}

/* Inner two-col grid */
.cc-pod-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 4rem;
  align-items: center;
  padding-top: 4rem;
  padding-bottom: 5rem;
  width: 100%;
}
@media (max-width: 1100px) {
  .cc-pod-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-pod-hero { min-height: auto; }
}

/* Eyebrow */
.cc-pod-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1.25rem;
}
/* Pulsing live dot */
.cc-pod-hero__live-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #ef4444;
  box-shadow: 0 0 0 0 rgba(239,68,68,0.6);
  animation: cc-live-pulse 1.8s ease infinite;
  flex-shrink: 0;
}
@keyframes cc-live-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(239,68,68,0.6); }
  70%  { box-shadow: 0 0 0 7px rgba(239,68,68,0); }
  100% { box-shadow: 0 0 0 0 rgba(239,68,68,0); }
}

.cc-pod-hero__title {
  font-size: clamp(2.5rem, 5vw, 3.75rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #ffffff;
  line-height: 1.0;
  margin-bottom: 1.125rem;
}
.cc-pod-hero__title em {
  color: var(--gold);
  font-style: italic;
  display: block;
}
.cc-pod-hero__desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.52);
  line-height: 1.78;
  max-width: 480px;
  margin-bottom: 1.75rem;
}

/* Stats row */
.cc-pod-hero__stats {
  display: inline-flex;
  align-items: center;
  gap: 1.25rem;
  background: rgba(245,200,66,0.06);
  border: 1px solid rgba(245,200,66,0.15);
  border-radius: 100px;
  padding: 0.625rem 1.25rem;
  margin-bottom: 1.75rem;
}
.cc-pod-hero__stat { text-align: center; }
.cc-pod-hero__stat-num { font-size: 1.25rem; font-weight: 900; color: var(--gold); line-height: 1; }
.cc-pod-hero__stat-label { font-size: 0.4375rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: rgba(255,255,255,0.25); margin-top: 0.1rem; }
.cc-pod-hero__stat-sep { width: 1px; height: 24px; background: rgba(245,200,66,0.2); }

/* Platform pills */
.cc-pod-hero__platforms-label {
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: rgba(255,255,255,0.25);
  margin-bottom: 0.625rem;
}
.cc-pod-hero__platform-pills { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.cc-pod-platform-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.6875rem;
  font-weight: 700;
  color: rgba(255,255,255,0.55);
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 100px;
  padding: 0.375rem 0.75rem;
  text-decoration: none;
  transition: all 0.15s;
}
.cc-pod-platform-pill:hover { color: #fff; border-color: rgba(255,255,255,0.2); }
.cc-pod-platform-pill--spotify { color: #1DB954; border-color: rgba(29,185,84,0.25); background: rgba(29,185,84,0.07); }
.cc-pod-platform-pill--spotify:hover { background: rgba(29,185,84,0.14); }

/* Hero right — featured episode card */
.cc-pod-hero__featured {
  background: rgba(10,14,22,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid var(--gold);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.5), 0 0 60px rgba(245,200,66,0.05);
}
.cc-pod-hero__featured-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: var(--gold);
  padding: 0.75rem 1.25rem 0;
}

/* Artwork with play overlay */
.cc-pod-hero__featured-art {
  position: relative;
  aspect-ratio: 16/7;
  overflow: hidden;
  margin: 0.75rem 1.25rem;
  border-radius: 12px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
}
.cc-pod-hero__featured-img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.cc-pod-hero__featured-art:hover .cc-pod-hero__featured-img { transform: scale(1.04); }
.cc-pod-hero__featured-placeholder {
  width: 100%; height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(245,200,66,0.06) 0%, transparent 60%);
}
.cc-pod-hero__featured-play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0);
  border: none;
  cursor: pointer;
  transition: background 0.2s;
}
.cc-pod-hero__featured-play::before {
  content: '';
  width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--gold);
  position: absolute;
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 0.2s, transform 0.2s;
}
.cc-pod-hero__featured-play i { position: relative; z-index: 1; opacity: 0; transition: opacity 0.2s; color: #000; }
.cc-pod-hero__featured-art:hover .cc-pod-hero__featured-play::before { opacity: 1; transform: scale(1); }
.cc-pod-hero__featured-art:hover .cc-pod-hero__featured-play i { opacity: 1; }
.cc-pod-hero__featured-play.is-playing::before { opacity: 1; transform: scale(1); }
.cc-pod-hero__featured-play.is-playing i { opacity: 1; }

/* Info below artwork */
.cc-pod-hero__featured-info { padding: 0 1.25rem 1.25rem; }
.cc-pod-hero__featured-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.625rem;
  font-size: 0.625rem;
  font-weight: 700;
  color: rgba(255,255,255,0.3);
  margin-bottom: 0.625rem;
}
.cc-pod-hero__featured-cat {
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.1rem 0.5rem;
  font-size: 0.5625rem;
}
.cc-pod-hero__featured-title {
  font-size: 1rem;
  font-weight: 800;
  color: #ffffff;
  line-height: 1.3;
  margin-bottom: 0.5rem;
}
.cc-pod-hero__featured-excerpt {
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.45);
  line-height: 1.65;
  margin-bottom: 0.875rem;
}
.cc-pod-hero__featured-host {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(255,255,255,0.06);
}
.cc-pod-hero__featured-host-img {
  width: 32px; height: 32px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,0.1);
  flex-shrink: 0;
}
.cc-pod-hero__featured-host-fb {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8125rem;
  font-weight: 900;
  color: var(--gold);
  flex-shrink: 0;
}
.cc-pod-hero__featured-host-name { font-size: 0.75rem; font-weight: 700; color: rgba(255,255,255,0.8); }
.cc-pod-hero__featured-host-role { font-size: 0.5rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: rgba(255,255,255,0.25); }

/* ── BODY LAYOUT ─────────────────────────────────────────────── */
.cc-pod-body {
  background: var(--bg-main);
  padding: 3.5rem 0 6rem;
}
.cc-pod-layout {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 1024px) {
  .cc-pod-layout { grid-template-columns: 1fr; }
  .cc-pod-sidebar { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
}
@media (max-width: 600px) {
  .cc-pod-sidebar { grid-template-columns: 1fr; }
}

/* ── SECTION HEADERS ─────────────────────────────────────────── */
.cc-pod-section { margin-bottom: 3.5rem; scroll-margin-top: 80px; }
.cc-pod-section-hdr {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  margin-bottom: 1.375rem;
  padding-bottom: 0.875rem;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-pod-section-eyebrow {
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--text-muted);
  width: 100%;
}
.cc-pod-section-eyebrow--gold  { color: var(--gold); }
.cc-pod-section-eyebrow--pink  { color: #ec4899; }
.cc-pod-section-title {
  font-size: 1.375rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.015em;
  flex: 1;
}
.cc-pod-section-link {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--gold);
  text-decoration: none;
  margin-left: auto;
  transition: opacity 0.15s;
}
.cc-pod-section-link:hover { opacity: 0.7; }

/* ── AUTHOR TILES ────────────────────────────────────────────── */
.cc-pod-authors-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 1rem;
}
.cc-pod-author-tile {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.375rem 1rem;
  text-align: center;
  box-shadow: var(--shadow-card);
  transition: border-color 0.15s, transform 0.2s;
}
.cc-pod-author-tile:hover {
  border-color: var(--gold-border);
  transform: translateY(-3px);
  box-shadow: var(--shadow-card), var(--shadow-gold);
}
.cc-pod-author-tile__img-wrap {
  position: relative;
  width: 80px; height: 80px;
  margin: 0 auto 0.875rem;
}
.cc-pod-author-tile__img {
  width: 80px; height: 80px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--gold-border);
  display: block;
}
.cc-pod-author-tile__fb {
  width: 80px; height: 80px;
  border-radius: 50%;
  background: var(--gold-dim);
  border: 2px solid var(--gold-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
  font-weight: 900;
  color: var(--gold);
}
/* Mic badge */
.cc-pod-author-tile__mic {
  position: absolute;
  bottom: 0; right: 0;
  width: 22px; height: 22px;
  background: var(--gold);
  border-radius: 50%;
  border: 2px solid var(--bg-card);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
}
.cc-pod-author-tile__name {
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 0.2rem;
}
.cc-pod-author-tile__role {
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: var(--gold);
  margin-bottom: 0.625rem;
}
.cc-pod-author-tile__bio {
  font-size: 0.75rem;
  color: var(--text-secondary);
  line-height: 1.6;
}

/* ── EPISODE GRID (featured 3-up) ────────────────────────────── */
.cc-pod-ep-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.cc-pod-ep-grid--featured {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 860px) { .cc-pod-ep-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 500px) { .cc-pod-ep-grid { grid-template-columns: 1fr; } }

/* Episode card */
.cc-pod-ep-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-top: 2px solid var(--ep-color, var(--gold));
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.15s;
}
.cc-pod-ep-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card), 0 12px 30px rgba(0,0,0,0.25);
  border-color: var(--ep-color, var(--gold));
}

/* Artwork panel */
.cc-pod-ep-card__art {
  position: relative;
  aspect-ratio: 16/9;
  background: rgba(255,255,255,0.03);
  overflow: hidden;
}
.cc-pod-ep-card__art--sm { aspect-ratio: 16/8; }
.cc-pod-ep-card__art-img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}
.cc-pod-ep-card:hover .cc-pod-ep-card__art-img { transform: scale(1.04); }
.cc-pod-ep-card__art-fallback {
  width: 100%; height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, color-mix(in srgb, var(--ep-color,var(--gold)) 6%, transparent) 0%, transparent 70%);
}

/* Play button on card art */
.cc-pod-ep-card__play {
  position: absolute;
  bottom: 0.625rem; right: 0.625rem;
  width: 38px; height: 38px;
  border-radius: 50%;
  background: var(--gold);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
  box-shadow: 0 4px 14px rgba(245,200,66,0.45);
  transition: transform 0.15s, box-shadow 0.15s;
  opacity: 0;
}
.cc-pod-ep-card:hover .cc-pod-ep-card__play { opacity: 1; }
.cc-pod-ep-card__play:hover { transform: scale(1.12); box-shadow: 0 6px 20px rgba(245,200,66,0.6); }
.cc-pod-ep-card__play.is-playing {
  opacity: 1;
  background: #ffffff;
  color: #000;
}

/* Smaller play for compact cards */
.cc-pod-ep-card__play--sm {
  width: 30px; height: 30px;
  bottom: 0.4rem; right: 0.4rem;
}

/* Category badge on art */
.cc-pod-ep-card__cat-badge {
  position: absolute;
  top: 0.5rem; left: 0.5rem;
  font-size: 0.4375rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #000;
  border-radius: 100px;
  padding: 0.15rem 0.5rem;
}

/* Body */
.cc-pod-ep-card__body { padding: 0.875rem 1rem; flex: 1; display: flex; flex-direction: column; gap: 0.375rem; }
.cc-pod-ep-card__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  font-family: var(--font-mono);
  font-size: 0.5rem;
  font-weight: 700;
  color: rgba(255,255,255,0.28);
}
.cc-pod-ep-card__meta i { opacity: 0.5; }
.cc-pod-ep-card__title {
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--text-primary);
  line-height: 1.3;
  text-decoration: none;
  display: block;
  transition: color 0.15s;
}
.cc-pod-ep-card__title:hover { color: var(--ep-color, var(--gold)); }
.cc-pod-ep-card__title--sm { font-size: 0.8125rem; }
.cc-pod-ep-card__excerpt {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.65;
  flex: 1;
  margin-top: 0.125rem;
}
.cc-pod-ep-card__host {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.625rem;
  font-weight: 700;
  color: rgba(255,255,255,0.3);
  margin-top: auto;
  padding-top: 0.5rem;
  border-top: 1px solid var(--border-subtle);
}

/* Compact card variant */
.cc-pod-ep-card--compact .cc-pod-ep-card__body { padding: 0.75rem; }

/* ── EPISODE LIST ROWS ───────────────────────────────────────── */
.cc-pod-ep-list { display: flex; flex-direction: column; gap: 0; }
.cc-pod-list-row {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 0.875rem 0;
  border-bottom: 1px solid var(--border-subtle);
  transition: background 0.12s;
  position: relative;
}
.cc-pod-list-row::before {
  content: '';
  position: absolute;
  left: -1rem; top: 0; bottom: 0;
  width: 0;
  background: var(--ep-color, var(--gold));
  opacity: 0.08;
  transition: width 0.2s;
  pointer-events: none;
}
.cc-pod-list-row:hover::before { width: calc(100% + 2rem); }
.cc-pod-list-row:last-child { border-bottom: none; }

.cc-pod-list-row__rank {
  font-family: var(--font-mono);
  font-size: 1.125rem;
  font-weight: 900;
  color: rgba(255,255,255,0.07);
  min-width: 28px;
  flex-shrink: 0;
  text-align: right;
}
.cc-pod-list-row__art { flex-shrink: 0; }
.cc-pod-list-row__img {
  width: 52px; height: 52px;
  border-radius: 8px;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,0.07);
  display: block;
}
.cc-pod-list-row__art-fb {
  width: 52px; height: 52px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,0.06);
}
.cc-pod-list-row__body { flex: 1; min-width: 0; }
.cc-pod-list-row__cat {
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  margin-bottom: 0.2rem;
}
.cc-pod-list-row__title {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--text-primary);
  text-decoration: none;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.15s;
}
.cc-pod-list-row__title:hover { color: var(--ep-color, var(--gold)); }
.cc-pod-list-row__meta {
  display: flex;
  gap: 0.75rem;
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  color: rgba(255,255,255,0.28);
  margin-top: 0.25rem;
}
.cc-pod-list-row__play {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.5);
  flex-shrink: 0;
  transition: background 0.15s, color 0.15s, border-color 0.15s, transform 0.15s;
}
.cc-pod-list-row__play:hover {
  background: var(--ep-color, var(--gold));
  border-color: transparent;
  color: #000;
  transform: scale(1.08);
}
.cc-pod-list-row__play.is-playing {
  background: var(--ep-color, var(--gold));
  border-color: transparent;
  color: #000;
}

/* ── SIDEBAR ─────────────────────────────────────────────────── */
.cc-pod-sidebar {
  position: sticky;
  top: 88px;
  display: flex;
  flex-direction: column;
  gap: 1.125rem;
}
.cc-pod-sidebar-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.125rem;
  box-shadow: var(--shadow-card);
}
.cc-pod-sidebar-card--sub {
  border-color: rgba(245,200,66,0.2);
  background: linear-gradient(135deg, rgba(245,200,66,0.04) 0%, var(--bg-card) 50%);
}
.cc-pod-sidebar-card__hdr {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.75rem;
}
.cc-pod-sidebar-card__desc {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 0.875rem;
}

/* Subscribe links */
.cc-pod-sub-links { display: flex; flex-direction: column; gap: 0.375rem; }
.cc-pod-sub-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text-secondary);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 8px;
  padding: 0.5rem 0.75rem;
  text-decoration: none;
  transition: all 0.15s;
}
.cc-pod-sub-link:hover { color: var(--text-primary); border-color: var(--border-mid); }
.cc-pod-sub-link--spotify { color: #1DB954; border-color: rgba(29,185,84,0.2); background: rgba(29,185,84,0.05); }
.cc-pod-sub-link--spotify:hover { background: rgba(29,185,84,0.1); }

/* News items */
.cc-pod-news-list { display: flex; flex-direction: column; gap: 0; }
.cc-pod-news-item {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  padding: 0.625rem 0;
  border-bottom: 1px solid var(--border-subtle);
  text-decoration: none;
  transition: background 0.12s;
}
.cc-pod-news-item:last-child { border-bottom: none; }
.cc-pod-news-item:hover { opacity: 0.8; }
.cc-pod-news-item__thumb {
  width: 48px; height: 48px;
  border-radius: 6px;
  object-fit: cover;
  flex-shrink: 0;
  border: 1px solid var(--border-subtle);
}
.cc-pod-news-item__thumb--fb {
  background: var(--bg-elevated);
  display: flex;
  align-items: center;
  justify-content: center;
}
.cc-pod-news-item__body { flex: 1; min-width: 0; }
.cc-pod-news-item__cat {
  font-size: 0.4375rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: var(--gold);
  margin-bottom: 0.15rem;
}
.cc-pod-news-item__title {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.cc-pod-news-item__date {
  font-family: var(--font-mono);
  font-size: 0.4375rem;
  color: var(--text-muted);
  margin-top: 0.2rem;
}
.cc-pod-sidebar-all-link {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.3rem;
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--gold);
  text-decoration: none;
  padding-top: 0.625rem;
  transition: opacity 0.15s;
}
.cc-pod-sidebar-all-link:hover { opacity: 0.7; }

/* Category nav */
.cc-pod-sidebar-cat {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border-subtle);
  text-decoration: none;
  transition: opacity 0.15s;
}
.cc-pod-sidebar-cat:last-child { border-bottom: none; }
.cc-pod-sidebar-cat:hover { opacity: 0.8; }
.cc-pod-sidebar-cat__icon {
  width: 28px; height: 28px;
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-pod-sidebar-cat span {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text-secondary);
  flex: 1;
}
.cc-pod-sidebar-cat__count {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 800;
  color: var(--text-muted);
  background: var(--bg-elevated);
  border-radius: 100px;
  padding: 0.1rem 0.4rem;
  flex: none !important;
}

/* Light mode: keep player/hero dark */
:root.light .cc-pod-hero  { background: #07090f; }
:root.light .cc-pod-player { background: rgba(10,13,20,0.98); }

/* ═══════════════════════════════════════════════════════════════
   BONUS CALCULATOR — HERO + ARTICLE
═══════════════════════════════════════════════════════════════ */

/* ── HERO ── */
.cc-bcalc-hero {
  position: relative;
  min-height: 480px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-bcalc-hero__bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 55% 60% at 100% 25%, rgba(245,200,66,0.08) 0%, transparent 55%),
    radial-gradient(ellipse 35% 50% at 0%   75%, rgba(99,102,241,0.05) 0%, transparent 50%),
    linear-gradient(135deg, #07090f 0%, #0b0a05 100%);
}
.cc-bcalc-hero__grid {
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
}
.cc-bcalc-hero__glow {
  position: absolute; top: -60px;
  width: 300px; height: 300px;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(80px);
  opacity: 0.12;
}
.cc-bcalc-hero__glow--l { left: -60px; background: #6366f1; }
.cc-bcalc-hero__glow--r { right: -40px; top: -40px; background: var(--gold); }

.cc-bcalc-hero__inner {
  position: relative; z-index: 2;
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 3.5rem;
  align-items: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
  width: 100%;
}
@media (max-width: 1024px) {
  .cc-bcalc-hero__inner { grid-template-columns: 1fr; gap: 2rem; }
  .cc-bcalc-hero { min-height: auto; }
}

.cc-bcalc-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1.25rem;
}
.cc-bcalc-hero__title {
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #fff;
  line-height: 1.05;
  margin-bottom: 1.125rem;
}
.cc-bcalc-hero__title em { color: var(--gold); font-style: italic; display: block; }
.cc-bcalc-hero__desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.52);
  line-height: 1.78;
  max-width: 500px;
  margin-bottom: 1.5rem;
}
.cc-bcalc-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}
.cc-bcalc-hero__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: rgba(255,255,255,0.5);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 100px;
  padding: 0.3rem 0.625rem;
}

.cc-bcalc-hero__panel {
  background: rgba(10,14,22,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid var(--gold);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.45);
}
.cc-bcalc-hero__panel-hdr {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  padding: 0.875rem 1.125rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.cc-bcalc-hero__scenario {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1.125rem;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  transition: background 0.12s;
}
.cc-bcalc-hero__scenario:last-child { border-bottom: none; }
.cc-bcalc-hero__scenario:hover { background: rgba(255,255,255,0.03); }
.cc-bcalc-hero__scenario-offer { font-size: 0.8125rem; font-weight: 700; color: rgba(255,255,255,0.8); flex: 1; }
.cc-bcalc-hero__scenario-details {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  font-family: var(--font-mono);
  font-size: 0.5rem;
  color: rgba(255,255,255,0.25);
}
.cc-bcalc-hero__scenario-ev {
  font-family: var(--font-mono);
  font-size: 0.875rem;
  font-weight: 900;
  min-width: 56px;
  text-align: right;
}
.cc-bcalc-hero__panel-footer {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.5rem;
  color: rgba(255,255,255,0.18);
  padding: 0.625rem 1.125rem;
  border-top: 1px solid rgba(255,255,255,0.04);
}

/* ── ARTICLE ── */
.cc-bcalc-article {
  max-width: 780px;
  margin: 4rem auto 0;
  padding-bottom: 4rem;
}
.cc-bcalc-article__header { margin-bottom: 2.5rem; }
.cc-bcalc-article-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1rem;
}
.cc-bcalc-article__title {
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.015em;
  line-height: 1.15;
  margin-bottom: 0.875rem;
}
.cc-bcalc-article__intro {
  font-size: 1.0625rem;
  color: var(--text-secondary);
  line-height: 1.78;
  border-left: 3px solid var(--gold-border);
  padding-left: 1.25rem;
}

/* TOC */
.cc-bcalc-toc {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.25rem 1.375rem;
  margin-bottom: 2.5rem;
  box-shadow: var(--shadow-card);
}
.cc-bcalc-toc__title {
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: var(--gold);
  margin-bottom: 0.625rem;
}
.cc-bcalc-toc__list {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  counter-reset: toc;
}
.cc-bcalc-toc__list li { counter-increment: toc; }
.cc-bcalc-toc__list a {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text-secondary);
  text-decoration: none;
  transition: color 0.15s;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.cc-bcalc-toc__list a::before {
  content: counter(toc, decimal-leading-zero);
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 800;
  color: var(--gold);
  opacity: 0.7;
  flex-shrink: 0;
}
.cc-bcalc-toc__list a:hover { color: var(--gold); }

/* Sections */
.cc-bcalc-sec { margin-bottom: 3rem; scroll-margin-top: 80px; }
.cc-bcalc-sec__title {
  font-size: 1.375rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.015em;
  margin-bottom: 1rem;
  padding-bottom: 0.625rem;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-bcalc-sec p {
  font-size: 1rem;
  color: var(--text-secondary);
  line-height: 1.8;
  margin-bottom: 1rem;
}
.cc-bcalc-sec p strong { color: var(--text-primary); }

/* Callouts */
.cc-bcalc-callout {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  border-radius: 12px;
  padding: 1rem 1.25rem;
  margin: 1.25rem 0;
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--text-secondary);
}
.cc-bcalc-callout strong { color: var(--text-primary); display: block; margin-bottom: 0.25rem; }
.cc-bcalc-callout--warning {
  background: rgba(245,158,11,0.07);
  border: 1px solid rgba(245,158,11,0.2);
  border-left: 3px solid #f59e0b;
}
.cc-bcalc-callout--insight {
  background: rgba(245,200,66,0.06);
  border: 1px solid rgba(245,200,66,0.18);
  border-left: 3px solid var(--gold);
}

/* Tables */
.cc-bcalc-table-wrap { margin: 1.25rem 0; overflow-x: auto; }
.cc-bcalc-table-title {
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  margin-bottom: 0.625rem;
}
.cc-bcalc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.cc-bcalc-table thead th {
  background: var(--bg-elevated);
  padding: 0.625rem 0.875rem;
  text-align: left;
  font-size: 0.625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--text-muted);
  border-bottom: 1px solid var(--border-subtle);
}
.cc-bcalc-table tbody td {
  padding: 0.625rem 0.875rem;
  color: var(--text-secondary);
  border-bottom: 1px solid rgba(255,255,255,0.04);
}
.cc-bcalc-table tbody tr:hover td { background: rgba(255,255,255,0.02); }

/* Badges in tables */
.cc-bcalc-badge {
  display: inline-flex;
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-radius: 4px;
  padding: 0.15rem 0.5rem;
}
.cc-bcalc-badge--green  { background: rgba(16,185,129,0.15); color: #10b981; }
.cc-bcalc-badge--yellow { background: rgba(245,200,66,0.15); color: var(--gold); }
.cc-bcalc-badge--orange { background: rgba(249,115,22,0.15); color: #f97316; }
.cc-bcalc-badge--red    { background: rgba(239,68,68,0.15);  color: #ef4444; }

/* Anatomy visual */
.cc-bcalc-visual {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.375rem;
  margin: 1.25rem 0;
}
.cc-bcalc-visual__title {
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  margin-bottom: 1.25rem;
}
.cc-bcalc-anatomy {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.cc-bcalc-anatomy__item {
  flex: 1;
  min-width: 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.375rem;
  padding: 1rem 0.5rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
}
.cc-bcalc-anatomy__icon {
  width: 40px; height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cc-bcalc-anatomy__label { font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); }
.cc-bcalc-anatomy__val { font-size: 1.125rem; font-weight: 900; color: var(--text-primary); }
.cc-bcalc-anatomy__sub { font-size: 0.5rem; color: var(--text-faint); }
.cc-bcalc-anatomy__arrow { flex-shrink: 0; }

/* EV bar chart */
.cc-bcalc-ev-visual {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.375rem;
  margin: 1.25rem 0;
}
.cc-bcalc-ev-visual__title {
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  margin-bottom: 1rem;
}
.cc-bcalc-ev-visual__note { font-size: 0.625rem; color: var(--text-faint); margin-top: 0.75rem; }
.cc-bcalc-ev-bars { display: flex; flex-direction: column; gap: 0.5rem; }
.cc-bcalc-ev-row { display: flex; align-items: center; gap: 0.75rem; }
.cc-bcalc-ev-row__label {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 800;
  color: var(--text-muted);
  min-width: 28px;
  text-align: right;
}
.cc-bcalc-ev-row__bar-wrap {
  flex: 1;
  height: 18px;
  background: rgba(255,255,255,0.04);
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.cc-bcalc-ev-row__bar--pos {
  height: 100%;
  border-radius: 4px;
  opacity: 0.85;
}
.cc-bcalc-ev-row__bar--neg {
  height: 100%;
  border-radius: 4px;
  opacity: 0.75;
}
.cc-bcalc-ev-row__val {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 800;
  min-width: 52px;
  text-align: right;
}

/* Bonus types */
.cc-bcalc-bonus-types { display: flex; flex-direction: column; gap: 0.875rem; margin-top: 1rem; }
.cc-bcalc-bonus-type {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.125rem;
  box-shadow: var(--shadow-card);
}
.cc-bcalc-bonus-type__icon {
  width: 44px; height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-bcalc-bonus-type__body { flex: 1; }
.cc-bcalc-bonus-type__name { font-size: 1rem; font-weight: 800; color: var(--text-primary); margin-bottom: 0.2rem; }
.cc-bcalc-bonus-type__rating { font-size: 0.75rem; font-weight: 800; margin-bottom: 0.375rem; }
.cc-bcalc-bonus-type__desc { font-size: 0.875rem; color: var(--text-secondary); line-height: 1.65; }

/* Traps */
.cc-bcalc-traps { display: flex; flex-direction: column; gap: 0.75rem; margin-top: 1rem; }
.cc-bcalc-trap {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  padding: 1rem 1.125rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
}
.cc-bcalc-trap__num {
  font-family: var(--font-mono);
  font-size: 1rem;
  font-weight: 900;
  min-width: 32px;
  height: 32px;
  border: 1px solid;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.6875rem;
}
.cc-bcalc-trap__icon { padding-top: 2px; flex-shrink: 0; }
.cc-bcalc-trap__body { flex: 1; }
.cc-bcalc-trap__title { font-size: 0.9375rem; font-weight: 800; color: var(--text-primary); margin-bottom: 0.3rem; }
.cc-bcalc-trap__desc { font-size: 0.875rem; color: var(--text-secondary); line-height: 1.65; }

/* Verdict box */
.cc-bcalc-verdict-box {
  background: var(--bg-card);
  border: 1px solid rgba(16,185,129,0.2);
  border-radius: var(--radius-card);
  padding: 1.375rem;
  margin-top: 1.5rem;
}
.cc-bcalc-verdict-box__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 1rem;
}
.cc-bcalc-checklist { display: flex; flex-direction: column; gap: 0.5rem; }
.cc-bcalc-checklist__item {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.875rem;
  padding: 0.375rem 0;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  line-height: 1.5;
}
.cc-bcalc-checklist__item:last-child { border-bottom: none; }
.cc-bcalc-checklist__item--good { color: rgba(255,255,255,0.65); }
.cc-bcalc-checklist__item--good i { color: #10b981; margin-top: 2px; }
.cc-bcalc-checklist__item--bad  { color: rgba(255,255,255,0.5); }
.cc-bcalc-checklist__item--bad  i { color: #ef4444; margin-top: 2px; }

:root.light .cc-bcalc-hero { background: #07090f; }

/* ── BONUS CALC HERO — AGCO Compliance Notice ── */
.cc-bcalc-hero__agco {
  position: relative;
  z-index: 3;
  background: rgba(239, 68, 68, 0.07);
  border-top: 1px solid rgba(239, 68, 68, 0.18);
  margin-top: auto;
  width: 100%;
  transition: background 0.2s;
}
.cc-bcalc-hero__agco:hover {
  background: rgba(239, 68, 68, 0.11);
}
.cc-bcalc-hero__agco-inner {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.cc-bcalc-hero__agco-icon {
  flex-shrink: 0;
  color: rgba(239, 68, 68, 0.6);
  margin-top: 1px;
  transition: color 0.2s;
}
.cc-bcalc-hero__agco:hover .cc-bcalc-hero__agco-icon {
  color: rgba(239, 68, 68, 0.9);
}
.cc-bcalc-hero__agco-text {
  font-size: 0.6875rem;
  line-height: 1.65;
  color: rgba(239, 68, 68, 0.55);
  margin: 0;
  transition: color 0.2s;
}
.cc-bcalc-hero__agco:hover .cc-bcalc-hero__agco-text {
  color: rgba(239, 68, 68, 0.9);
}
.cc-bcalc-hero__agco-text strong {
  color: rgba(239, 68, 68, 0.75);
  font-weight: 700;
  transition: color 0.2s;
}
.cc-bcalc-hero__agco:hover .cc-bcalc-hero__agco-text strong {
  color: #ef4444;
}

/* Ensure hero is a flex column so the notice sticks to the bottom */
.cc-bcalc-hero {
  flex-direction: column;
  justify-content: space-between;
}

/* ═══════════════════════════════════════════════════════════════
   NEWSROOM BODY — Editorial Layout
═══════════════════════════════════════════════════════════════ */

.cc-newsroom-body {
  background: var(--bg-main);
  padding: 2.5rem 0 5rem;
}

/* Two-column: main content + sidebar */
.cc-newsroom-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 1080px) {
  .cc-newsroom-layout { grid-template-columns: 1fr; }
  .cc-newsroom-sidebar { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
}
@media (max-width: 600px) {
  .cc-newsroom-sidebar { grid-template-columns: 1fr; }
}

/* ── Filter bar ── */
.cc-newsroom-filter-bar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 1.75rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-newsroom-filter-bar__label {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: var(--text-muted);
  flex-shrink: 0;
}
.cc-newsroom-filter-bar__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}
.cc-filter-toggle--active {
  background: var(--gold-dim) !important;
  border-color: var(--gold-border) !important;
  color: var(--gold) !important;
}
.cc-newsroom-filter-count {
  font-family: var(--font-mono);
  font-size: 0.4375rem;
  font-weight: 800;
  background: rgba(255,255,255,0.08);
  border-radius: 100px;
  padding: 0.05rem 0.35rem;
  margin-left: 0.2rem;
  color: var(--text-faint);
}

/* ── Newsroom grid ── */
.cc-newsroom-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.125rem;
}
@media (max-width: 860px) { .cc-newsroom-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 520px) { .cc-newsroom-grid { grid-template-columns: 1fr; } }

/* ── Featured article (full-width) ── */
.cc-newsroom-featured {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transition: border-color 0.15s, box-shadow 0.2s;
}
.cc-newsroom-featured:hover {
  border-color: var(--gold-border);
  box-shadow: var(--shadow-card), var(--shadow-gold);
}
@media (max-width: 700px) {
  .cc-newsroom-featured { grid-template-columns: 1fr; }
}
.cc-newsroom-featured__thumb {
  display: block;
  overflow: hidden;
  position: relative;
}
.cc-newsroom-featured__thumb img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
  min-height: 260px;
}
.cc-newsroom-featured:hover .cc-newsroom-featured__thumb img { transform: scale(1.04); }
.cc-newsroom-featured__thumb-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent 60%, rgba(0,0,0,0.15) 100%);
  pointer-events: none;
}
.cc-newsroom-featured__body {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.cc-newsroom-featured__meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.cc-newsroom-cat-badge {
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.15rem 0.5rem;
}
.cc-newsroom-date {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 700;
  color: var(--text-muted);
}
.cc-newsroom-featured__title {
  font-size: 1.375rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.015em;
  line-height: 1.25;
}
.cc-newsroom-featured__title a { color: inherit; text-decoration: none; }
.cc-newsroom-featured__title a:hover { color: var(--gold); }
.cc-newsroom-featured__excerpt {
  font-size: 0.9375rem;
  color: var(--text-secondary);
  line-height: 1.7;
  flex: 1;
}
.cc-newsroom-featured__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border-subtle);
  margin-top: auto;
}
.cc-newsroom-featured__read {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.75rem;
  font-weight: 800;
  color: var(--gold);
  text-decoration: none;
  transition: gap 0.15s;
}
.cc-newsroom-featured__read:hover { gap: 0.6rem; }

/* Byline */
.cc-newsroom-byline { display: flex; align-items: center; gap: 0.5rem; }
.cc-newsroom-byline__img {
  width: 32px; height: 32px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,0.1);
  flex-shrink: 0;
}
.cc-newsroom-byline__fb {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8125rem;
  font-weight: 900;
  color: var(--gold);
  flex-shrink: 0;
}
.cc-newsroom-byline__name { font-size: 0.8125rem; font-weight: 700; color: var(--text-primary); }
.cc-newsroom-byline__role { font-size: 0.5rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); }

/* Small byline for cards */
.cc-newsroom-byline--sm { gap: 0.375rem; }
.cc-newsroom-byline__img--sm { width: 20px; height: 20px; }
.cc-newsroom-byline__fb--sm { width: 20px; height: 20px; font-size: 0.5rem; }
.cc-newsroom-byline__name--sm { font-size: 0.6875rem; font-weight: 600; color: var(--text-muted); }

/* ── Standard article card ── */
.cc-newsroom-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow-card);
  transition: border-color 0.15s, transform 0.2s, box-shadow 0.2s;
}
.cc-newsroom-card:hover {
  border-color: var(--gold-border);
  transform: translateY(-3px);
  box-shadow: var(--shadow-card), var(--shadow-gold);
}
.cc-newsroom-card__thumb {
  display: block;
  aspect-ratio: 16/9;
  overflow: hidden;
  position: relative;
  background: var(--bg-elevated);
}
.cc-newsroom-card__thumb img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.cc-newsroom-card:hover .cc-newsroom-card__thumb img { transform: scale(1.05); }
.cc-newsroom-card__cat-badge {
  position: absolute;
  top: 0.625rem; left: 0.625rem;
  font-size: 0.4375rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #000;
  background: var(--gold);
  border-radius: 100px;
  padding: 0.15rem 0.5rem;
}
.cc-newsroom-card__body {
  padding: 1rem 1.125rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.cc-newsroom-card__meta { display: flex; align-items: center; gap: 0.5rem; }
.cc-newsroom-card__title {
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--text-primary);
  line-height: 1.3;
}
.cc-newsroom-card__title a { color: inherit; text-decoration: none; }
.cc-newsroom-card__title a:hover { color: var(--gold); }
.cc-newsroom-card__excerpt {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.6;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.cc-newsroom-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 0.625rem;
  border-top: 1px solid var(--border-subtle);
  margin-top: 0.25rem;
}
.cc-newsroom-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.625rem;
  font-weight: 800;
  color: var(--gold);
  text-decoration: none;
  transition: gap 0.15s;
}
.cc-newsroom-card__link:hover { gap: 0.45rem; }

.cc-newsroom-empty { grid-column: 1/-1; text-align: center; padding: 4rem; color: var(--text-muted); font-size: 0.9375rem; }

/* Pagination override */
.cc-newsroom-pagination { padding-top: 2rem; }

/* ── SIDEBAR ── */
.cc-newsroom-sidebar {
  position: sticky;
  top: 88px;
  display: flex;
  flex-direction: column;
  gap: 1.125rem;
}

/* Widget base */
.cc-newsroom-widget {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}

/* Market widget header — special with live dot */
.cc-newsroom-widget__hdr {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1rem;
  background: rgba(245,200,66,0.05);
  border-bottom: 1px solid rgba(245,200,66,0.12);
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
}
.cc-newsroom-widget__hdr-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 0 0 rgba(16,185,129,0.5);
  animation: ccPulse 2s infinite;
  flex-shrink: 0;
}
.cc-newsroom-widget__hdr-period {
  margin-left: auto;
  font-size: 0.4375rem;
  color: rgba(255,255,255,0.25);
  font-weight: 700;
}
/* Plain widget header */
.cc-newsroom-widget__hdr--plain {
  background: rgba(255,255,255,0.02);
  border-bottom-color: var(--border-subtle);
}
.cc-newsroom-widget__hdr-link {
  margin-left: auto;
  font-size: 0.5625rem;
  font-weight: 700;
  color: var(--gold);
  text-decoration: none;
  opacity: 0.7;
  transition: opacity 0.15s;
}
.cc-newsroom-widget__hdr-link:hover { opacity: 1; }

.cc-newsroom-widget__market-headline {
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.65;
  padding: 0.875rem 1rem 0;
  margin: 0;
}

/* Trend rows */
.cc-newsroom-widget__trend {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  padding: 0.625rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-newsroom-widget__trend:last-of-type { border-bottom: none; }
.cc-newsroom-widget__trend-icon { flex-shrink: 0; margin-top: 2px; }
.cc-newsroom-widget__trend-label { font-size: 0.75rem; font-weight: 700; color: var(--text-primary); }
.cc-newsroom-widget__trend-val { font-size: 0.6875rem; color: var(--text-secondary); margin-top: 0.1rem; }

.cc-newsroom-widget__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  margin: 0.875rem 1rem;
  padding: 0.625rem;
  font-size: 0.75rem;
  font-weight: 800;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.15s;
}
.cc-newsroom-widget__cta:hover { background: rgba(245,200,66,0.15); }

/* Podcast rows */
.cc-newsroom-pod-row {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.625rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  transition: background 0.12s;
}
.cc-newsroom-pod-row:last-child { border-bottom: none; }
.cc-newsroom-pod-row:hover { background: rgba(255,255,255,0.03); }
.cc-newsroom-pod-row__art {
  width: 40px; height: 40px;
  border-radius: 7px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.cc-newsroom-pod-row__body { flex: 1; min-width: 0; }
.cc-newsroom-pod-row__cat { font-size: 0.4375rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.09em; margin-bottom: 0.15rem; }
.cc-newsroom-pod-row__title {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--text-primary);
  text-decoration: none;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.15s;
}
.cc-newsroom-pod-row__title:hover { color: var(--gold); }
.cc-newsroom-pod-row__dur {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  font-family: var(--font-mono);
  font-size: 0.4375rem;
  color: var(--text-faint);
  margin-top: 0.2rem;
}
.cc-newsroom-pod-row__play {
  width: 30px; height: 30px;
  border-radius: 50%;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.4);
  flex-shrink: 0;
  transition: background 0.15s, color 0.15s, transform 0.15s;
}
.cc-newsroom-pod-row__play:hover {
  background: var(--ep-color, var(--gold));
  border-color: transparent;
  color: #000;
  transform: scale(1.1);
}

/* Tool rows */
.cc-newsroom-tool-row {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.625rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  text-decoration: none;
  transition: background 0.12s;
}
.cc-newsroom-tool-row:last-child { border-bottom: none; }
.cc-newsroom-tool-row:hover { background: rgba(255,255,255,0.03); }
.cc-newsroom-tool-row:hover .cc-newsroom-tool-row__arrow {
  color: var(--gold) !important;
  transform: translateX(3px);
}
.cc-newsroom-tool-row__icon {
  width: 34px; height: 34px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-newsroom-tool-row__body { flex: 1; min-width: 0; }
.cc-newsroom-tool-row__name { font-size: 0.8125rem; font-weight: 700; color: var(--text-primary); }
.cc-newsroom-tool-row__desc { font-size: 0.625rem; color: var(--text-muted); margin-top: 0.1rem; }

/* Casino rows */
.cc-newsroom-casino-row {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.5rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  text-decoration: none;
  transition: background 0.12s;
}
.cc-newsroom-casino-row:last-child { border-bottom: none; }
.cc-newsroom-casino-row:hover { background: rgba(255,255,255,0.03); }
.cc-newsroom-casino-row__rank {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 900;
  color: rgba(255,255,255,0.15);
  flex-shrink: 0;
  min-width: 18px;
}
.cc-newsroom-casino-row__logo {
  width: 36px; height: 36px;
  object-fit: contain;
  border-radius: 6px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.07);
  padding: 3px;
  flex-shrink: 0;
}
.cc-newsroom-casino-row__logo--fb {
  width: 36px; height: 36px;
  border-radius: 6px;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.625rem;
  font-weight: 900;
  color: var(--gold);
  flex-shrink: 0;
}
.cc-newsroom-casino-row__body { flex: 1; min-width: 0; }
.cc-newsroom-casino-row__name { font-size: 0.8125rem; font-weight: 700; color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cc-newsroom-casino-row__for { font-size: 0.5rem; color: var(--text-muted); margin-top: 0.1rem; }
.cc-newsroom-casino-row__rating {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 800;
  color: var(--gold);
  flex-shrink: 0;
}

/* Press widget */
.cc-newsroom-widget--press {
  border-color: rgba(255,255,255,0.06);
}
.cc-newsroom-widget__press-text {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.65;
  padding: 0.875rem 1rem 0;
  margin: 0;
}
.cc-newsroom-widget__press-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  padding: 0.875rem 1rem;
}
.cc-newsroom-widget__press-link {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--text-secondary);
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 100px;
  padding: 0.3rem 0.625rem;
  text-decoration: none;
  transition: border-color 0.15s, color 0.15s;
}
.cc-newsroom-widget__press-link:hover { color: var(--gold); border-color: var(--gold-border); }
.cc-newsroom-widget__press-badge {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.5rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: rgba(255,255,255,0.2);
  padding: 0 1rem 0.875rem;
}

/* Market widget special border */
.cc-newsroom-widget--market {
  border-color: rgba(245,200,66,0.15);
}

/* Light mode */
:root.light .cc-newsroom-featured { background: #fff; }
:root.light .cc-newsroom-card     { background: #fff; }
:root.light .cc-newsroom-widget   { background: #fff; }

/* ═══════════════════════════════════════════════════════════════
   ABOUT PAGE — HERO + FULL LAYOUT
═══════════════════════════════════════════════════════════════ */

/* ── HERO ── */
.cc-about-hero {
  position: relative;
  min-height: 600px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-about-hero__bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 50% 60% at 100% 20%, rgba(245,200,66,0.09) 0%, transparent 55%),
    radial-gradient(ellipse 40% 50% at 0%   80%, rgba(16,185,129,0.05) 0%, transparent 50%),
    radial-gradient(ellipse 40% 40% at 50% 110%, rgba(99,102,241,0.04) 0%, transparent 50%),
    linear-gradient(145deg, #07090f 0%, #0a0c0a 100%);
}
.cc-about-hero__grid {
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.032) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
}
.cc-about-hero__glow {
  position: absolute;
  width: 400px; height: 400px;
  border-radius: 50%;
  filter: blur(100px);
  opacity: 0.08;
  pointer-events: none;
}
.cc-about-hero__glow--l { left: -100px; bottom: 0; background: #10b981; }
.cc-about-hero__glow--r { right: -80px; top: -80px; background: var(--gold); }

/* Floating badge decorations */
.cc-about-hero__floaters {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.cc-about-hero__floater {
  position: absolute;
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: rgba(255,255,255,0.06);
  white-space: nowrap;
  animation: cc-floater-drift 20s linear infinite;
  animation-delay: calc(var(--fi) * -2.5s);
}
.cc-about-hero__floater:nth-child(1)  { top: 12%; left: 60%; }
.cc-about-hero__floater:nth-child(2)  { top: 28%; left: 75%; }
.cc-about-hero__floater:nth-child(3)  { top: 44%; left: 62%; }
.cc-about-hero__floater:nth-child(4)  { top: 60%; left: 80%; }
.cc-about-hero__floater:nth-child(5)  { top: 18%; right: 5%; }
.cc-about-hero__floater:nth-child(6)  { top: 72%; left: 65%; }
.cc-about-hero__floater:nth-child(7)  { top: 36%; right: 8%; }
.cc-about-hero__floater:nth-child(8)  { top: 55%; right: 3%; }
@keyframes cc-floater-drift {
  0%   { transform: translateY(0) rotate(-2deg);  opacity: 0; }
  10%  { opacity: 1; }
  90%  { opacity: 1; }
  100% { transform: translateY(-30px) rotate(2deg); opacity: 0; }
}

/* Hero inner layout */
.cc-about-hero__inner {
  position: relative; z-index: 2;
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 3.5rem;
  align-items: center;
  padding-top: 4rem;
  padding-bottom: 4.5rem;
  flex: 1;
}
@media (max-width: 1100px) {
  .cc-about-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-about-hero { min-height: auto; }
}

/* Eyebrow */
.cc-about-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #10b981;
  background: rgba(16,185,129,0.10);
  border: 1px solid rgba(16,185,129,0.22);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1.25rem;
}
.cc-about-hero__title {
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #fff;
  line-height: 1.05;
  margin-bottom: 1.125rem;
}
.cc-about-hero__title em { color: var(--gold); font-style: italic; }
.cc-about-hero__desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.52);
  line-height: 1.78;
  max-width: 520px;
  margin-bottom: 1.75rem;
}

/* Three pillars */
.cc-about-hero__pillars {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 0.75rem;
  margin-bottom: 1.75rem;
}
@media (max-width: 640px) { .cc-about-hero__pillars { grid-template-columns: 1fr; } }
.cc-about-hero__pillar { display: flex; flex-direction: column; gap: 0.375rem; }
.cc-about-hero__pillar-icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.125rem;
}
.cc-about-hero__pillar-title { font-size: 0.75rem; font-weight: 800; color: rgba(255,255,255,0.85); }
.cc-about-hero__pillar-desc { font-size: 0.625rem; color: rgba(255,255,255,0.35); line-height: 1.55; }
.cc-about-hero__ctas { display: flex; gap: 0.75rem; flex-wrap: wrap; }

/* Hero right panel */
.cc-about-hero__panel {
  background: rgba(10,14,22,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid #10b981;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.45), 0 0 50px rgba(16,185,129,0.04);
}
.cc-about-hero__panel-hdr {
  display: flex; align-items: center; gap: 0.4rem;
  font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.10em;
  text-transform: uppercase; color: var(--gold);
  padding: 0.875rem 1.125rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.cc-about-hero__stats {
  display: flex; align-items: center; gap: 0;
  padding: 1rem 1.125rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.cc-about-hero__stat { flex: 1; text-align: center; }
.cc-about-hero__stat-num { font-size: 1.5rem; font-weight: 900; color: var(--gold); line-height: 1; }
.cc-about-hero__stat-label { font-size: 0.4375rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: rgba(255,255,255,0.25); margin-top: 0.15rem; }
.cc-about-hero__stat-sep { width: 1px; height: 28px; background: rgba(255,255,255,0.07); flex-shrink: 0; }
.cc-about-hero__panel-divider {
  font-size: 0.4375rem; font-weight: 800; letter-spacing: 0.10em; text-transform: uppercase;
  color: rgba(255,255,255,0.2); padding: 0.625rem 1.125rem 0.375rem;
}
.cc-about-hero__commitment {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.4rem 1.125rem;
  font-size: 0.75rem; color: rgba(255,255,255,0.5);
  border-bottom: 1px solid rgba(255,255,255,0.04);
}
.cc-about-hero__commitment:last-of-type { border-bottom: none; }
.cc-about-hero__panel-footer {
  display: flex; align-items: flex-start; gap: 0.35rem;
  font-size: 0.5rem; color: rgba(255,255,255,0.2); line-height: 1.5;
  padding: 0.75rem 1.125rem;
  border-top: 1px solid rgba(255,255,255,0.05);
}

/* ── BODY ── */
.cc-about-body { background: var(--bg-main); padding: 3.5rem 0 6rem; }
.cc-about-layout {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 3.5rem;
  align-items: start;
}
@media (max-width: 1024px) {
  .cc-about-layout { grid-template-columns: 1fr; }
  .cc-about-sidebar { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
}
@media (max-width: 560px) { .cc-about-sidebar { grid-template-columns: 1fr; } }

/* Sections */
.cc-about-sec { margin-bottom: 3.5rem; scroll-margin-top: 80px; }
.cc-about-sec-hdr { margin-bottom: 1.5rem; }
.cc-about-sec-eyebrow {
  display: inline-flex; align-items: center; gap: 0.35rem;
  font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-muted); margin-bottom: 0.4rem;
}
.cc-about-sec-eyebrow--gold    { color: var(--gold); }
.cc-about-sec-eyebrow--emerald { color: #10b981; }
.cc-about-sec-eyebrow--pink    { color: #ec4899; }
.cc-about-sec-title {
  font-size: 1.5rem; font-weight: 900;
  color: var(--text-primary); letter-spacing: -0.015em;
  margin-bottom: 0.375rem;
}
.cc-about-sec-sub { font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.65; max-width: 600px; }
.cc-about-prose { font-size: 1rem; color: var(--text-secondary); line-height: 1.8; margin-bottom: 1.125rem; }
.cc-about-link { color: var(--gold); text-decoration: none; font-weight: 600; }
.cc-about-link:hover { text-decoration: underline; }

/* Pillar cards 2x2 grid */
.cc-about-pillars-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 1rem;
  margin-top: 1.5rem;
}
@media (max-width: 640px) { .cc-about-pillars-grid { grid-template-columns: 1fr; } }
.cc-about-pillar-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.375rem;
  box-shadow: var(--shadow-card);
}
.cc-about-pillar-card__icon {
  width: 48px; height: 48px; border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 0.875rem;
}
.cc-about-pillar-card__title { font-size: 1rem; font-weight: 800; margin-bottom: 0.5rem; }
.cc-about-pillar-card__desc { font-size: 0.875rem; color: var(--text-secondary); line-height: 1.65; }

/* Review methodology steps */
.cc-about-methodology { display: flex; flex-direction: column; gap: 0; margin-top: 1.25rem; }
.cc-about-method-step {
  display: flex; align-items: flex-start; gap: 1rem;
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-about-method-step:last-child { border-bottom: none; }
.cc-about-method-step__num {
  width: 40px; height: 40px; border-radius: 10px; border: 1px solid;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-mono); font-size: 0.6875rem; font-weight: 900;
  flex-shrink: 0;
}
.cc-about-method-step__body { flex: 1; }
.cc-about-method-step__title { font-size: 0.9375rem; font-weight: 800; margin-bottom: 0.375rem; }
.cc-about-method-step__desc { font-size: 0.875rem; color: var(--text-secondary); line-height: 1.65; }

/* Compliance cards */
.cc-about-compliance-grid { display: flex; flex-direction: column; gap: 1rem; margin: 1.25rem 0; }
.cc-about-compliance-card {
  display: flex; align-items: flex-start; gap: 1.25rem;
  background: var(--bg-card); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card); padding: 1.375rem;
  box-shadow: var(--shadow-card);
}
.cc-about-compliance-card--ontario { border-left: 3px solid #10b981; }
.cc-about-compliance-card--alberta { border-left: 3px solid var(--gold); }
.cc-about-compliance-card--national { border-left: 3px solid #6366f1; }
.cc-about-compliance-card__flag {
  width: 44px; height: 44px; border-radius: 10px; flex-shrink: 0;
  background: var(--bg-elevated); border: 1px solid var(--border-subtle);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.75rem; font-weight: 900; color: var(--text-primary);
  font-family: var(--font-mono);
}
.cc-about-compliance-card__title { font-size: 0.9375rem; font-weight: 800; color: var(--text-primary); margin-bottom: 0.5rem; }
.cc-about-compliance-card__text { font-size: 0.875rem; color: var(--text-secondary); line-height: 1.65; margin: 0 0 0.75rem; }
.cc-about-compliance-card__status {
  display: inline-flex; align-items: center; gap: 0.35rem;
  font-size: 0.5rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em;
  border-radius: 100px; padding: 0.2rem 0.625rem;
}
.cc-about-compliance-card__status--compliant {
  background: rgba(16,185,129,0.12); color: #10b981; border: 1px solid rgba(16,185,129,0.25);
}
.cc-about-compliance-card__status--monitoring {
  background: rgba(245,200,66,0.12); color: var(--gold); border: 1px solid var(--gold-border);
}
.cc-about-compliance-link {
  display: inline-flex; align-items: center; gap: 0.375rem;
  font-size: 0.8125rem; font-weight: 700; color: var(--gold);
  text-decoration: none; margin-top: 0.5rem; transition: opacity 0.15s;
}
.cc-about-compliance-link:hover { opacity: 0.75; }

/* Team grid */
.cc-about-team-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1.125rem;
  margin-top: 1rem;
}
@media (max-width: 768px) { .cc-about-team-grid { grid-template-columns: 1fr; } }
.cc-about-team-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transition: transform 0.2s, border-color 0.15s;
}
.cc-about-team-card:hover { transform: translateY(-3px); border-color: var(--gold-border); }
.cc-about-team-card__photo-wrap {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  background: var(--bg-elevated);
  overflow: hidden;
}
.cc-about-team-card__photo {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.4s ease;
}
.cc-about-team-card:hover .cc-about-team-card__photo { transform: scale(1.04); }
.cc-about-team-card__photo-fb {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
}
.cc-about-team-card__badge {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  font-family: var(--font-display);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #fff;
  text-transform: uppercase;
  line-height: 1;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}
.cc-about-team-card__body { padding: 1.25rem 1.375rem; }
.cc-about-team-card__name { font-size: 1.0625rem; font-weight: 900; color: var(--text-primary); margin-bottom: 0.2rem; }
.cc-about-team-card__role { font-size: 0.625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 0.625rem; }
.cc-about-team-card__bio { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.65; }
.cc-about-team-note {
  display: flex; align-items: flex-start; gap: 0.5rem;
  background: var(--bg-elevated); border: 1px solid var(--border-subtle);
  border-radius: 10px; padding: 0.875rem 1rem;
  font-size: 0.75rem; color: var(--text-secondary); line-height: 1.6;
  margin-top: 1rem;
}
.cc-about-team-note strong { color: var(--text-primary); }

/* Network cards */
.cc-about-network-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 1.125rem;
  margin-top: 1.25rem;
}
@media (max-width: 640px) { .cc-about-network-grid { grid-template-columns: 1fr; } }
.cc-about-network-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  position: relative;
}
.cc-about-network-card--current {
  border-color: rgba(245,200,66,0.2);
  box-shadow: var(--shadow-card), 0 0 30px rgba(245,200,66,0.05);
}
.cc-about-network-card__badge {
  position: absolute;
  top: 0.75rem; right: 0.75rem;
  font-size: 0.4375rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em;
  color: var(--gold); background: var(--gold-dim); border: 1px solid var(--gold-border);
  border-radius: 100px; padding: 0.15rem 0.5rem;
}
.cc-about-network-card__logo-area {
  height: 100px;
  background: rgba(255,255,255,0.03);
  border-bottom: 1px solid var(--border-subtle);
  display: flex; align-items: center; justify-content: center;
  padding: 1rem;
}
.cc-about-network-card__logo-area--sbc {
  background: linear-gradient(135deg, rgba(16,185,129,0.08) 0%, rgba(99,102,241,0.08) 100%);
}
.cc-about-network-card__logo {
  max-height: 52px;
  max-width: 200px;
  object-fit: contain;
}
.cc-about-network-card__logo-text {
  font-size: 2.5rem;
  font-weight: 900;
  color: #10b981;
  letter-spacing: -0.04em;
  font-style: italic;
}
.cc-about-network-card__body { padding: 1.25rem; flex: 1; }
.cc-about-network-card__name { font-size: 1rem; font-weight: 900; color: var(--text-primary); margin-bottom: 0.2rem; }
.cc-about-network-card__focus {
  font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.09em;
  color: var(--gold); margin-bottom: 0.625rem;
}
.cc-about-network-card__desc { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.65; margin-bottom: 0.875rem; }
.cc-about-network-card__tags { display: flex; flex-wrap: wrap; gap: 0.375rem; }
.cc-about-network-card__tags span {
  font-size: 0.4375rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em;
  background: rgba(255,255,255,0.05); color: var(--text-muted);
  border-radius: 4px; padding: 0.15rem 0.45rem;
}
.cc-about-network-card__link {
  display: flex; align-items: center; gap: 0.4rem;
  padding: 0.75rem 1.25rem;
  border-top: 1px solid var(--border-subtle);
  font-size: 0.75rem; font-weight: 700; color: var(--gold);
  text-decoration: none; transition: background 0.15s;
}
.cc-about-network-card__link:hover { background: rgba(255,255,255,0.03); }
.cc-about-network-card__link--sbc { color: #10b981; }

/* Press cards */
.cc-about-press-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 1rem;
  margin-top: 1rem;
}
@media (max-width: 600px) { .cc-about-press-grid { grid-template-columns: 1fr; } }
.cc-about-press-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.375rem;
  box-shadow: var(--shadow-card);
  display: flex; flex-direction: column; gap: 0.625rem;
}
.cc-about-press-card__title { font-size: 0.9375rem; font-weight: 800; color: var(--text-primary); }
.cc-about-press-card__text { font-size: 0.875rem; color: var(--text-secondary); line-height: 1.65; flex: 1; }
.cc-about-press-card__link {
  display: inline-flex; align-items: center; gap: 0.3rem;
  font-size: 0.75rem; font-weight: 700; color: var(--gold);
  text-decoration: none; transition: opacity 0.15s;
}
.cc-about-press-card__link:hover { opacity: 0.75; }

/* ── SIDEBAR ── */
.cc-about-sidebar {
  position: sticky; top: 88px;
  display: flex; flex-direction: column; gap: 1.125rem;
}
.cc-about-sidebar-card {
  background: var(--bg-card); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card); overflow: hidden; box-shadow: var(--shadow-card);
}
.cc-about-sidebar-card--charter { border-color: rgba(245,200,66,0.15); }
.cc-about-sidebar-card--mjd {
  background: linear-gradient(135deg, rgba(245,200,66,0.04) 0%, var(--bg-card) 50%);
  border-color: rgba(245,200,66,0.15);
}
.cc-about-sidebar-card__hdr {
  display: flex; align-items: center; gap: 0.4rem;
  font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.10em;
  text-transform: uppercase; color: var(--gold);
  padding: 0.875rem 1rem;
  background: rgba(255,255,255,0.02);
  border-bottom: 1px solid var(--border-subtle);
}
.cc-about-nav-row {
  display: flex; align-items: center; gap: 0.625rem;
  padding: 0.5rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  text-decoration: none;
  transition: background 0.12s;
}
.cc-about-nav-row:last-child { border-bottom: none; }
.cc-about-nav-row:hover { background: rgba(255,255,255,0.03); }
.cc-about-nav-row:hover .cc-about-nav-arrow { color: var(--gold) !important; transform: translateX(3px); }
.cc-about-nav-row__icon {
  width: 28px; height: 28px; border-radius: 7px;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.cc-about-nav-row span { font-size: 0.8125rem; font-weight: 600; color: var(--text-secondary); flex: 1; }
.cc-about-charter-item {
  display: flex; align-items: flex-start; gap: 0.625rem;
  padding: 0.5rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.4;
}
.cc-about-charter-item:last-child { border-bottom: none; }
.cc-about-charter-item__num {
  font-family: var(--font-mono); font-size: 0.5rem; font-weight: 900;
  color: var(--gold); flex-shrink: 0; padding-top: 0.125rem;
}
.cc-about-sidebar-mjd-text {
  font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.65;
  padding: 0.875rem 1rem 0; margin: 0;
}
.cc-about-sidebar-mjd-link {
  display: flex; align-items: center; gap: 0.35rem;
  font-size: 0.75rem; font-weight: 700; color: var(--gold);
  text-decoration: none; padding: 0.625rem 1rem; transition: opacity 0.15s;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-about-sidebar-mjd-link:hover { opacity: 0.75; }
.cc-about-sidebar-mjd-badges {
  display: flex; flex-wrap: wrap; gap: 0.5rem;
  padding: 0.75rem 1rem;
}
.cc-about-sidebar-mjd-badge {
  display: inline-flex; align-items: center; gap: 0.3rem;
  font-size: 0.5rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em;
  color: rgba(255,255,255,0.3); background: rgba(255,255,255,0.05);
  border-radius: 4px; padding: 0.15rem 0.5rem;
}

:root.light .cc-about-hero { background: #07090f; }
:root.light .cc-about-team-card { background: #fff; }
:root.light .cc-about-pillar-card { background: #fff; }
:root.light .cc-about-compliance-card { background: #fff; }
:root.light .cc-about-press-card { background: #fff; }
:root.light .cc-about-network-card { background: #fff; }

/* ── About page: Kernel Media logos + SBC network logo ── */

/* Kernel logo — dark mode shown by default, light hidden */
.cc-about-kernel-logo {
  display: block;
  max-height: 36px;
  width: auto;
  max-width: 160px;
  margin: 0.875rem 1rem 0;
  object-fit: contain;
}
.cc-about-kernel-logo--light { display: none; }
.cc-about-kernel-logo--dark  { display: block; }

/* Swap logos in light mode */
:root.light .cc-about-kernel-logo--dark  { display: none; }
:root.light .cc-about-kernel-logo--light { display: block; }

/* SBC webp logo — needs dark bg treatment to read cleanly */
.cc-about-network-card__logo--sbc {
  max-height: 44px;
  max-width: 260px;
  width: 100%;
  object-fit: contain;
  filter: brightness(1);
}
/* On dark bg the SBC logo has a white outline — looks great as-is.
   In light mode invert so it reads on the green gradient background */
:root.light .cc-about-network-card__logo--sbc {
  filter: none;
}

/* ═══════════════════════════════════════════════════════════════
   ALBERTA HERO — Launch Countdown
═══════════════════════════════════════════════════════════════ */

.cc-ab-hero {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}

/* Deep dark with warm Alberta-sky amber at top */
.cc-ab-hero__bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 60% 55% at 50%  -5%, rgba(245,200,66,0.12) 0%, transparent 55%),
    radial-gradient(ellipse 40% 60% at 0%   70%, rgba(245,200,66,0.05) 0%, transparent 50%),
    radial-gradient(ellipse 35% 40% at 100% 80%, rgba(16,185,129,0.04) 0%, transparent 45%),
    linear-gradient(170deg, #0c0a02 0%, #07090f 50%, #07090f 100%);
}

/* Dot grid */
.cc-ab-hero__grid {
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
}

/* Two diagonal light beams — evoking prairie sunrises */
.cc-ab-hero__beam {
  position: absolute;
  top: -60px;
  width: 250px;
  height: 500px;
  clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%);
  pointer-events: none;
  opacity: 0;
  animation: cc-ab-beam 8s ease infinite;
}
.cc-ab-hero__beam--l {
  left: 38%;
  background: linear-gradient(180deg, rgba(245,200,66,0.5) 0%, transparent 80%);
  animation-delay: 0s;
}
.cc-ab-hero__beam--r {
  left: 52%;
  background: linear-gradient(180deg, rgba(245,200,66,0.3) 0%, transparent 80%);
  animation-delay: 2s;
}
@keyframes cc-ab-beam {
  0%,100% { opacity: 0; }
  30%, 70% { opacity: 0.05; }
}

/* Aurora bands — northern-lights feel */
.cc-ab-hero__aurora {
  position: absolute;
  left: 0; right: 0;
  pointer-events: none;
  border-radius: 100%;
  filter: blur(60px);
  animation: cc-ab-aurora 10s ease-in-out infinite alternate;
}
.cc-ab-hero__aurora--1 {
  top: -80px;
  height: 200px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(245,200,66,0.07) 30%,
    rgba(16,185,129,0.05) 60%,
    transparent 100%);
  animation-delay: 0s;
}
.cc-ab-hero__aurora--2 {
  top: -40px;
  height: 160px;
  background: linear-gradient(90deg,
    transparent 10%,
    rgba(99,102,241,0.04) 40%,
    rgba(245,200,66,0.06) 70%,
    transparent 100%);
  animation-delay: 3s;
}
@keyframes cc-ab-aurora {
  0%   { opacity: 0.6; transform: translateX(-3%); }
  100% { opacity: 1.0; transform: translateX(3%); }
}

/* ── Layout ── */
.cc-ab-hero__inner {
  position: relative; z-index: 2;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 3.5rem;
  align-items: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
  width: 100%;
}
@media (max-width: 1100px) {
  .cc-ab-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-ab-hero { min-height: auto; }
}

/* ── LEFT ── */
.cc-ab-hero__badges {
  display: flex; align-items: center; gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.cc-ab-hero__badge {
  display: inline-flex; align-items: center; gap: 0.4rem;
  font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.10em;
  text-transform: uppercase; border-radius: 100px;
  padding: 0.3rem 0.875rem;
}
.cc-ab-hero__badge--incoming {
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
}
.cc-ab-hero__badge--bill {
  color: #10b981;
  background: rgba(16,185,129,0.10);
  border: 1px solid rgba(16,185,129,0.22);
}
.cc-ab-hero__badge-pulse {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 0 0 rgba(245,200,66,0.6);
  animation: cc-live-pulse 1.8s ease infinite;
  flex-shrink: 0;
}

.cc-ab-hero__title {
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #fff;
  line-height: 1.05;
  margin-bottom: 1.125rem;
}
.cc-ab-hero__title em { color: var(--gold); font-style: italic; display: block; }

.cc-ab-hero__desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.52);
  line-height: 1.78;
  max-width: 500px;
  margin-bottom: 1.75rem;
}

/* Timeline */
.cc-ab-hero__timeline {
  display: flex;
  align-items: flex-start;
  gap: 0;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
  row-gap: 1rem;
}
.cc-ab-hero__tl-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  min-width: 88px;
}
.cc-ab-hero__tl-dot {
  width: 12px; height: 12px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-bottom: 0.375rem;
  position: relative;
  z-index: 1;
}
.cc-ab-hero__tl-line {
  position: absolute;
  top: 5px;
  left: calc(50% + 6px);
  height: 2px;
  width: calc(100% - 12px);
}
.cc-ab-hero__tl-label {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 900;
  margin-bottom: 0.15rem;
  text-align: center;
}
.cc-ab-hero__tl-desc {
  font-size: 0.5rem;
  font-weight: 600;
  color: rgba(255,255,255,0.3);
  text-align: center;
  line-height: 1.3;
  max-width: 80px;
}

/* Chips */
.cc-ab-hero__chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.5rem; }
.cc-ab-hero__chip {
  display: inline-flex; align-items: center; gap: 0.4rem;
  font-size: 0.6875rem; font-weight: 600;
  color: rgba(255,255,255,0.5);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 100px; padding: 0.3rem 0.625rem;
}
.cc-ab-hero__ctas { display: flex; gap: 0.75rem; flex-wrap: wrap; }

/* ── RIGHT ── */
.cc-ab-hero__right {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* Countdown card */
.cc-ab-hero__countdown-card {
  background: rgba(10,14,22,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid var(--gold);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.5), 0 0 50px rgba(245,200,66,0.05);
}
.cc-ab-hero__countdown-hdr {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.875rem 1.25rem;
  font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.10em;
  text-transform: uppercase; color: var(--gold);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.cc-ab-hero__countdown-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 8px rgba(245,200,66,0.6);
  animation: cc-live-pulse 2s infinite;
  flex-shrink: 0;
}
.cc-ab-hero__countdown-num {
  font-family: var(--font-mono);
  font-size: 4rem;
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
  text-align: center;
  padding: 1.25rem 1.25rem 0;
  letter-spacing: -0.03em;
}
.cc-ab-hero__countdown-unit {
  text-align: center;
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(255,255,255,0.3);
  padding-bottom: 1rem;
}

/* Progress bar */
.cc-ab-hero__countdown-progress { padding: 0 1.25rem 1rem; }
.cc-ab-hero__countdown-progress-hdr {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 0.4375rem; font-weight: 700; color: rgba(255,255,255,0.25);
  margin-bottom: 0.375rem;
}
.cc-ab-hero__countdown-pct { color: var(--gold); font-weight: 900; }
.cc-ab-hero__countdown-bar-track {
  height: 6px; background: rgba(255,255,255,0.07); border-radius: 3px; overflow: hidden;
}
.cc-ab-hero__countdown-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--gold) 0%, #ffd83d 100%);
  border-radius: 3px;
  box-shadow: 0 0 8px rgba(245,200,66,0.4);
  transition: width 1s ease;
}
.cc-ab-hero__countdown-divider {
  font-size: 0.4375rem; font-weight: 800; text-transform: uppercase;
  letter-spacing: 0.10em; color: rgba(255,255,255,0.2);
  padding: 0.5rem 1.25rem 0.25rem;
  border-top: 1px solid rgba(255,255,255,0.05);
}

/* Operator pills */
.cc-ab-hero__operators {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 0.375rem;
  padding: 0 1.25rem 1rem;
}
.cc-ab-hero__operator {
  display: flex; flex-direction: column; align-items: center;
  gap: 0.2rem;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
  border-top: 1px solid var(--op-c, rgba(255,255,255,0.06));
  border-radius: 8px;
  padding: 0.5rem 0.375rem;
  text-align: center;
  transition: background 0.15s;
}
.cc-ab-hero__operator:hover { background: rgba(255,255,255,0.07); }
.cc-ab-hero__operator-dot {
  width: 6px; height: 6px; border-radius: 50%; margin-bottom: 0.1rem;
}
.cc-ab-hero__operator-name {
  font-size: 0.625rem; font-weight: 800; color: rgba(255,255,255,0.85);
}
.cc-ab-hero__operator-cat {
  font-size: 0.4rem; color: rgba(255,255,255,0.3); line-height: 1.3;
}
.cc-ab-hero__countdown-footer {
  display: flex; align-items: center; justify-content: center; gap: 0.35rem;
  padding: 0.625rem 1.25rem;
  border-top: 1px solid rgba(255,255,255,0.05);
  font-size: 0.6875rem; font-weight: 700;
  color: rgba(255,255,255,0.25); text-decoration: none;
  transition: color 0.15s;
}
.cc-ab-hero__countdown-footer:hover { color: var(--gold); }

/* AGLC strip */
.cc-ab-hero__aglc-strip {
  display: flex;
  align-items: center;
  background: rgba(245,200,66,0.05);
  border: 1px solid rgba(245,200,66,0.14);
  border-radius: 12px;
  padding: 0.75rem 1rem;
  gap: 0;
}
.cc-ab-hero__aglc-item { flex: 1; text-align: center; }
.cc-ab-hero__aglc-label {
  font-size: 0.4375rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: rgba(255,255,255,0.25); margin-bottom: 0.15rem;
}
.cc-ab-hero__aglc-val {
  font-family: var(--font-mono); font-size: 0.875rem;
  font-weight: 900; color: var(--gold);
}
.cc-ab-hero__aglc-sep {
  width: 1px; height: 24px; background: rgba(245,200,66,0.15); flex-shrink: 0;
}

:root.light .cc-ab-hero,
:root.light .cc-ab-hero__bg,
:root.light .cc-ab-hero__countdown-card,
:root.light .cc-ab-hero__aglc-strip {
  background: #07090f;
}
:root.light .cc-ab-hero {
  --bg-main:       #07090f;
  --bg-card:       #0d1117;
  --bg-elevated:   #111827;
  --text-primary:  #ffffff;
  --text-secondary:#94a3b8;
  --text-muted:    #64748b;
  --text-faint:    #334155;
  --border-subtle: rgba(255,255,255,0.06);
  --border-mid:    rgba(255,255,255,0.10);
  --gold:          #F5C842;
  --gold-dim:      rgba(245,200,66,0.12);
  --gold-border:   rgba(245,200,66,0.22);
}

/* ═══════════════════════════════════════════════════════════════
   HOMEPAGE — ELEVATED PANELS & WIDGETS
═══════════════════════════════════════════════════════════════ */

/* ── Hero right panel ── */
.cc-hp-panel {
  background: rgba(10,14,22,0.90) !important;
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-top: 2px solid var(--gold) !important;
  border-radius: 20px !important;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.5), 0 0 40px rgba(245,200,66,0.05);
  padding: 0 !important; /* override inline */
}
.cc-hp-panel__hdr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.875rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.cc-hp-panel__eyebrow {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--gold);
  margin-bottom: 0.15rem;
}
.cc-hp-panel__title {
  font-size: 0.9375rem;
  font-weight: 800;
  color: #fff;
}
.cc-hp-panel__see-all {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.6875rem;
  font-weight: 700;
  color: rgba(255,255,255,0.3);
  text-decoration: none;
  transition: color 0.15s;
}
.cc-hp-panel__see-all:hover { color: var(--gold); }

.cc-hp-panel__picks { display: flex; flex-direction: column; gap: 0; }
.cc-hp-pick {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  transition: background 0.12s;
  position: relative;
}
.cc-hp-pick--top {
  background: rgba(245,200,66,0.04);
}
.cc-hp-pick:hover { background: rgba(255,255,255,0.04); }
.cc-hp-pick__rank {
  font-family: var(--font-mono);
  font-size: 1.125rem;
  font-weight: 900;
  color: rgba(255,255,255,0.1);
  min-width: 20px;
  text-align: center;
  flex-shrink: 0;
}
.cc-hp-pick__rank--gold { color: var(--gold); }
.cc-hp-pick__logo-wrap {
  width: 44px; height: 44px;
  border-radius: 10px;
  flex-shrink: 0;
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  /* background-color set via inline style from cc_logo_overlay_bg_color */
}
.cc-hp-pick__logo {
  width: 80%; height: 80%;
  border-radius: 6px;
  object-fit: contain;
  background: none;
  border: none;
  padding: 0;
  display: block;
}
/* When logo is a thumbnail photo (no overlay configured) — cover fill */
.cc-hp-pick__logo-wrap--photo .cc-hp-pick__logo {
  width: 100%; height: 100%;
  border-radius: 0;
  object-fit: cover;
}
.cc-hp-pick__logo--fb {
  width: 44px; height: 44px;
  border-radius: 10px;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  display: flex; align-items: center; justify-content: center;
  font-weight: 900; font-size: 1.125rem; color: var(--gold);
  flex-shrink: 0;
}
.cc-hp-pick__body { flex: 1; min-width: 0; }
.cc-hp-pick__name { font-size: 0.875rem; font-weight: 700; color: rgba(255,255,255,0.9); margin-bottom: 0.25rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cc-hp-pick__name a { color: inherit; text-decoration: none; }
.cc-hp-pick__name a:hover { color: var(--gold); }
.cc-hp-pick__meta { display: flex; align-items: center; gap: 0.2rem; flex-wrap: wrap; }
.cc-hp-pick__score { font-family: var(--font-mono); font-size: 0.5625rem; font-weight: 800; color: var(--gold); margin-left: 3px; }
.cc-hp-pick__badge { font-size: 0.4375rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; color: rgba(255,255,255,0.3); background: rgba(255,255,255,0.06); border-radius: 4px; padding: 0.1rem 0.35rem; margin-left: 4px; }
.cc-hp-pick__btn {
  display: inline-flex; align-items: center; gap: 0.25rem;
  font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em;
  color: rgba(255,255,255,0.35); background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08); border-radius: 6px;
  padding: 0.25rem 0.5rem; text-decoration: none;
  flex-shrink: 0; transition: color 0.15s, border-color 0.15s;
}
.cc-hp-pick__btn:hover { color: var(--gold); border-color: var(--gold-border); }

/* Market callout in hero panel */
.cc-hp-panel__market {
  padding: 0.875rem 1.25rem;
  background: rgba(16,185,129,0.05);
  border-top: 1px solid rgba(16,185,129,0.12);
}
.cc-hp-panel__market-hdr {
  display: flex; align-items: center; gap: 0.35rem;
  font-size: 0.4375rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.10em;
  color: #10b981; margin-bottom: 0.375rem;
}
.cc-hp-panel__market-text { font-size: 0.8125rem; color: rgba(255,255,255,0.5); line-height: 1.6; margin: 0 0 0.5rem; }
.cc-hp-panel__market-link {
  display: inline-flex; align-items: center; gap: 0.3rem;
  font-size: 0.625rem; font-weight: 700; color: #10b981; text-decoration: none; transition: opacity 0.15s;
}
.cc-hp-panel__market-link:hover { opacity: 0.75; }

/* Trust strip fallback */
.cc-hp-panel__trust {
  display: flex; align-items: center;
  padding: 0.75rem 1.25rem;
  border-top: 1px solid rgba(255,255,255,0.05);
  gap: 0;
}
.cc-hp-panel__trust-item { display: flex; align-items: center; gap: 0.35rem; flex: 1; font-size: 0.5625rem; font-weight: 600; color: rgba(255,255,255,0.3); justify-content: center; }
.cc-hp-panel__trust-sep { width: 1px; height: 16px; background: rgba(255,255,255,0.07); flex-shrink: 0; }
.cc-hp-panel__footer {
  font-size: 0.5rem; color: rgba(255,255,255,0.18); text-align: center;
  padding: 0.5rem 1.25rem;
  border-top: 1px solid rgba(255,255,255,0.05);
}

/* ── Rankings sidebar widgets ── */
.cc-hp-sidebar { gap: 1rem !important; }
.cc-hp-widget {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}
.cc-hp-widget--quickmatch {
  border-color: rgba(245,200,66,0.15);
}
.cc-hp-widget--market {
  border-color: rgba(245,200,66,0.15);
  background: linear-gradient(135deg, rgba(245,200,66,0.04) 0%, var(--bg-card) 50%);
}
.cc-hp-widget--compare {
  padding: 1.375rem;
  text-align: center;
  background: linear-gradient(135deg, rgba(245,200,66,0.07) 0%, transparent 60%);
  border-color: rgba(245,200,66,0.2);
}
.cc-hp-widget__hdr {
  display: flex; align-items: center; gap: 0.4rem;
  font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.10em;
  text-transform: uppercase; color: var(--gold);
  padding: 0.875rem 1rem;
  background: rgba(255,255,255,0.02);
  border-bottom: 1px solid var(--border-subtle);
}
.cc-hp-widget__hdr--market {
  background: rgba(245,200,66,0.04);
  border-bottom-color: rgba(245,200,66,0.12);
}
.cc-hp-widget__hdr-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 6px rgba(16,185,129,0.5);
  animation: ccPulse 2s infinite;
  flex-shrink: 0;
}
.cc-hp-widget__hdr-period { margin-left: auto; font-size: 0.4375rem; color: rgba(255,255,255,0.25); font-weight: 700; }
.cc-hp-widget__hdr-link { margin-left: auto; font-size: 0.5625rem; font-weight: 700; color: var(--gold); text-decoration: none; opacity: 0.7; transition: opacity 0.15s; }
.cc-hp-widget__hdr-link:hover { opacity: 1; }
.cc-hp-widget__body { padding: 1rem; }
.cc-hp-widget__title { font-size: 1.0625rem; font-weight: 800; color: var(--text-primary); margin-bottom: 0.2rem; }
.cc-hp-widget__sub { font-size: 0.8125rem; color: var(--text-secondary); margin-bottom: 0.875rem; }
.cc-hp-qm-group { margin-bottom: 0.875rem; }
.cc-hp-qm-label { font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); margin-bottom: 0.375rem; }
.cc-hp-qm-btn { margin-top: 0.375rem; }
.cc-hp-qm-result { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--border-subtle); }
.cc-hp-widget__market-headline { font-size: 0.875rem; color: var(--text-secondary); line-height: 1.65; padding: 0.875rem 1rem 0; margin: 0; }
.cc-hp-widget__trend { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 1rem; border-bottom: 1px solid var(--border-subtle); font-size: 0.75rem; color: var(--text-secondary); }
.cc-hp-widget__trend:last-of-type { border-bottom: none; }
.cc-hp-widget__market-cta {
  display: flex; align-items: center; justify-content: center; gap: 0.35rem;
  margin: 0 1rem 0.875rem;
  padding: 0.5rem;
  font-size: 0.6875rem; font-weight: 800; color: var(--gold);
  background: var(--gold-dim); border: 1px solid var(--gold-border);
  border-radius: 8px; text-decoration: none; transition: background 0.15s;
}
.cc-hp-widget__market-cta:hover { background: rgba(245,200,66,0.15); }

/* Podcast rows in sidebar widget */
.cc-hp-widget__pod-row { display: flex; align-items: center; gap: 0.625rem; padding: 0.625rem 1rem; border-bottom: 1px solid var(--border-subtle); transition: background 0.12s; }
.cc-hp-widget__pod-row:last-child { border-bottom: none; }
.cc-hp-widget__pod-row:hover { background: rgba(255,255,255,0.03); }
.cc-hp-widget__pod-art { width: 40px; height: 40px; border-radius: 7px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.cc-hp-widget__pod-body { flex: 1; min-width: 0; }
.cc-hp-widget__pod-cat { font-size: 0.4375rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.09em; margin-bottom: 0.1rem; }
.cc-hp-widget__pod-title { font-size: 0.75rem; font-weight: 700; color: var(--text-primary); text-decoration: none; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color 0.15s; }
.cc-hp-widget__pod-title:hover { color: var(--gold); }
.cc-hp-widget__pod-dur { display: flex; align-items: center; gap: 0.2rem; font-family: var(--font-mono); font-size: 0.4375rem; color: var(--text-faint); margin-top: 0.15rem; }
.cc-hp-widget__pod-play {
  width: 30px; height: 30px; border-radius: 50%;
  background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.08);
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,0.4); flex-shrink: 0;
  transition: background 0.15s, color 0.15s, transform 0.15s;
}
.cc-hp-widget__pod-play:hover { background: var(--ep-color,var(--gold)); border-color: transparent; color: #000; transform: scale(1.1); }

/* Tool rows */
.cc-hp-widget__tool-row { display: flex; align-items: center; gap: 0.625rem; padding: 0.625rem 1rem; border-bottom: 1px solid var(--border-subtle); text-decoration: none; transition: background 0.12s; }
.cc-hp-widget__tool-row:last-child { border-bottom: none; }
.cc-hp-widget__tool-row:hover { background: rgba(255,255,255,0.03); }
.cc-hp-widget__tool-row:hover .cc-hp-widget__tool-arrow { color: var(--gold) !important; transform: translateX(3px); }
.cc-hp-widget__tool-icon { width: 34px; height: 34px; border-radius: 9px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cc-hp-widget__tool-body { flex: 1; min-width: 0; }
.cc-hp-widget__tool-name { font-size: 0.8125rem; font-weight: 700; color: var(--text-primary); }
.cc-hp-widget__tool-desc { font-size: 0.5625rem; color: var(--text-muted); margin-top: 0.1rem; }

/* Compare CTA widget */
.cc-hp-widget__compare-icon { width: 52px; height: 52px; background: var(--gold-dim); border: 1px solid var(--gold-border); border-radius: 14px; display: flex; align-items: center; justify-content: center; margin: 0 auto 0.875rem; }
.cc-hp-widget__compare-title { font-size: 1rem; font-weight: 800; color: var(--text-primary); margin-bottom: 0.375rem; }
.cc-hp-widget__compare-desc { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.55; margin-bottom: 1rem; }

/* ── News section — Concept B: The Mosaic ── */
.cc-hp-news-section {
  background: var(--bg-elevated);
  padding: 4rem 0 4.5rem;
}
:root.light .cc-hp-news-section {
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
}

/* Top mosaic grid: 3fr featured | 2fr stack */
.cc-news-mosaic {
  display: grid;
  grid-template-columns: 3fr 2fr;
  grid-template-rows: 462px;
  gap: 14px;
  margin-bottom: 14px;
}

/* Featured article */
.cc-news-featured {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  background: var(--bg-card);
  cursor: pointer;
}
.cc-news-featured img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .65s cubic-bezier(.22,1,.36,1), filter .4s ease;
  filter: brightness(0.72);
}
.cc-news-featured:hover img { transform: scale(1.04); filter: brightness(0.84); }
.cc-news-featured::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(to top,
      rgba(5,5,10,1)    0%,
      rgba(5,5,10,.96) 18%,
      rgba(5,5,10,.68) 36%,
      rgba(5,5,10,.22) 62%,
      transparent      100%
    ),
    linear-gradient(to right, rgba(5,5,10,.38) 0%, transparent 58%);
}
.cc-news-feat-body {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 36px 40px;
  z-index: 2;
}
.cc-news-feat-top {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.cc-news-cat-pill {
  font-family: 'DM Mono', monospace;
  font-size: 8.5px;
  font-weight: 500;
  letter-spacing: .13em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 5px;
  background: rgba(245,200,66,.12);
  color: #F5C842;
  border: 1px solid rgba(245,200,66,.22);
}
.cc-news-date-pill {
  font-family: 'DM Mono', monospace;
  font-size: 8.5px;
  color: rgba(255,255,255,.4);
  letter-spacing: .04em;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.09);
  padding: 4px 10px;
  border-radius: 5px;
}
.cc-news-feat-hl {
  font-size: 36px;
  font-weight: 900;
  font-style: italic;
  line-height: 1.07;
  letter-spacing: -.03em;
  color: #fff;
  margin-bottom: 12px;
  text-shadow: 0 2px 24px rgba(0,0,0,.55);
}
.cc-news-feat-hl a { color: inherit; text-decoration: none; }
.cc-news-feat-hl a:hover { color: rgba(255,255,255,.82); }
.cc-news-feat-exc {
  font-size: 13.5px;
  line-height: 1.62;
  color: rgba(255,255,255,.55);
  max-width: 520px;
  margin-bottom: 20px;
}
.cc-news-feat-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.cc-news-feat-author { display: flex; align-items: center; gap: 9px; }
.cc-news-feat-av {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  flex-shrink: 0;
  background: linear-gradient(135deg, #F5C842, #D97706);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 800;
  color: #09090F;
}
.cc-news-feat-av--img { background: none; object-fit: cover; }
.cc-news-feat-aname { font-size: 12px; font-weight: 700; color: rgba(255,255,255,.6); }
.cc-news-read-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(245,200,66,.1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(245,200,66,.22);
  color: #F5C842;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding: 9px 18px;
  border-radius: 8px;
  transition: background .2s, border-color .2s, color .2s;
  white-space: nowrap;
}
.cc-news-read-btn:hover {
  background: rgba(245,200,66,.2);
  border-color: rgba(245,200,66,.38);
  color: #F5C842;
}

/* Right stack */
.cc-news-stack { display: grid; grid-template-rows: 1fr 1fr; gap: 14px; }
.cc-news-tile {
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  background: var(--bg-card);
  cursor: pointer;
}
.cc-news-tile img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.22,1,.36,1), filter .4s ease;
  filter: brightness(0.72);
}
.cc-news-tile:hover img { transform: scale(1.06); filter: brightness(0.84); }
.cc-news-tile::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  z-index: 3;
  background: var(--ac, #F5C842);
}
.cc-news-tile::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to top,
    rgba(5,5,10,1)    0%,
    rgba(5,5,10,.96) 18%,
    rgba(5,5,10,.55) 44%,
    rgba(5,5,10,.1)  72%,
    transparent      100%
  );
}
.cc-news-tile-body {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 18px 22px;
  z-index: 2;
}
.cc-news-tile-cat {
  font-family: 'DM Mono', monospace;
  font-size: 8px;
  font-weight: 500;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--ac, #F5C842);
  display: block;
  margin-bottom: 7px;
}
.cc-news-tile-hl {
  font-size: 17px;
  font-weight: 800;
  line-height: 1.26;
  letter-spacing: -.018em;
  color: #fff;
  display: block;
  transition: color .2s;
}
.cc-news-tile-hl:hover { color: var(--ac, #F5C842); }
.cc-news-tile-date {
  font-family: 'DM Mono', monospace;
  font-size: 8.5px;
  color: rgba(255,255,255,.28);
  margin-top: 6px;
  display: block;
  letter-spacing: .04em;
}

/* Portrait strip */
.cc-news-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.cc-news-pt {
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  height: 234px;
  background: var(--bg-card);
  cursor: pointer;
}
.cc-news-pt img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.22,1,.36,1), filter .4s ease;
  filter: brightness(0.72);
}
.cc-news-pt:hover img { transform: scale(1.07); filter: brightness(0.84); }
.cc-news-pt::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  z-index: 3;
  background: var(--ac, #F5C842);
}
.cc-news-pt::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to top,
    rgba(5,5,10,1)    0%,
    rgba(5,5,10,.97) 16%,
    rgba(5,5,10,.5)  42%,
    rgba(5,5,10,.08) 70%,
    transparent      100%
  );
}
.cc-news-pt-body {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 16px 18px;
  z-index: 2;
}
.cc-news-pt-cat {
  font-family: 'DM Mono', monospace;
  font-size: 7.5px;
  font-weight: 500;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--ac, #F5C842);
  margin-bottom: 6px;
  display: block;
}
.cc-news-pt-hl {
  font-size: 15px;
  font-weight: 800;
  line-height: 1.28;
  letter-spacing: -.015em;
  color: #fff;
  display: block;
  transition: color .2s;
}
.cc-news-pt-hl:hover { color: var(--ac, #F5C842); }
.cc-news-pt-date {
  font-family: 'DM Mono', monospace;
  font-size: 8px;
  color: rgba(255,255,255,.28);
  margin-top: 5px;
  display: block;
  letter-spacing: .04em;
}

/* Responsive */
@media (max-width: 900px) {
  .cc-news-mosaic { grid-template-columns: 1fr; grid-template-rows: 400px auto; gap: 12px; margin-bottom: 12px; }
  .cc-news-stack { grid-template-rows: 210px 210px; gap: 12px; }
  .cc-news-strip { gap: 12px; }
}
@media (max-width: 600px) {
  .cc-news-mosaic { grid-template-rows: 330px auto; gap: 10px; margin-bottom: 10px; }
  .cc-news-feat-hl { font-size: 26px; }
  .cc-news-feat-body { padding: 24px 22px; }
  .cc-news-strip { grid-template-columns: 1fr; height: auto; gap: 10px; }
  .cc-news-pt { height: 200px; }
}

/* Light mode — flip gradients from dark-bleed to light-bleed, restore readable text */
:root.light .cc-news-featured { background: #f1f5f9; }
:root.light .cc-news-tile     { background: #f1f5f9; }
:root.light .cc-news-pt       { background: #f1f5f9; }

:root.light .cc-news-featured::before {
  background:
    linear-gradient(to top,
      rgba(241,245,249,1)    0%,
      rgba(241,245,249,.96) 18%,
      rgba(241,245,249,.68) 36%,
      rgba(241,245,249,.18) 62%,
      transparent           100%
    ),
    linear-gradient(to right, rgba(241,245,249,.32) 0%, transparent 58%);
}
:root.light .cc-news-tile::after {
  background: linear-gradient(to top,
    rgba(241,245,249,1)    0%,
    rgba(241,245,249,.96) 18%,
    rgba(241,245,249,.55) 44%,
    rgba(241,245,249,.1)  72%,
    transparent           100%
  );
}
:root.light .cc-news-pt::after {
  background: linear-gradient(to top,
    rgba(241,245,249,1)    0%,
    rgba(241,245,249,.97) 16%,
    rgba(241,245,249,.5)  42%,
    rgba(241,245,249,.08) 70%,
    transparent           100%
  );
}

/* Text on light bleed */
:root.light .cc-news-feat-hl,
:root.light .cc-news-feat-hl a      { color: var(--text-primary); text-shadow: none; }
:root.light .cc-news-feat-hl a:hover { color: var(--gold); }
:root.light .cc-news-feat-exc        { color: var(--text-secondary); }
:root.light .cc-news-feat-aname      { color: var(--text-muted); }
:root.light .cc-news-tile-hl         { color: var(--text-primary); }
:root.light .cc-news-tile-hl:hover   { color: var(--ac, var(--gold)); }
:root.light .cc-news-pt-hl           { color: var(--text-primary); }
:root.light .cc-news-pt-hl:hover     { color: var(--ac, var(--gold)); }
:root.light .cc-news-tile-date,
:root.light .cc-news-pt-date         { color: var(--text-muted); }
:root.light .cc-news-date-pill {
  color: var(--text-muted);
  background: rgba(0,0,0,.04);
  border-color: rgba(0,0,0,.09);
}

/* ── Podcast section ── */
.cc-hp-podcast-section {
  background: var(--bg-main);
  padding: 4rem 0;
}
.cc-hp-podcast-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1.125rem;
}
@media (max-width: 860px) { .cc-hp-podcast-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 520px) { .cc-hp-podcast-grid { grid-template-columns: 1fr; } }

/* Podcast cards in homepage grid */
.cc-hp-pod-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-top: 2px solid var(--pod-c, var(--gold));
  border-radius: var(--radius-card);
  overflow: hidden;
  display: flex; flex-direction: column;
  box-shadow: var(--shadow-card);
  transition: transform 0.2s, border-color 0.15s;
}
.cc-hp-pod-card:hover { transform: translateY(-3px); border-color: var(--pod-c, var(--gold)); }
.cc-hp-pod-card__art { position: relative; aspect-ratio: 16/9; background: var(--bg-elevated); overflow: hidden; }
.cc-hp-pod-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.35s ease; }
.cc-hp-pod-card:hover .cc-hp-pod-card__img { transform: scale(1.04); }
.cc-hp-pod-card__art-fallback { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--pod-c,var(--gold)) 6%, transparent); }
.cc-hp-pod-card__play { position: absolute; bottom: 0.5rem; right: 0.5rem; width: 36px; height: 36px; border-radius: 50%; background: var(--gold); border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; color: #000; box-shadow: 0 4px 12px rgba(245,200,66,0.4); opacity: 0; transition: opacity 0.15s, transform 0.15s; }
.cc-hp-pod-card:hover .cc-hp-pod-card__play { opacity: 1; }
.cc-hp-pod-card__play:hover { transform: scale(1.12); }
.cc-hp-pod-card__play.is-playing { opacity: 1; }
.cc-hp-pod-card__cat-badge { position: absolute; top: 0.5rem; left: 0.5rem; font-size: 0.4375rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; color: #000; border-radius: 100px; padding: 0.15rem 0.5rem; }
.cc-hp-pod-card__body { padding: 0.875rem 1rem; flex: 1; display: flex; flex-direction: column; gap: 0.375rem; }
.cc-hp-pod-card__meta { display: flex; align-items: center; gap: 0.5rem; font-family: var(--font-mono); font-size: 0.5rem; color: rgba(255,255,255,0.25); }
.cc-hp-pod-card__title { font-size: 0.9375rem; font-weight: 800; color: var(--text-primary); text-decoration: none; line-height: 1.3; transition: color 0.15s; }
.cc-hp-pod-card__title:hover { color: var(--pod-c, var(--gold)); }
.cc-hp-pod-card__excerpt { font-size: 0.75rem; color: var(--text-secondary); line-height: 1.6; flex: 1; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cc-hp-pod-card__host { display: flex; align-items: center; gap: 0.3rem; font-size: 0.5625rem; color: rgba(255,255,255,0.3); margin-top: auto; padding-top: 0.375rem; border-top: 1px solid var(--border-subtle); }

/* ── Homepage province strip — above footer ── */
.cc-hp-province-strip {
  padding: 2rem 0;
}
.cc-hp-bottom__province-wrap {
  padding-top: 0;
}
.cc-hp-province-inner {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.cc-hp-province-label {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: var(--text-muted);
  flex-shrink: 0;
  white-space: nowrap;
}
.cc-hp-province-inner .cc-province-strip {
  flex: 1;
}

/* ═══════════════════════════════════════════════════════════
   BC HERO — Pacific Market Watch
   Accent: Pacific blue #0ea5e9
   Atmosphere: ocean wave bands + mountain silhouette watermark
═══════════════════════════════════════════════════════════ */

.cc-bc-hero {
  position: relative;
  background: var(--bg-main);
  min-height: 680px;
  overflow: hidden;
  display: flex;
  align-items: center;
}

/* Deep-ocean radial glows */
.cc-bc-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 55% 70% at 8%  30%, rgba(14,165,233,0.09) 0%, transparent 65%),
    radial-gradient(ellipse 40% 50% at 85% 15%, rgba(6,182,212,0.07)  0%, transparent 60%),
    radial-gradient(ellipse 35% 45% at 60% 80%, rgba(99,102,241,0.06) 0%, transparent 55%),
    var(--bg-main);
  pointer-events: none;
}

/* Dot grid */
.cc-bc-hero__grid {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
}

/* Pacific wave bands — three layered horizontal aurora-style ribbons */
.cc-bc-hero__wave {
  position: absolute;
  left: -10%;
  width: 120%;
  border-radius: 50%;
  pointer-events: none;
  animation: bc-wave-drift 12s ease-in-out infinite alternate;
}
.cc-bc-hero__wave--1 {
  height: 180px;
  top: 55%;
  background: linear-gradient(90deg, transparent 0%, rgba(14,165,233,0.045) 30%, rgba(6,182,212,0.06) 55%, rgba(14,165,233,0.03) 80%, transparent 100%);
  filter: blur(22px);
  animation-duration: 14s;
}
.cc-bc-hero__wave--2 {
  height: 140px;
  top: 65%;
  background: linear-gradient(90deg, transparent 0%, rgba(6,182,212,0.05) 40%, rgba(14,165,233,0.07) 60%, transparent 100%);
  filter: blur(18px);
  animation-duration: 11s;
  animation-delay: -4s;
}
.cc-bc-hero__wave--3 {
  height: 100px;
  top: 74%;
  background: linear-gradient(90deg, transparent 20%, rgba(99,102,241,0.04) 50%, rgba(14,165,233,0.05) 70%, transparent 100%);
  filter: blur(14px);
  animation-duration: 9s;
  animation-delay: -7s;
}
@keyframes bc-wave-drift {
  0%   { transform: translateX(-3%) scaleY(1); }
  100% { transform: translateX(3%)  scaleY(1.08); }
}

/* Mountain silhouette watermark */
.cc-bc-hero__mountain {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 220px;
  pointer-events: none;
  background:
    /* Far peaks */
    radial-gradient(ellipse 18% 55% at 22% 100%, rgba(14,165,233,0.045) 0%, transparent 70%),
    radial-gradient(ellipse 22% 65% at 38% 100%, rgba(14,165,233,0.055) 0%, transparent 70%),
    radial-gradient(ellipse 16% 48% at 54% 100%, rgba(14,165,233,0.04)  0%, transparent 70%),
    radial-gradient(ellipse 20% 60% at 70% 100%, rgba(14,165,233,0.05)  0%, transparent 70%),
    radial-gradient(ellipse 15% 42% at 85% 100%, rgba(14,165,233,0.035) 0%, transparent 70%);
  mask-image: linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 100%);
  -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 100%);
}

/* Two-column layout */
.cc-bc-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 4rem;
  align-items: start;
  padding: 4.5rem 0 4rem;
}
@media (max-width: 1024px) {
  .cc-bc-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-bc-hero { min-height: auto; }
}

/* Badges */
.cc-bc-hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.25rem;
}
.cc-bc-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
}
.cc-bc-hero__badge--bclc {
  color: #0ea5e9;
  background: rgba(14,165,233,0.10);
  border: 1px solid rgba(14,165,233,0.22);
}
.cc-bc-hero__badge--age {
  color: rgba(255,255,255,0.6);
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.10);
}
.cc-bc-hero__badge-pulse {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0ea5e9;
  box-shadow: 0 0 0 0 rgba(14,165,233,0.5);
  animation: bc-pulse 2.2s ease-out infinite;
  flex-shrink: 0;
}
@keyframes bc-pulse {
  0%   { box-shadow: 0 0 0 0   rgba(14,165,233,0.55); }
  70%  { box-shadow: 0 0 0 7px rgba(14,165,233,0); }
  100% { box-shadow: 0 0 0 0   rgba(14,165,233,0); }
}

/* Title */
.cc-bc-hero__title {
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #ffffff;
  line-height: 1.05;
  margin-bottom: 1rem;
}
.cc-bc-hero__title em {
  color: #0ea5e9;
  font-style: italic;
  display: block;
}

/* Description */
.cc-bc-hero__desc {
  font-size: 1rem;
  color: var(--text-secondary);
  line-height: 1.65;
  max-width: 540px;
  margin-bottom: 1.5rem;
}

/* BCLC info bar */
.cc-bc-hero__info-bar {
  background: rgba(14,165,233,0.06);
  border: 1px solid rgba(14,165,233,0.16);
  border-radius: 12px;
  padding: 0.875rem 1.25rem;
  margin-bottom: 1.5rem;
}
.cc-bc-hero__info-bar-inner {
  display: flex;
  gap: 0;
  align-items: stretch;
}
.cc-bc-hero__info-fact {
  flex: 1;
  min-width: 80px;
  text-align: center;
}
.cc-bc-hero__info-sep {
  width: 1px;
  background: rgba(14,165,233,0.15);
  margin: 0.1rem 0;
}
.cc-bc-hero__info-label {
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.2rem;
}
.cc-bc-hero__info-val {
  font-size: 0.875rem;
  font-weight: 800;
  color: #0ea5e9;
  font-family: var(--font-mono);
}

/* Timeline */
.cc-bc-hero__timeline {
  display: flex;
  align-items: flex-start;
  gap: 0;
  margin-bottom: 1.5rem;
}
.cc-bc-hero__tl-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  position: relative;
}
.cc-bc-hero__tl-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-bottom: 0.4rem;
  position: relative;
  z-index: 1;
}
.cc-bc-hero__tl-line {
  position: absolute;
  top: 5px;
  left: calc(50% + 5px);
  right: calc(-50% + 5px);
  height: 1px;
  z-index: 0;
}
.cc-bc-hero__tl-label {
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.15rem;
  text-align: center;
}
.cc-bc-hero__tl-desc {
  font-size: 0.5rem;
  color: var(--text-muted);
  text-align: center;
  line-height: 1.4;
}

/* Chips */
.cc-bc-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}
.cc-bc-hero__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.625rem;
  font-weight: 700;
  color: var(--text-secondary);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 100px;
  padding: 0.3rem 0.75rem;
}

/* CTAs */
.cc-bc-hero__ctas {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* ── RIGHT COLUMN ── */
.cc-bc-hero__right {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* Market watch panel (frosted glass) */
.cc-bc-hero__panel {
  background: rgba(10,14,22,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid #0ea5e9;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.45);
}
.cc-bc-hero__panel-hdr {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #0ea5e9;
}
.cc-bc-hero__panel-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0ea5e9;
  animation: bc-pulse 2.2s ease-out infinite;
  flex-shrink: 0;
}
.cc-bc-hero__panel-updated {
  margin-left: auto;
  font-weight: 600;
  color: var(--text-muted);
  letter-spacing: 0;
  text-transform: none;
  font-size: 0.5625rem;
}

/* Top picks inside panel */
.cc-bc-hero__pick {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1.25rem;
  text-decoration: none;
  transition: var(--transition);
  border-bottom: 1px solid rgba(255,255,255,0.04);
}
.cc-bc-hero__pick:last-of-type { margin-bottom: 0.5rem; }
.cc-bc-hero__pick--top { background: rgba(14,165,233,0.06); }
.cc-bc-hero__pick:hover { background: rgba(14,165,233,0.09); }
.cc-bc-hero__pick-rank {
  font-family: var(--font-mono);
  font-size: 0.875rem;
  font-weight: 900;
  color: #0ea5e9;
  width: 18px;
  flex-shrink: 0;
  text-align: center;
}
.cc-bc-hero__pick--std .cc-bc-hero__pick-rank { color: rgba(255,255,255,0.2); }
.cc-bc-hero__pick-logo {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  object-fit: contain;
  background: var(--bg-elevated);
  padding: 3px;
  flex-shrink: 0;
}
.cc-bc-hero__pick-logo--fb {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: rgba(14,165,233,0.15);
  color: #0ea5e9;
  font-weight: 900;
  font-size: 1rem;
  flex-shrink: 0;
}
.cc-bc-hero__pick-info { flex: 1; min-width: 0; }
.cc-bc-hero__pick-name {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 0.2rem;
}
.cc-bc-hero__pick-row {
  display: flex;
  align-items: center;
  gap: 2px;
}
.cc-bc-hero__pick-score {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 700;
  color: var(--gold);
  margin-left: 4px;
}
.cc-bc-hero__pick-badge {
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #0ea5e9;
  background: rgba(14,165,233,0.12);
  border: 1px solid rgba(14,165,233,0.2);
  border-radius: 100px;
  padding: 0.1rem 0.4rem;
  margin-left: 4px;
  white-space: nowrap;
}
.cc-bc-hero__pick-bonus {
  font-size: 0.5625rem;
  color: var(--text-muted);
  margin-top: 0.2rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-bc-hero__pick-arrow {
  color: var(--text-faint);
  flex-shrink: 0;
  transition: var(--transition);
}
.cc-bc-hero__pick:hover .cc-bc-hero__pick-arrow { color: #0ea5e9; }
.cc-bc-hero__see-all {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  font-size: 0.625rem;
  font-weight: 700;
  color: var(--text-muted);
  text-decoration: none;
  padding: 0.65rem 1.25rem;
  border-top: 1px solid rgba(255,255,255,0.05);
  transition: var(--transition);
}
.cc-bc-hero__see-all:hover { color: #0ea5e9; }

/* Stat chips row */
.cc-bc-hero__stat-chips {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.625rem;
}
.cc-bc-hero__stat-chip {
  background: rgba(10,14,22,0.88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 14px;
  padding: 0.75rem 0.5rem;
  text-align: center;
}
.cc-bc-hero__stat-chip-icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.4rem;
}
.cc-bc-hero__stat-chip-num {
  font-family: var(--font-mono);
  font-size: 1.125rem;
  font-weight: 900;
  color: var(--text-primary);
  line-height: 1;
  margin-bottom: 0.2rem;
}
.cc-bc-hero__stat-chip-label {
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--text-muted);
}

/* RG tools strip */
.cc-bc-hero__rg-strip {
  background: rgba(10,14,22,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid #ec4899;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(0,0,0,0.35);
}
.cc-bc-hero__rg-hdr {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #ec4899;
}
.cc-bc-hero__rg-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.55rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.03);
  transition: var(--transition);
}
.cc-bc-hero__rg-item:hover { background: rgba(255,255,255,0.03); }
.cc-bc-hero__rg-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  margin-top: 4px;
  flex-shrink: 0;
}
.cc-bc-hero__rg-name {
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.1rem;
}
.cc-bc-hero__rg-desc {
  font-size: 0.5625rem;
  color: var(--text-muted);
  line-height: 1.4;
}
.cc-bc-hero__rg-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 700;
  color: var(--text-muted);
  text-decoration: none;
  padding: 0.6rem 1.25rem;
  transition: var(--transition);
}
.cc-bc-hero__rg-footer:hover { color: #ec4899; }

/* Light mode override */
:root.light .cc-bc-hero,
:root.light .cc-bc-hero__bg,
:root.light .cc-bc-hero__panel,
:root.light .cc-bc-hero__rg-strip,
:root.light .cc-bc-hero__stat-chip {
  background: #07090f;
}
:root.light .cc-bc-hero {
  --bg-main:       #07090f;
  --bg-card:       #0d1117;
  --bg-elevated:   #111827;
  --text-primary:  #ffffff;
  --text-secondary:#94a3b8;
  --text-muted:    #64748b;
  --text-faint:    #334155;
  --border-subtle: rgba(255,255,255,0.06);
  --border-mid:    rgba(255,255,255,0.10);
  --gold:          #F5C842;
  --gold-dim:      rgba(245,200,66,0.12);
  --gold-border:   rgba(245,200,66,0.22);
}

/* ═══════════════════════════════════════════════════════════
   NOVA SCOTIA HERO — Atlantic Market Watch
   Accent: Sky Blue #38bdf8  (rgb 56,189,248)
   Atmosphere: Atlantic coastal waves + ocean radial glows
═══════════════════════════════════════════════════════════ */

.cc-ns-hero { position: relative; background: var(--bg-main); min-height: 680px; overflow: hidden; display: flex; align-items: center; }
.cc-ns-hero__bg { position: absolute; inset: 0; background: radial-gradient(ellipse 55% 70% at 8% 30%, rgba(56,189,248,0.09) 0%, transparent 65%), radial-gradient(ellipse 40% 50% at 85% 15%, rgba(6,182,212,0.07) 0%, transparent 60%), radial-gradient(ellipse 35% 45% at 60% 80%, rgba(56,189,248,0.05) 0%, transparent 55%), var(--bg-main); pointer-events: none; }
.cc-ns-hero__grid { position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(255,255,255,0.03) 1px, transparent 1px); background-size: 30px 30px; pointer-events: none; }
.cc-ns-hero__wave { position: absolute; left: -10%; width: 120%; border-radius: 50%; pointer-events: none; animation: ns-wave-drift 12s ease-in-out infinite alternate; }
.cc-ns-hero__wave--1 { height: 180px; top: 55%; background: linear-gradient(90deg, transparent 0%, rgba(56,189,248,0.045) 30%, rgba(6,182,212,0.06) 55%, rgba(56,189,248,0.03) 80%, transparent 100%); filter: blur(22px); animation-duration: 14s; }
.cc-ns-hero__wave--2 { height: 140px; top: 65%; background: linear-gradient(90deg, transparent 0%, rgba(6,182,212,0.05) 40%, rgba(56,189,248,0.07) 60%, transparent 100%); filter: blur(18px); animation-duration: 11s; animation-delay: -4s; }
.cc-ns-hero__wave--3 { height: 100px; top: 74%; background: linear-gradient(90deg, transparent 20%, rgba(56,189,248,0.04) 50%, rgba(6,182,212,0.05) 70%, transparent 100%); filter: blur(14px); animation-duration: 9s; animation-delay: -7s; }
@keyframes ns-wave-drift { 0% { transform: translateX(-3%) scaleY(1); } 100% { transform: translateX(3%) scaleY(1.08); } }
.cc-ns-hero__coast { position: absolute; bottom: 0; left: 0; right: 0; height: 200px; pointer-events: none; background: radial-gradient(ellipse 18% 50% at 18% 100%, rgba(56,189,248,0.04) 0%, transparent 70%), radial-gradient(ellipse 22% 60% at 36% 100%, rgba(56,189,248,0.055) 0%, transparent 70%), radial-gradient(ellipse 16% 45% at 52% 100%, rgba(56,189,248,0.04) 0%, transparent 70%), radial-gradient(ellipse 20% 55% at 68% 100%, rgba(56,189,248,0.05) 0%, transparent 70%), radial-gradient(ellipse 15% 40% at 84% 100%, rgba(56,189,248,0.035) 0%, transparent 70%); mask-image: linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 100%); -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 100%); }
.cc-ns-hero__inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 400px; gap: 4rem; align-items: start; padding: 4.5rem 0 4rem; }
@media (max-width: 1024px) { .cc-ns-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; } .cc-ns-hero { min-height: auto; } }
.cc-ns-hero__badges { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.25rem; }
.cc-ns-hero__badge { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.11em; text-transform: uppercase; border-radius: 100px; padding: 0.3rem 0.875rem; }
.cc-ns-hero__badge--alc { color: #38bdf8; background: rgba(56,189,248,0.10); border: 1px solid rgba(56,189,248,0.22); }
.cc-ns-hero__badge--age { color: rgba(255,255,255,0.6); background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.10); }
.cc-ns-hero__badge-pulse { width: 6px; height: 6px; border-radius: 50%; background: #38bdf8; box-shadow: 0 0 0 0 rgba(56,189,248,0.5); animation: ns-pulse 2.2s ease-out infinite; flex-shrink: 0; }
@keyframes ns-pulse { 0% { box-shadow: 0 0 0 0 rgba(56,189,248,0.55); } 70% { box-shadow: 0 0 0 7px rgba(56,189,248,0); } 100% { box-shadow: 0 0 0 0 rgba(56,189,248,0); } }
.cc-ns-hero__title { font-size: clamp(2.25rem, 4.5vw, 3.5rem); font-weight: 900; letter-spacing: -0.02em; color: #ffffff; line-height: 1.05; margin-bottom: 1rem; }
.cc-ns-hero__title em { color: #38bdf8; font-style: italic; display: block; }
.cc-ns-hero__desc { font-size: 1rem; color: var(--text-secondary); line-height: 1.65; max-width: 540px; margin-bottom: 1.5rem; }
.cc-ns-hero__info-bar { background: rgba(56,189,248,0.06); border: 1px solid rgba(56,189,248,0.16); border-radius: 12px; padding: 0.875rem 1.25rem; margin-bottom: 1.5rem; }
.cc-ns-hero__info-bar-inner { display: flex; gap: 0; align-items: stretch; }
.cc-ns-hero__info-fact { flex: 1; min-width: 80px; text-align: center; }
.cc-ns-hero__info-sep { width: 1px; background: rgba(56,189,248,0.15); margin: 0.1rem 0; }
.cc-ns-hero__info-label { font-size: 0.5625rem; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 0.2rem; }
.cc-ns-hero__info-val { font-size: 0.875rem; font-weight: 800; color: #38bdf8; font-family: var(--font-mono); }
.cc-ns-hero__timeline { display: flex; align-items: flex-start; gap: 0; margin-bottom: 1.5rem; }
.cc-ns-hero__tl-item { display: flex; flex-direction: column; align-items: center; flex: 1; position: relative; }
.cc-ns-hero__tl-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; margin-bottom: 0.4rem; position: relative; z-index: 1; }
.cc-ns-hero__tl-line { position: absolute; top: 5px; left: calc(50% + 5px); right: calc(-50% + 5px); height: 1px; z-index: 0; }
.cc-ns-hero__tl-label { font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 0.15rem; text-align: center; }
.cc-ns-hero__tl-desc { font-size: 0.5rem; color: var(--text-muted); text-align: center; line-height: 1.4; }
.cc-ns-hero__chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.5rem; }
.cc-ns-hero__chip { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.625rem; font-weight: 700; color: var(--text-secondary); background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 100px; padding: 0.3rem 0.75rem; }
.cc-ns-hero__ctas { display: flex; gap: 0.75rem; flex-wrap: wrap; }
.cc-ns-hero__right { display: flex; flex-direction: column; gap: 1rem; }
.cc-ns-hero__panel { background: rgba(10,14,22,0.92); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); border: 1px solid rgba(255,255,255,0.08); border-top: 2px solid #38bdf8; border-radius: 20px; overflow: hidden; box-shadow: 0 24px 60px rgba(0,0,0,0.45); }
.cc-ns-hero__panel-hdr { display: flex; align-items: center; gap: 0.5rem; padding: 0.875rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.06); font-size: 0.625rem; font-weight: 800; letter-spacing: 0.10em; text-transform: uppercase; color: #38bdf8; }
.cc-ns-hero__panel-dot { width: 6px; height: 6px; border-radius: 50%; background: #38bdf8; animation: ns-pulse 2.2s ease-out infinite; flex-shrink: 0; }
.cc-ns-hero__panel-updated { margin-left: auto; font-weight: 600; color: var(--text-muted); letter-spacing: 0; text-transform: none; font-size: 0.5625rem; }
.cc-ns-hero__pick { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 1.25rem; text-decoration: none; transition: var(--transition); border-bottom: 1px solid rgba(255,255,255,0.04); }
.cc-ns-hero__pick:last-of-type { margin-bottom: 0.5rem; }
.cc-ns-hero__pick--top { background: rgba(56,189,248,0.06); }
.cc-ns-hero__pick:hover { background: rgba(56,189,248,0.09); }
.cc-ns-hero__pick-rank { font-family: var(--font-mono); font-size: 0.875rem; font-weight: 900; color: #38bdf8; width: 18px; flex-shrink: 0; text-align: center; }
.cc-ns-hero__pick--std .cc-ns-hero__pick-rank { color: rgba(255,255,255,0.2); }
.cc-ns-hero__pick-logo { width: 34px; height: 34px; border-radius: 8px; object-fit: contain; background: var(--bg-elevated); padding: 3px; flex-shrink: 0; }
.cc-ns-hero__pick-logo--fb { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 8px; background: rgba(56,189,248,0.15); color: #38bdf8; font-weight: 900; font-size: 1rem; flex-shrink: 0; }
.cc-ns-hero__pick-info { flex: 1; min-width: 0; }
.cc-ns-hero__pick-name { font-size: 0.75rem; font-weight: 700; color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 0.2rem; }
.cc-ns-hero__pick-row { display: flex; align-items: center; gap: 2px; }
.cc-ns-hero__pick-score { font-family: var(--font-mono); font-size: 0.625rem; font-weight: 700; color: var(--gold); margin-left: 4px; }
.cc-ns-hero__pick-badge { font-size: 0.5rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #38bdf8; background: rgba(56,189,248,0.12); border: 1px solid rgba(56,189,248,0.2); border-radius: 100px; padding: 0.1rem 0.4rem; margin-left: 4px; white-space: nowrap; }
.cc-ns-hero__pick-bonus { font-size: 0.5625rem; color: var(--text-muted); margin-top: 0.2rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cc-ns-hero__pick-arrow { color: var(--text-faint); flex-shrink: 0; transition: var(--transition); }
.cc-ns-hero__pick:hover .cc-ns-hero__pick-arrow { color: #38bdf8; }
.cc-ns-hero__see-all { display: flex; align-items: center; justify-content: center; gap: 0.4rem; font-size: 0.625rem; font-weight: 700; color: var(--text-muted); text-decoration: none; padding: 0.65rem 1.25rem; border-top: 1px solid rgba(255,255,255,0.05); transition: var(--transition); }
.cc-ns-hero__see-all:hover { color: #38bdf8; }
.cc-ns-hero__stat-chips { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.625rem; }
.cc-ns-hero__stat-chip { background: rgba(10,14,22,0.88); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid rgba(255,255,255,0.07); border-radius: 14px; padding: 0.75rem 0.5rem; text-align: center; }
.cc-ns-hero__stat-chip-icon { width: 28px; height: 28px; border-radius: 8px; display: flex; align-items: center; justify-content: center; margin: 0 auto 0.4rem; }
.cc-ns-hero__stat-chip-num { font-family: var(--font-mono); font-size: 1.125rem; font-weight: 900; color: var(--text-primary); line-height: 1; margin-bottom: 0.2rem; }
.cc-ns-hero__stat-chip-label { font-size: 0.5rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--text-muted); }
.cc-ns-hero__rg-strip { background: rgba(10,14,22,0.92); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); border: 1px solid rgba(255,255,255,0.08); border-top: 2px solid #ec4899; border-radius: 20px; overflow: hidden; box-shadow: 0 16px 40px rgba(0,0,0,0.35); }
.cc-ns-hero__rg-hdr { display: flex; align-items: center; gap: 0.5rem; padding: 0.75rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.06); font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.10em; text-transform: uppercase; color: #ec4899; }
.cc-ns-hero__rg-item { display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.625rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.04); }
.cc-ns-hero__rg-item:last-of-type { border-bottom: none; }
.cc-ns-hero__rg-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; margin-top: 0.2rem; }
.cc-ns-hero__rg-name { font-size: 0.625rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.1rem; }
.cc-ns-hero__rg-desc { font-size: 0.5rem; color: var(--text-muted); line-height: 1.4; }
.cc-ns-hero__rg-footer { display: flex; align-items: center; gap: 0.35rem; padding: 0.625rem 1.25rem; font-size: 0.5625rem; font-weight: 700; color: #ec4899; text-decoration: none; border-top: 1px solid rgba(255,255,255,0.05); transition: var(--transition); }
.cc-ns-hero__rg-footer:hover { color: #f472b6; }
:root.light .cc-ns-hero { background: var(--bg-main); }
:root.light .cc-ns-hero__title { color: var(--text-primary); }
:root.light .cc-ns-hero__panel, :root.light .cc-ns-hero__stat-chip, :root.light .cc-ns-hero__rg-strip { background: #ffffff; border-color: rgba(0,0,0,0.08); box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
:root.light .cc-ns-hero__panel { border-top-color: #38bdf8; }
:root.light .cc-ns-hero__rg-strip { border-top-color: #ec4899; }
:root.light .cc-ns-hero__pick { border-bottom-color: rgba(0,0,0,0.05); }
:root.light .cc-ns-hero__pick--top { background: rgba(56,189,248,0.05); }
:root.light .cc-ns-hero__pick:hover { background: rgba(56,189,248,0.08); }
:root.light .cc-ns-hero__pick-name { color: var(--text-primary); }
:root.light .cc-ns-hero__see-all { border-top-color: rgba(0,0,0,0.06); }
:root.light .cc-ns-hero__chip { background: rgba(0,0,0,0.03); border-color: rgba(0,0,0,0.08); }
:root.light .cc-ns-hero__rg-item { border-bottom-color: rgba(0,0,0,0.05); }
:root.light .cc-ns-hero__panel-hdr { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-ns-hero__rg-hdr { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-ns-hero__badge--age { color: var(--text-secondary); background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.10); }
:root.light .cc-ns-hero__grid { background-image: radial-gradient(circle, rgba(0,0,0,0.04) 1px, transparent 1px); }


/* ═══════════════════════════════════════════════════════════
   PEI HERO — Atlantic Island Market
   Accent: Rose #f43f5e  rgb(244,63,94)
═══════════════════════════════════════════════════════════ */
.cc-pei-hero { position: relative; background: var(--bg-main); min-height: 680px; overflow: hidden; display: flex; align-items: center; }
.cc-pei-hero__bg { position: absolute; inset: 0; background: radial-gradient(ellipse 55% 70% at 8% 30%, rgba(244,63,94,0.09) 0%, transparent 65%), radial-gradient(ellipse 40% 50% at 85% 15%, rgba(225,29,72,0.07) 0%, transparent 60%), radial-gradient(ellipse 35% 45% at 60% 80%, rgba(244,63,94,0.05) 0%, transparent 55%), var(--bg-main); pointer-events: none; }
.cc-pei-hero__grid { position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(255,255,255,0.03) 1px, transparent 1px); background-size: 30px 30px; pointer-events: none; }
.cc-pei-hero__wave { position: absolute; left: -10%; width: 120%; border-radius: 50%; pointer-events: none; animation: pei-wave-drift 12s ease-in-out infinite alternate; }
.cc-pei-hero__wave--1 { height: 180px; top: 55%; background: linear-gradient(90deg, transparent 0%, rgba(244,63,94,0.045) 30%, rgba(225,29,72,0.06) 55%, rgba(244,63,94,0.03) 80%, transparent 100%); filter: blur(22px); animation-duration: 14s; }
.cc-pei-hero__wave--2 { height: 140px; top: 65%; background: linear-gradient(90deg, transparent 0%, rgba(225,29,72,0.05) 40%, rgba(244,63,94,0.07) 60%, transparent 100%); filter: blur(18px); animation-duration: 11s; animation-delay: -4s; }
.cc-pei-hero__wave--3 { height: 100px; top: 74%; background: linear-gradient(90deg, transparent 20%, rgba(244,63,94,0.04) 50%, rgba(225,29,72,0.05) 70%, transparent 100%); filter: blur(14px); animation-duration: 9s; animation-delay: -7s; }
@keyframes pei-wave-drift { 0% { transform: translateX(-3%) scaleY(1); } 100% { transform: translateX(3%) scaleY(1.08); } }
.cc-pei-hero__shore { position: absolute; bottom: 0; left: 0; right: 0; height: 200px; pointer-events: none; background: radial-gradient(ellipse 18% 50% at 18% 100%, rgba(244,63,94,0.04) 0%, transparent 70%), radial-gradient(ellipse 22% 60% at 36% 100%, rgba(244,63,94,0.055) 0%, transparent 70%), radial-gradient(ellipse 16% 45% at 52% 100%, rgba(244,63,94,0.04) 0%, transparent 70%), radial-gradient(ellipse 20% 55% at 68% 100%, rgba(244,63,94,0.05) 0%, transparent 70%), radial-gradient(ellipse 15% 40% at 84% 100%, rgba(244,63,94,0.035) 0%, transparent 70%); mask-image: linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 100%); -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 100%); }
.cc-pei-hero__inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 400px; gap: 4rem; align-items: start; padding: 4.5rem 0 4rem; }
@media (max-width: 1024px) { .cc-pei-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; } .cc-pei-hero { min-height: auto; } }
.cc-pei-hero__badges { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.25rem; }
.cc-pei-hero__badge { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.11em; text-transform: uppercase; border-radius: 100px; padding: 0.3rem 0.875rem; }
.cc-pei-hero__badge--alc { color: #f43f5e; background: rgba(244,63,94,0.10); border: 1px solid rgba(244,63,94,0.22); }
.cc-pei-hero__badge--age { color: rgba(255,255,255,0.6); background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.10); }
.cc-pei-hero__badge-pulse { width: 6px; height: 6px; border-radius: 50%; background: #f43f5e; box-shadow: 0 0 0 0 rgba(244,63,94,0.5); animation: pei-pulse 2.2s ease-out infinite; flex-shrink: 0; }
@keyframes pei-pulse { 0% { box-shadow: 0 0 0 0 rgba(244,63,94,0.55); } 70% { box-shadow: 0 0 0 7px rgba(244,63,94,0); } 100% { box-shadow: 0 0 0 0 rgba(244,63,94,0); } }
.cc-pei-hero__title { font-size: clamp(2.25rem, 4.5vw, 3.5rem); font-weight: 900; letter-spacing: -0.02em; color: #ffffff; line-height: 1.05; margin-bottom: 1rem; }
.cc-pei-hero__title em { color: #f43f5e; font-style: italic; display: block; }
.cc-pei-hero__desc { font-size: 1rem; color: var(--text-secondary); line-height: 1.65; max-width: 540px; margin-bottom: 1.5rem; }
.cc-pei-hero__info-bar { margin-bottom: 1.5rem; }
.cc-pei-hero__info-bar-inner { display: flex; align-items: stretch; gap: 0; background: rgba(244,63,94,0.06); border: 1px solid rgba(244,63,94,0.18); border-radius: 12px; overflow: hidden; }
.cc-pei-hero__info-fact { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0.625rem 1.25rem; flex: 1; }
.cc-pei-hero__info-sep { width: 1px; background: rgba(244,63,94,0.15); flex-shrink: 0; }
.cc-pei-hero__info-label { font-size: 0.5rem; font-weight: 700; letter-spacing: 0.10em; text-transform: uppercase; color: rgba(244,63,94,0.7); margin-bottom: 0.2rem; }
.cc-pei-hero__info-val { font-size: 0.75rem; font-weight: 800; color: #f43f5e; }
.cc-pei-hero__timeline { display: flex; align-items: flex-start; gap: 0; margin-bottom: 1.5rem; }
.cc-pei-hero__tl-item { display: flex; flex-direction: column; align-items: center; flex: 1; position: relative; }
.cc-pei-hero__tl-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; margin-bottom: 0.4rem; }
.cc-pei-hero__tl-line { position: absolute; top: 3.5px; left: calc(50% + 4px); right: calc(-50% + 4px); height: 2px; }
.cc-pei-hero__tl-label { font-family: var(--font-mono); font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.06em; margin-bottom: 0.2rem; text-align: center; }
.cc-pei-hero__tl-desc { font-size: 0.5rem; color: var(--text-muted); text-align: center; line-height: 1.4; }
.cc-pei-hero__chips { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 1.5rem; }
.cc-pei-hero__chip { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.5625rem; font-weight: 700; color: var(--text-secondary); background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 99px; padding: 0.275rem 0.625rem; }
.cc-pei-hero__ctas { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.cc-pei-hero__panel { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-top: 2px solid #f43f5e; border-radius: 16px; overflow: hidden; margin-bottom: 0.75rem; }
.cc-pei-hero__panel-hdr { display: flex; align-items: center; gap: 0.5rem; padding: 0.875rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.06); font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.10em; text-transform: uppercase; color: var(--text-muted); }
.cc-pei-hero__panel-dot { width: 6px; height: 6px; border-radius: 50%; background: #f43f5e; box-shadow: 0 0 6px rgba(244,63,94,0.6); flex-shrink: 0; }
.cc-pei-hero__panel-updated { margin-left: auto; font-size: 0.5rem; font-weight: 600; color: var(--text-faint); text-transform: none; letter-spacing: 0; }
.cc-pei-hero__pick { display: flex; align-items: center; gap: 0.875rem; padding: 0.875rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.05); text-decoration: none; transition: var(--transition); }
.cc-pei-hero__pick:last-of-type { margin-bottom: 0.5rem; }
.cc-pei-hero__pick--top { background: rgba(244,63,94,0.06); }
.cc-pei-hero__pick:hover { background: rgba(244,63,94,0.09); }
.cc-pei-hero__pick-rank { font-family: var(--font-mono); font-size: 0.625rem; font-weight: 900; color: #f43f5e; width: 14px; flex-shrink: 0; }
.cc-pei-hero__pick--std .cc-pei-hero__pick-rank { color: rgba(255,255,255,0.2); }
.cc-pei-hero__pick-logo { width: 32px; height: 32px; border-radius: 8px; object-fit: contain; background: rgba(255,255,255,0.06); flex-shrink: 0; border: 1px solid rgba(255,255,255,0.08); }
.cc-pei-hero__pick-logo--fb { display: flex; align-items: center; justify-content: center; font-size: 0.875rem; font-weight: 900; color: #f43f5e; background: rgba(244,63,94,0.12); border: 1px solid rgba(244,63,94,0.22); }
.cc-pei-hero__pick-info { flex: 1; min-width: 0; }
.cc-pei-hero__pick-name { font-size: 0.8125rem; font-weight: 700; color: #ffffff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 0.25rem; }
.cc-pei-hero__pick-row { display: flex; align-items: center; gap: 2px; }
.cc-pei-hero__pick-score { font-family: var(--font-mono); font-size: 0.5625rem; font-weight: 800; color: var(--gold); margin-left: 3px; }
.cc-pei-hero__pick-badge { font-size: 0.4375rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; padding: 0.15rem 0.4rem; border-radius: 99px; background: rgba(244,63,94,0.15); border: 1px solid rgba(244,63,94,0.28); color: #f43f5e; margin-left: 4px; white-space: nowrap; }
.cc-pei-hero__pick-bonus { font-size: 0.5625rem; color: var(--text-muted); margin-top: 0.2rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cc-pei-hero__pick-arrow { color: var(--text-faint); flex-shrink: 0; transition: var(--transition); }
.cc-pei-hero__pick:hover .cc-pei-hero__pick-arrow { color: #f43f5e; }
.cc-pei-hero__see-all { display: flex; align-items: center; justify-content: center; gap: 0.4rem; padding: 0.75rem 1.25rem; font-size: 0.625rem; font-weight: 700; color: var(--text-muted); text-decoration: none; border-top: 1px solid rgba(255,255,255,0.05); transition: var(--transition); letter-spacing: 0.04em; }
.cc-pei-hero__see-all:hover { color: #f43f5e; }
.cc-pei-hero__stat-chips { display: grid; grid-template-columns: repeat(4,1fr); gap: 0.5rem; margin-bottom: 0.75rem; }
.cc-pei-hero__stat-chip { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07); border-radius: 12px; padding: 0.75rem 0.5rem; display: flex; flex-direction: column; align-items: center; gap: 0.3rem; }
.cc-pei-hero__stat-chip-icon { width: 28px; height: 28px; border-radius: 8px; display: flex; align-items: center; justify-content: center; }
.cc-pei-hero__stat-chip-num { font-family: var(--font-mono); font-size: 1rem; font-weight: 900; color: #ffffff; line-height: 1; }
.cc-pei-hero__stat-chip-label { font-size: 0.4375rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); text-align: center; }
.cc-pei-hero__rg-strip { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.07); border-top: 2px solid #ec4899; border-radius: 14px; overflow: hidden; }
.cc-pei-hero__rg-hdr { display: flex; align-items: center; gap: 0.5rem; padding: 0.75rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.06); font-size: 0.5rem; font-weight: 800; letter-spacing: 0.10em; text-transform: uppercase; color: var(--text-muted); }
.cc-pei-hero__rg-item { display: flex; align-items: center; gap: 0.75rem; padding: 0.5rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.04); transition: var(--transition); }
.cc-pei-hero__rg-item:hover { background: rgba(255,255,255,0.03); }
.cc-pei-hero__rg-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.cc-pei-hero__rg-name { font-size: 0.625rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.1rem; }
.cc-pei-hero__rg-desc { font-size: 0.5rem; color: var(--text-muted); line-height: 1.4; }
.cc-pei-hero__rg-footer { display: flex; align-items: center; gap: 0.35rem; padding: 0.625rem 1.25rem; font-size: 0.5625rem; font-weight: 700; color: #ec4899; text-decoration: none; border-top: 1px solid rgba(255,255,255,0.05); transition: var(--transition); }
.cc-pei-hero__rg-footer:hover { color: #f472b6; }
:root.light .cc-pei-hero { background: var(--bg-main); }
:root.light .cc-pei-hero__title { color: var(--text-primary); }
:root.light .cc-pei-hero__panel, :root.light .cc-pei-hero__stat-chip, :root.light .cc-pei-hero__rg-strip { background: #ffffff; border-color: rgba(0,0,0,0.08); box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
:root.light .cc-pei-hero__panel { border-top-color: #f43f5e; }
:root.light .cc-pei-hero__rg-strip { border-top-color: #ec4899; }
:root.light .cc-pei-hero__pick { border-bottom-color: rgba(0,0,0,0.05); }
:root.light .cc-pei-hero__pick--top { background: rgba(244,63,94,0.05); }
:root.light .cc-pei-hero__pick:hover { background: rgba(244,63,94,0.08); }
:root.light .cc-pei-hero__pick-name { color: var(--text-primary); }
:root.light .cc-pei-hero__see-all { border-top-color: rgba(0,0,0,0.06); }
:root.light .cc-pei-hero__chip { background: rgba(0,0,0,0.03); border-color: rgba(0,0,0,0.08); }
:root.light .cc-pei-hero__rg-item { border-bottom-color: rgba(0,0,0,0.05); }
:root.light .cc-pei-hero__panel-hdr { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-pei-hero__rg-hdr { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-pei-hero__badge--age { color: var(--text-secondary); background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.10); }
:root.light .cc-pei-hero__grid { background-image: radial-gradient(circle, rgba(0,0,0,0.04) 1px, transparent 1px); }

/* ═══════════════════════════════════════════════════════════
   NEW BRUNSWICK HERO — Bay of Fundy Market Watch
   Accent: #22c55e emerald green
═══════════════════════════════════════════════════════════ */
.cc-nb-hero { position: relative; background: var(--bg-main); min-height: 680px; overflow: hidden; display: flex; align-items: center; }
.cc-nb-hero__bg { position: absolute; inset: 0; background: radial-gradient(ellipse 55% 70% at 8% 30%, rgba(34,197,94,0.09) 0%, transparent 65%), radial-gradient(ellipse 40% 50% at 85% 15%, rgba(16,185,129,0.07) 0%, transparent 60%), radial-gradient(ellipse 35% 45% at 60% 80%, rgba(34,197,94,0.05) 0%, transparent 55%), var(--bg-main); pointer-events: none; }
.cc-nb-hero__grid { position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(255,255,255,0.03) 1px, transparent 1px); background-size: 30px 30px; pointer-events: none; }
.cc-nb-hero__wave { position: absolute; left: -10%; width: 120%; border-radius: 50%; pointer-events: none; animation: nb-wave-drift 12s ease-in-out infinite alternate; }
.cc-nb-hero__wave--1 { height: 180px; top: 55%; background: linear-gradient(90deg, transparent 0%, rgba(34,197,94,0.045) 30%, rgba(16,185,129,0.06) 55%, rgba(34,197,94,0.03) 80%, transparent 100%); filter: blur(22px); animation-duration: 14s; }
.cc-nb-hero__wave--2 { height: 140px; top: 65%; background: linear-gradient(90deg, transparent 0%, rgba(16,185,129,0.05) 40%, rgba(34,197,94,0.07) 60%, transparent 100%); filter: blur(18px); animation-duration: 11s; animation-delay: -4s; }
.cc-nb-hero__wave--3 { height: 100px; top: 74%; background: linear-gradient(90deg, transparent 20%, rgba(34,197,94,0.04) 50%, rgba(16,185,129,0.05) 70%, transparent 100%); filter: blur(14px); animation-duration: 9s; animation-delay: -7s; }
@keyframes nb-wave-drift { 0% { transform: translateX(-3%) scaleY(1); } 100% { transform: translateX(3%) scaleY(1.08); } }
.cc-nb-hero__coast { position: absolute; bottom: 0; left: 0; right: 0; height: 200px; pointer-events: none; background: radial-gradient(ellipse 18% 50% at 18% 100%, rgba(34,197,94,0.04) 0%, transparent 70%), radial-gradient(ellipse 22% 60% at 36% 100%, rgba(34,197,94,0.055) 0%, transparent 70%), radial-gradient(ellipse 16% 45% at 52% 100%, rgba(34,197,94,0.04) 0%, transparent 70%), radial-gradient(ellipse 20% 55% at 68% 100%, rgba(34,197,94,0.05) 0%, transparent 70%), radial-gradient(ellipse 15% 40% at 84% 100%, rgba(34,197,94,0.035) 0%, transparent 70%); mask-image: linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 100%); -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 100%); }
.cc-nb-hero__inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 400px; gap: 4rem; align-items: start; padding: 4.5rem 0 4rem; }
@media (max-width: 1024px) { .cc-nb-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; } .cc-nb-hero { min-height: auto; } }
.cc-nb-hero__badges { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.25rem; }
.cc-nb-hero__badge { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.11em; text-transform: uppercase; border-radius: 100px; padding: 0.3rem 0.875rem; }
.cc-nb-hero__badge--alc { color: #22c55e; background: rgba(34,197,94,0.10); border: 1px solid rgba(34,197,94,0.22); }
.cc-nb-hero__badge--age { color: rgba(255,255,255,0.6); background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.10); }
.cc-nb-hero__badge-pulse { width: 6px; height: 6px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 0 rgba(34,197,94,0.5); animation: nb-pulse 2.2s ease-out infinite; flex-shrink: 0; }
@keyframes nb-pulse { 0% { box-shadow: 0 0 0 0 rgba(34,197,94,0.55); } 70% { box-shadow: 0 0 0 7px rgba(34,197,94,0); } 100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); } }
.cc-nb-hero__title { font-size: clamp(2.25rem, 4.5vw, 3.5rem); font-weight: 900; letter-spacing: -0.02em; color: #ffffff; line-height: 1.05; margin-bottom: 1rem; }
.cc-nb-hero__title em { color: #22c55e; font-style: italic; display: block; }
.cc-nb-hero__desc { font-size: 1rem; color: var(--text-secondary); line-height: 1.65; max-width: 540px; margin-bottom: 1.5rem; }
.cc-nb-hero__info-bar { background: rgba(34,197,94,0.06); border: 1px solid rgba(34,197,94,0.16); border-radius: 12px; padding: 0.875rem 1.25rem; margin-bottom: 1.5rem; }
.cc-nb-hero__info-bar-inner { display: flex; gap: 0; align-items: stretch; }
.cc-nb-hero__info-fact { flex: 1; min-width: 80px; text-align: center; }
.cc-nb-hero__info-sep { width: 1px; background: rgba(34,197,94,0.15); margin: 0.1rem 0; }
.cc-nb-hero__info-label { font-size: 0.5625rem; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 0.2rem; }
.cc-nb-hero__info-val { font-size: 0.875rem; font-weight: 800; color: #22c55e; font-family: var(--font-mono); }
.cc-nb-hero__timeline { display: flex; align-items: flex-start; gap: 0; margin-bottom: 1.5rem; }
.cc-nb-hero__tl-item { display: flex; flex-direction: column; align-items: center; flex: 1; position: relative; }
.cc-nb-hero__tl-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; margin-bottom: 0.4rem; position: relative; z-index: 1; }
.cc-nb-hero__tl-line { position: absolute; top: 5px; left: calc(50% + 5px); right: calc(-50% + 5px); height: 1px; z-index: 0; }
.cc-nb-hero__tl-label { font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 0.15rem; text-align: center; }
.cc-nb-hero__tl-desc { font-size: 0.5rem; color: var(--text-muted); text-align: center; line-height: 1.4; }
.cc-nb-hero__chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.5rem; }
.cc-nb-hero__chip { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.625rem; font-weight: 700; color: var(--text-secondary); background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 100px; padding: 0.3rem 0.75rem; }
.cc-nb-hero__ctas { display: flex; gap: 0.75rem; flex-wrap: wrap; }
.cc-nb-hero__right { display: flex; flex-direction: column; gap: 1rem; }
.cc-nb-hero__panel { background: rgba(10,14,22,0.92); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); border: 1px solid rgba(255,255,255,0.08); border-top: 2px solid #22c55e; border-radius: 20px; overflow: hidden; box-shadow: 0 24px 60px rgba(0,0,0,0.45); }
.cc-nb-hero__panel-hdr { display: flex; align-items: center; gap: 0.5rem; padding: 0.875rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.06); font-size: 0.625rem; font-weight: 800; letter-spacing: 0.10em; text-transform: uppercase; color: #22c55e; }
.cc-nb-hero__panel-dot { width: 6px; height: 6px; border-radius: 50%; background: #22c55e; animation: nb-pulse 2.2s ease-out infinite; flex-shrink: 0; }
.cc-nb-hero__panel-updated { margin-left: auto; font-weight: 600; color: var(--text-muted); letter-spacing: 0; text-transform: none; font-size: 0.5625rem; }
.cc-nb-hero__pick { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 1.25rem; text-decoration: none; transition: var(--transition); border-bottom: 1px solid rgba(255,255,255,0.04); }
.cc-nb-hero__pick:last-of-type { margin-bottom: 0.5rem; }
.cc-nb-hero__pick--top { background: rgba(34,197,94,0.06); }
.cc-nb-hero__pick:hover { background: rgba(34,197,94,0.09); }
.cc-nb-hero__pick-rank { font-family: var(--font-mono); font-size: 0.875rem; font-weight: 900; color: #22c55e; width: 18px; flex-shrink: 0; text-align: center; }
.cc-nb-hero__pick--std .cc-nb-hero__pick-rank { color: rgba(255,255,255,0.2); }
.cc-nb-hero__pick-logo { width: 34px; height: 34px; border-radius: 8px; object-fit: contain; background: var(--bg-elevated); padding: 3px; flex-shrink: 0; }
.cc-nb-hero__pick-logo--fb { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 8px; background: rgba(34,197,94,0.15); color: #22c55e; font-weight: 900; font-size: 1rem; flex-shrink: 0; }
.cc-nb-hero__pick-info { flex: 1; min-width: 0; }
.cc-nb-hero__pick-name { font-size: 0.75rem; font-weight: 700; color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 0.2rem; }
.cc-nb-hero__pick-row { display: flex; align-items: center; gap: 2px; }
.cc-nb-hero__pick-score { font-family: var(--font-mono); font-size: 0.625rem; font-weight: 700; color: var(--gold); margin-left: 4px; }
.cc-nb-hero__pick-badge { font-size: 0.5rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #22c55e; background: rgba(34,197,94,0.12); border: 1px solid rgba(34,197,94,0.2); border-radius: 100px; padding: 0.1rem 0.4rem; margin-left: 4px; white-space: nowrap; }
.cc-nb-hero__pick-bonus { font-size: 0.5625rem; color: var(--text-muted); margin-top: 0.2rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cc-nb-hero__pick-arrow { color: var(--text-faint); flex-shrink: 0; transition: var(--transition); }
.cc-nb-hero__pick:hover .cc-nb-hero__pick-arrow { color: #22c55e; }
.cc-nb-hero__see-all { display: flex; align-items: center; justify-content: center; gap: 0.4rem; font-size: 0.625rem; font-weight: 700; color: var(--text-muted); text-decoration: none; padding: 0.65rem 1.25rem; border-top: 1px solid rgba(255,255,255,0.05); transition: var(--transition); }
.cc-nb-hero__see-all:hover { color: #22c55e; }
.cc-nb-hero__stat-chips { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.625rem; }
.cc-nb-hero__stat-chip { background: rgba(10,14,22,0.88); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid rgba(255,255,255,0.07); border-radius: 14px; padding: 0.75rem 0.5rem; text-align: center; }
.cc-nb-hero__stat-chip-icon { width: 28px; height: 28px; border-radius: 8px; display: flex; align-items: center; justify-content: center; margin: 0 auto 0.4rem; }
.cc-nb-hero__stat-chip-num { font-family: var(--font-mono); font-size: 1.125rem; font-weight: 900; color: var(--text-primary); line-height: 1; margin-bottom: 0.2rem; }
.cc-nb-hero__stat-chip-label { font-size: 0.5rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--text-muted); }
.cc-nb-hero__rg-strip { background: rgba(10,14,22,0.92); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); border: 1px solid rgba(255,255,255,0.08); border-top: 2px solid #ec4899; border-radius: 20px; overflow: hidden; box-shadow: 0 16px 40px rgba(0,0,0,0.35); }
.cc-nb-hero__rg-hdr { display: flex; align-items: center; gap: 0.5rem; padding: 0.75rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.06); font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.10em; text-transform: uppercase; color: #ec4899; }
.cc-nb-hero__rg-item { display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.625rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.04); }
.cc-nb-hero__rg-item:last-of-type { border-bottom: none; }
.cc-nb-hero__rg-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; margin-top: 0.2rem; }
.cc-nb-hero__rg-name { font-size: 0.625rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.1rem; }
.cc-nb-hero__rg-desc { font-size: 0.5rem; color: var(--text-muted); line-height: 1.4; }
.cc-nb-hero__rg-footer { display: flex; align-items: center; gap: 0.35rem; padding: 0.625rem 1.25rem; font-size: 0.5625rem; font-weight: 700; color: #ec4899; text-decoration: none; border-top: 1px solid rgba(255,255,255,0.05); transition: var(--transition); }
.cc-nb-hero__rg-footer:hover { color: #f472b6; }
:root.light .cc-nb-hero { background: var(--bg-main); }
:root.light .cc-nb-hero__title { color: var(--text-primary); }
:root.light .cc-nb-hero__panel, :root.light .cc-nb-hero__stat-chip, :root.light .cc-nb-hero__rg-strip { background: #ffffff; border-color: rgba(0,0,0,0.08); box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
:root.light .cc-nb-hero__panel { border-top-color: #22c55e; }
:root.light .cc-nb-hero__rg-strip { border-top-color: #ec4899; }
:root.light .cc-nb-hero__pick { border-bottom-color: rgba(0,0,0,0.05); }
:root.light .cc-nb-hero__pick--top { background: rgba(34,197,94,0.05); }
:root.light .cc-nb-hero__pick:hover { background: rgba(34,197,94,0.08); }
:root.light .cc-nb-hero__pick-name { color: var(--text-primary); }
:root.light .cc-nb-hero__see-all { border-top-color: rgba(0,0,0,0.06); }
:root.light .cc-nb-hero__chip { background: rgba(0,0,0,0.03); border-color: rgba(0,0,0,0.08); }
:root.light .cc-nb-hero__rg-item { border-bottom-color: rgba(0,0,0,0.05); }
:root.light .cc-nb-hero__panel-hdr { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-nb-hero__rg-hdr { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-nb-hero__badge--age { color: var(--text-secondary); background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.10); }
:root.light .cc-nb-hero__grid { background-image: radial-gradient(circle, rgba(0,0,0,0.04) 1px, transparent 1px); }

/* ═══════════════════════════════════════════════════════════
   NEWFOUNDLAND HERO — Atlantic Outpost Market Watch
   Accent: #06b6d4 cyan
═══════════════════════════════════════════════════════════ */
.cc-nl-hero { position: relative; background: var(--bg-main); min-height: 680px; overflow: hidden; display: flex; align-items: center; }
.cc-nl-hero__bg { position: absolute; inset: 0; background: radial-gradient(ellipse 55% 70% at 8% 30%, rgba(6,182,212,0.09) 0%, transparent 65%), radial-gradient(ellipse 40% 50% at 85% 15%, rgba(8,145,178,0.07) 0%, transparent 60%), radial-gradient(ellipse 35% 45% at 60% 80%, rgba(6,182,212,0.05) 0%, transparent 55%), var(--bg-main); pointer-events: none; }
.cc-nl-hero__grid { position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(255,255,255,0.03) 1px, transparent 1px); background-size: 30px 30px; pointer-events: none; }
.cc-nl-hero__wave { position: absolute; left: -10%; width: 120%; border-radius: 50%; pointer-events: none; animation: nl-wave-drift 12s ease-in-out infinite alternate; }
.cc-nl-hero__wave--1 { height: 180px; top: 55%; background: linear-gradient(90deg, transparent 0%, rgba(6,182,212,0.045) 30%, rgba(8,145,178,0.06) 55%, rgba(6,182,212,0.03) 80%, transparent 100%); filter: blur(22px); animation-duration: 14s; }
.cc-nl-hero__wave--2 { height: 140px; top: 65%; background: linear-gradient(90deg, transparent 0%, rgba(8,145,178,0.05) 40%, rgba(6,182,212,0.07) 60%, transparent 100%); filter: blur(18px); animation-duration: 11s; animation-delay: -4s; }
.cc-nl-hero__wave--3 { height: 100px; top: 74%; background: linear-gradient(90deg, transparent 20%, rgba(6,182,212,0.04) 50%, rgba(8,145,178,0.05) 70%, transparent 100%); filter: blur(14px); animation-duration: 9s; animation-delay: -7s; }
@keyframes nl-wave-drift { 0% { transform: translateX(-3%) scaleY(1); } 100% { transform: translateX(3%) scaleY(1.08); } }
.cc-nl-hero__coast { position: absolute; bottom: 0; left: 0; right: 0; height: 200px; pointer-events: none; background: radial-gradient(ellipse 18% 50% at 18% 100%, rgba(6,182,212,0.04) 0%, transparent 70%), radial-gradient(ellipse 22% 60% at 36% 100%, rgba(6,182,212,0.055) 0%, transparent 70%), radial-gradient(ellipse 16% 45% at 52% 100%, rgba(6,182,212,0.04) 0%, transparent 70%), radial-gradient(ellipse 20% 55% at 68% 100%, rgba(6,182,212,0.05) 0%, transparent 70%), radial-gradient(ellipse 15% 40% at 84% 100%, rgba(6,182,212,0.035) 0%, transparent 70%); mask-image: linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 100%); -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 100%); }
.cc-nl-hero__inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 400px; gap: 4rem; align-items: start; padding: 4.5rem 0 4rem; }
@media (max-width: 1024px) { .cc-nl-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; } .cc-nl-hero { min-height: auto; } }
.cc-nl-hero__badges { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.25rem; }
.cc-nl-hero__badge { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.11em; text-transform: uppercase; border-radius: 100px; padding: 0.3rem 0.875rem; }
.cc-nl-hero__badge--alc { color: #06b6d4; background: rgba(6,182,212,0.10); border: 1px solid rgba(6,182,212,0.22); }
.cc-nl-hero__badge--age { color: rgba(255,255,255,0.6); background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.10); }
.cc-nl-hero__badge-pulse { width: 6px; height: 6px; border-radius: 50%; background: #06b6d4; box-shadow: 0 0 0 0 rgba(6,182,212,0.5); animation: nl-pulse 2.2s ease-out infinite; flex-shrink: 0; }
@keyframes nl-pulse { 0% { box-shadow: 0 0 0 0 rgba(6,182,212,0.55); } 70% { box-shadow: 0 0 0 7px rgba(6,182,212,0); } 100% { box-shadow: 0 0 0 0 rgba(6,182,212,0); } }
.cc-nl-hero__title { font-size: clamp(2.25rem, 4.5vw, 3.5rem); font-weight: 900; letter-spacing: -0.02em; color: #ffffff; line-height: 1.05; margin-bottom: 1rem; }
.cc-nl-hero__title em { color: #06b6d4; font-style: italic; display: block; }
.cc-nl-hero__desc { font-size: 1rem; color: var(--text-secondary); line-height: 1.65; max-width: 540px; margin-bottom: 1.5rem; }
.cc-nl-hero__info-bar { margin-bottom: 1.5rem; }
.cc-nl-hero__info-bar-inner { display: flex; align-items: stretch; gap: 0; background: rgba(6,182,212,0.06); border: 1px solid rgba(6,182,212,0.18); border-radius: 12px; overflow: hidden; }
.cc-nl-hero__info-fact { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0.625rem 1.25rem; flex: 1; }
.cc-nl-hero__info-sep { width: 1px; background: rgba(6,182,212,0.15); flex-shrink: 0; }
.cc-nl-hero__info-label { font-size: 0.5rem; font-weight: 700; letter-spacing: 0.10em; text-transform: uppercase; color: rgba(6,182,212,0.7); margin-bottom: 0.2rem; }
.cc-nl-hero__info-val { font-size: 0.75rem; font-weight: 800; color: #06b6d4; }
.cc-nl-hero__timeline { display: flex; align-items: flex-start; gap: 0; margin-bottom: 1.5rem; }
.cc-nl-hero__tl-item { display: flex; flex-direction: column; align-items: center; flex: 1; position: relative; }
.cc-nl-hero__tl-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; margin-bottom: 0.4rem; }
.cc-nl-hero__tl-line { position: absolute; top: 3.5px; left: calc(50% + 4px); right: calc(-50% + 4px); height: 2px; }
.cc-nl-hero__tl-label { font-family: var(--font-mono); font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.06em; margin-bottom: 0.2rem; text-align: center; }
.cc-nl-hero__tl-desc { font-size: 0.5rem; color: var(--text-muted); text-align: center; line-height: 1.4; }
.cc-nl-hero__chips { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 1.5rem; }
.cc-nl-hero__chip { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.5625rem; font-weight: 700; color: var(--text-secondary); background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 99px; padding: 0.275rem 0.625rem; }
.cc-nl-hero__ctas { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.cc-nl-hero__panel { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-top: 2px solid #06b6d4; border-radius: 16px; overflow: hidden; margin-bottom: 0.75rem; }
.cc-nl-hero__panel-hdr { display: flex; align-items: center; gap: 0.5rem; padding: 0.875rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.06); font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.10em; text-transform: uppercase; color: var(--text-muted); }
.cc-nl-hero__panel-dot { width: 6px; height: 6px; border-radius: 50%; background: #06b6d4; box-shadow: 0 0 6px rgba(6,182,212,0.6); flex-shrink: 0; }
.cc-nl-hero__panel-updated { margin-left: auto; font-size: 0.5rem; font-weight: 600; color: var(--text-faint); text-transform: none; letter-spacing: 0; }
.cc-nl-hero__pick { display: flex; align-items: center; gap: 0.875rem; padding: 0.875rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.05); text-decoration: none; transition: var(--transition); }
.cc-nl-hero__pick:last-of-type { margin-bottom: 0.5rem; }
.cc-nl-hero__pick--top { background: rgba(6,182,212,0.06); }
.cc-nl-hero__pick:hover { background: rgba(6,182,212,0.09); }
.cc-nl-hero__pick-rank { font-family: var(--font-mono); font-size: 0.625rem; font-weight: 900; color: #06b6d4; width: 14px; flex-shrink: 0; }
.cc-nl-hero__pick--std .cc-nl-hero__pick-rank { color: rgba(255,255,255,0.2); }
.cc-nl-hero__pick-logo { width: 32px; height: 32px; border-radius: 8px; object-fit: contain; background: rgba(255,255,255,0.06); flex-shrink: 0; border: 1px solid rgba(255,255,255,0.08); }
.cc-nl-hero__pick-logo--fb { display: flex; align-items: center; justify-content: center; font-size: 0.875rem; font-weight: 900; color: #06b6d4; background: rgba(6,182,212,0.12); border: 1px solid rgba(6,182,212,0.22); }
.cc-nl-hero__pick-info { flex: 1; min-width: 0; }
.cc-nl-hero__pick-name { font-size: 0.8125rem; font-weight: 700; color: #ffffff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 0.25rem; }
.cc-nl-hero__pick-row { display: flex; align-items: center; gap: 2px; }
.cc-nl-hero__pick-score { font-family: var(--font-mono); font-size: 0.5625rem; font-weight: 800; color: var(--gold); margin-left: 3px; }
.cc-nl-hero__pick-badge { font-size: 0.4375rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; padding: 0.15rem 0.4rem; border-radius: 99px; background: rgba(6,182,212,0.15); border: 1px solid rgba(6,182,212,0.28); color: #06b6d4; margin-left: 4px; white-space: nowrap; }
.cc-nl-hero__pick-bonus { font-size: 0.5625rem; color: var(--text-muted); margin-top: 0.2rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cc-nl-hero__pick-arrow { color: var(--text-faint); flex-shrink: 0; transition: var(--transition); }
.cc-nl-hero__pick:hover .cc-nl-hero__pick-arrow { color: #06b6d4; }
.cc-nl-hero__see-all { display: flex; align-items: center; justify-content: center; gap: 0.4rem; padding: 0.75rem 1.25rem; font-size: 0.625rem; font-weight: 700; color: var(--text-muted); text-decoration: none; border-top: 1px solid rgba(255,255,255,0.05); transition: var(--transition); letter-spacing: 0.04em; }
.cc-nl-hero__see-all:hover { color: #06b6d4; }
.cc-nl-hero__stat-chips { display: grid; grid-template-columns: repeat(4,1fr); gap: 0.5rem; margin-bottom: 0.75rem; }
.cc-nl-hero__stat-chip { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07); border-radius: 12px; padding: 0.75rem 0.5rem; display: flex; flex-direction: column; align-items: center; gap: 0.3rem; }
.cc-nl-hero__stat-chip-icon { width: 28px; height: 28px; border-radius: 8px; display: flex; align-items: center; justify-content: center; }
.cc-nl-hero__stat-chip-num { font-family: var(--font-mono); font-size: 1rem; font-weight: 900; color: #ffffff; line-height: 1; }
.cc-nl-hero__stat-chip-label { font-size: 0.4375rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); text-align: center; }
.cc-nl-hero__rg-strip { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.07); border-top: 2px solid #ec4899; border-radius: 14px; overflow: hidden; }
.cc-nl-hero__rg-hdr { display: flex; align-items: center; gap: 0.5rem; padding: 0.75rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.06); font-size: 0.5rem; font-weight: 800; letter-spacing: 0.10em; text-transform: uppercase; color: var(--text-muted); }
.cc-nl-hero__rg-item { display: flex; align-items: center; gap: 0.75rem; padding: 0.5rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.04); transition: var(--transition); }
.cc-nl-hero__rg-item:hover { background: rgba(255,255,255,0.03); }
.cc-nl-hero__rg-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.cc-nl-hero__rg-name { font-size: 0.625rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.1rem; }
.cc-nl-hero__rg-desc { font-size: 0.5rem; color: var(--text-muted); line-height: 1.4; }
.cc-nl-hero__rg-footer { display: flex; align-items: center; gap: 0.35rem; padding: 0.625rem 1.25rem; font-size: 0.5625rem; font-weight: 700; color: #ec4899; text-decoration: none; border-top: 1px solid rgba(255,255,255,0.05); transition: var(--transition); }
.cc-nl-hero__rg-footer:hover { color: #f472b6; }
/* Light mode */
:root.light .cc-nl-hero { background: var(--bg-main); }
:root.light .cc-nl-hero__title { color: var(--text-primary); }
:root.light .cc-nl-hero__panel, :root.light .cc-nl-hero__stat-chip, :root.light .cc-nl-hero__rg-strip { background: #ffffff; border-color: rgba(0,0,0,0.08); box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
:root.light .cc-nl-hero__panel { border-top-color: #06b6d4; }
:root.light .cc-nl-hero__rg-strip { border-top-color: #ec4899; }
:root.light .cc-nl-hero__pick { border-bottom-color: rgba(0,0,0,0.05); }
:root.light .cc-nl-hero__pick--top { background: rgba(6,182,212,0.05); }
:root.light .cc-nl-hero__pick:hover { background: rgba(6,182,212,0.08); }
:root.light .cc-nl-hero__pick-name { color: var(--text-primary); }
:root.light .cc-nl-hero__see-all { border-top-color: rgba(0,0,0,0.06); }
:root.light .cc-nl-hero__chip { background: rgba(0,0,0,0.03); border-color: rgba(0,0,0,0.08); }
:root.light .cc-nl-hero__rg-item { border-bottom-color: rgba(0,0,0,0.05); }
:root.light .cc-nl-hero__panel-hdr { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-nl-hero__rg-hdr { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-nl-hero__badge--age { color: var(--text-secondary); background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.10); }
:root.light .cc-nl-hero__grid { background-image: radial-gradient(circle, rgba(0,0,0,0.04) 1px, transparent 1px); }

/* ═══════════════════════════════════════════════════════════
   NUNAVUT HERO — Arctic Territory Market Watch
   Accent: #a78bfa violet (northern aurora)
═══════════════════════════════════════════════════════════ */
.cc-nu-hero { position: relative; background: var(--bg-main); min-height: 680px; overflow: hidden; display: flex; align-items: center; }
.cc-nu-hero__bg { position: absolute; inset: 0; background: radial-gradient(ellipse 55% 70% at 8% 30%, rgba(167,139,250,0.09) 0%, transparent 65%), radial-gradient(ellipse 40% 50% at 85% 15%, rgba(139,92,246,0.07) 0%, transparent 60%), radial-gradient(ellipse 35% 45% at 60% 80%, rgba(167,139,250,0.05) 0%, transparent 55%), var(--bg-main); pointer-events: none; }
.cc-nu-hero__grid { position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(255,255,255,0.03) 1px, transparent 1px); background-size: 30px 30px; pointer-events: none; }
.cc-nu-hero__aurora { position: absolute; left: -10%; width: 120%; border-radius: 50%; pointer-events: none; animation: nu-aurora-drift 14s ease-in-out infinite alternate; }
.cc-nu-hero__aurora--1 { height: 200px; top: 50%; background: linear-gradient(90deg, transparent 0%, rgba(167,139,250,0.04) 25%, rgba(139,92,246,0.065) 50%, rgba(167,139,250,0.035) 75%, transparent 100%); filter: blur(24px); animation-duration: 16s; }
.cc-nu-hero__aurora--2 { height: 150px; top: 62%; background: linear-gradient(90deg, transparent 5%, rgba(139,92,246,0.05) 35%, rgba(167,139,250,0.07) 55%, rgba(99,102,241,0.04) 80%, transparent 100%); filter: blur(20px); animation-duration: 12s; animation-delay: -3s; }
.cc-nu-hero__aurora--3 { height: 110px; top: 72%; background: linear-gradient(90deg, transparent 15%, rgba(99,102,241,0.04) 40%, rgba(167,139,250,0.05) 60%, rgba(139,92,246,0.04) 85%, transparent 100%); filter: blur(16px); animation-duration: 10s; animation-delay: -6s; }
@keyframes nu-aurora-drift { 0% { transform: translateX(-4%) scaleY(1); opacity: 0.85; } 100% { transform: translateX(4%) scaleY(1.12); opacity: 1; } }
.cc-nu-hero__tundra { position: absolute; bottom: 0; left: 0; right: 0; height: 200px; pointer-events: none; background: radial-gradient(ellipse 18% 50% at 18% 100%, rgba(167,139,250,0.04) 0%, transparent 70%), radial-gradient(ellipse 22% 60% at 36% 100%, rgba(139,92,246,0.05) 0%, transparent 70%), radial-gradient(ellipse 16% 45% at 52% 100%, rgba(167,139,250,0.035) 0%, transparent 70%), radial-gradient(ellipse 20% 55% at 68% 100%, rgba(99,102,241,0.04) 0%, transparent 70%), radial-gradient(ellipse 15% 40% at 84% 100%, rgba(167,139,250,0.03) 0%, transparent 70%); mask-image: linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 100%); -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 100%); }
.cc-nu-hero__inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 400px; gap: 4rem; align-items: start; padding: 4.5rem 0 4rem; }
@media (max-width: 1024px) { .cc-nu-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; } .cc-nu-hero { min-height: auto; } }
.cc-nu-hero__badges { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.25rem; }
.cc-nu-hero__badge { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.11em; text-transform: uppercase; border-radius: 100px; padding: 0.3rem 0.875rem; }
.cc-nu-hero__badge--status { color: #a78bfa; background: rgba(167,139,250,0.10); border: 1px solid rgba(167,139,250,0.22); }
.cc-nu-hero__badge--age { color: rgba(255,255,255,0.6); background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.10); }
.cc-nu-hero__badge-pulse { width: 6px; height: 6px; border-radius: 50%; background: #a78bfa; box-shadow: 0 0 0 0 rgba(167,139,250,0.5); animation: nu-pulse 2.2s ease-out infinite; flex-shrink: 0; }
@keyframes nu-pulse { 0% { box-shadow: 0 0 0 0 rgba(167,139,250,0.55); } 70% { box-shadow: 0 0 0 7px rgba(167,139,250,0); } 100% { box-shadow: 0 0 0 0 rgba(167,139,250,0); } }
.cc-nu-hero__title { font-size: clamp(2.25rem, 4.5vw, 3.5rem); font-weight: 900; letter-spacing: -0.02em; color: #ffffff; line-height: 1.05; margin-bottom: 1rem; }
.cc-nu-hero__title em { color: #a78bfa; font-style: italic; display: block; }
.cc-nu-hero__desc { font-size: 1rem; color: var(--text-secondary); line-height: 1.65; max-width: 540px; margin-bottom: 1.5rem; }
.cc-nu-hero__info-bar { margin-bottom: 1.5rem; }
.cc-nu-hero__info-bar-inner { display: flex; align-items: stretch; gap: 0; background: rgba(167,139,250,0.06); border: 1px solid rgba(167,139,250,0.18); border-radius: 12px; overflow: hidden; }
.cc-nu-hero__info-fact { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0.625rem 1.25rem; flex: 1; }
.cc-nu-hero__info-sep { width: 1px; background: rgba(167,139,250,0.15); flex-shrink: 0; }
.cc-nu-hero__info-label { font-size: 0.5rem; font-weight: 700; letter-spacing: 0.10em; text-transform: uppercase; color: rgba(167,139,250,0.7); margin-bottom: 0.2rem; }
.cc-nu-hero__info-val { font-size: 0.75rem; font-weight: 800; color: #a78bfa; }
.cc-nu-hero__timeline { display: flex; align-items: flex-start; gap: 0; margin-bottom: 1.5rem; }
.cc-nu-hero__tl-item { display: flex; flex-direction: column; align-items: center; flex: 1; position: relative; }
.cc-nu-hero__tl-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; margin-bottom: 0.4rem; }
.cc-nu-hero__tl-line { position: absolute; top: 3.5px; left: calc(50% + 4px); right: calc(-50% + 4px); height: 2px; }
.cc-nu-hero__tl-label { font-family: var(--font-mono); font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.06em; margin-bottom: 0.2rem; text-align: center; }
.cc-nu-hero__tl-desc { font-size: 0.5rem; color: var(--text-muted); text-align: center; line-height: 1.4; }
.cc-nu-hero__chips { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 1.5rem; }
.cc-nu-hero__chip { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.5625rem; font-weight: 700; color: var(--text-secondary); background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 99px; padding: 0.275rem 0.625rem; }
.cc-nu-hero__ctas { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.cc-nu-hero__panel { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-top: 2px solid #a78bfa; border-radius: 16px; overflow: hidden; margin-bottom: 0.75rem; }
.cc-nu-hero__panel-hdr { display: flex; align-items: center; gap: 0.5rem; padding: 0.875rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.06); font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.10em; text-transform: uppercase; color: var(--text-muted); }
.cc-nu-hero__panel-dot { width: 6px; height: 6px; border-radius: 50%; background: #a78bfa; box-shadow: 0 0 6px rgba(167,139,250,0.6); flex-shrink: 0; }
.cc-nu-hero__panel-updated { margin-left: auto; font-size: 0.5rem; font-weight: 600; color: var(--text-faint); text-transform: none; letter-spacing: 0; }
.cc-nu-hero__pick { display: flex; align-items: center; gap: 0.875rem; padding: 0.875rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.05); text-decoration: none; transition: var(--transition); }
.cc-nu-hero__pick:last-of-type { margin-bottom: 0.5rem; }
.cc-nu-hero__pick--top { background: rgba(167,139,250,0.06); }
.cc-nu-hero__pick:hover { background: rgba(167,139,250,0.09); }
.cc-nu-hero__pick-rank { font-family: var(--font-mono); font-size: 0.625rem; font-weight: 900; color: #a78bfa; width: 14px; flex-shrink: 0; }
.cc-nu-hero__pick--std .cc-nu-hero__pick-rank { color: rgba(255,255,255,0.2); }
.cc-nu-hero__pick-logo { width: 32px; height: 32px; border-radius: 8px; object-fit: contain; background: rgba(255,255,255,0.06); flex-shrink: 0; border: 1px solid rgba(255,255,255,0.08); }
.cc-nu-hero__pick-logo--fb { display: flex; align-items: center; justify-content: center; font-size: 0.875rem; font-weight: 900; color: #a78bfa; background: rgba(167,139,250,0.12); border: 1px solid rgba(167,139,250,0.22); }
.cc-nu-hero__pick-info { flex: 1; min-width: 0; }
.cc-nu-hero__pick-name { font-size: 0.8125rem; font-weight: 700; color: #ffffff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 0.25rem; }
.cc-nu-hero__pick-row { display: flex; align-items: center; gap: 2px; }
.cc-nu-hero__pick-score { font-family: var(--font-mono); font-size: 0.5625rem; font-weight: 800; color: var(--gold); margin-left: 3px; }
.cc-nu-hero__pick-badge { font-size: 0.4375rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; padding: 0.15rem 0.4rem; border-radius: 99px; background: rgba(167,139,250,0.15); border: 1px solid rgba(167,139,250,0.28); color: #a78bfa; margin-left: 4px; white-space: nowrap; }
.cc-nu-hero__pick-bonus { font-size: 0.5625rem; color: var(--text-muted); margin-top: 0.2rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cc-nu-hero__pick-arrow { color: var(--text-faint); flex-shrink: 0; transition: var(--transition); }
.cc-nu-hero__pick:hover .cc-nu-hero__pick-arrow { color: #a78bfa; }
.cc-nu-hero__see-all { display: flex; align-items: center; justify-content: center; gap: 0.4rem; padding: 0.75rem 1.25rem; font-size: 0.625rem; font-weight: 700; color: var(--text-muted); text-decoration: none; border-top: 1px solid rgba(255,255,255,0.05); transition: var(--transition); letter-spacing: 0.04em; }
.cc-nu-hero__see-all:hover { color: #a78bfa; }
.cc-nu-hero__stat-chips { display: grid; grid-template-columns: repeat(4,1fr); gap: 0.5rem; margin-bottom: 0.75rem; }
.cc-nu-hero__stat-chip { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07); border-radius: 12px; padding: 0.75rem 0.5rem; display: flex; flex-direction: column; align-items: center; gap: 0.3rem; }
.cc-nu-hero__stat-chip-icon { width: 28px; height: 28px; border-radius: 8px; display: flex; align-items: center; justify-content: center; }
.cc-nu-hero__stat-chip-num { font-family: var(--font-mono); font-size: 1rem; font-weight: 900; color: #ffffff; line-height: 1; }
.cc-nu-hero__stat-chip-label { font-size: 0.4375rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); text-align: center; }
.cc-nu-hero__rg-strip { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.07); border-top: 2px solid #ec4899; border-radius: 14px; overflow: hidden; }
.cc-nu-hero__rg-hdr { display: flex; align-items: center; gap: 0.5rem; padding: 0.75rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.06); font-size: 0.5rem; font-weight: 800; letter-spacing: 0.10em; text-transform: uppercase; color: var(--text-muted); }
.cc-nu-hero__rg-item { display: flex; align-items: center; gap: 0.75rem; padding: 0.5rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.04); transition: var(--transition); }
.cc-nu-hero__rg-item:hover { background: rgba(255,255,255,0.03); }
.cc-nu-hero__rg-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.cc-nu-hero__rg-name { font-size: 0.625rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.1rem; }
.cc-nu-hero__rg-desc { font-size: 0.5rem; color: var(--text-muted); line-height: 1.4; }
.cc-nu-hero__rg-footer { display: flex; align-items: center; gap: 0.35rem; padding: 0.625rem 1.25rem; font-size: 0.5625rem; font-weight: 700; color: #ec4899; text-decoration: none; border-top: 1px solid rgba(255,255,255,0.05); transition: var(--transition); }
.cc-nu-hero__rg-footer:hover { color: #f472b6; }
/* Light mode */
:root.light .cc-nu-hero { background: var(--bg-main); }
:root.light .cc-nu-hero__title { color: var(--text-primary); }
:root.light .cc-nu-hero__panel, :root.light .cc-nu-hero__stat-chip, :root.light .cc-nu-hero__rg-strip { background: #ffffff; border-color: rgba(0,0,0,0.08); box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
:root.light .cc-nu-hero__panel { border-top-color: #a78bfa; }
:root.light .cc-nu-hero__rg-strip { border-top-color: #ec4899; }
:root.light .cc-nu-hero__pick { border-bottom-color: rgba(0,0,0,0.05); }
:root.light .cc-nu-hero__pick--top { background: rgba(167,139,250,0.05); }
:root.light .cc-nu-hero__pick:hover { background: rgba(167,139,250,0.08); }
:root.light .cc-nu-hero__pick-name { color: var(--text-primary); }
:root.light .cc-nu-hero__see-all { border-top-color: rgba(0,0,0,0.06); }
:root.light .cc-nu-hero__chip { background: rgba(0,0,0,0.03); border-color: rgba(0,0,0,0.08); }
:root.light .cc-nu-hero__rg-item { border-bottom-color: rgba(0,0,0,0.05); }
:root.light .cc-nu-hero__panel-hdr { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-nu-hero__rg-hdr { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-nu-hero__badge--age { color: var(--text-secondary); background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.10); }
:root.light .cc-nu-hero__grid { background-image: radial-gradient(circle, rgba(0,0,0,0.04) 1px, transparent 1px); }

/* ═══════════════════════════════════════════════════════════
   NORTHWEST TERRITORIES HERO — Northern Frontier Market Watch
   Accent: #f59e0b amber (midnight sun / gold rush)
═══════════════════════════════════════════════════════════ */
.cc-nt-hero { position: relative; background: var(--bg-main); min-height: 680px; overflow: hidden; display: flex; align-items: center; }
.cc-nt-hero__bg { position: absolute; inset: 0; background: radial-gradient(ellipse 55% 70% at 8% 30%, rgba(245,158,11,0.09) 0%, transparent 65%), radial-gradient(ellipse 40% 50% at 85% 15%, rgba(217,119,6,0.07) 0%, transparent 60%), radial-gradient(ellipse 35% 45% at 60% 80%, rgba(245,158,11,0.05) 0%, transparent 55%), var(--bg-main); pointer-events: none; }
.cc-nt-hero__grid { position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(255,255,255,0.03) 1px, transparent 1px); background-size: 30px 30px; pointer-events: none; }
.cc-nt-hero__aurora { position: absolute; left: -10%; width: 120%; border-radius: 50%; pointer-events: none; animation: nt-aurora-drift 14s ease-in-out infinite alternate; }
.cc-nt-hero__aurora--1 { height: 200px; top: 50%; background: linear-gradient(90deg, transparent 0%, rgba(245,158,11,0.04) 25%, rgba(217,119,6,0.06) 50%, rgba(245,158,11,0.035) 75%, transparent 100%); filter: blur(24px); animation-duration: 16s; }
.cc-nt-hero__aurora--2 { height: 150px; top: 62%; background: linear-gradient(90deg, transparent 5%, rgba(217,119,6,0.05) 35%, rgba(245,158,11,0.065) 55%, rgba(251,146,60,0.04) 80%, transparent 100%); filter: blur(20px); animation-duration: 12s; animation-delay: -3s; }
.cc-nt-hero__aurora--3 { height: 110px; top: 72%; background: linear-gradient(90deg, transparent 15%, rgba(251,146,60,0.04) 40%, rgba(245,158,11,0.05) 60%, rgba(217,119,6,0.04) 85%, transparent 100%); filter: blur(16px); animation-duration: 10s; animation-delay: -6s; }
@keyframes nt-aurora-drift { 0% { transform: translateX(-4%) scaleY(1); opacity: 0.85; } 100% { transform: translateX(4%) scaleY(1.12); opacity: 1; } }
.cc-nt-hero__tundra { position: absolute; bottom: 0; left: 0; right: 0; height: 200px; pointer-events: none; background: radial-gradient(ellipse 18% 50% at 18% 100%, rgba(245,158,11,0.04) 0%, transparent 70%), radial-gradient(ellipse 22% 60% at 36% 100%, rgba(217,119,6,0.05) 0%, transparent 70%), radial-gradient(ellipse 16% 45% at 52% 100%, rgba(245,158,11,0.035) 0%, transparent 70%), radial-gradient(ellipse 20% 55% at 68% 100%, rgba(251,146,60,0.04) 0%, transparent 70%), radial-gradient(ellipse 15% 40% at 84% 100%, rgba(245,158,11,0.03) 0%, transparent 70%); mask-image: linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 100%); -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 100%); }
.cc-nt-hero__inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 400px; gap: 4rem; align-items: start; padding: 4.5rem 0 4rem; }
@media (max-width: 1024px) { .cc-nt-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; } .cc-nt-hero { min-height: auto; } }
.cc-nt-hero__badges { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.25rem; }
.cc-nt-hero__badge { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.11em; text-transform: uppercase; border-radius: 100px; padding: 0.3rem 0.875rem; }
.cc-nt-hero__badge--status { color: #f59e0b; background: rgba(245,158,11,0.10); border: 1px solid rgba(245,158,11,0.22); }
.cc-nt-hero__badge--age { color: rgba(255,255,255,0.6); background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.10); }
.cc-nt-hero__badge-pulse { width: 6px; height: 6px; border-radius: 50%; background: #f59e0b; box-shadow: 0 0 0 0 rgba(245,158,11,0.5); animation: nt-pulse 2.2s ease-out infinite; flex-shrink: 0; }
@keyframes nt-pulse { 0% { box-shadow: 0 0 0 0 rgba(245,158,11,0.55); } 70% { box-shadow: 0 0 0 7px rgba(245,158,11,0); } 100% { box-shadow: 0 0 0 0 rgba(245,158,11,0); } }
.cc-nt-hero__title { font-size: clamp(2.25rem, 4.5vw, 3.5rem); font-weight: 900; letter-spacing: -0.02em; color: #ffffff; line-height: 1.05; margin-bottom: 1rem; }
.cc-nt-hero__title em { color: #f59e0b; font-style: italic; display: block; }
.cc-nt-hero__desc { font-size: 1rem; color: var(--text-secondary); line-height: 1.65; max-width: 540px; margin-bottom: 1.5rem; }
.cc-nt-hero__info-bar { margin-bottom: 1.5rem; }
.cc-nt-hero__info-bar-inner { display: flex; align-items: stretch; gap: 0; background: rgba(245,158,11,0.06); border: 1px solid rgba(245,158,11,0.18); border-radius: 12px; overflow: hidden; }
.cc-nt-hero__info-fact { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0.625rem 1.25rem; flex: 1; }
.cc-nt-hero__info-sep { width: 1px; background: rgba(245,158,11,0.15); flex-shrink: 0; }
.cc-nt-hero__info-label { font-size: 0.5rem; font-weight: 700; letter-spacing: 0.10em; text-transform: uppercase; color: rgba(245,158,11,0.7); margin-bottom: 0.2rem; }
.cc-nt-hero__info-val { font-size: 0.75rem; font-weight: 800; color: #f59e0b; }
.cc-nt-hero__timeline { display: flex; align-items: flex-start; gap: 0; margin-bottom: 1.5rem; }
.cc-nt-hero__tl-item { display: flex; flex-direction: column; align-items: center; flex: 1; position: relative; }
.cc-nt-hero__tl-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; margin-bottom: 0.4rem; }
.cc-nt-hero__tl-line { position: absolute; top: 3.5px; left: calc(50% + 4px); right: calc(-50% + 4px); height: 2px; }
.cc-nt-hero__tl-label { font-family: var(--font-mono); font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.06em; margin-bottom: 0.2rem; text-align: center; }
.cc-nt-hero__tl-desc { font-size: 0.5rem; color: var(--text-muted); text-align: center; line-height: 1.4; }
.cc-nt-hero__chips { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 1.5rem; }
.cc-nt-hero__chip { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.5625rem; font-weight: 700; color: var(--text-secondary); background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 99px; padding: 0.275rem 0.625rem; }
.cc-nt-hero__ctas { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.cc-nt-hero__panel { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-top: 2px solid #f59e0b; border-radius: 16px; overflow: hidden; margin-bottom: 0.75rem; }
.cc-nt-hero__panel-hdr { display: flex; align-items: center; gap: 0.5rem; padding: 0.875rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.06); font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.10em; text-transform: uppercase; color: var(--text-muted); }
.cc-nt-hero__panel-dot { width: 6px; height: 6px; border-radius: 50%; background: #f59e0b; box-shadow: 0 0 6px rgba(245,158,11,0.6); flex-shrink: 0; }
.cc-nt-hero__panel-updated { margin-left: auto; font-size: 0.5rem; font-weight: 600; color: var(--text-faint); text-transform: none; letter-spacing: 0; }
.cc-nt-hero__pick { display: flex; align-items: center; gap: 0.875rem; padding: 0.875rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.05); text-decoration: none; transition: var(--transition); }
.cc-nt-hero__pick:last-of-type { margin-bottom: 0.5rem; }
.cc-nt-hero__pick--top { background: rgba(245,158,11,0.06); }
.cc-nt-hero__pick:hover { background: rgba(245,158,11,0.09); }
.cc-nt-hero__pick-rank { font-family: var(--font-mono); font-size: 0.625rem; font-weight: 900; color: #f59e0b; width: 14px; flex-shrink: 0; }
.cc-nt-hero__pick--std .cc-nt-hero__pick-rank { color: rgba(255,255,255,0.2); }
.cc-nt-hero__pick-logo { width: 32px; height: 32px; border-radius: 8px; object-fit: contain; background: rgba(255,255,255,0.06); flex-shrink: 0; border: 1px solid rgba(255,255,255,0.08); }
.cc-nt-hero__pick-logo--fb { display: flex; align-items: center; justify-content: center; font-size: 0.875rem; font-weight: 900; color: #f59e0b; background: rgba(245,158,11,0.12); border: 1px solid rgba(245,158,11,0.22); }
.cc-nt-hero__pick-info { flex: 1; min-width: 0; }
.cc-nt-hero__pick-name { font-size: 0.8125rem; font-weight: 700; color: #ffffff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 0.25rem; }
.cc-nt-hero__pick-row { display: flex; align-items: center; gap: 2px; }
.cc-nt-hero__pick-score { font-family: var(--font-mono); font-size: 0.5625rem; font-weight: 800; color: var(--gold); margin-left: 3px; }
.cc-nt-hero__pick-badge { font-size: 0.4375rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; padding: 0.15rem 0.4rem; border-radius: 99px; background: rgba(245,158,11,0.15); border: 1px solid rgba(245,158,11,0.28); color: #f59e0b; margin-left: 4px; white-space: nowrap; }
.cc-nt-hero__pick-bonus { font-size: 0.5625rem; color: var(--text-muted); margin-top: 0.2rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cc-nt-hero__pick-arrow { color: var(--text-faint); flex-shrink: 0; transition: var(--transition); }
.cc-nt-hero__pick:hover .cc-nt-hero__pick-arrow { color: #f59e0b; }
.cc-nt-hero__see-all { display: flex; align-items: center; justify-content: center; gap: 0.4rem; padding: 0.75rem 1.25rem; font-size: 0.625rem; font-weight: 700; color: var(--text-muted); text-decoration: none; border-top: 1px solid rgba(255,255,255,0.05); transition: var(--transition); letter-spacing: 0.04em; }
.cc-nt-hero__see-all:hover { color: #f59e0b; }
.cc-nt-hero__stat-chips { display: grid; grid-template-columns: repeat(4,1fr); gap: 0.5rem; margin-bottom: 0.75rem; }
.cc-nt-hero__stat-chip { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07); border-radius: 12px; padding: 0.75rem 0.5rem; display: flex; flex-direction: column; align-items: center; gap: 0.3rem; }
.cc-nt-hero__stat-chip-icon { width: 28px; height: 28px; border-radius: 8px; display: flex; align-items: center; justify-content: center; }
.cc-nt-hero__stat-chip-num { font-family: var(--font-mono); font-size: 1rem; font-weight: 900; color: #ffffff; line-height: 1; }
.cc-nt-hero__stat-chip-label { font-size: 0.4375rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); text-align: center; }
.cc-nt-hero__rg-strip { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.07); border-top: 2px solid #ec4899; border-radius: 14px; overflow: hidden; }
.cc-nt-hero__rg-hdr { display: flex; align-items: center; gap: 0.5rem; padding: 0.75rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.06); font-size: 0.5rem; font-weight: 800; letter-spacing: 0.10em; text-transform: uppercase; color: var(--text-muted); }
.cc-nt-hero__rg-item { display: flex; align-items: center; gap: 0.75rem; padding: 0.5rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.04); transition: var(--transition); }
.cc-nt-hero__rg-item:hover { background: rgba(255,255,255,0.03); }
.cc-nt-hero__rg-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.cc-nt-hero__rg-name { font-size: 0.625rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.1rem; }
.cc-nt-hero__rg-desc { font-size: 0.5rem; color: var(--text-muted); line-height: 1.4; }
.cc-nt-hero__rg-footer { display: flex; align-items: center; gap: 0.35rem; padding: 0.625rem 1.25rem; font-size: 0.5625rem; font-weight: 700; color: #ec4899; text-decoration: none; border-top: 1px solid rgba(255,255,255,0.05); transition: var(--transition); }
.cc-nt-hero__rg-footer:hover { color: #f472b6; }
/* Light mode */
:root.light .cc-nt-hero { background: var(--bg-main); }
:root.light .cc-nt-hero__title { color: var(--text-primary); }
:root.light .cc-nt-hero__panel, :root.light .cc-nt-hero__stat-chip, :root.light .cc-nt-hero__rg-strip { background: #ffffff; border-color: rgba(0,0,0,0.08); box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
:root.light .cc-nt-hero__panel { border-top-color: #f59e0b; }
:root.light .cc-nt-hero__rg-strip { border-top-color: #ec4899; }
:root.light .cc-nt-hero__pick { border-bottom-color: rgba(0,0,0,0.05); }
:root.light .cc-nt-hero__pick--top { background: rgba(245,158,11,0.05); }
:root.light .cc-nt-hero__pick:hover { background: rgba(245,158,11,0.08); }
:root.light .cc-nt-hero__pick-name { color: var(--text-primary); }
:root.light .cc-nt-hero__see-all { border-top-color: rgba(0,0,0,0.06); }
:root.light .cc-nt-hero__chip { background: rgba(0,0,0,0.03); border-color: rgba(0,0,0,0.08); }
:root.light .cc-nt-hero__rg-item { border-bottom-color: rgba(0,0,0,0.05); }
:root.light .cc-nt-hero__panel-hdr { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-nt-hero__rg-hdr { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-nt-hero__badge--age { color: var(--text-secondary); background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.10); }
:root.light .cc-nt-hero__grid { background-image: radial-gradient(circle, rgba(0,0,0,0.04) 1px, transparent 1px); }

/* ═══════════════════════════════════════════════════════════
   YUKON HERO — Klondike Territory Market Watch
   Accent: #ef4444 red (Klondike, crimson flag)
═══════════════════════════════════════════════════════════ */
.cc-yt-hero { position: relative; background: var(--bg-main); min-height: 680px; overflow: hidden; display: flex; align-items: center; }
.cc-yt-hero__bg { position: absolute; inset: 0; background: radial-gradient(ellipse 55% 70% at 8% 30%, rgba(239,68,68,0.09) 0%, transparent 65%), radial-gradient(ellipse 40% 50% at 85% 15%, rgba(220,38,38,0.07) 0%, transparent 60%), radial-gradient(ellipse 35% 45% at 60% 80%, rgba(239,68,68,0.05) 0%, transparent 55%), var(--bg-main); pointer-events: none; }
.cc-yt-hero__grid { position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(255,255,255,0.03) 1px, transparent 1px); background-size: 30px 30px; pointer-events: none; }
.cc-yt-hero__aurora { position: absolute; left: -10%; width: 120%; border-radius: 50%; pointer-events: none; animation: yt-aurora-drift 14s ease-in-out infinite alternate; }
.cc-yt-hero__aurora--1 { height: 200px; top: 50%; background: linear-gradient(90deg, transparent 0%, rgba(239,68,68,0.04) 25%, rgba(220,38,38,0.06) 50%, rgba(239,68,68,0.035) 75%, transparent 100%); filter: blur(24px); animation-duration: 16s; }
.cc-yt-hero__aurora--2 { height: 150px; top: 62%; background: linear-gradient(90deg, transparent 5%, rgba(220,38,38,0.05) 35%, rgba(239,68,68,0.065) 55%, rgba(248,113,113,0.04) 80%, transparent 100%); filter: blur(20px); animation-duration: 12s; animation-delay: -3s; }
.cc-yt-hero__aurora--3 { height: 110px; top: 72%; background: linear-gradient(90deg, transparent 15%, rgba(248,113,113,0.04) 40%, rgba(239,68,68,0.05) 60%, rgba(220,38,38,0.04) 85%, transparent 100%); filter: blur(16px); animation-duration: 10s; animation-delay: -6s; }
@keyframes yt-aurora-drift { 0% { transform: translateX(-4%) scaleY(1); opacity: 0.85; } 100% { transform: translateX(4%) scaleY(1.12); opacity: 1; } }
.cc-yt-hero__tundra { position: absolute; bottom: 0; left: 0; right: 0; height: 200px; pointer-events: none; background: radial-gradient(ellipse 18% 50% at 18% 100%, rgba(239,68,68,0.04) 0%, transparent 70%), radial-gradient(ellipse 22% 60% at 36% 100%, rgba(220,38,38,0.05) 0%, transparent 70%), radial-gradient(ellipse 16% 45% at 52% 100%, rgba(239,68,68,0.035) 0%, transparent 70%), radial-gradient(ellipse 20% 55% at 68% 100%, rgba(248,113,113,0.04) 0%, transparent 70%), radial-gradient(ellipse 15% 40% at 84% 100%, rgba(239,68,68,0.03) 0%, transparent 70%); mask-image: linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 100%); -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 100%); }
.cc-yt-hero__inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 400px; gap: 4rem; align-items: start; padding: 4.5rem 0 4rem; }
@media (max-width: 1024px) { .cc-yt-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; } .cc-yt-hero { min-height: auto; } }
.cc-yt-hero__badges { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.25rem; }
.cc-yt-hero__badge { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.11em; text-transform: uppercase; border-radius: 100px; padding: 0.3rem 0.875rem; }
.cc-yt-hero__badge--status { color: #ef4444; background: rgba(239,68,68,0.10); border: 1px solid rgba(239,68,68,0.22); }
.cc-yt-hero__badge--age { color: rgba(255,255,255,0.6); background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.10); }
.cc-yt-hero__badge-pulse { width: 6px; height: 6px; border-radius: 50%; background: #ef4444; box-shadow: 0 0 0 0 rgba(239,68,68,0.5); animation: yt-pulse 2.2s ease-out infinite; flex-shrink: 0; }
@keyframes yt-pulse { 0% { box-shadow: 0 0 0 0 rgba(239,68,68,0.55); } 70% { box-shadow: 0 0 0 7px rgba(239,68,68,0); } 100% { box-shadow: 0 0 0 0 rgba(239,68,68,0); } }
.cc-yt-hero__title { font-size: clamp(2.25rem, 4.5vw, 3.5rem); font-weight: 900; letter-spacing: -0.02em; color: #ffffff; line-height: 1.05; margin-bottom: 1rem; }
.cc-yt-hero__title em { color: #ef4444; font-style: italic; display: block; }
.cc-yt-hero__desc { font-size: 1rem; color: var(--text-secondary); line-height: 1.65; max-width: 540px; margin-bottom: 1.5rem; }
.cc-yt-hero__info-bar { margin-bottom: 1.5rem; }
.cc-yt-hero__info-bar-inner { display: flex; align-items: stretch; gap: 0; background: rgba(239,68,68,0.06); border: 1px solid rgba(239,68,68,0.18); border-radius: 12px; overflow: hidden; }
.cc-yt-hero__info-fact { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0.625rem 1.25rem; flex: 1; }
.cc-yt-hero__info-sep { width: 1px; background: rgba(239,68,68,0.15); flex-shrink: 0; }
.cc-yt-hero__info-label { font-size: 0.5rem; font-weight: 700; letter-spacing: 0.10em; text-transform: uppercase; color: rgba(239,68,68,0.7); margin-bottom: 0.2rem; }
.cc-yt-hero__info-val { font-size: 0.75rem; font-weight: 800; color: #ef4444; }
.cc-yt-hero__timeline { display: flex; align-items: flex-start; gap: 0; margin-bottom: 1.5rem; }
.cc-yt-hero__tl-item { display: flex; flex-direction: column; align-items: center; flex: 1; position: relative; }
.cc-yt-hero__tl-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; margin-bottom: 0.4rem; }
.cc-yt-hero__tl-line { position: absolute; top: 3.5px; left: calc(50% + 4px); right: calc(-50% + 4px); height: 2px; }
.cc-yt-hero__tl-label { font-family: var(--font-mono); font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.06em; margin-bottom: 0.2rem; text-align: center; }
.cc-yt-hero__tl-desc { font-size: 0.5rem; color: var(--text-muted); text-align: center; line-height: 1.4; }
.cc-yt-hero__chips { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 1.5rem; }
.cc-yt-hero__chip { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.5625rem; font-weight: 700; color: var(--text-secondary); background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 99px; padding: 0.275rem 0.625rem; }
.cc-yt-hero__ctas { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.cc-yt-hero__panel { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-top: 2px solid #ef4444; border-radius: 16px; overflow: hidden; margin-bottom: 0.75rem; }
.cc-yt-hero__panel-hdr { display: flex; align-items: center; gap: 0.5rem; padding: 0.875rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.06); font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.10em; text-transform: uppercase; color: var(--text-muted); }
.cc-yt-hero__panel-dot { width: 6px; height: 6px; border-radius: 50%; background: #ef4444; box-shadow: 0 0 6px rgba(239,68,68,0.6); flex-shrink: 0; }
.cc-yt-hero__panel-updated { margin-left: auto; font-size: 0.5rem; font-weight: 600; color: var(--text-faint); text-transform: none; letter-spacing: 0; }
.cc-yt-hero__pick { display: flex; align-items: center; gap: 0.875rem; padding: 0.875rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.05); text-decoration: none; transition: var(--transition); }
.cc-yt-hero__pick:last-of-type { margin-bottom: 0.5rem; }
.cc-yt-hero__pick--top { background: rgba(239,68,68,0.06); }
.cc-yt-hero__pick:hover { background: rgba(239,68,68,0.09); }
.cc-yt-hero__pick-rank { font-family: var(--font-mono); font-size: 0.625rem; font-weight: 900; color: #ef4444; width: 14px; flex-shrink: 0; }
.cc-yt-hero__pick--std .cc-yt-hero__pick-rank { color: rgba(255,255,255,0.2); }
.cc-yt-hero__pick-logo { width: 32px; height: 32px; border-radius: 8px; object-fit: contain; background: rgba(255,255,255,0.06); flex-shrink: 0; border: 1px solid rgba(255,255,255,0.08); }
.cc-yt-hero__pick-logo--fb { display: flex; align-items: center; justify-content: center; font-size: 0.875rem; font-weight: 900; color: #ef4444; background: rgba(239,68,68,0.12); border: 1px solid rgba(239,68,68,0.22); }
.cc-yt-hero__pick-info { flex: 1; min-width: 0; }
.cc-yt-hero__pick-name { font-size: 0.8125rem; font-weight: 700; color: #ffffff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 0.25rem; }
.cc-yt-hero__pick-row { display: flex; align-items: center; gap: 2px; }
.cc-yt-hero__pick-score { font-family: var(--font-mono); font-size: 0.5625rem; font-weight: 800; color: var(--gold); margin-left: 3px; }
.cc-yt-hero__pick-badge { font-size: 0.4375rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; padding: 0.15rem 0.4rem; border-radius: 99px; background: rgba(239,68,68,0.15); border: 1px solid rgba(239,68,68,0.28); color: #ef4444; margin-left: 4px; white-space: nowrap; }
.cc-yt-hero__pick-bonus { font-size: 0.5625rem; color: var(--text-muted); margin-top: 0.2rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cc-yt-hero__pick-arrow { color: var(--text-faint); flex-shrink: 0; transition: var(--transition); }
.cc-yt-hero__pick:hover .cc-yt-hero__pick-arrow { color: #ef4444; }
.cc-yt-hero__see-all { display: flex; align-items: center; justify-content: center; gap: 0.4rem; padding: 0.75rem 1.25rem; font-size: 0.625rem; font-weight: 700; color: var(--text-muted); text-decoration: none; border-top: 1px solid rgba(255,255,255,0.05); transition: var(--transition); letter-spacing: 0.04em; }
.cc-yt-hero__see-all:hover { color: #ef4444; }
.cc-yt-hero__stat-chips { display: grid; grid-template-columns: repeat(4,1fr); gap: 0.5rem; margin-bottom: 0.75rem; }
.cc-yt-hero__stat-chip { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07); border-radius: 12px; padding: 0.75rem 0.5rem; display: flex; flex-direction: column; align-items: center; gap: 0.3rem; }
.cc-yt-hero__stat-chip-icon { width: 28px; height: 28px; border-radius: 8px; display: flex; align-items: center; justify-content: center; }
.cc-yt-hero__stat-chip-num { font-family: var(--font-mono); font-size: 1rem; font-weight: 900; color: #ffffff; line-height: 1; }
.cc-yt-hero__stat-chip-label { font-size: 0.4375rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); text-align: center; }
.cc-yt-hero__rg-strip { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.07); border-top: 2px solid #ec4899; border-radius: 14px; overflow: hidden; }
.cc-yt-hero__rg-hdr { display: flex; align-items: center; gap: 0.5rem; padding: 0.75rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.06); font-size: 0.5rem; font-weight: 800; letter-spacing: 0.10em; text-transform: uppercase; color: var(--text-muted); }
.cc-yt-hero__rg-item { display: flex; align-items: center; gap: 0.75rem; padding: 0.5rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,0.04); transition: var(--transition); }
.cc-yt-hero__rg-item:hover { background: rgba(255,255,255,0.03); }
.cc-yt-hero__rg-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.cc-yt-hero__rg-name { font-size: 0.625rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.1rem; }
.cc-yt-hero__rg-desc { font-size: 0.5rem; color: var(--text-muted); line-height: 1.4; }
.cc-yt-hero__rg-footer { display: flex; align-items: center; gap: 0.35rem; padding: 0.625rem 1.25rem; font-size: 0.5625rem; font-weight: 700; color: #ec4899; text-decoration: none; border-top: 1px solid rgba(255,255,255,0.05); transition: var(--transition); }
.cc-yt-hero__rg-footer:hover { color: #f472b6; }
/* Light mode */
:root.light .cc-yt-hero { background: var(--bg-main); }
:root.light .cc-yt-hero__title { color: var(--text-primary); }
:root.light .cc-yt-hero__panel, :root.light .cc-yt-hero__stat-chip, :root.light .cc-yt-hero__rg-strip { background: #ffffff; border-color: rgba(0,0,0,0.08); box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
:root.light .cc-yt-hero__panel { border-top-color: #ef4444; }
:root.light .cc-yt-hero__rg-strip { border-top-color: #ec4899; }
:root.light .cc-yt-hero__pick { border-bottom-color: rgba(0,0,0,0.05); }
:root.light .cc-yt-hero__pick--top { background: rgba(239,68,68,0.05); }
:root.light .cc-yt-hero__pick:hover { background: rgba(239,68,68,0.08); }
:root.light .cc-yt-hero__pick-name { color: var(--text-primary); }
:root.light .cc-yt-hero__see-all { border-top-color: rgba(0,0,0,0.06); }
:root.light .cc-yt-hero__chip { background: rgba(0,0,0,0.03); border-color: rgba(0,0,0,0.08); }
:root.light .cc-yt-hero__rg-item { border-bottom-color: rgba(0,0,0,0.05); }
:root.light .cc-yt-hero__panel-hdr { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-yt-hero__rg-hdr { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-yt-hero__badge--age { color: var(--text-secondary); background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.10); }
:root.light .cc-yt-hero__grid { background-image: radial-gradient(circle, rgba(0,0,0,0.04) 1px, transparent 1px); }

/* ═══════════════════════════════════════════════════════════
   QUEBEC HERO — Espacejeux & La Belle Province
   Accent: Crimson #e11d48
   Atmosphere: diagonal heritage grain + crimson aurora beams
═══════════════════════════════════════════════════════════ */

.cc-qc-hero {
  position: relative;
  background: var(--bg-main);
  min-height: 680px;
  overflow: hidden;
  display: flex;
  align-items: center;
}

/* Deep crimson radial glows */
.cc-qc-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 55% 65% at 5%  25%, rgba(225,29,72,0.08)  0%, transparent 65%),
    radial-gradient(ellipse 40% 50% at 88% 18%, rgba(225,29,72,0.05)  0%, transparent 60%),
    radial-gradient(ellipse 35% 45% at 55% 85%, rgba(99,102,241,0.05) 0%, transparent 55%),
    var(--bg-main);
  pointer-events: none;
}

/* Dot grid */
.cc-qc-hero__grid {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
}

/* Diagonal heritage grain overlay */
.cc-qc-hero__fleur {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    repeating-linear-gradient(
      -55deg,
      transparent,
      transparent 38px,
      rgba(225,29,72,0.018) 38px,
      rgba(225,29,72,0.018) 39px
    );
}

/* Crimson spotlight beams */
.cc-qc-hero__beam {
  position: absolute;
  top: -10%;
  width: 2px;
  height: 130%;
  pointer-events: none;
  filter: blur(28px);
  opacity: 0.55;
}
.cc-qc-hero__beam--l {
  left: 18%;
  background: linear-gradient(180deg, rgba(225,29,72,0.18) 0%, transparent 80%);
  transform: rotate(-8deg);
  transform-origin: top center;
  animation: qc-beam-sway 9s ease-in-out infinite alternate;
}
.cc-qc-hero__beam--r {
  right: 22%;
  background: linear-gradient(180deg, rgba(225,29,72,0.12) 0%, transparent 75%);
  transform: rotate(6deg);
  transform-origin: top center;
  animation: qc-beam-sway 12s ease-in-out infinite alternate-reverse;
}
@keyframes qc-beam-sway {
  0%   { opacity: 0.4; transform: rotate(-8deg) scaleX(1); }
  100% { opacity: 0.7; transform: rotate(-4deg) scaleX(1.6); }
}

/* Two-column layout */
.cc-qc-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 4rem;
  align-items: start;
  padding: 4.5rem 0 4rem;
}
@media (max-width: 1024px) {
  .cc-qc-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-qc-hero { min-height: auto; }
}

/* Badges */
.cc-qc-hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.25rem;
}
.cc-qc-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
}
.cc-qc-hero__badge--loto {
  color: #e11d48;
  background: rgba(225,29,72,0.10);
  border: 1px solid rgba(225,29,72,0.22);
}
.cc-qc-hero__badge--age {
  color: rgba(255,255,255,0.6);
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.10);
}
.cc-qc-hero__badge-pulse {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #e11d48;
  box-shadow: 0 0 0 0 rgba(225,29,72,0.5);
  animation: qc-pulse 2.2s ease-out infinite;
  flex-shrink: 0;
}
@keyframes qc-pulse {
  0%   { box-shadow: 0 0 0 0   rgba(225,29,72,0.55); }
  70%  { box-shadow: 0 0 0 7px rgba(225,29,72,0); }
  100% { box-shadow: 0 0 0 0   rgba(225,29,72,0); }
}

/* Title */
.cc-qc-hero__title {
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #ffffff;
  line-height: 1.05;
  margin-bottom: 1rem;
}
.cc-qc-hero__title em {
  color: #e11d48;
  font-style: italic;
  display: block;
}

/* Description */
.cc-qc-hero__desc {
  font-size: 1rem;
  color: var(--text-secondary);
  line-height: 1.65;
  max-width: 540px;
  margin-bottom: 1.5rem;
}

/* Info bar */
.cc-qc-hero__info-bar {
  background: rgba(225,29,72,0.06);
  border: 1px solid rgba(225,29,72,0.16);
  border-radius: 12px;
  padding: 0.875rem 1.25rem;
  margin-bottom: 1.5rem;
}
.cc-qc-hero__info-bar-inner {
  display: flex;
  gap: 0;
  align-items: stretch;
}
.cc-qc-hero__info-fact { flex: 1; min-width: 80px; text-align: center; }
.cc-qc-hero__info-sep {
  width: 1px;
  background: rgba(225,29,72,0.15);
  margin: 0.1rem 0;
}
.cc-qc-hero__info-label {
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.2rem;
}
.cc-qc-hero__info-val {
  font-size: 0.875rem;
  font-weight: 800;
  color: #e11d48;
  font-family: var(--font-mono);
}

/* Timeline */
.cc-qc-hero__timeline {
  display: flex;
  align-items: flex-start;
  gap: 0;
  margin-bottom: 1.5rem;
}
.cc-qc-hero__tl-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  position: relative;
}
.cc-qc-hero__tl-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-bottom: 0.4rem;
  position: relative;
  z-index: 1;
}
.cc-qc-hero__tl-line {
  position: absolute;
  top: 5px;
  left: calc(50% + 5px);
  right: calc(-50% + 5px);
  height: 1px;
  z-index: 0;
}
.cc-qc-hero__tl-label {
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.15rem;
  text-align: center;
}
.cc-qc-hero__tl-desc {
  font-size: 0.5rem;
  color: var(--text-muted);
  text-align: center;
  line-height: 1.4;
}

/* Chips */
.cc-qc-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}
.cc-qc-hero__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.625rem;
  font-weight: 700;
  color: var(--text-secondary);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 100px;
  padding: 0.3rem 0.75rem;
}

.cc-qc-hero__ctas { display: flex; gap: 0.75rem; flex-wrap: wrap; }

/* ── RIGHT COLUMN ── */
.cc-qc-hero__right {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* Market watch panel */
.cc-qc-hero__panel {
  background: rgba(10,14,22,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid #e11d48;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.45);
}
.cc-qc-hero__panel-hdr {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #e11d48;
}
.cc-qc-hero__panel-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #e11d48;
  animation: qc-pulse 2.2s ease-out infinite;
  flex-shrink: 0;
}
.cc-qc-hero__panel-updated {
  margin-left: auto;
  font-weight: 600;
  color: var(--text-muted);
  letter-spacing: 0;
  text-transform: none;
  font-size: 0.5625rem;
}

/* Picks */
.cc-qc-hero__pick {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1.25rem;
  text-decoration: none;
  transition: var(--transition);
  border-bottom: 1px solid rgba(255,255,255,0.04);
}
.cc-qc-hero__pick:last-of-type { margin-bottom: 0.5rem; }
.cc-qc-hero__pick--top { background: rgba(225,29,72,0.06); }
.cc-qc-hero__pick:hover { background: rgba(225,29,72,0.09); }
.cc-qc-hero__pick-rank {
  font-family: var(--font-mono);
  font-size: 0.875rem;
  font-weight: 900;
  color: #e11d48;
  width: 18px;
  flex-shrink: 0;
  text-align: center;
}
.cc-qc-hero__pick--std .cc-qc-hero__pick-rank { color: rgba(255,255,255,0.2); }
.cc-qc-hero__pick-logo {
  width: 34px; height: 34px;
  border-radius: 8px;
  object-fit: contain;
  background: var(--bg-elevated);
  padding: 3px;
  flex-shrink: 0;
}
.cc-qc-hero__pick-logo--fb {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px; height: 34px;
  border-radius: 8px;
  background: rgba(225,29,72,0.15);
  color: #e11d48;
  font-weight: 900;
  font-size: 1rem;
  flex-shrink: 0;
}
.cc-qc-hero__pick-info { flex: 1; min-width: 0; }
.cc-qc-hero__pick-name {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 0.2rem;
}
.cc-qc-hero__pick-row { display: flex; align-items: center; gap: 2px; }
.cc-qc-hero__pick-score {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 700;
  color: var(--gold);
  margin-left: 4px;
}
.cc-qc-hero__pick-badge {
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #e11d48;
  background: rgba(225,29,72,0.12);
  border: 1px solid rgba(225,29,72,0.2);
  border-radius: 100px;
  padding: 0.1rem 0.4rem;
  margin-left: 4px;
  white-space: nowrap;
}
.cc-qc-hero__pick-bonus {
  font-size: 0.5625rem;
  color: var(--text-muted);
  margin-top: 0.2rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-qc-hero__pick-arrow { color: var(--text-faint); flex-shrink: 0; transition: var(--transition); }
.cc-qc-hero__pick:hover .cc-qc-hero__pick-arrow { color: #e11d48; }
.cc-qc-hero__see-all {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  font-size: 0.625rem;
  font-weight: 700;
  color: var(--text-muted);
  text-decoration: none;
  padding: 0.65rem 1.25rem;
  border-top: 1px solid rgba(255,255,255,0.05);
  transition: var(--transition);
}
.cc-qc-hero__see-all:hover { color: #e11d48; }

/* Stat chips */
.cc-qc-hero__stat-chips {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.625rem;
}
.cc-qc-hero__stat-chip {
  background: rgba(10,14,22,0.88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 14px;
  padding: 0.75rem 0.5rem;
  text-align: center;
}
.cc-qc-hero__stat-icon {
  width: 28px; height: 28px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.4rem;
}
.cc-qc-hero__stat-num {
  font-family: var(--font-mono);
  font-size: 1.125rem;
  font-weight: 900;
  color: var(--text-primary);
  line-height: 1;
  margin-bottom: 0.2rem;
}
.cc-qc-hero__stat-label {
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--text-muted);
}

/* ISP + RG combined card */
.cc-qc-hero__isp-card {
  background: rgba(10,14,22,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid #e11d48;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(0,0,0,0.35);
}
.cc-qc-hero__isp-hdr {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #e11d48;
}
.cc-qc-hero__isp-tag {
  margin-left: auto;
  font-size: 0.5rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #10b981;
  background: rgba(16,185,129,0.12);
  border: 1px solid rgba(16,185,129,0.22);
  border-radius: 100px;
  padding: 0.15rem 0.5rem;
}
.cc-qc-hero__isp-body {
  font-size: 0.6875rem;
  color: var(--text-secondary);
  line-height: 1.6;
  padding: 0.875rem 1.25rem 0.5rem;
  margin: 0;
}
.cc-qc-hero__rg-hdr {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1.25rem 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #10b981;
  border-top: 1px solid rgba(255,255,255,0.05);
}
.cc-qc-hero__rg-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.45rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.03);
  transition: var(--transition);
}
.cc-qc-hero__rg-item:hover { background: rgba(255,255,255,0.03); }
.cc-qc-hero__rg-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  margin-top: 4px;
  flex-shrink: 0;
}
.cc-qc-hero__rg-name {
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.1rem;
}
.cc-qc-hero__rg-desc {
  font-size: 0.5625rem;
  color: var(--text-muted);
  line-height: 1.4;
}
.cc-qc-hero__rg-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 700;
  color: var(--text-muted);
  text-decoration: none;
  padding: 0.6rem 1.25rem;
  transition: var(--transition);
}
.cc-qc-hero__rg-footer:hover { color: #e11d48; }

/* Light mode override */
:root.light .cc-qc-hero,
:root.light .cc-qc-hero__bg,
:root.light .cc-qc-hero__panel,
:root.light .cc-qc-hero__isp-card,
:root.light .cc-qc-hero__stat-chip {
  background: #07090f;
}
:root.light .cc-qc-hero {
  --bg-main:       #07090f;
  --bg-card:       #0d1117;
  --bg-elevated:   #111827;
  --text-primary:  #ffffff;
  --text-secondary:#94a3b8;
  --text-muted:    #64748b;
  --text-faint:    #334155;
  --border-subtle: rgba(255,255,255,0.06);
  --border-mid:    rgba(255,255,255,0.10);
  --gold:          #F5C842;
  --gold-dim:      rgba(245,200,66,0.12);
  --gold-border:   rgba(245,200,66,0.22);
}

/* ═══════════════════════════════════════════════════════════
   SASKATCHEWAN PROVINCE HERO  (cc-sk-hero)
   Living Skies violet — #7c3aed accent · SLGA monopoly market
═══════════════════════════════════════════════════════════ */
.cc-sk-hero {
  position: relative; overflow: hidden; min-height: 520px;
  display: flex; align-items: center; background: var(--bg-main);
}
.cc-sk-hero__bg {
  position: absolute; inset: 0; z-index: 0;
  background:
    radial-gradient(ellipse 65% 70% at 85% 50%, rgba(124,58,237,0.12) 0%, transparent 60%),
    radial-gradient(ellipse 40% 50% at 10% 20%, rgba(124,58,237,0.07) 0%, transparent 55%),
    radial-gradient(ellipse 30% 40% at 50% 90%, rgba(245,200,66,0.04) 0%, transparent 50%),
    var(--bg-main);
}
.cc-sk-hero__grid {
  position: absolute; inset: 0; z-index: 0;
  background-image: linear-gradient(rgba(124,58,237,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(124,58,237,0.04) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse 90% 80% at 50% 50%, black 30%, transparent 100%);
}
/* Aurora bands */
.cc-sk-hero__aurora {
  position: absolute; z-index: 0; pointer-events: none;
  border-radius: 50%; filter: blur(60px); opacity: 0.07;
  animation: cc-sk-aurora 8s ease-in-out infinite alternate;
}
.cc-sk-hero__aurora--1 { width: 500px; height: 200px; top: 10%; right: 5%; background: linear-gradient(90deg, #7c3aed, #6d28d9); animation-delay: 0s; }
.cc-sk-hero__aurora--2 { width: 350px; height: 150px; top: 30%; right: 20%; background: linear-gradient(90deg, #a78bfa, #7c3aed); animation-delay: 3s; }
@keyframes cc-sk-aurora { 0% { transform: translateY(0) scaleX(1); opacity: 0.06; } 100% { transform: translateY(-20px) scaleX(1.1); opacity: 0.10; } }
.cc-sk-hero__beam { position: absolute; top: 0; bottom: 0; z-index: 0; width: 1px; opacity: 0.15; background: linear-gradient(to bottom, transparent, #7c3aed 30%, #a78bfa 60%, transparent); }
.cc-sk-hero__beam--l { left: 22%; } .cc-sk-hero__beam--r { right: 22%; }
.cc-sk-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 420px; gap: 3rem; padding: 4.5rem 0; align-items: start; }
@media (max-width: 1024px) { .cc-sk-hero__inner { grid-template-columns: 1fr; } }
.cc-sk-hero__badges { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.cc-sk-hero__badge { display: inline-flex; align-items: center; gap: 0.375rem; padding: 0.3rem 0.75rem; border-radius: 999px; font-size: 0.7rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
.cc-sk-hero__badge-pulse { width: 6px; height: 6px; border-radius: 50%; background: #7c3aed; box-shadow: 0 0 0 0 rgba(124,58,237,0.6); animation: cc-pulse 2s infinite; }
.cc-sk-hero__badge--slga { background: rgba(124,58,237,0.12); color: #a78bfa; border: 1px solid rgba(124,58,237,0.28); }
.cc-sk-hero__badge--age  { background: rgba(255,255,255,0.05); color: var(--text-secondary); border: 1px solid var(--border-subtle); }
.cc-sk-hero__title { font-size: clamp(2rem,4.5vw,3.2rem); font-weight: 900; line-height: 1.06; margin-bottom: 1rem; color: var(--text-primary); }
.cc-sk-hero__title em { color: #a78bfa; font-style: italic; }
.cc-sk-hero__desc { font-size: 0.975rem; color: var(--text-secondary); line-height: 1.7; max-width: 540px; margin-bottom: 1.5rem; }
.cc-sk-hero__info-bar { background: rgba(124,58,237,0.07); border: 1px solid rgba(124,58,237,0.20); border-radius: 10px; padding: 0.875rem 1.125rem; margin-bottom: 1.5rem; }
.cc-sk-hero__info-bar-inner { display: flex; flex-wrap: wrap; }
.cc-sk-hero__info-fact { flex: 1; min-width: 80px; padding: 0 0.75rem; }
.cc-sk-hero__info-fact:first-child { padding-left: 0; }
.cc-sk-hero__info-label { font-size: 0.65rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 0.2rem; }
.cc-sk-hero__info-val { font-size: 0.85rem; font-weight: 700; color: #a78bfa; }
.cc-sk-hero__info-sep { width: 1px; background: rgba(124,58,237,0.20); margin: 0.25rem 0; }
.cc-sk-hero__timeline { display: flex; align-items: flex-start; margin-bottom: 1.5rem; flex-wrap: wrap; }
.cc-sk-hero__tl-item { display: flex; flex-direction: column; align-items: center; position: relative; min-width: 70px; }
.cc-sk-hero__tl-dot { width: 10px; height: 10px; border-radius: 50%; margin-bottom: 0.375rem; flex-shrink: 0; }
.cc-sk-hero__tl-line { position: absolute; top: 4px; left: calc(50% + 5px); width: calc(100% - 10px); height: 2px; }
.cc-sk-hero__tl-label { font-size: 0.65rem; font-weight: 700; letter-spacing: 0.04em; text-align: center; margin-bottom: 0.2rem; }
.cc-sk-hero__tl-desc { font-size: 0.6rem; color: var(--text-muted); text-align: center; line-height: 1.3; max-width: 72px; }
.cc-sk-hero__chips { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 1.75rem; }
.cc-sk-hero__chip { display: inline-flex; align-items: center; gap: 0.375rem; padding: 0.3rem 0.7rem; border-radius: 999px; font-size: 0.7rem; color: var(--text-secondary); background: rgba(255,255,255,0.04); border: 1px solid var(--border-subtle); }
.cc-sk-hero__ctas { display: flex; gap: 0.875rem; flex-wrap: wrap; }
.cc-sk-hero__right { display: flex; flex-direction: column; gap: 1rem; }
.cc-sk-hero__panel { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 14px; overflow: hidden; }
.cc-sk-hero__panel-hdr { display: flex; align-items: center; gap: 0.5rem; padding: 0.875rem 1rem; border-bottom: 1px solid var(--border-subtle); font-size: 0.75rem; font-weight: 600; color: var(--text-secondary); }
.cc-sk-hero__panel-dot { width: 8px; height: 8px; border-radius: 50%; background: #7c3aed; box-shadow: 0 0 6px rgba(124,58,237,0.6); animation: cc-pulse 2s infinite; flex-shrink: 0; }
.cc-sk-hero__panel-updated { margin-left: auto; font-size: 0.65rem; color: var(--text-muted); }
.cc-sk-hero__pick { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 1rem; text-decoration: none; transition: background 0.15s; border-bottom: 1px solid var(--border-subtle); }
.cc-sk-hero__pick:last-of-type { border-bottom: none; }
.cc-sk-hero__pick:hover { background: rgba(255,255,255,0.03); }
.cc-sk-hero__pick--top { background: rgba(124,58,237,0.06); }
.cc-sk-hero__pick-rank { width: 20px; height: 20px; border-radius: 50%; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 0.65rem; font-weight: 700; background: rgba(124,58,237,0.15); color: #a78bfa; }
.cc-sk-hero__pick-logo { width: 32px; height: 32px; border-radius: 6px; object-fit: contain; background: rgba(255,255,255,0.06); flex-shrink: 0; }
.cc-sk-hero__pick-logo--fb { display: flex; align-items: center; justify-content: center; font-size: 0.85rem; font-weight: 700; color: var(--text-secondary); }
.cc-sk-hero__pick-info { flex: 1; min-width: 0; }
.cc-sk-hero__pick-name { font-size: 0.78rem; font-weight: 600; color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cc-sk-hero__pick-row { display: flex; align-items: center; gap: 0.25rem; margin-top: 0.2rem; flex-wrap: wrap; }
.cc-sk-hero__pick-score { font-size: 0.68rem; font-weight: 700; color: var(--gold); }
.cc-sk-hero__pick-badge { font-size: 0.6rem; padding: 0.1rem 0.45rem; border-radius: 4px; background: rgba(124,58,237,0.12); color: #a78bfa; }
.cc-sk-hero__pick-bonus { font-size: 0.65rem; color: var(--text-muted); margin-top: 0.2rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cc-sk-hero__pick-arrow { color: var(--text-muted); flex-shrink: 0; }
.cc-sk-hero__see-all { display: flex; align-items: center; gap: 0.4rem; justify-content: center; padding: 0.7rem 1rem; font-size: 0.72rem; font-weight: 600; color: #a78bfa; text-decoration: none; border-top: 1px solid var(--border-subtle); transition: background 0.15s; }
.cc-sk-hero__see-all:hover { background: rgba(124,58,237,0.06); }
.cc-sk-hero__stat-chips { display: grid; grid-template-columns: repeat(4,1fr); gap: 0.5rem; }
.cc-sk-hero__stat-chip { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 10px; padding: 0.75rem 0.5rem; text-align: center; }
.cc-sk-hero__stat-icon { width: 30px; height: 30px; border-radius: 8px; display: flex; align-items: center; justify-content: center; margin: 0 auto 0.4rem; }
.cc-sk-hero__stat-num { font-size: 1.15rem; font-weight: 800; color: var(--text-primary); line-height: 1.1; }
.cc-sk-hero__stat-label { font-size: 0.6rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.05em; margin-top: 0.15rem; }
.cc-sk-hero__slga-card { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 14px; padding: 1rem 1.125rem; }
.cc-sk-hero__slga-hdr { display: flex; align-items: center; gap: 0.5rem; font-size: 0.75rem; font-weight: 600; color: var(--text-secondary); margin-bottom: 0.625rem; }
.cc-sk-hero__slga-tag { margin-left: auto; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; padding: 0.15rem 0.55rem; border-radius: 999px; background: rgba(124,58,237,0.12); color: #a78bfa; border: 1px solid rgba(124,58,237,0.25); }
.cc-sk-hero__slga-body { font-size: 0.75rem; color: var(--text-secondary); line-height: 1.6; margin-bottom: 0.875rem; }
.cc-sk-hero__rg-hdr { display: flex; align-items: center; gap: 0.4rem; font-size: 0.7rem; font-weight: 600; color: var(--text-secondary); margin-bottom: 0.5rem; }
.cc-sk-hero__rg-item { display: flex; align-items: flex-start; gap: 0.625rem; padding: 0.375rem 0.25rem; border-radius: 6px; transition: background 0.15s; }
.cc-sk-hero__rg-item:hover { background: rgba(255,255,255,0.03); }
.cc-sk-hero__rg-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; margin-top: 4px; }
.cc-sk-hero__rg-name { font-size: 0.72rem; font-weight: 600; color: var(--text-primary); }
.cc-sk-hero__rg-desc { font-size: 0.65rem; color: var(--text-muted); }
.cc-sk-hero__rg-footer { display: flex; align-items: center; gap: 0.35rem; font-size: 0.68rem; color: var(--text-muted); text-decoration: none; padding-top: 0.625rem; margin-top: 0.375rem; border-top: 1px solid var(--border-subtle); transition: color 0.15s; }
.cc-sk-hero__rg-footer:hover { color: #a78bfa; }
:root.light .cc-sk-hero,
:root.light .cc-sk-hero__bg,
:root.light .cc-sk-hero__panel,
:root.light .cc-sk-hero__slga-card,
:root.light .cc-sk-hero__stat-chip { background: #07090f; }
:root.light .cc-sk-hero {
  --bg-main:#07090f; --bg-card:#0d1117; --bg-elevated:#111827;
  --text-primary:#ffffff; --text-secondary:#94a3b8; --text-muted:#64748b;
  --border-subtle:rgba(255,255,255,0.06); --border-mid:rgba(255,255,255,0.10);
  --gold:#F5C842; --gold-dim:rgba(245,200,66,0.12); --gold-border:rgba(245,200,66,0.22);
}

/* ═══════════════════════════════════════════════════════════
   AFFILIATE DISCLOSURE PAGE
   Restrained legal hero + document layout with sticky ToC
═══════════════════════════════════════════════════════════ */

/* Hero — muted, professional */
.cc-aff-hero {
  position: relative;
  background: var(--bg-main);
  overflow: hidden;
  padding: 3.5rem 0 2.75rem;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-aff-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 50% 80% at 0% 50%, rgba(245,200,66,0.04) 0%, transparent 60%),
    radial-gradient(ellipse 30% 50% at 100% 0%, rgba(245,200,66,0.03) 0%, transparent 55%);
  pointer-events: none;
}
.cc-aff-hero__grid {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.02) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
}
.cc-aff-hero__inner { position: relative; z-index: 2; max-width: 760px; }
.cc-aff-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1rem;
}
.cc-aff-hero__title {
  font-size: clamp(1.75rem, 3.5vw, 2.75rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: var(--text-primary);
  line-height: 1.1;
  margin-bottom: 0.875rem;
}
.cc-aff-hero__desc {
  font-size: 1rem;
  color: var(--text-secondary);
  line-height: 1.65;
  max-width: 600px;
  margin-bottom: 1.5rem;
}
.cc-aff-hero__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem 0;
}
.cc-aff-hero__meta-item {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  color: var(--text-muted);
  padding: 0 1rem;
}
.cc-aff-hero__meta-item:first-child { padding-left: 0; }
.cc-aff-hero__meta-item strong { color: var(--text-secondary); font-weight: 700; }
.cc-aff-hero__meta-sep { width: 1px; height: 14px; background: var(--border-subtle); }

/* Body layout — doc + sticky sidebar */
.cc-aff-body { background: var(--bg-main); padding: 3rem 0 5rem; }
.cc-aff-layout {
  display: grid;
  grid-template-columns: 1fr 240px;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 900px) {
  .cc-aff-layout { grid-template-columns: 1fr; }
  .cc-aff-toc { display: none; }
}

/* Document */
.cc-aff-doc { min-width: 0; }

/* Summary card */
.cc-aff-summary {
  display: flex;
  gap: 1rem;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-left: 3px solid var(--gold);
  border-radius: 14px;
  padding: 1.25rem 1.5rem;
  margin-bottom: 2.5rem;
  align-items: flex-start;
}
.cc-aff-summary__icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(245,200,66,0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-aff-summary__title {
  font-size: 0.8125rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 0.375rem;
}
.cc-aff-summary__text {
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.65;
  margin: 0;
}
.cc-aff-summary__text strong { color: var(--text-primary); }

/* Section blocks */
.cc-aff-section {
  padding: 2rem 0;
  border-bottom: 1px solid var(--border-subtle);
  scroll-margin-top: 80px;
}
.cc-aff-section:last-child { border-bottom: none; }
.cc-aff-section__num {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--gold);
  margin-bottom: 0.375rem;
}
.cc-aff-section__title {
  font-family: var(--font-display);
  font-size: 1.1875rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 1rem;
  line-height: 1.25;
}
.cc-aff-section__body p {
  font-size: 0.9375rem;
  color: var(--text-secondary);
  line-height: 1.75;
  margin-bottom: 0.875rem;
}
.cc-aff-section__body p:last-child { margin-bottom: 0; }
.cc-aff-section__body a {
  color: var(--gold);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.cc-aff-section__body a:hover { color: var(--gold); opacity: 0.8; }

/* How it works steps */
.cc-aff-how {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin: 1.25rem 0;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 1.125rem 1.25rem;
}
.cc-aff-how__step {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  flex: 1;
  min-width: 140px;
}
.cc-aff-how__num {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  color: var(--gold);
  font-size: 0.6875rem;
  font-weight: 900;
  font-family: var(--font-mono);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-aff-how__text {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.4;
}
.cc-aff-how__arrow { color: var(--text-faint); flex-shrink: 0; }

/* Link types list */
.cc-aff-link-types {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin: 1rem 0 1.25rem;
}
.cc-aff-link-type {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  padding: 0.75rem 1rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
}
.cc-aff-link-type__icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-aff-link-type__name {
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.2rem;
}
.cc-aff-link-type__desc {
  font-size: 0.75rem;
  color: var(--text-muted);
  line-height: 1.45;
}

/* Compensation grid */
.cc-aff-comp-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
  margin: 1rem 0 1.25rem;
}
@media (max-width: 640px) { .cc-aff-comp-grid { grid-template-columns: 1fr; } }
.cc-aff-comp-card {
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-top: 2px solid var(--gold-border);
  border-radius: 12px;
  padding: 1rem;
}
.cc-aff-comp-card__label {
  font-size: 0.75rem;
  font-weight: 800;
  color: var(--gold);
  margin-bottom: 0.5rem;
}
.cc-aff-comp-card__desc {
  font-size: 0.75rem;
  color: var(--text-muted);
  line-height: 1.55;
}

/* Bullet list */
.cc-aff-list {
  margin: 0.875rem 0;
  padding-left: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.cc-aff-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.6;
  padding-left: 0;
}
.cc-aff-list li::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--gold);
  margin-top: 8px;
  flex-shrink: 0;
}
.cc-aff-list li strong { color: var(--text-primary); }

/* Definition variant — two-column label + description alignment */
.cc-aff-list--definition li {
  display: grid;
  grid-template-columns: 220px 1fr;
  align-items: baseline;
  gap: 0 1.25rem;
}
.cc-aff-list--definition li::before {
  grid-column: 1;
  grid-row: 1;
  margin-top: 0;
  align-self: center;
  position: relative;
  top: 1px;
}
.cc-aff-list--definition li strong {
  grid-column: 1;
  padding-left: 0.75rem;
}
.cc-aff-list--definition li span {
  grid-column: 2;
  color: var(--text-secondary);
}
@media (max-width: 640px) {
  .cc-aff-list--definition li {
    grid-template-columns: 1fr;
  }
  .cc-aff-list--definition li span {
    grid-column: 1;
    padding-left: 1.25rem;
  }
}

/* Independence guarantees */
.cc-aff-guarantees {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin: 1rem 0;
}
.cc-aff-guarantee {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  padding: 0.875rem 1rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  transition: var(--transition);
}
.cc-aff-guarantee:hover { border-color: var(--border-mid); }
.cc-aff-guarantee__icon {
  width: 34px;
  height: 34px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-aff-guarantee__title {
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.25rem;
}
.cc-aff-guarantee__desc {
  font-size: 0.75rem;
  color: var(--text-muted);
  line-height: 1.55;
}

/* Scoring framework */
.cc-aff-scoring {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin: 1rem 0;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 1.125rem 1.25rem;
}
.cc-aff-scoring__row {
  display: flex;
  align-items: center;
  gap: 0.875rem;
}
.cc-aff-scoring__cat {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text-secondary);
  width: 160px;
  flex-shrink: 0;
}
.cc-aff-scoring__bar-wrap {
  flex: 1;
  height: 6px;
  background: rgba(255,255,255,0.06);
  border-radius: 100px;
  overflow: hidden;
}
.cc-aff-scoring__bar {
  height: 100%;
  background: linear-gradient(90deg, var(--gold) 0%, rgba(245,200,66,0.6) 100%);
  border-radius: 100px;
}
.cc-aff-scoring__pct {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--gold);
  width: 36px;
  text-align: right;
  flex-shrink: 0;
}

/* Notice callouts */
.cc-aff-notice {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  border-radius: 12px;
  padding: 1rem 1.125rem;
  margin-bottom: 1.125rem;
  font-size: 0.8125rem;
  line-height: 1.6;
}
.cc-aff-notice strong { display: block; font-size: 0.875rem; margin-bottom: 0.25rem; }
.cc-aff-notice--gold {
  background: rgba(245,200,66,0.07);
  border: 1px solid rgba(245,200,66,0.2);
  color: var(--text-secondary);
}
.cc-aff-notice--gold strong { color: var(--gold); }
.cc-aff-notice--emerald {
  background: rgba(16,185,129,0.07);
  border: 1px solid rgba(16,185,129,0.2);
  color: var(--text-secondary);
}
.cc-aff-notice--emerald strong { color: #10b981; }

/* RG resources */
.cc-aff-rg-resources {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 1rem 0;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 1rem 1.25rem;
}
.cc-aff-rg-resource {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-aff-rg-resource:last-child { border-bottom: none; padding-bottom: 0; }
.cc-aff-rg-name { font-size: 0.8125rem; font-weight: 700; color: var(--text-primary); }
.cc-aff-rg-contact { font-size: 0.8125rem; color: #10b981; font-family: var(--font-mono); }
.cc-aff-rg-desc { font-size: 0.6875rem; color: var(--text-muted); margin-top: 0.15rem; }

/* Sticky ToC */
.cc-aff-toc { position: sticky; top: 88px; align-self: start; }
.cc-aff-toc__inner {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 16px;
  overflow: hidden;
}
.cc-aff-toc__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--text-muted);
  padding: 0.875rem 1rem 0.625rem;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-aff-toc__link {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.475rem 1rem;
  font-size: 0.6875rem;
  color: var(--text-muted);
  text-decoration: none;
  transition: var(--transition);
  border-left: 2px solid transparent;
}
.cc-aff-toc__link:hover { color: var(--text-secondary); background: var(--bg-elevated); }
.cc-aff-toc__link--active {
  color: var(--gold);
  background: var(--gold-dim);
  border-left-color: var(--gold);
}
.cc-aff-toc__num {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 700;
  color: var(--text-faint);
  width: 18px;
  flex-shrink: 0;
}
.cc-aff-toc__link--active .cc-aff-toc__num { color: var(--gold); opacity: 0.6; }
.cc-aff-toc__badges {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  padding: 0.75rem 1rem;
  border-top: 1px solid var(--border-subtle);
}
.cc-aff-toc__badge {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 700;
  color: var(--text-muted);
}
.cc-aff-toc__rg {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  color: #10b981;
  text-decoration: none;
  padding: 0.6rem 1rem;
  background: rgba(16,185,129,0.07);
  border-top: 1px solid rgba(16,185,129,0.15);
  transition: var(--transition);
}
.cc-aff-toc__rg:hover { background: rgba(16,185,129,0.12); }

/* Light mode */
:root.light .cc-aff-summary { background: rgba(201,146,14,0.06); }
:root.light .cc-aff-how,
:root.light .cc-aff-link-type,
:root.light .cc-aff-comp-card,
:root.light .cc-aff-guarantee,
:root.light .cc-aff-scoring,
:root.light .cc-aff-rg-resources { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-aff-toc__inner { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-aff-toc__link:hover { background: rgba(0,0,0,0.03); }
:root.light .cc-aff-toc__link--active { background: rgba(201,146,14,0.08); }

/* ═══════════════════════════════════════════════════════════
   TERMS OF USE PAGE
   Extends cc-aff-* design system with ToU-specific components
═══════════════════════════════════════════════════════════ */

/* Hero brand lock-up */
.cc-tou-brand {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  margin-bottom: 0.25rem;
}
.cc-tou-brand__logo {
  height: 22px;
  width: auto;
  object-fit: contain;
}
.cc-tou-brand__logo--light { display: none; }
:root.light .cc-tou-brand__logo--dark  { display: none; }
:root.light .cc-tou-brand__logo--light { display: block; }
.cc-tou-brand__sep {
  width: 1px;
  height: 16px;
  background: var(--border-mid);
}
.cc-tou-brand__label {
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--text-muted);
}

/* Nature of site 2x2 callout grid */
.cc-tou-callout-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin: 1rem 0 1.25rem;
}
@media (max-width: 640px) { .cc-tou-callout-grid { grid-template-columns: 1fr; } }
.cc-tou-callout {
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 1rem;
}
.cc-tou-callout__icon {
  width: 32px;
  height: 32px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.625rem;
}
.cc-tou-callout__title {
  font-size: 0.8125rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 0.35rem;
}
.cc-tou-callout__desc {
  font-size: 0.75rem;
  color: var(--text-muted);
  line-height: 1.55;
}

/* IP permissions grid */
.cc-tou-permission-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin: 1rem 0 1.25rem;
}
@media (max-width: 640px) { .cc-tou-permission-grid { grid-template-columns: 1fr; } }
.cc-tou-permission {
  border-radius: 12px;
  padding: 1rem;
  border: 1px solid;
}
.cc-tou-permission--yes {
  background: rgba(16,185,129,0.06);
  border-color: rgba(16,185,129,0.18);
}
.cc-tou-permission--no {
  background: rgba(239,68,68,0.06);
  border-color: rgba(239,68,68,0.18);
}
.cc-tou-permission__hdr {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
}
.cc-tou-permission--yes .cc-tou-permission__hdr { color: #10b981; }
.cc-tou-permission--no  .cc-tou-permission__hdr { color: #ef4444; }
.cc-tou-permission__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
.cc-tou-permission__list li {
  font-size: 0.75rem;
  color: var(--text-secondary);
  line-height: 1.45;
  padding-left: 0.875rem;
  position: relative;
}
.cc-tou-permission--yes .cc-tou-permission__list li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #10b981;
  font-size: 0.625rem;
  font-weight: 700;
  top: 1px;
}
.cc-tou-permission--no .cc-tou-permission__list li::before {
  content: '×';
  position: absolute;
  left: 0;
  color: #ef4444;
  font-size: 0.75rem;
  font-weight: 700;
  top: 0;
}

/* Sidebar Kernel Media brand */
.cc-tou-sidebar-brand {
  padding: 0.875rem 1rem;
  border-top: 1px solid var(--border-subtle);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
}
.cc-tou-sidebar-logo {
  height: 18px;
  width: auto;
  object-fit: contain;
  opacity: 0.7;
}
.cc-tou-sidebar-logo--light { display: none; }
:root.light .cc-tou-sidebar-logo--dark  { display: none; }
:root.light .cc-tou-sidebar-logo--light { display: block; }
.cc-tou-sidebar-brand__text {
  font-size: 0.5rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-faint);
}

/* Light mode overrides for ToU-specific components */
:root.light .cc-tou-callout,
:root.light .cc-tou-permission { background: #ffffff; }

/* ═══════════════════════════════════════════════════════════
   BONUS DISCLAIMER PAGE
   Accent: Gold — informational, not legal-heavy
   Atmosphere: light beams, warm editorial tone
═══════════════════════════════════════════════════════════ */

/* Hero */
.cc-bd-hero {
  position: relative;
  background: var(--bg-main);
  min-height: 580px;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.cc-bd-hero__bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 55% 70% at 5%  30%, rgba(245,200,66,0.07) 0%, transparent 60%),
    radial-gradient(ellipse 40% 50% at 90% 20%, rgba(99,102,241,0.05) 0%, transparent 55%),
    radial-gradient(ellipse 30% 40% at 50% 90%, rgba(16,185,129,0.04) 0%, transparent 50%),
    var(--bg-main);
  pointer-events: none;
}
.cc-bd-hero__grid {
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
}
.cc-bd-hero__beam {
  position: absolute; top: -5%; width: 1px; height: 120%;
  pointer-events: none; filter: blur(24px); opacity: 0.5;
}
.cc-bd-hero__beam--l {
  left: 20%;
  background: linear-gradient(180deg, rgba(245,200,66,0.15) 0%, transparent 75%);
  transform: rotate(-6deg); transform-origin: top center;
}
.cc-bd-hero__beam--r {
  right: 25%;
  background: linear-gradient(180deg, rgba(245,200,66,0.10) 0%, transparent 70%);
  transform: rotate(5deg); transform-origin: top center;
}

.cc-bd-hero__inner {
  position: relative; z-index: 2;
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 4rem;
  align-items: start;
  padding: 4rem 0;
}
@media (max-width: 1024px) {
  .cc-bd-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-bd-hero { min-height: auto; }
}

.cc-bd-hero__eyebrow {
  display: inline-flex; align-items: center; gap: 0.4rem;
  font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--gold);
  background: var(--gold-dim); border: 1px solid var(--gold-border);
  border-radius: 100px; padding: 0.3rem 0.875rem; margin-bottom: 1rem;
}
.cc-bd-hero__title {
  font-size: clamp(2rem, 4.5vw, 3.25rem); font-weight: 900;
  letter-spacing: -0.02em; color: #ffffff; line-height: 1.08; margin-bottom: 1rem;
}
.cc-bd-hero__title em { color: var(--gold); font-style: italic; }
.cc-bd-hero__desc {
  font-size: 1rem; color: var(--text-secondary);
  line-height: 1.65; max-width: 520px; margin-bottom: 1.5rem;
}
.cc-bd-hero__chips {
  display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.5rem;
}
.cc-bd-hero__chip {
  display: inline-flex; align-items: center; gap: 0.35rem;
  font-size: 0.625rem; font-weight: 700; color: var(--text-secondary);
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08);
  border-radius: 100px; padding: 0.3rem 0.75rem;
}
.cc-bd-hero__ctas { display: flex; gap: 0.75rem; flex-wrap: wrap; }

/* Right Q&A panel */
.cc-bd-panel {
  background: rgba(10,14,22,0.92);
  backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid var(--gold);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.45);
}
.cc-bd-panel__hdr {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.875rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  font-size: 0.625rem; font-weight: 800; letter-spacing: 0.10em;
  text-transform: uppercase; color: var(--gold);
}
.cc-bd-panel__qa {
  padding: 0.875rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}
.cc-bd-panel__qa--last { border-bottom: none; }
.cc-bd-panel__q {
  font-size: 0.75rem; font-weight: 700; color: var(--text-primary);
  font-style: italic; margin-bottom: 0.4rem; line-height: 1.4;
}
.cc-bd-panel__a {
  font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.6;
}
.cc-bd-panel__a strong { color: var(--text-primary); }

/* Body layout */
.cc-bd-body { background: var(--bg-main); padding: 3rem 0 5rem; }
.cc-bd-layout {
  display: grid;
  grid-template-columns: 1fr 260px;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 960px) {
  .cc-bd-layout { grid-template-columns: 1fr; }
  .cc-bd-sidebar { display: none; }
}

.cc-bd-doc { min-width: 0; }

/* Sections */
.cc-bd-section {
  padding: 2rem 0;
  border-bottom: 1px solid var(--border-subtle);
  scroll-margin-top: 80px;
}
.cc-bd-section:last-child { border-bottom: none; }
.cc-bd-section--cta { background: transparent; }
.cc-bd-section__title {
  font-family: var(--font-display);
  font-size: 1.1875rem; font-weight: 800;
  color: var(--text-primary); margin-bottom: 1rem; line-height: 1.25;
}
.cc-bd-section p {
  font-size: 0.9375rem; color: var(--text-secondary);
  line-height: 1.75; margin-bottom: 0.875rem;
}
.cc-bd-section p:last-child { margin-bottom: 0; }
.cc-bd-section a { color: var(--gold); text-decoration: underline; text-underline-offset: 3px; }

/* Law citation card */
.cc-bd-law-card {
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-left: 3px solid var(--gold);
  border-radius: 12px;
  margin: 1.25rem 0;
  overflow: hidden;
}
.cc-bd-law-card__hdr {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.625rem 1rem;
  background: var(--gold-dim);
  border-bottom: 1px solid var(--gold-border);
  font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.09em;
  text-transform: uppercase; color: var(--gold);
}
.cc-bd-law-card__quote {
  font-size: 0.9375rem; color: var(--text-primary);
  line-height: 1.7; padding: 1.125rem 1.25rem 0.75rem;
  margin: 0; font-style: italic; border: none;
}
.cc-bd-law-card__src {
  font-size: 0.6875rem; color: var(--text-muted);
  padding: 0 1.25rem 0.875rem;
}
.cc-bd-law-card__src a { color: var(--gold); text-decoration: underline; }

/* Province status grid */
.cc-bd-province-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.625rem;
  margin: 1.25rem 0;
}
.cc-bd-province {
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 12px; padding: 0.875rem;
  transition: var(--transition);
}
.cc-bd-province--suppressed {
  border-color: rgba(245,200,66,0.2);
  background: rgba(245,200,66,0.04);
}
.cc-bd-province__top {
  display: flex; align-items: center; gap: 0.625rem; margin-bottom: 0.5rem;
}
.cc-bd-province__icon {
  width: 28px; height: 28px; border-radius: 7px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.cc-bd-province__name {
  font-size: 0.8125rem; font-weight: 700; color: var(--text-primary);
  line-height: 1.2;
}
.cc-bd-province__reg {
  font-size: 0.5625rem; font-weight: 700; letter-spacing: 0.07em;
  text-transform: uppercase; color: var(--text-muted);
}
.cc-bd-province__tag {
  margin-left: auto; flex-shrink: 0;
  font-size: 0.5rem; font-weight: 800; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--gold);
  background: var(--gold-dim); border: 1px solid var(--gold-border);
  border-radius: 100px; padding: 0.15rem 0.5rem;
}
.cc-bd-province__desc {
  font-size: 0.6875rem; color: var(--text-muted); line-height: 1.5;
}

/* Notice boxes */
.cc-bd-notice {
  display: flex; align-items: flex-start; gap: 0.875rem;
  border-radius: 12px; padding: 1rem 1.125rem;
  margin: 1.25rem 0;
  font-size: 0.8125rem; line-height: 1.6;
}
.cc-bd-notice strong { display: block; font-size: 0.875rem; margin-bottom: 0.25rem; }
.cc-bd-notice a { color: inherit; text-decoration: underline; }
.cc-bd-notice--neutral {
  background: rgba(245,200,66,0.06); border: 1px solid rgba(245,200,66,0.18);
  color: var(--text-secondary);
}
.cc-bd-notice--neutral strong { color: var(--gold); }
.cc-bd-notice--emerald {
  background: rgba(16,185,129,0.07); border: 1px solid rgba(16,185,129,0.2);
  color: var(--text-secondary);
}
.cc-bd-notice--emerald strong { color: #10b981; }

/* Bonus type list */
.cc-bd-bonus-types {
  display: flex; flex-direction: column; gap: 0.625rem; margin: 1.25rem 0;
}
.cc-bd-bonus-type {
  display: flex; align-items: flex-start; gap: 0.875rem;
  padding: 0.875rem 1rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 12px; transition: var(--transition);
}
.cc-bd-bonus-type:hover { border-color: var(--border-mid); }
.cc-bd-bonus-type__icon {
  width: 36px; height: 36px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.cc-bd-bonus-type__title {
  font-size: 0.8125rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.3rem;
}
.cc-bd-bonus-type__desc {
  font-size: 0.75rem; color: var(--text-muted); line-height: 1.55;
}

/* Step-by-step flow */
.cc-bd-steps {
  display: flex; flex-direction: column; gap: 0; margin: 1.25rem 0;
}
.cc-bd-step {
  display: flex; align-items: flex-start; gap: 1rem;
  padding: 1.125rem 0; position: relative;
}
.cc-bd-step__num {
  width: 28px; height: 28px; border-radius: 50%;
  border: 2px solid;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-mono); font-size: 0.75rem; font-weight: 900;
  flex-shrink: 0; z-index: 1;
}
.cc-bd-step__line {
  position: absolute; left: 13px; top: calc(28px + 1.125rem);
  width: 2px; height: calc(100% - 28px + 1.125rem);
  background: var(--border-subtle);
}
.cc-bd-step__icon {
  width: 34px; height: 34px; border-radius: 9px;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.cc-bd-step__body { flex: 1; min-width: 0; padding-top: 4px; }
.cc-bd-step__title {
  font-size: 0.9375rem; font-weight: 800; color: var(--text-primary); margin-bottom: 0.35rem;
}
.cc-bd-step__desc { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.65; }

/* Bonus evaluation grid */
.cc-bd-eval-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 0.75rem; margin: 1.25rem 0;
}
.cc-bd-eval {
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 12px; padding: 1rem;
}
.cc-bd-eval__icon {
  width: 30px; height: 30px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center; margin-bottom: 0.625rem;
}
.cc-bd-eval__title {
  font-size: 0.8125rem; font-weight: 800; color: var(--text-primary); margin-bottom: 0.375rem;
}
.cc-bd-eval__desc { font-size: 0.75rem; color: var(--text-muted); line-height: 1.55; }

/* Casino strip */
.cc-bd-casino-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem; margin: 1.25rem 0;
}
@media (max-width: 700px) { .cc-bd-casino-strip { grid-template-columns: 1fr; } }
.cc-bd-casino-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 16px; padding: 1.125rem;
  position: relative;
  transition: var(--transition);
}
.cc-bd-casino-card:hover { border-color: var(--gold-border); }
.cc-bd-casino-card__badge {
  position: absolute; top: -1px; left: 50%; transform: translateX(-50%);
  font-size: 0.5rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--bg-main); background: var(--gold);
  border-radius: 0 0 8px 8px; padding: 0.2rem 0.75rem;
  white-space: nowrap;
}
.cc-bd-casino-card__top {
  display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 0.875rem;
}
.cc-bd-casino-card__logo {
  width: 40px; height: 40px; border-radius: 10px;
  object-fit: contain; background: var(--bg-elevated); padding: 4px; flex-shrink: 0;
}
.cc-bd-casino-card__logo--fb {
  display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 10px;
  background: var(--gold-dim); color: var(--gold); font-weight: 900; font-size: 1.125rem;
  flex-shrink: 0;
}
.cc-bd-casino-card__info { flex: 1; min-width: 0; }
.cc-bd-casino-card__name {
  font-size: 0.8125rem; font-weight: 800; color: var(--text-primary);
  margin-bottom: 0.25rem; line-height: 1.3;
}
.cc-bd-casino-card__stars {
  display: flex; align-items: center; gap: 2px; margin-bottom: 0.35rem;
}
.cc-bd-casino-card__rating {
  font-family: var(--font-mono); font-size: 0.625rem; font-weight: 700;
  color: var(--gold); margin-left: 4px;
}
.cc-bd-casino-card__best {
  font-size: 0.5rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase;
  color: var(--gold); background: var(--gold-dim); border: 1px solid var(--gold-border);
  border-radius: 100px; padding: 0.1rem 0.4rem; margin-left: 4px;
}
.cc-bd-casino-card__meta {
  display: flex; flex-wrap: wrap; gap: 0.5rem;
}
.cc-bd-casino-card__meta span {
  display: flex; align-items: center; gap: 3px;
  font-size: 0.625rem; color: var(--text-muted);
}
.cc-bd-casino-card__bonus-note {
  display: flex; align-items: center; gap: 0.375rem;
  font-size: 0.625rem; color: var(--text-muted);
  background: var(--gold-dim); border: 1px solid var(--gold-border);
  border-radius: 8px; padding: 0.35rem 0.625rem; margin-bottom: 0.75rem;
}
.cc-bd-casino-card__actions { display: flex; gap: 0.5rem; }

/* Sidebar */
.cc-bd-sidebar { position: sticky; top: 88px; align-self: start; }
.cc-bd-sidebar__inner { display: flex; flex-direction: column; gap: 0.875rem; }
.cc-bd-sidebar__card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 14px; overflow: hidden;
}
.cc-bd-sidebar__card--gold { border-top: 2px solid var(--gold); }
.cc-bd-sidebar__card-title {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.10em;
  text-transform: uppercase; color: var(--text-muted);
}
.cc-bd-sidebar__list {
  list-style: none; padding: 0.75rem 1rem; margin: 0;
  display: flex; flex-direction: column; gap: 0.5rem;
}
.cc-bd-sidebar__list li {
  display: flex; align-items: flex-start; gap: 0.5rem;
  font-size: 0.75rem; color: var(--text-secondary); line-height: 1.45;
}
.cc-bd-sidebar__legal-items { padding: 0.75rem 1rem; display: flex; flex-direction: column; gap: 0.5rem; }
.cc-bd-sidebar__legal-item {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 0.6875rem;
}
.cc-bd-sidebar__legal-label { color: var(--text-muted); }
.cc-bd-sidebar__legal-val { color: var(--gold); font-weight: 700; font-family: var(--font-mono); font-size: 0.625rem; }
.cc-bd-sidebar__link {
  display: flex; align-items: center; justify-content: center; gap: 0.4rem;
  font-size: 0.5625rem; font-weight: 700; color: var(--text-muted);
  text-decoration: none; padding: 0.6rem 1rem;
  border-top: 1px solid var(--border-subtle); transition: var(--transition);
}
.cc-bd-sidebar__link:hover { color: var(--gold); }
.cc-bd-sidebar__nav-link {
  display: block; padding: 0.45rem 1rem;
  font-size: 0.6875rem; color: var(--text-muted);
  text-decoration: none; border-bottom: 1px solid var(--border-subtle);
  transition: var(--transition);
}
.cc-bd-sidebar__nav-link:last-child { border-bottom: none; }
.cc-bd-sidebar__nav-link:hover { color: var(--gold); background: var(--gold-dim); }
.cc-bd-sidebar__tool {
  display: flex; align-items: flex-start; gap: 0.75rem;
  padding: 0.75rem 1rem; text-decoration: none;
  border-bottom: 1px solid var(--border-subtle); transition: var(--transition);
}
.cc-bd-sidebar__tool:last-child { border-bottom: none; }
.cc-bd-sidebar__tool:hover { background: var(--bg-elevated); }
.cc-bd-sidebar__tool-name { font-size: 0.75rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.15rem; }
.cc-bd-sidebar__tool-desc { font-size: 0.625rem; color: var(--text-muted); line-height: 1.4; }

/* Light mode */
:root.light .cc-bd-hero { background: #07090f; }
:root.light .cc-bd-hero {
  --bg-main: #07090f; --bg-card: #0d1117; --bg-elevated: #111827;
  --text-primary: #ffffff; --text-secondary: #94a3b8; --text-muted: #64748b;
  --border-subtle: rgba(255,255,255,0.06); --gold: #F5C842;
  --gold-dim: rgba(245,200,66,0.12); --gold-border: rgba(245,200,66,0.22);
}
:root.light .cc-bd-panel { background: #07090f; }
:root.light .cc-bd-bonus-type,
:root.light .cc-bd-eval,
:root.light .cc-bd-province,
:root.light .cc-bd-law-card { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-bd-casino-card,
:root.light .cc-bd-sidebar__card { background: #ffffff; border-color: rgba(0,0,0,0.08); }

/* ═══════════════════════════════════════════════════════════
   HOMEPAGE SECTION POLISH — Rankings + News
   Dark mode only: glow field + dot grid + gradient fade
   Light mode: unchanged (white bg handled by existing rules)
═══════════════════════════════════════════════════════════ */

/* ── Rankings section ── */
.cc-hp-rankings-section {
  position: relative;
  background: var(--bg-elevated);
  padding: 4rem 0;
  border-top: none;
  border-bottom: none;
  overflow: hidden;
}
:root.light .cc-hp-rankings-section {
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
}

/* Dark mode enhancements — glow field */
html:not(.light) .cc-hp-rankings-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 55% 80% at 2%   10%, rgba(245,200,66,0.045) 0%, transparent 60%),
    radial-gradient(ellipse 40% 60% at 85%  35%, rgba(99,102,241,0.04)  0%, transparent 55%),
    radial-gradient(ellipse 30% 40% at 50% 100%, rgba(16,185,129,0.025) 0%, transparent 50%);
  pointer-events: none;
  z-index: 0;
}

/* Rankings: transparent — inherits body circuit-lines canvas */
html:not(.light) .cc-hp-rankings-section {
  background: transparent;
}

/* Ensure content sits above pseudo-elements */
.cc-hp-rankings-section > * { position: relative; z-index: 1; }
.cc-hp-rankings-section > .cc-container { position: relative; z-index: 1; }

/* ── News section ── */
/* Transparent — inherits body circuit-lines canvas */
html:not(.light) .cc-hp-news-section {
  background: transparent;
  position: relative;
  overflow: hidden;
}

/* Keep the gold/cyan glow field on top of the circuit lines */
html:not(.light) .cc-hp-news-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 50% 70% at 0%   20%, rgba(245,200,66,0.04)  0%, transparent 60%),
    radial-gradient(ellipse 35% 55% at 90%  10%, rgba(6,182,212,0.035)  0%, transparent 55%),
    radial-gradient(ellipse 25% 35% at 45%  90%, rgba(245,200,66,0.025) 0%, transparent 50%);
  pointer-events: none;
  z-index: 0;
}

.cc-hp-news-section > .cc-container { position: relative; z-index: 1; }

/* ═══════════════════════════════════════════════════════════
   UNIFIED BOTTOM SECTION — CTA + Province strip
   Replaces three separate slabs with one seamless canvas
═══════════════════════════════════════════════════════════ */

.cc-hp-bottom {
  background: var(--bg-main);
  padding: 4rem 0 3rem;
}

/* CTA banner — lifted card style, same as before but now floating on bg-main */
.cc-hp-bottom__cta-wrap {
  margin-bottom: 3.5rem;
}
.cc-hp-bottom__cta {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(245,200,66,0.10) 0%, rgba(245,200,66,0.04) 50%, transparent 100%);
  border: 1px solid var(--gold-border);
  border-radius: 24px;
  padding: 3rem 2.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.cc-hp-bottom__cta-glow {
  position: absolute;
  right: -4rem; top: -4rem;
  width: 16rem; height: 16rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245,200,66,0.08) 0%, transparent 70%);
  pointer-events: none;
}
.cc-hp-bottom__cta-left {
  position: relative; z-index: 1; max-width: 540px;
}
.cc-hp-bottom__cta-right {
  position: relative; z-index: 1;
  display: flex; flex-direction: column; gap: 0.75rem;
}

/* Province strip — sits below CTA with a gentle divider */
.cc-hp-bottom__province-wrap {
  border-top: 1px solid var(--border-subtle);
  padding-top: 2.5rem;
}

/* Light mode: restore sensible borders */
:root.light .cc-hp-bottom {
  background: var(--bg-main);
}
:root.light .cc-hp-bottom__province-wrap {
  border-top-color: var(--border-subtle);
}

/* ═══════════════════════════════════════════════════════════
   PROVINCE HUB — Command Centre v2
   Live intelligence panel + 7-province selector strip
═══════════════════════════════════════════════════════════ */

.cc-province-hub {
  position: relative;
  background:
    linear-gradient(155deg,
      color-mix(in srgb, var(--badge-color, var(--gold)) 4%, var(--bg-card)) 0%,
      var(--bg-card) 45%,
      var(--bg-elevated) 100%);
  border: 1px solid var(--border-subtle);
  border-radius: 20px;
  overflow: hidden;
  box-shadow:
    0 1px 2px rgba(0,0,0,0.4),
    0 18px 40px -24px color-mix(in srgb, var(--badge-color, var(--gold)) 22%, transparent),
    inset 0 1px 0 rgba(255,255,255,0.04);
}
/* Subtle grid + noise texture overlay — anchors the card in the same visual
   vocabulary as the hero / explorer headers on the site. */
.cc-province-hub::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.35) 30%, rgba(0,0,0,0.35) 70%, transparent 100%);
}
/* Warm gold glow anchored bottom-right — guarantees a secondary colour
   even when the active province's accent is a cool tone (blue/indigo/purple),
   so the card no longer reads as a single flat hue. */
.cc-province-hub::after {
  content: '';
  position: absolute;
  right: -8rem;
  bottom: -8rem;
  width: 22rem;
  height: 22rem;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(circle, rgba(245,200,66,0.10) 0%, transparent 60%);
}
/* Hairline accent line across the top edge — gold on the left, fading
   into the active province colour on the right. */
.cc-province-hub > *:not(.cc-province-hub__picker):not(script) {
  position: relative;
  z-index: 1;
}
:root.light .cc-province-hub {
  background:
    linear-gradient(155deg,
      color-mix(in srgb, var(--badge-color, var(--gold)) 6%, #ffffff) 0%,
      #ffffff 55%,
      #f4f6f9 100%);
  box-shadow:
    0 1px 2px rgba(15,23,42,0.06),
    0 18px 40px -24px color-mix(in srgb, var(--badge-color, var(--gold)) 26%, transparent),
    inset 0 1px 0 rgba(255,255,255,0.8);
}
:root.light .cc-province-hub::before {
  background-image:
    linear-gradient(rgba(15,23,42,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,23,42,0.04) 1px, transparent 1px);
}
:root.light .cc-province-hub::after {
  background: radial-gradient(circle, rgba(232,106,23,0.10) 0%, transparent 60%);
}

/* ── Command Centre info panel ── */
.cc-province-hub__panel {
  display: flex;
  align-items: stretch;
  min-height: 110px;
  position: relative;
  overflow: hidden;
}

/* Ambient radial glow — accent from the left, subtle gold from the right.
   The dual-source approach keeps the panel from reading as a single hue
   even when the active province's accent is cool. */
.cc-province-hub__panel::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 55% 130% at 0% 50%, color-mix(in srgb, var(--badge-color, #10b981) 18%, transparent), transparent 62%),
    radial-gradient(ellipse 40% 100% at 100% 50%, rgba(245,200,66,0.06), transparent 60%);
  pointer-events: none;
  z-index: 0;
  transition: background 0.4s ease;
}

/* 4px left accent bar */
.cc-province-hub__bar {
  width: 4px;
  flex-shrink: 0;
  align-self: stretch;
  position: relative;
  z-index: 1;
  transition: background 0.35s, box-shadow 0.35s;
}

/* Left: large province code + province name */
.cc-province-hub__code-col {
  width: 170px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px 20px 20px 24px;
  position: relative;
  z-index: 1;
}
.cc-province-hub__big-code {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 3.5rem;
  line-height: 0.9;
  color: var(--badge-color, #10b981);
  letter-spacing: -0.03em;
  transition: color 0.35s;
  display: inline-block;
}
.cc-province-hub__prov-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text-muted);
  margin-top: 8px;
}

/* Centre: status row + headline + subline */
.cc-province-hub__center {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  padding: 20px 16px 20px 4px;
  position: relative;
  z-index: 1;
}
.cc-province-hub__status-row {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}
.cc-province-hub__tag {
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.175rem 0.55rem;
  border-radius: 100px;
  background: color-mix(in srgb, var(--hub-color, #10b981) 15%, transparent);
  color: var(--hub-color, #10b981);
  white-space: nowrap;
  flex-shrink: 0;
}
.cc-province-hub__sep {
  font-size: 0.5rem;
  color: var(--text-faint);
  flex-shrink: 0;
  line-height: 1;
}
.cc-province-hub__meta {
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--text-muted);
  white-space: nowrap;
}
.cc-province-hub__headline {
  font-size: 0.9375rem;
  font-weight: 800;
  font-style: italic;
  color: var(--text-primary);
  line-height: 1.25;
  letter-spacing: -0.015em;
}
.cc-province-hub__subline {
  font-size: 0.75rem;
  color: var(--text-secondary);
  line-height: 1.45;
}

/* Right: CTA + "Not X?" change button */
.cc-province-hub__right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  padding: 20px 24px 20px 16px;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}
.cc-province-hub__change {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--text-muted);
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
  border-radius: 6px;
  transition: var(--transition);
  white-space: nowrap;
  font-family: inherit;
}
.cc-province-hub__change:hover,
.cc-province-hub__change.active { color: var(--gold); background: var(--gold-dim); }

/* ── Province selector strip — 7 provinces ── */
.cc-province-hub__cards {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0;
  border-top: 1px solid var(--border-subtle);
}
@media (max-width: 700px) {
  .cc-province-hub__cards { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 440px) {
  .cc-province-hub__cards { grid-template-columns: repeat(3, 1fr); }
}

.cc-province-hub__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 14px 8px;
  background: none;
  border: none;
  border-right: 1px solid var(--border-subtle);
  cursor: pointer;
  font-family: inherit;
  text-align: center;
  text-decoration: none;
  color: inherit;
  position: relative;
  overflow: hidden;
  transition: background 0.2s;
}
.cc-province-hub__card:last-child { border-right: none; }
.cc-province-hub__card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--prov-color, var(--gold));
  opacity: 0;
  transition: opacity 0.2s;
}
.cc-province-hub__card:hover::before { opacity: 0.08; }
.cc-province-hub__card--active::before { opacity: 0.14; }
.cc-province-hub__card--active {
  border-top: 2px solid var(--prov-color, var(--gold));
  border-bottom: 2px solid var(--prov-color, var(--gold));
  box-shadow: inset 0 -2px 0 var(--prov-color, var(--gold)),
              0 4px 14px -8px color-mix(in srgb, var(--prov-color, var(--gold)) 40%, transparent);
}

.cc-province-hub__card-code {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 900;
  color: var(--text-faint);
  line-height: 1;
  margin-bottom: 4px;
  transition: color 0.2s;
  position: relative; z-index: 1;
}
.cc-province-hub__card:hover .cc-province-hub__card-code,
.cc-province-hub__card--active .cc-province-hub__card-code { color: var(--prov-color, var(--gold)); }

.cc-province-hub__card-name {
  font-size: 0.625rem;
  font-weight: 700;
  color: var(--text-secondary);
  margin-bottom: 3px;
  position: relative; z-index: 1;
  white-space: nowrap;
}
.cc-province-hub__card-status {
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-faint);
  position: relative; z-index: 1;
}
.cc-province-hub__card--active .cc-province-hub__card-status { color: var(--prov-color, var(--gold)); }

/* Picker drawer */
.cc-province-hub__picker {
  padding: 0.875rem 1.5rem 1rem;
  border-top: 1px solid var(--border-subtle);
  background: rgba(255,255,255,0.015);
  animation: ccHeroFadeUp 0.25s cubic-bezier(0.16,1,0.3,1);
}
.cc-province-hub__picker-label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.625rem;
}
.cc-province-hub__picker-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}

/* Responsive */
@media (max-width: 767px) {
  .cc-province-hub__panel { flex-wrap: wrap; }
  .cc-province-hub__code-col { padding-bottom: 0; }
  .cc-province-hub__center { padding: 12px 16px; }
  .cc-province-hub__right {
    width: 100%;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0 16px 16px;
  }
  .cc-province-hub__subline { display: none; }
  .cc-province-hub__cta { flex: 1; text-align: center; justify-content: center; }
}

/* Light mode */
:root.light .cc-province-hub { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-province-hub__panel::before {
  background: radial-gradient(ellipse 55% 130% at 0% 50%, color-mix(in srgb, var(--badge-color, #10b981) 7%, transparent), transparent 68%);
}
:root.light .cc-province-hub__bar { box-shadow: 2px 0 8px var(--badge-color, #10b981) !important; }
/* Darken badge-color-derived elements so bright accents (gold/yellow) read on white */
:root.light .cc-province-hub__big-code { filter: brightness(0.72); }
:root.light .cc-province-hub__tag     { filter: brightness(0.82); }
/* Boost small meta text contrast on white */
:root.light .cc-province-hub__meta   { color: rgba(0,0,0,0.48); }
:root.light .cc-province-hub__sep    { color: rgba(0,0,0,0.2); }
:root.light .cc-province-hub__prov-label { color: rgba(0,0,0,0.42); }
:root.light .cc-province-hub__change  { color: rgba(0,0,0,0.45); }
:root.light .cc-province-hub__card--active .cc-province-hub__card-code { filter: brightness(0.8); }
:root.light .cc-province-hub__cards { border-top-color: rgba(0,0,0,0.08); }
:root.light .cc-province-hub__card { border-right-color: rgba(0,0,0,0.08); }
:root.light .cc-province-hub__picker { background: rgba(0,0,0,0.02); border-top-color: rgba(0,0,0,0.08); }

/* ═══════════════════════════════════════════════════════════
   ARTICLE TEMPLATE v2 — Split hero + editorial layout
═══════════════════════════════════════════════════════════ */

/* Reading progress bar */
.cc-art-progress {
  position: fixed; top: 0; left: 0; right: 0;
  height: 3px; z-index: 9999; pointer-events: none;
  background: rgba(245,200,66,0.12);
}
.cc-art-progress__fill {
  height: 100%; width: 0;
  background: linear-gradient(90deg, var(--gold) 0%, rgba(245,200,66,0.55) 100%);
  transition: width 0.1s linear;
  border-radius: 0 2px 2px 0;
}

/* ── SPLIT HERO ── */
/* ── ARTICLE HERO — Full-bleed directional veil (mirrors cc-news-hero) ── */
.cc-art-hero {
  position: relative;
  min-height: 500px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--bg-main);
}
.cc-art-hero__img-wrap {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.cc-art-hero__img {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center 30%;
  filter: grayscale(0.15);
}
/* Directional veil: dark-left safe zone, image bleeds right */
.cc-art-hero__dissolve {
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg,
      rgba(7,9,15,0.97) 0%,
      rgba(7,9,15,0.93) 30%,
      rgba(7,9,15,0.72) 55%,
      rgba(7,9,15,0.35) 78%,
      rgba(7,9,15,0.12) 100%
    ),
    linear-gradient(0deg,
      rgba(7,9,15,0.82) 0%,
      rgba(7,9,15,0.30) 40%,
      transparent 72%
    );
}
/* Editorial scan-line texture */
.cc-art-hero__img-wrap::after {
  content: '';
  position: absolute; inset: 0;
  background-image: repeating-linear-gradient(
    0deg,
    transparent 0px, transparent 3px,
    rgba(255,255,255,0.010) 3px, rgba(255,255,255,0.010) 4px
  );
  pointer-events: none;
}
/* Content: IS the cc-container — z-index + padding only, width from cc-container */
.cc-art-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  padding-top: 4.5rem;
  padding-bottom: 3.5rem;
}
.cc-art-hero__cat {
  display: inline-flex; align-items: center;
  font-size: 0.5625rem; font-weight: 800;
  letter-spacing: 0.13em; text-transform: uppercase;
  color: var(--gold); background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px; padding: 0.3rem 0.875rem;
  text-decoration: none; margin-bottom: 1rem;
}
.cc-art-hero__title {
  font-size: clamp(2rem, 3.5vw, 3rem);
  font-weight: 900; color: #ffffff;
  line-height: 1.1; letter-spacing: -0.025em;
  margin-bottom: 0.875rem;
  max-width: 680px;
}
.cc-art-hero__deck {
  font-size: 1rem; color: rgba(255,255,255,0.65);
  line-height: 1.65; max-width: 560px; margin-bottom: 1.75rem;
}
.cc-art-hero__byline {
  display: inline-flex; align-items: center;
  flex-wrap: nowrap; gap: 0;
  background: rgba(7,9,15,0.75);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px; padding: 0.75rem 1.125rem;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.cc-art-hero__byline-author {
  display: flex; align-items: center;
  gap: 0.5rem; flex-shrink: 0; padding-right: 1rem;
}
.cc-art-hero__byline-avatar {
  width: 34px; height: 34px; border-radius: 50%;
  object-fit: cover; border: 2px solid rgba(245,200,66,0.4);
  flex-shrink: 0;
}
.cc-art-hero__byline-avatar--fb {
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--gold-dim); border: 2px solid var(--gold-border);
  color: var(--gold); font-weight: 900; font-size: 0.875rem;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.cc-art-hero__byline-name {
  font-size: 0.8125rem; font-weight: 800; color: #ffffff;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  max-width: 180px; line-height: 1.2;
}
.cc-art-hero__byline-role {
  font-size: 0.5rem; font-weight: 700;
  letter-spacing: 0.09em; text-transform: uppercase; color: var(--gold);
}
.cc-art-hero__byline-sep {
  width: 1px; height: 22px;
  background: rgba(255,255,255,0.15);
  margin: 0 0.875rem; flex-shrink: 0;
}
.cc-art-hero__byline-stat {
  display: flex; flex-direction: column; align-items: center;
  flex-shrink: 0; white-space: nowrap;
}
.cc-art-hero__byline-stat-val {
  font-family: var(--font-mono); font-size: 0.875rem;
  font-weight: 800; color: #ffffff;
  line-height: 1.2; white-space: nowrap;
}
.cc-art-hero__byline-stat-label {
  font-size: 0.4375rem; font-weight: 700;
  letter-spacing: 0.09em; text-transform: uppercase;
  color: rgba(255,255,255,0.4); margin-top: 0.1rem; white-space: nowrap;
}
/* Light mode */
:root.light .cc-art-hero__dissolve {
  background:
    linear-gradient(90deg,
      #f4f6f9 0%,
      rgba(244,246,249,0.97) 25%,
      rgba(244,246,249,0.82) 50%,
      rgba(244,246,249,0.42) 72%,
      rgba(244,246,249,0.12) 100%
    ),
    linear-gradient(0deg,
      rgba(244,246,249,0.92) 0%,
      rgba(244,246,249,0.42) 35%,
      transparent 65%
    );
}
:root.light .cc-art-hero { background: var(--bg-main); }
:root.light .cc-art-hero__title { color: var(--text-primary); }
:root.light .cc-art-hero__deck  { color: var(--text-secondary); }
:root.light .cc-art-hero__byline { background: rgba(255,255,255,0.90); border-color: rgba(0,0,0,0.10); }
:root.light .cc-art-hero__byline-name { color: var(--text-primary); }
:root.light .cc-art-hero__byline-stat-val { color: var(--text-primary); }
:root.light .cc-art-hero__byline-stat-label { color: var(--text-muted); }
:root.light .cc-art-hero__byline-sep { background: rgba(0,0,0,0.12); }
/* Mobile */
@media (max-width: 900px) {
  .cc-art-hero { min-height: auto; }
  .cc-art-hero__content { max-width: 100%; padding-top: 3rem; padding-bottom: 2.5rem; }
  .cc-art-hero__title { font-size: clamp(1.75rem, 5vw, 2.5rem); }
  .cc-art-hero__byline { flex-wrap: wrap; }
}


/* ── Classic editor heading fallback: <p><strong>heading</strong></p> ── */
/* When <strong> is the sole content of a <p>, treat it as a section heading */
.cc-art-content p > strong:only-child,
.cc-art-content.cc-prose p > strong:only-child {
  display: block;
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--gold) !important;
  font-family: var(--font-display);
  letter-spacing: -0.01em;
  line-height: 1.3;
  margin-bottom: -0.25rem;
}

/* ════════════════════════════════════════════════════════════
   ARTICLE BODY — Complete reimagination
   Layout: 200px ToC | 1fr prose | 280px sidebar
════════════════════════════════════════════════════════════ */

/* ── Wrapper & grid ── */
.cc-art-body {
  background: var(--bg-main);
  padding: 3.5rem 0 2rem;
  border-top: 1px solid var(--border-subtle);
}
.cc-art-layout {
  display: grid;
  grid-template-columns: 196px 1fr 272px;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 1200px) {
  .cc-art-layout { grid-template-columns: 1fr 260px; }
  .cc-art-toc-col { display: none; }
}
@media (max-width: 860px) {
  .cc-art-layout { grid-template-columns: 1fr; gap: 2rem; }
  .cc-art-sidebar { display: none; }
}

/* ── Left: Table of Contents ── */
.cc-art-toc-col { position: sticky; top: 88px; align-self: start; }
.cc-art-toc {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
  overflow: hidden;
}
.cc-art-toc__hd {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.5625rem; font-weight: 800;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--text-muted);
}
.cc-art-toc__loading {
  padding: 0.75rem 1rem;
  font-size: 0.6875rem; color: var(--text-muted);
}
.cc-art-toc__nav { padding: 0.375rem 0; }
.cc-art-toc__link {
  display: block;
  padding: 0.35rem 1rem;
  font-size: 0.6875rem; line-height: 1.45;
  color: var(--text-muted);
  text-decoration: none;
  border-left: 2px solid transparent;
  transition: color 0.15s, background 0.15s, border-color 0.15s;
}
.cc-art-toc__link--sub { padding-left: 1.625rem; font-size: 0.625rem; }
.cc-art-toc__link:hover { color: var(--text-secondary); background: var(--bg-elevated); }
.cc-art-toc__link--active {
  color: var(--gold);
  border-left-color: var(--gold);
  background: var(--gold-dim);
  font-weight: 600;
}

/* ── Centre: Prose ── */
.cc-art-main { min-width: 0; }

/* Lede / excerpt callout */
.cc-art-lede {
  position: relative;
  padding: 1.25rem 1.5rem 1.25rem 1.75rem;
  margin-bottom: 2rem;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-left: 3px solid var(--gold);
  border-radius: 0 12px 12px 0;
  font-size: 1rem; font-style: italic;
  color: var(--text-secondary); line-height: 1.7;
}

/* ── PROSE — rich theme-consistent typography ── */
.cc-art-content {
  font-size: 1.0625rem;
  line-height: 1.85;
  color: var(--text-secondary);
}

/* H1 in content — rare but handle it */
.cc-art-content h1 {
  font-family: var(--font-display);
  font-size: 2rem; font-weight: 900;
  color: var(--gold);
  letter-spacing: -0.025em; line-height: 1.1;
  margin: 2.5rem 0 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--gold-border);
  scroll-margin-top: 88px;
}

/* H2 — gold, full width rule underneath */
.cc-art-content h2 {
  font-family: var(--font-display);
  font-size: 1.5rem; font-weight: 800;
  color: var(--gold);
  letter-spacing: -0.02em; line-height: 1.2;
  margin: 2.75rem 0 0.875rem;
  padding-bottom: 0.625rem;
  border-bottom: 1px solid var(--gold-border);
  scroll-margin-top: 88px;
}

/* H3 — white with gold left accent */
.cc-art-content h3 {
  font-family: var(--font-display);
  font-size: 1.125rem; font-weight: 700;
  color: var(--text-primary);
  line-height: 1.3;
  margin: 2rem 0 0.625rem;
  padding-left: 0.875rem;
  border-left: 3px solid var(--gold);
  scroll-margin-top: 88px;
}

/* H4 — small gold caps label */
.cc-art-content h4 {
  font-size: 0.6875rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--gold);
  margin: 1.75rem 0 0.5rem;
  scroll-margin-top: 88px;
}

.cc-art-content p { margin-bottom: 1.375rem; }
.cc-art-content p:last-child { margin-bottom: 0; }
.cc-art-content strong { color: var(--text-primary); font-weight: 700; }
.cc-art-content em { font-style: italic; color: var(--text-secondary); }
.cc-art-content a {
  color: var(--gold);
  text-decoration: underline;
  text-decoration-color: var(--gold-border);
  text-underline-offset: 3px;
  transition: text-decoration-color 0.15s;
}
.cc-art-content a:hover { text-decoration-color: var(--gold); }

/* Blockquote — editorial pull-quote style */
.cc-art-content blockquote {
  position: relative;
  margin: 2rem 0;
  padding: 1.5rem 1.5rem 1.5rem 2rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-left: 4px solid var(--gold);
  border-radius: 0 12px 12px 0;
  font-size: 1.0625rem; font-style: italic;
  color: var(--text-secondary); line-height: 1.75;
}
.cc-art-content blockquote::before {
  content: '\201C';
  position: absolute;
  top: -0.25rem; left: 0.75rem;
  font-size: 4rem; line-height: 1;
  color: var(--gold);
  opacity: 0.25;
  font-family: Georgia, serif;
}
.cc-art-content blockquote p { margin: 0; }

/* Unordered list — gold dot markers */
.cc-art-content ul {
  list-style: none;
  padding: 0;
  margin: 0 0 1.375rem;
}
.cc-art-content ul li {
  position: relative;
  padding: 0.3rem 0 0.3rem 1.375rem;
  color: var(--text-secondary);
}
.cc-art-content ul li::before {
  content: '';
  position: absolute; left: 0; top: 0.75em;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--gold);
  flex-shrink: 0;
}

/* Ordered list — gold mono numbers */
.cc-art-content ol {
  list-style: none;
  counter-reset: art-ol;
  padding: 0; margin: 0 0 1.375rem;
}
.cc-art-content ol li {
  counter-increment: art-ol;
  position: relative;
  padding: 0.3rem 0 0.3rem 2rem;
  color: var(--text-secondary);
}
.cc-art-content ol li::before {
  content: counter(art-ol);
  position: absolute; left: 0; top: 0.3rem;
  width: 1.375rem; height: 1.375rem;
  border-radius: 50%;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  color: var(--gold);
  font-family: var(--font-mono);
  font-size: 0.625rem; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
}

/* Nested lists */
.cc-art-content ul ul,
.cc-art-content ol ul { margin: 0.25rem 0 0.25rem 1rem; }
.cc-art-content li li::before { width: 4px; height: 4px; top: 0.8em; opacity: 0.6; }

/* Table */
.cc-art-content table {
  width: 100%; border-collapse: collapse;
  margin: 2rem 0; font-size: 0.9375rem;
  border: 1px solid var(--border-subtle);
  border-radius: 12px; overflow: hidden;
}
.cc-art-content th {
  background: var(--bg-elevated);
  padding: 0.75rem 1rem;
  text-align: left; font-size: 0.625rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.09em;
  color: var(--gold); border-bottom: 1px solid var(--border-subtle);
}
.cc-art-content td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  color: var(--text-secondary);
}
.cc-art-content tr:last-child td { border-bottom: none; }
.cc-art-content tr:nth-child(even) td { background: var(--bg-elevated); }

/* Images */
.cc-art-content img {
  border-radius: 12px; margin: 1.75rem 0;
  max-width: 100%; height: auto;
  border: 1px solid var(--border-subtle);
}
.cc-art-content figure { margin: 1.75rem 0; }
.cc-art-content figcaption {
  font-size: 0.75rem; color: var(--text-muted);
  text-align: center; margin-top: 0.5rem; font-style: italic;
}

/* Horizontal rule */
.cc-art-content hr {
  border: none;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--gold-border), transparent);
  margin: 2.5rem 0;
}

/* Code inline */
.cc-art-content code {
  font-family: var(--font-mono);
  font-size: 0.875em;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  padding: 0.1em 0.4em;
  color: var(--gold);
}

/* Classic editor <p><strong>heading</strong></p> — gold treatment */
.cc-art-content p > strong:only-child {
  display: block;
  font-family: var(--font-display);
  font-size: 1.25rem; font-weight: 800;
  color: var(--gold) !important;
  letter-spacing: -0.01em; line-height: 1.3;
  margin-bottom: -0.5rem;
}

/* ── Tags ── */
.cc-art-tags {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem;
  margin-top: 2.5rem; padding-top: 1.5rem;
  border-top: 1px solid var(--border-subtle);
}
.cc-art-tags__label {
  display: inline-flex; align-items: center; gap: 0.3rem;
  font-size: 0.5625rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--text-muted);
}
.cc-art-tag {
  display: inline-block;
  font-size: 0.6875rem; font-weight: 600;
  padding: 0.25rem 0.75rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 100px;
  color: var(--text-secondary);
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.cc-art-tag:hover {
  background: var(--gold-dim);
  border-color: var(--gold-border);
  color: var(--gold);
}

/* ── End-of-article bar: share + back link ── */
.cc-art-end {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 1rem;
  margin-top: 2rem; padding: 1.125rem 1.5rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
}
.cc-art-end__share {
  display: flex; align-items: center; gap: 0.5rem;
}
.cc-art-end__share-label {
  font-size: 0.625rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--text-muted); margin-right: 0.25rem;
}
.cc-art-end__share-ico {
  width: 34px; height: 34px;
  border-radius: 9px;
  border: 1px solid var(--border-subtle);
  background: var(--bg-card);
  color: var(--text-muted);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: all 0.15s;
}
.cc-art-end__share-ico svg { width: 14px; height: 14px; }
.cc-art-end__share-ico:hover { transform: translateY(-1px); }
.cc-art-end__share-ico--x:hover    { background: #000; color: #fff; border-color: #333; }
.cc-art-end__share-ico--fb:hover   { background: rgba(24,119,242,0.15); color: #60a5fa; border-color: rgba(24,119,242,0.3); }
.cc-art-end__share-ico--li:hover   { background: rgba(10,102,194,0.15); color: #60a5fa; border-color: rgba(10,102,194,0.3); }
.cc-art-end__share-ico--cp:hover   { background: var(--gold-dim); color: var(--gold); border-color: var(--gold-border); }
.cc-art-end__all {
  display: inline-flex; align-items: center; gap: 0.375rem;
  font-size: 0.75rem; font-weight: 700;
  color: var(--text-muted); text-decoration: none;
  transition: color 0.15s;
}
.cc-art-end__all:hover { color: var(--gold); }

/* ── Right Sidebar ── */
.cc-art-sidebar {
  position: sticky; top: 88px;
  align-self: start;
  display: flex; flex-direction: column; gap: 0.875rem;
}

/* Base widget */
.cc-art-sw {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
  overflow: hidden;
}
.cc-art-sw__hd {
  display: flex; align-items: center; gap: 0.45rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.5rem; font-weight: 800;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--text-muted);
}

/* Reading progress widget */
.cc-art-sw--progress {
  padding: 1rem 1.125rem;
  border-top: 2px solid var(--gold);
}
.cc-art-sw__progress-label {
  display: flex; align-items: baseline; gap: 0.3rem;
  margin-bottom: 0.625rem;
}
.cc-art-sw__progress-pct {
  font-family: var(--font-mono); font-size: 1.5rem; font-weight: 800;
  color: var(--gold); line-height: 1;
}
.cc-art-sw__progress-text {
  font-size: 0.5625rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.09em;
  color: var(--text-muted);
}
.cc-art-sw__progress-track {
  height: 4px; background: var(--bg-elevated);
  border-radius: 2px; overflow: hidden; margin-bottom: 0.625rem;
}
.cc-art-sw__progress-fill {
  height: 100%; width: 0%;
  background: linear-gradient(90deg, var(--gold) 0%, rgba(245,200,66,0.6) 100%);
  border-radius: 2px; transition: width 0.2s linear;
}
.cc-art-sw__progress-meta {
  display: flex; justify-content: space-between;
  font-size: 0.5625rem; color: var(--text-muted);
}
.cc-art-sw__progress-meta span {
  display: inline-flex; align-items: center; gap: 0.25rem;
}

/* Article facts widget */
.cc-art-sw--facts {}
.cc-art-sw__dl { margin: 0; padding: 0.25rem 0; }
.cc-art-sw__dl-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 0.45rem 1rem; gap: 0.5rem;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.6875rem;
}
.cc-art-sw__dl-row:last-child { border-bottom: none; }
.cc-art-sw__dl-row dt { color: var(--text-muted); font-weight: 500; }
.cc-art-sw__dl-row dd { color: var(--text-secondary); font-weight: 700; text-align: right; margin: 0; }
.cc-art-sw__dl-link { color: var(--gold); text-decoration: none; font-weight: 700; }
.cc-art-sw__dl-link:hover { text-decoration: underline; }

/* CTA widget */
.cc-art-sw--cta {
  background: linear-gradient(135deg, rgba(245,200,66,0.08) 0%, rgba(245,200,66,0.03) 100%);
  border-color: var(--gold-border);
  padding: 1.125rem;
}
.cc-art-sw__cta-badge {
  display: inline-flex; align-items: center; gap: 0.3rem;
  font-size: 0.4375rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.25rem 0.625rem;
  margin-bottom: 0.75rem;
}
.cc-art-sw__cta-heading {
  font-family: var(--font-display);
  font-size: 1.0625rem; font-weight: 900;
  color: var(--text-primary); line-height: 1.2;
  margin-bottom: 0.5rem; letter-spacing: -0.01em;
}
.cc-art-sw__cta-heading em { color: var(--gold); font-style: normal; }
.cc-art-sw__cta-sub {
  font-size: 0.75rem; color: var(--text-muted);
  line-height: 1.55; margin-bottom: 1rem;
}

/* Related articles widget */
.cc-art-sw--related {}
.cc-art-sw__rel {
  display: flex; align-items: flex-start; gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  text-decoration: none;
  transition: background 0.15s;
}
.cc-art-sw__rel:hover { background: var(--bg-elevated); }
.cc-art-sw__rel-num {
  font-family: var(--font-mono); font-size: 0.875rem; font-weight: 800;
  color: var(--gold); opacity: 0.5; min-width: 1.25rem; flex-shrink: 0; line-height: 1.4;
}
.cc-art-sw__rel-body { flex: 1; min-width: 0; }
.cc-art-sw__rel-cat {
  font-size: 0.4375rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--gold); margin-bottom: 0.2rem;
}
.cc-art-sw__rel-title {
  font-size: 0.6875rem; font-weight: 700;
  color: var(--text-primary); line-height: 1.4; margin-bottom: 0.2rem;
}
.cc-art-sw__rel-meta {
  font-size: 0.5625rem; color: var(--text-muted);
}
.cc-art-sw__rel-all {
  display: flex; align-items: center; justify-content: center; gap: 0.375rem;
  padding: 0.625rem 1rem;
  font-size: 0.625rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--text-muted); text-decoration: none;
  transition: color 0.15s;
}
.cc-art-sw__rel-all:hover { color: var(--gold); }

/* Related section full-width */
.cc-art-related-section {
  background: var(--bg-elevated);
  padding: 3.5rem 0 4rem;
  border-top: 1px solid var(--border-subtle);
}

/* ── Light mode ── */
:root.light .cc-art-body { background: var(--bg-main); border-top-color: rgba(0,0,0,0.07); }
:root.light .cc-art-lede { background: rgba(201,146,14,0.07); }
:root.light .cc-art-content h2 { border-bottom-color: var(--gold-border); }
:root.light .cc-art-content h3 { color: var(--text-primary); }
:root.light .cc-art-content blockquote { background: #ffffff; border-color: rgba(0,0,0,0.07); }
:root.light .cc-art-content table { border-color: rgba(0,0,0,0.08); }
:root.light .cc-art-content th { background: rgba(0,0,0,0.03); border-bottom-color: rgba(0,0,0,0.08); }
:root.light .cc-art-content td { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-art-content tr:nth-child(even) td { background: rgba(0,0,0,0.02); }
:root.light .cc-art-content code { background: rgba(0,0,0,0.05); border-color: rgba(0,0,0,0.1); }
:root.light .cc-art-toc { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-art-toc__hd { border-bottom-color: rgba(0,0,0,0.07); }
:root.light .cc-art-toc__link:hover { background: rgba(0,0,0,0.03); }
:root.light .cc-art-toc__link--active { background: rgba(201,146,14,0.08); }
:root.light .cc-art-end { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-art-end__share-ico { background: #f4f6f9; border-color: rgba(0,0,0,0.10); }
:root.light .cc-art-sw { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-art-sw--cta { background: rgba(201,146,14,0.05); }
:root.light .cc-art-sw--progress { background: #ffffff; }
:root.light .cc-art-sw__progress-track { background: rgba(0,0,0,0.08); }
:root.light .cc-art-sw__dl-row { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-art-sw__rel { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-art-sw__rel:hover { background: rgba(0,0,0,0.02); }
:root.light .cc-art-tags { border-top-color: rgba(0,0,0,0.07); }
:root.light .cc-art-tag { background: #f4f6f9; border-color: rgba(0,0,0,0.10); }
:root.light .cc-art-related-section { background: #f4f6f9; }

/* ════════════════════════════════════════════════════════════
   PRIVACY CONSENT BANNER
   Canadian compliance — PIPA BC, PIPEDA, QC Law 25, PIPA AB
════════════════════════════════════════════════════════════ */

.cc-consent-banner {
  position: fixed;
  bottom: 1.5rem;
  z-index: 99999;
  max-width: 780px;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 3rem);
  animation: cc-consent-slide-up 0.4s cubic-bezier(0.16,1,0.3,1) both;
}
@keyframes cc-consent-slide-up {
  from { opacity: 0; transform: translateX(-50%) translateY(1.5rem); }
  to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}
.cc-consent-banner[hidden] { display: none; }

.cc-consent-banner__inner {
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-top: 3px solid var(--gold);
  border-radius: 18px;
  padding: 1.25rem 1.375rem 1rem;
  box-shadow:
    0 24px 64px rgba(0,0,0,0.55),
    0 4px 16px rgba(0,0,0,0.35),
    inset 0 1px 0 rgba(255,255,255,0.05);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
}

/* Top row — icon + title */
.cc-consent-banner__top {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.875rem;
}
.cc-consent-banner__icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  color: var(--gold);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.cc-consent-banner__icon svg { width: 16px; height: 16px; }
.cc-consent-banner__title {
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--text-primary);
  line-height: 1.2;
  font-family: var(--font-display);
}
.cc-consent-banner__subtitle {
  font-size: 0.5625rem;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-top: 0.1rem;
}

/* Body text */
.cc-consent-banner__body {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 0.875rem;
}
.cc-consent-banner__body strong { color: var(--text-primary); }
.cc-consent-banner__link {
  color: var(--gold);
  text-decoration: none;
  font-weight: 600;
  white-space: nowrap;
}
.cc-consent-banner__link:hover { text-decoration: underline; }

/* Law tags */
.cc-consent-banner__law-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-bottom: 0.875rem;
}
.cc-consent-banner__law-tag {
  font-size: 0.4375rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  padding: 0.2rem 0.5rem;
}

/* Detail panel */
.cc-consent-banner__detail {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 1rem;
}
.cc-consent-banner__detail[hidden] { display: none; }
.cc-consent-banner__detail-grid { display: flex; flex-direction: column; }

.cc-consent-banner__row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.875rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-consent-banner__row:last-child { border-bottom: none; }
.cc-consent-banner__row--required { opacity: 0.7; }
.cc-consent-banner__row-info { flex: 1; min-width: 0; }
.cc-consent-banner__row-name {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.3rem;
}
.cc-consent-banner__row-desc {
  font-size: 0.625rem;
  color: var(--text-muted);
  line-height: 1.55;
}
.cc-consent-banner__row-desc code {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 3px;
  padding: 0.05rem 0.3rem;
  color: var(--gold);
}

/* Toggle switch */
.cc-consent-banner__toggle {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  flex-shrink: 0;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  min-width: 44px;
}
.cc-consent-banner__toggle--locked {
  font-size: 0.4375rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--text-muted);
  cursor: default;
  padding-top: 0.25rem;
}
.cc-consent-banner__toggle-track {
  width: 36px; height: 20px;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 100px;
  position: relative;
  transition: background 0.2s, border-color 0.2s;
  display: block;
}
.cc-consent-banner__toggle[aria-checked="true"] .cc-consent-banner__toggle-track {
  background: var(--gold);
  border-color: var(--gold);
}
.cc-consent-banner__toggle-thumb {
  position: absolute;
  top: 2px; left: 2px;
  width: 14px; height: 14px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.3);
  transition: transform 0.2s cubic-bezier(0.16,1,0.3,1);
  display: block;
}
.cc-consent-banner__toggle[aria-checked="true"] .cc-consent-banner__toggle-thumb {
  transform: translateX(16px);
}
.cc-consent-banner__toggle-label {
  font-size: 0.4375rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--text-muted);
}
.cc-consent-banner__toggle[aria-checked="true"] .cc-consent-banner__toggle-label {
  color: var(--gold);
}

/* Action buttons */
.cc-consent-banner__actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 0.75rem;
}
.cc-consent-banner__btn {
  flex: 1;
  min-width: 0;
  padding: 0.6rem 0.875rem;
  border-radius: 10px;
  font-size: 0.75rem;
  font-weight: 700;
  cursor: pointer;
  border: 1px solid var(--border-subtle);
  transition: all 0.15s;
  white-space: nowrap;
}
.cc-consent-banner__btn--secondary {
  background: var(--bg-card);
  color: var(--text-secondary);
}
.cc-consent-banner__btn--secondary:hover {
  background: var(--bg-elevated);
  color: var(--text-primary);
  border-color: var(--border-mid);
}
.cc-consent-banner__btn--primary {
  background: var(--gold);
  color: #07090f;
  border-color: var(--gold);
  font-weight: 800;
}
.cc-consent-banner__btn--primary:hover {
  background: #f0c040;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(245,200,66,0.35);
}

/* Footer note */
.cc-consent-banner__footer {
  font-size: 0.625rem;
  color: var(--text-muted);
  line-height: 1.55;
  text-align: center;
}
.cc-consent-banner__withdraw-link {
  background: none;
  border: none;
  padding: 0;
  color: var(--gold);
  cursor: pointer;
  font-size: inherit;
  text-decoration: underline;
  font-weight: 600;
}

/* Persistent footer privacy button */
.cc-consent-footer-btn {
  position: fixed;
  bottom: 1.25rem;
  left: 1.25rem;
  z-index: 9998;
  display: none; /* shown via JS once consent recorded */
  align-items: center;
  gap: 0.375rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 100px;
  padding: 0.4rem 0.75rem 0.4rem 0.5rem;
  font-size: 0.5625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  cursor: pointer;
  transition: all 0.15s;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
.cc-consent-footer-btn:hover {
  border-color: var(--gold-border);
  color: var(--gold);
  background: var(--gold-dim);
}

/* Light mode */
:root.light .cc-consent-banner__inner {
  background: #ffffff;
  border-color: rgba(0,0,0,0.10);
  box-shadow: 0 24px 64px rgba(0,0,0,0.18), 0 4px 16px rgba(0,0,0,0.10);
}
:root.light .cc-consent-banner__detail { background: #f8f9fa; border-color: rgba(0,0,0,0.08); }
:root.light .cc-consent-banner__row { border-bottom-color: rgba(0,0,0,0.07); }
:root.light .cc-consent-banner__law-tag { background: #f4f6f9; border-color: rgba(0,0,0,0.10); }
:root.light .cc-consent-banner__toggle-track { background: rgba(0,0,0,0.10); border-color: rgba(0,0,0,0.15); }
:root.light .cc-consent-banner__btn--secondary { background: #f4f6f9; border-color: rgba(0,0,0,0.10); }
:root.light .cc-consent-banner__btn--secondary:hover { background: #ececec; }
:root.light .cc-consent-footer-btn { background: #ffffff; border-color: rgba(0,0,0,0.12); box-shadow: 0 2px 8px rgba(0,0,0,0.12); }
:root.light .cc-consent-banner__row-desc code { background: rgba(0,0,0,0.05); border-color: rgba(0,0,0,0.1); }

/* Mobile — widened breakpoint from 540→640px; uses separate keyframe so the
   translateX(-50%) desktop animation doesn't push the modal off-screen left */
@media (max-width: 640px) {
  .cc-consent-banner {
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    transform: none;
    max-width: 100%;
    animation-name: cc-consent-slide-up-mobile;
  }
  .cc-consent-banner__inner {
    border-radius: 18px 18px 0 0;
  }
  .cc-consent-banner__actions { flex-direction: column; }
  .cc-consent-banner__btn { flex: none; width: 100%; }
}

/* ════════════════════════════════════════════════════════════
   PRIVACY POLICY PAGE — Component CSS
════════════════════════════════════════════════════════════ */

/* Hero law strip */
.cc-pp-law-strip {
  display: flex; flex-wrap: wrap; gap: 0.5rem;
  margin-top: 1.25rem;
}
.cc-pp-law-badge {
  font-size: 0.4375rem; font-weight: 800;
  letter-spacing: 0.12em; text-transform: uppercase;
  padding: 0.3rem 0.75rem;
  background: var(--bg-glass);
  border: 1px solid var(--border-subtle);
  border-radius: 100px;
  color: var(--text-muted);
  display: inline-flex; align-items: center; gap: 0.3rem;
}
.cc-pp-law-badge--primary { border-color: var(--gold-border); color: var(--gold); background: var(--gold-dim); }
.cc-pp-law-badge--alert   { border-color: rgba(239,68,68,0.3); color: #f87171; background: rgba(239,68,68,0.07); }

/* Applicable law table */
.cc-pp-law-table {
  border: 1px solid var(--border-subtle);
  border-radius: 14px; overflow: hidden;
  margin: 1.25rem 0;
}
.cc-pp-law-row {
  display: grid;
  grid-template-columns: 64px 1fr 120px;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.8125rem;
  align-items: start;
}
.cc-pp-law-row:last-child { border-bottom: none; }
.cc-pp-law-row--primary { background: var(--gold-dim); }
.cc-pp-law-row--alert   { background: rgba(239,68,68,0.04); }
.cc-pp-law-row__badge {
  font-size: 0.4375rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.1em;
  padding: 0.25rem 0.5rem;
  border-radius: 6px;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  color: var(--text-muted);
  text-align: center; white-space: nowrap;
  align-self: start; margin-top: 0.15rem;
}
.cc-pp-law-row--primary .cc-pp-law-row__badge { background: var(--gold); color: #07090f; border-color: var(--gold); }
.cc-pp-law-row__badge--fed { background: rgba(59,130,246,0.15); color: #60a5fa; border-color: rgba(59,130,246,0.3); }
.cc-pp-law-row__badge--qc  { background: rgba(239,68,68,0.12); color: #f87171; border-color: rgba(239,68,68,0.3); }
.cc-pp-law-row__badge--ab  { background: rgba(251,146,60,0.12); color: #fb923c; border-color: rgba(251,146,60,0.3); }
.cc-pp-law-row__name { color: var(--text-primary); font-weight: 600; font-size: 0.8125rem; }
.cc-pp-law-row__name em { font-style: italic; color: var(--text-secondary); }
.cc-pp-law-row__cite { font-family: var(--font-mono); font-size: 0.625rem; color: var(--text-muted); }
.cc-pp-law-row__scope { color: var(--text-secondary); font-size: 0.75rem; grid-column: 2 / -1; }
@media (max-width: 700px) {
  .cc-pp-law-row { grid-template-columns: 1fr; gap: 0.5rem; }
  .cc-pp-law-row__scope { grid-column: auto; }
}

/* Data collection table */
.cc-pp-data-table {
  border: 1px solid var(--border-subtle);
  border-radius: 14px; overflow: hidden; margin: 1.25rem 0;
}
.cc-pp-data-table__head {
  display: grid; grid-template-columns: 1.5fr 2fr 1fr 1fr;
  padding: 0.625rem 1rem; gap: 0.75rem;
  background: var(--bg-elevated);
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.5625rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--text-muted);
}
.cc-pp-data-row {
  display: grid; grid-template-columns: 1.5fr 2fr 1fr 1fr;
  padding: 0.875rem 1rem; gap: 0.75rem;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.75rem; color: var(--text-secondary);
  align-items: start;
}
.cc-pp-data-row:last-child { border-bottom: none; }
.cc-pp-data-row:nth-child(even) { background: var(--bg-elevated); }
.cc-pp-data-row__name { display: flex; flex-direction: column; gap: 0.2rem; }
.cc-pp-data-row__name strong { color: var(--text-primary); font-size: 0.8125rem; }
.cc-pp-data-row__tech { font-family: var(--font-mono); font-size: 0.5625rem; color: var(--text-muted); }
.cc-pp-badge {
  display: inline-block; font-size: 0.5rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.08em;
  padding: 0.2rem 0.5rem; border-radius: 4px;
}
.cc-pp-badge--yellow { background: rgba(245,200,66,0.12); color: var(--gold); border: 1px solid var(--gold-border); }
.cc-pp-badge--green  { background: rgba(16,185,129,0.10); color: #34d399; border: 1px solid rgba(16,185,129,0.25); }
.cc-pp-badge--red    { background: rgba(239,68,68,0.10); color: #f87171; border: 1px solid rgba(239,68,68,0.25); }
.cc-pp-badge--blue   { background: rgba(59,130,246,0.10); color: #60a5fa; border: 1px solid rgba(59,130,246,0.25); }
@media (max-width: 800px) {
  .cc-pp-data-table__head, .cc-pp-data-row { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 540px) {
  .cc-pp-data-table__head { display: none; }
  .cc-pp-data-row { grid-template-columns: 1fr; }
}

/* Contact card */
.cc-pp-contact-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-top: 2px solid var(--gold);
  border-radius: 14px; overflow: hidden;
}
.cc-pp-contact-card__hd {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.5625rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--text-muted);
}
.cc-pp-contact-card__body { padding: 0; }
.cc-pp-contact-card__row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 0.5rem 1rem; gap: 1rem;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.8125rem;
}
.cc-pp-contact-card__row:last-child { border-bottom: none; }
.cc-pp-contact-card__label { color: var(--text-muted); flex-shrink: 0; }
.cc-pp-contact-card__row a { color: var(--gold); text-decoration: none; }
.cc-pp-contact-card__row a:hover { text-decoration: underline; }

/* Purpose grid */
.cc-pp-purpose-grid { display: flex; flex-direction: column; gap: 1rem; margin-top: 1.25rem; }
.cc-pp-purpose {
  display: flex; gap: 1rem; align-items: flex-start;
  padding: 1.25rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
}
.cc-pp-purpose__icon {
  width: 38px; height: 38px; border-radius: 10px;
  background: var(--gold-dim); border: 1px solid var(--gold-border);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.cc-pp-purpose__title { font-weight: 700; color: var(--text-primary); margin-bottom: 0.375rem; font-size: 0.9375rem; }
.cc-pp-purpose__desc  { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.65; margin-bottom: 0.5rem; }
.cc-pp-purpose__data  { font-size: 0.625rem; color: var(--text-muted); font-family: var(--font-mono); margin-bottom: 0.25rem; }
.cc-pp-purpose__basis { font-size: 0.625rem; color: var(--gold); font-style: italic; }

/* Third party list */
.cc-pp-tp-list { display: flex; flex-direction: column; gap: 1rem; margin: 1.25rem 0; }
.cc-pp-tp {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 14px; overflow: hidden;
}
.cc-pp-tp__hd {
  display: flex; align-items: center; flex-wrap: wrap; gap: 0.75rem;
  padding: 0.875rem 1.125rem;
  background: var(--bg-elevated);
  border-bottom: 1px solid var(--border-subtle);
}
.cc-pp-tp__name { font-weight: 800; color: var(--text-primary); font-size: 0.9375rem; }
.cc-pp-tp__role { font-size: 0.625rem; font-weight: 600; color: var(--text-muted); background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 6px; padding: 0.2rem 0.5rem; }
.cc-pp-tp__location { display: flex; align-items: center; gap: 0.25rem; font-size: 0.625rem; color: var(--text-muted); margin-left: auto; }
.cc-pp-tp__body { padding: 1rem 1.125rem; }
.cc-pp-tp__body p { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.65; margin-bottom: 0.5rem; }
.cc-pp-tp__body p:last-child { margin-bottom: 0; }
.cc-pp-tp__body a { color: var(--gold); }

/* Automated decision grid */
.cc-pp-auto-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1.25rem 0; }
@media (max-width: 700px) { .cc-pp-auto-grid { grid-template-columns: 1fr; } }
.cc-pp-auto {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 14px; overflow: hidden;
}
.cc-pp-auto__title {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.875rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  font-weight: 700; font-size: 0.875rem; color: var(--text-primary);
  background: var(--bg-elevated);
}
.cc-pp-auto__dl { padding: 1rem; margin: 0; }
.cc-pp-auto__dl dt { font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.09em; color: var(--gold); margin: 0.75rem 0 0.25rem; }
.cc-pp-auto__dl dt:first-child { margin-top: 0; }
.cc-pp-auto__dl dd { font-size: 0.75rem; color: var(--text-secondary); line-height: 1.6; margin: 0; }
.cc-pp-auto__dl dd code { font-family: var(--font-mono); font-size: 0.625rem; background: var(--bg-elevated); border: 1px solid var(--border-subtle); border-radius: 3px; padding: 0.05rem 0.3rem; color: var(--gold); }

/* Cookie table */
.cc-pp-cookie-table {
  border: 1px solid var(--border-subtle);
  border-radius: 14px; overflow: hidden; margin: 1.25rem 0;
}
.cc-pp-cookie-table__head {
  display: grid; grid-template-columns: 1.5fr 0.75fr 0.75fr 0.85fr 2fr;
  padding: 0.625rem 1rem; gap: 0.625rem;
  background: var(--bg-elevated);
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.5rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.1em; color: var(--text-muted);
}
.cc-pp-cookie-row {
  display: grid; grid-template-columns: 1.5fr 0.75fr 0.75fr 0.85fr 2fr;
  padding: 0.75rem 1rem; gap: 0.625rem;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.75rem; color: var(--text-secondary);
  align-items: start;
}
.cc-pp-cookie-row:last-child { border-bottom: none; }
.cc-pp-cookie-row:nth-child(even) { background: var(--bg-elevated); }
.cc-pp-cookie-row code { font-family: var(--font-mono); font-size: 0.625rem; background: var(--bg-elevated); border: 1px solid var(--border-subtle); border-radius: 3px; padding: 0.1rem 0.35rem; color: var(--gold); }
.cc-pp-cat { font-size: 0.4375rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.09em; padding: 0.2rem 0.5rem; border-radius: 4px; font-style: normal; }
.cc-pp-cat--necessary   { background: rgba(59,130,246,0.12); color: #60a5fa; }
.cc-pp-cat--functional  { background: rgba(16,185,129,0.10); color: #34d399; }
.cc-pp-cat--personal    { background: rgba(245,200,66,0.12); color: var(--gold); }
@media (max-width: 900px) {
  .cc-pp-cookie-table__head, .cc-pp-cookie-row { grid-template-columns: 1.5fr 1fr 1fr; }
  .cc-pp-cookie-table__head span:nth-child(n+4),
  .cc-pp-cookie-row span:nth-child(n+4) { display: none; }
}

/* Rights grid */
.cc-pp-rights-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 1rem; margin: 1.25rem 0;
}
@media (max-width: 640px) { .cc-pp-rights-grid { grid-template-columns: 1fr; } }
.cc-pp-right {
  padding: 1.125rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
}
.cc-pp-right__icon { margin-bottom: 0.625rem; }
.cc-pp-right__title { font-weight: 700; color: var(--text-primary); font-size: 0.9375rem; margin-bottom: 0.5rem; }
.cc-pp-right__desc  { font-size: 0.75rem; color: var(--text-secondary); line-height: 1.65; margin: 0; }
.cc-pp-right__desc em { font-style: normal; font-size: 0.6875rem; color: var(--text-muted); display: block; margin-top: 0.5rem; }

/* Regulator grid */
.cc-pp-regulator-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 1rem; margin: 1.25rem 0;
}
@media (max-width: 640px) { .cc-pp-regulator-grid { grid-template-columns: 1fr; } }
.cc-pp-regulator {
  padding: 1.125rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
}
.cc-pp-regulator--qc { border-color: rgba(239,68,68,0.3); }
.cc-pp-regulator__name { font-weight: 700; color: var(--text-primary); font-size: 0.875rem; line-height: 1.35; margin-bottom: 0.375rem; }
.cc-pp-regulator__law  { font-size: 0.5625rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.09em; color: var(--gold); margin-bottom: 0.5rem; }
.cc-pp-regulator__url  { display: block; font-size: 0.75rem; color: var(--gold); text-decoration: none; margin-bottom: 0.25rem; }
.cc-pp-regulator__url:hover { text-decoration: underline; }
.cc-pp-regulator__tel  { font-size: 0.75rem; color: var(--text-secondary); }

/* ToC law list */
.cc-aff-toc__law-list { padding: 1rem; border-top: 1px solid var(--border-subtle); display: flex; flex-direction: column; gap: 0.625rem; }
.cc-aff-toc__law-item { display: flex; align-items: flex-start; gap: 0.5rem; }
.cc-aff-toc__law-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--border-mid); flex-shrink: 0; margin-top: 0.2rem;
}
.cc-aff-toc__law-item--primary .cc-aff-toc__law-dot { background: var(--gold); }
.cc-aff-toc__law-item--qc .cc-aff-toc__law-dot { background: #f87171; }
.cc-aff-toc__law-name { font-size: 0.6875rem; font-weight: 700; color: var(--text-primary); }
.cc-aff-toc__law-desc { font-size: 0.5rem; color: var(--text-muted); }
.cc-aff-toc__link--special { color: #f87171 !important; }
.cc-aff-toc__link--special:hover { color: #f87171 !important; }

/* ToC actions */
.cc-aff-toc__actions { padding: 0.75rem 1rem; border-top: 1px solid var(--border-subtle); }

/* Light mode */
:root.light .cc-pp-purpose { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-pp-tp { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-pp-tp__hd { background: #f8f9fa; border-bottom-color: rgba(0,0,0,0.07); }
:root.light .cc-pp-auto { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-pp-auto__title { background: #f8f9fa; }
:root.light .cc-pp-auto__dl code { background: rgba(0,0,0,0.05); border-color: rgba(0,0,0,0.10); }
:root.light .cc-pp-right { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-pp-regulator { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-pp-contact-card { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-pp-contact-card__hd { border-bottom-color: rgba(0,0,0,0.07); }
:root.light .cc-pp-contact-card__row { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-pp-law-table { border-color: rgba(0,0,0,0.08); }
:root.light .cc-pp-law-row { border-bottom-color: rgba(0,0,0,0.07); }
:root.light .cc-pp-law-row--primary { background: rgba(201,146,14,0.06); }
:root.light .cc-pp-law-row--alert { background: rgba(239,68,68,0.03); }
:root.light .cc-pp-data-table { border-color: rgba(0,0,0,0.08); }
:root.light .cc-pp-data-row { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-pp-data-row:nth-child(even) { background: rgba(0,0,0,0.02); }
:root.light .cc-pp-cookie-table { border-color: rgba(0,0,0,0.08); }
:root.light .cc-pp-cookie-row { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-pp-cookie-row:nth-child(even) { background: rgba(0,0,0,0.02); }
:root.light .cc-pp-cookie-row code { background: rgba(0,0,0,0.05); border-color: rgba(0,0,0,0.10); }

/* ════════════════════════════════════════════════════════════
   PRIORITY 2 — 404, SEARCH, ACCESSIBILITY
════════════════════════════════════════════════════════════ */

/* ── Skip to content link (2c) ── */
.cc-skip-link {
  position: absolute;
  top: -100%;
  left: 1.5rem;
  z-index: 100000;
  background: var(--gold);
  color: #07090f;
  font-size: 0.875rem;
  font-weight: 800;
  padding: 0.625rem 1.25rem;
  border-radius: 0 0 10px 10px;
  text-decoration: none;
  transition: top 0.15s;
  white-space: nowrap;
}
.cc-skip-link:focus {
  top: 0;
  outline: 3px solid #07090f;
  outline-offset: 2px;
}

/* ── 404 PAGE ── */
.cc-404-hero {
  position: relative;
  min-height: 420px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--bg-main);
}
.cc-404-hero__bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 60% 50% at 50% 100%, rgba(245,200,66,0.06) 0%, transparent 70%),
    repeating-linear-gradient(0deg, transparent 0px, transparent 3px, rgba(255,255,255,0.008) 3px, rgba(255,255,255,0.008) 4px);
  pointer-events: none;
}
.cc-404-hero__inner {
  position: relative; z-index: 2;
  padding: 4rem 0;
  text-align: center;
  display: flex; flex-direction: column; align-items: center;
}
.cc-404-hero__number {
  font-family: var(--font-display);
  font-size: clamp(6rem, 16vw, 10rem);
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
  opacity: 0.15;
  letter-spacing: -0.04em;
  margin-bottom: -2rem;
  pointer-events: none;
  user-select: none;
}
.cc-404-hero__title {
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  margin-bottom: 0.875rem;
  position: relative;
}
.cc-404-hero__desc {
  font-size: 1rem;
  color: var(--text-secondary);
  max-width: 460px;
  line-height: 1.65;
  margin-bottom: 2rem;
}

/* Search bar on 404 */
.cc-404-search { width: 100%; max-width: 540px; }
.cc-404-search__wrap {
  display: flex; align-items: center;
  background: var(--bg-elevated);
  border: 1px solid var(--border-mid);
  border-radius: 14px;
  padding: 0.25rem 0.25rem 0.25rem 1rem;
  gap: 0.5rem;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.cc-404-search__wrap:focus-within {
  border-color: var(--gold-border);
  box-shadow: 0 0 0 3px rgba(245,200,66,0.12);
}
.cc-404-search__icon { color: var(--text-muted); flex-shrink: 0; }
.cc-404-search__input {
  flex: 1; background: none; border: none; outline: none;
  font-size: 0.9375rem; color: var(--text-primary);
  font-family: var(--font-sans);
  padding: 0.5rem 0;
}
.cc-404-search__input::placeholder { color: var(--text-muted); }
.cc-404-search__btn { flex-shrink: 0; }

/* Quick links nav on 404 */
.cc-404-quicklinks {
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: 0.5rem; margin-top: 1.5rem;
}
.cc-404-quicklink {
  display: inline-flex; align-items: center; gap: 0.375rem;
  font-size: 0.75rem; font-weight: 700;
  padding: 0.45rem 0.875rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 100px;
  color: var(--text-secondary);
  text-decoration: none;
  transition: all 0.15s;
}
.cc-404-quicklink:hover {
  border-color: var(--gold-border);
  color: var(--gold); background: var(--gold-dim);
}

/* 404 sections */
.cc-404-section { padding: 3rem 0; background: var(--bg-main); }
.cc-404-section--alt { background: var(--bg-elevated); border-top: 1px solid var(--border-subtle); }
.cc-404-section__hd {
  display: flex; justify-content: space-between; align-items: flex-end;
  margin-bottom: 1.75rem; flex-wrap: wrap; gap: 1rem;
}

/* 404 casino grid */
.cc-404-casino-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
@media (max-width: 900px) { .cc-404-casino-grid { grid-template-columns: 1fr; } }

.cc-404-casino {
  display: flex; flex-direction: column;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 16px;
  overflow: hidden;
  transition: border-color 0.15s, transform 0.15s;
}
.cc-404-casino:hover { border-color: var(--gold-border); transform: translateY(-2px); }
.cc-404-casino__logo-wrap {
  display: flex; align-items: center; justify-content: center;
  height: 80px; padding: 1rem;
  text-decoration: none;
}
.cc-404-casino__logo { max-height: 44px; max-width: 120px; object-fit: contain; }
.cc-404-casino__logo-txt {
  font-weight: 800; font-size: 0.875rem; color: #fff; text-align: center;
}
.cc-404-casino__body { flex: 1; padding: 0.875rem 1rem; }
.cc-404-casino__name { font-weight: 800; font-size: 0.9375rem; color: var(--text-primary); margin-bottom: 0.375rem; }
.cc-404-casino__name a { color: inherit; text-decoration: none; }
.cc-404-casino__name a:hover { color: var(--gold); }
.cc-404-casino__stars { display: flex; align-items: center; gap: 0.125rem; margin-bottom: 0.375rem; }
.cc-404-casino__star { font-size: 0.875rem; color: var(--border-mid); }
.cc-404-casino__star--on { color: var(--gold); }
.cc-404-casino__rating { font-family: var(--font-mono); font-size: 0.75rem; font-weight: 700; color: var(--gold); margin-left: 0.25rem; }
.cc-404-casino__bonus {
  font-size: 0.6875rem; font-weight: 700;
  color: #10b981; background: rgba(16,185,129,0.1);
  border: 1px solid rgba(16,185,129,0.2);
  border-radius: 6px; padding: 0.2rem 0.5rem;
  display: inline-block; margin-bottom: 0.375rem;
}
.cc-404-casino__bestfor {
  display: flex; align-items: center; gap: 0.3rem;
  font-size: 0.625rem; color: var(--text-muted);
}
.cc-404-casino__actions {
  display: flex; gap: 0.5rem; padding: 0.75rem 1rem;
  border-top: 1px solid var(--border-subtle);
}
.cc-404-casino__actions .cc-btn { flex: 1; justify-content: center; }

/* Light mode 404 */
:root.light .cc-404-casino { background: #fff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-404-casino:hover { border-color: var(--gold-border); }
:root.light .cc-404-search__wrap { background: #fff; border-color: rgba(0,0,0,0.15); }
:root.light .cc-404-quicklink { background: #fff; border-color: rgba(0,0,0,0.10); }
:root.light .cc-404-section--alt { background: #f4f6f9; }

/* ── SEARCH PAGE ── */
.cc-search-hero {
  background: var(--bg-main);
  border-bottom: 1px solid var(--border-subtle);
  padding: 3rem 0 2.5rem;
}
.cc-search-hero__inner { max-width: 760px; }
.cc-search-hero__title {
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  font-weight: 900; color: var(--text-primary);
  letter-spacing: -0.02em;
  line-height: 1.15; margin-bottom: 0.5rem;
}
.cc-search-hero__title em { color: var(--gold); font-style: normal; }
.cc-search-hero__count {
  font-size: 0.875rem; color: var(--text-secondary);
  margin-bottom: 1.5rem;
}
.cc-search-hero__count strong { color: var(--gold); }

/* Search refine form */
.cc-search-hero__form { max-width: 600px; }
.cc-search-hero__form-wrap {
  display: flex; align-items: center;
  background: var(--bg-elevated);
  border: 1px solid var(--border-mid);
  border-radius: 14px;
  padding: 0.25rem 0.25rem 0.25rem 1rem;
  gap: 0.5rem;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.cc-search-hero__form-wrap:focus-within {
  border-color: var(--gold-border);
  box-shadow: 0 0 0 3px rgba(245,200,66,0.12);
}
.cc-search-hero__form-icon { color: var(--text-muted); flex-shrink: 0; }
.cc-search-hero__input {
  flex: 1; background: none; border: none; outline: none;
  font-size: 0.9375rem; color: var(--text-primary);
  font-family: var(--font-sans); padding: 0.5rem 0;
}
.cc-search-hero__input::placeholder { color: var(--text-muted); }

/* Search body */
.cc-search-body { background: var(--bg-main); padding: 2.5rem 0 4rem; }

/* Result groups */
.cc-search-group { margin-bottom: 3rem; }
.cc-search-group__hd {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 1.25rem; flex-wrap: wrap; gap: 0.75rem;
}
.cc-search-group__title {
  display: flex; align-items: center; gap: 0.625rem;
  font-size: 1.125rem; font-weight: 800; color: var(--text-primary);
}
.cc-search-group__icon {
  width: 30px; height: 30px; border-radius: 8px;
  background: var(--gold-dim); border: 1px solid var(--gold-border);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.cc-search-group__count {
  font-size: 0.6875rem; font-weight: 800;
  padding: 0.2rem 0.625rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 100px; color: var(--text-muted);
}

/* Casino search results */
.cc-search-casino-list { display: flex; flex-direction: column; gap: 0.75rem; }
.cc-search-casino {
  display: flex; align-items: center; gap: 1rem;
  padding: 1rem 1.25rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
  transition: border-color 0.15s, transform 0.15s;
}
.cc-search-casino:hover { border-color: var(--gold-border); transform: translateX(2px); }
.cc-search-casino__logo-wrap {
  width: 64px; height: 48px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; overflow: hidden;
}
.cc-search-casino__logo { max-height: 32px; max-width: 56px; object-fit: contain; }
.cc-search-casino__body { flex: 1; min-width: 0; }
.cc-search-casino__name {
  font-size: 1rem; font-weight: 800; color: var(--text-primary);
  text-decoration: none; display: block; margin-bottom: 0.25rem;
}
.cc-search-casino__name:hover { color: var(--gold); }
.cc-search-casino__stars {
  display: flex; align-items: center; gap: 0.1rem; margin-bottom: 0.375rem;
}
.cc-search-casino__star { font-size: 0.75rem; color: var(--border-mid); }
.cc-search-casino__star--on { color: var(--gold); }
.cc-search-casino__rating-num {
  font-family: var(--font-mono); font-size: 0.6875rem;
  font-weight: 700; color: var(--gold); margin-left: 0.25rem;
}
.cc-search-casino__chips { display: flex; flex-wrap: wrap; gap: 0.375rem; margin-bottom: 0.375rem; }
.cc-search-casino__chip {
  display: inline-flex; align-items: center; gap: 0.25rem;
  font-size: 0.5625rem; font-weight: 700;
  padding: 0.2rem 0.5rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 100px; color: var(--text-muted);
}
.cc-search-casino__bonus {
  font-size: 0.6875rem; font-weight: 700;
  color: #10b981; background: rgba(16,185,129,0.08);
  border: 1px solid rgba(16,185,129,0.2);
  border-radius: 6px; padding: 0.15rem 0.5rem;
  display: inline-block;
}
.cc-search-casino__actions { display: flex; gap: 0.5rem; flex-shrink: 0; }
@media (max-width: 600px) {
  .cc-search-casino { flex-wrap: wrap; }
  .cc-search-casino__actions { width: 100%; }
  .cc-search-casino__actions .cc-btn { flex: 1; justify-content: center; }
}

/* No results state */
.cc-search-empty {
  text-align: center; padding: 4rem 1.5rem;
  max-width: 500px; margin: 0 auto;
}
.cc-search-empty__icon { margin-bottom: 1.25rem; }
.cc-search-empty__title {
  font-size: 1.375rem; font-weight: 800;
  color: var(--text-primary); margin-bottom: 0.75rem;
}
.cc-search-empty__desc {
  font-size: 0.9375rem; color: var(--text-secondary);
  line-height: 1.65; margin-bottom: 1.75rem;
}
.cc-search-empty__suggest { margin-bottom: 1.75rem; }
.cc-search-empty__suggest-label {
  font-size: 0.6875rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.09em;
  color: var(--text-muted); margin-bottom: 0.625rem;
}
.cc-search-empty__suggest-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; }
.cc-search-empty__suggest-item {
  display: inline-flex; align-items: center; gap: 0.375rem;
  font-size: 0.8125rem; font-weight: 600;
  padding: 0.45rem 0.875rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 100px;
  color: var(--text-secondary); text-decoration: none;
  transition: all 0.15s;
}
.cc-search-empty__suggest-item:hover {
  border-color: var(--gold-border); color: var(--gold); background: var(--gold-dim);
}
.cc-search-empty__nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; }

/* Pagination */
.cc-search-pagination {
  display: flex; justify-content: center; align-items: center;
  gap: 0.375rem; margin-top: 2.5rem; flex-wrap: wrap;
}
.cc-search-page {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 38px; height: 38px; padding: 0 0.625rem;
  font-size: 0.8125rem; font-weight: 600;
  border-radius: 10px;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  color: var(--text-secondary); text-decoration: none;
  transition: all 0.15s;
}
.cc-search-page:hover { border-color: var(--gold-border); color: var(--gold); background: var(--gold-dim); }
.cc-search-page--active {
  background: var(--gold); color: #07090f !important;
  border-color: var(--gold); font-weight: 800;
}

/* Light mode search */
:root.light .cc-search-hero { background: #f4f6f9; border-bottom-color: rgba(0,0,0,0.08); }
:root.light .cc-search-hero__form-wrap { background: #fff; border-color: rgba(0,0,0,0.15); }
:root.light .cc-search-casino { background: #fff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-search-casino:hover { border-color: var(--gold-border); }
:root.light .cc-search-empty__suggest-item { background: #fff; border-color: rgba(0,0,0,0.10); }
:root.light .cc-search-page { background: #fff; border-color: rgba(0,0,0,0.10); }

/* ── ARIA / Focus improvements (2c) ── */
/* Visible focus ring on all interactive elements */
:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 4px;
}
/* Province picker pills keyboard focus */
.cc-geo-picker__pill:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
/* QM option buttons — show selected state clearly for keyboard users */
.cc-qm-option:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
.cc-qm-option[aria-pressed="true"] {
  background: var(--gold);
  color: #07090f;
  border-color: var(--gold);
}
/* Comparison modal focus trap indicator */
.cc-compare-modal:focus-visible { outline: none; }
.cc-compare-modal__panel:focus-visible { outline: 2px solid var(--gold); outline-offset: -2px; }

/* ════════════════════════════════════════════════════════════
   LUCIDE ICON FLASH PREVENTION
   Icons are hidden until lucide.createIcons() completes.
   The 'lucide-ready' class is added to <html> by JS.
   Transition is fast enough to be imperceptible but eliminates
   the blank-box flash on first load.
════════════════════════════════════════════════════════════ */

/* Hide all lucide icon placeholders before JS runs */
[data-lucide] {
  visibility: hidden;
  display: inline-flex;
}

/* Reveal instantly once Lucide has replaced them with SVGs */
.lucide-ready [data-lucide],
.lucide-ready i > svg,
.lucide-ready [data-lucide] > svg {
  visibility: visible;
}

/* Any SVG that Lucide injects — also hidden until ready */
:not(.lucide-ready) i[data-lucide] svg {
  visibility: hidden;
}

/* ════════════════════════════════════════════════════════════
   PRIORITY 5 — UX POLISH
════════════════════════════════════════════════════════════ */

/* ── 5a: Mobile nav active state ── */
.cc-mobile-nav-link--active {
  color: var(--gold) !important;
  background: var(--gold-dim);
  border-left: 2px solid var(--gold);
  padding-left: calc(0.75rem - 2px); /* compensate for border */
}
.cc-mobile-nav-link--active:hover {
  color: var(--gold) !important;
  background: var(--gold-dim);
}

/* ── 5b: Skeleton shimmer loader ── */
/* Applied to province hub headline/subline on first load */
@keyframes cc-skel-shimmer {
  0%   { background-position: -400px 0; }
  100% { background-position: 400px 0; }
}
.cc-skel {
  position: relative;
  color: transparent !important;
  border-radius: 6px;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
  min-height: 1.2em;
  min-width: 120px;
}
.cc-skel::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    var(--bg-elevated) 0%,
    var(--border-subtle) 40%,
    var(--bg-elevated) 80%
  );
  background-size: 400px 100%;
  animation: cc-skel-shimmer 1.4s ease-in-out infinite;
  border-radius: inherit;
}

/* Light mode skeleton */
:root.light .cc-skel::after {
  background: linear-gradient(
    90deg,
    rgba(0,0,0,0.06) 0%,
    rgba(0,0,0,0.12) 40%,
    rgba(0,0,0,0.06) 80%
  );
  background-size: 400px 100%;
}

/* ── 5b: QuickMatch empty/guided state ── */
.cc-qm-empty-state {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.875rem 1rem;
  border: 1px dashed var(--border-subtle);
  border-radius: 10px;
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-top: 0.5rem;
  font-style: italic;
}

/* Light mode */
:root.light .cc-geo-banner { background: #fff; }
:root.light .cc-geo-picker__pill { background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.10); }
:root.light .cc-geo-picker__pill:hover,
:root.light .cc-geo-picker__pill.active { background: var(--gold-dim); border-color: var(--gold-border); }

@media (max-width: 767px) {
  .cc-geo-banner__inner { flex-direction: column; align-items: flex-start; gap: 0.75rem; }
  .cc-geo-banner__headline { white-space: normal; }
  .cc-geo-banner__subline  { white-space: normal; display: none; }
  .cc-geo-banner__cta { width: 100%; text-align: center; justify-content: center; }
}

/* ═══════════════════════════════════════════════════════════════
   TIER A — BONUS VALUE CALCULATOR
═══════════════════════════════════════════════════════════════ */

.cc-bvc-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  align-items: start;
}
@media (max-width: 720px) {
  .cc-bvc-wrap { grid-template-columns: 1fr; }
}

.cc-bvc-panel {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.5rem;
  box-shadow: var(--shadow-card);
}
.cc-bvc-panel--results {
  border-color: var(--gold-border);
  box-shadow: var(--shadow-card), var(--shadow-gold);
}
.cc-bvc-panel__title {
  font-family: var(--font-display);
  font-size: 1.0625rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* Fields */
.cc-bvc-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.cc-bvc-field { display: flex; flex-direction: column; gap: 0.3rem; }
.cc-bvc-field--wide { grid-column: 1 / -1; }
.cc-bvc-label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.cc-bvc-input-wrap { position: relative; display: flex; align-items: center; }
.cc-bvc-prefix, .cc-bvc-suffix {
  position: absolute;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text-muted);
  pointer-events: none;
}
.cc-bvc-prefix { left: 0.75rem; }
.cc-bvc-suffix { right: 0.75rem; }
.cc-bvc-input {
  font-family: var(--font-mono);
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--text-primary);
  background: var(--bg-glass);
  border: 1px solid var(--border-mid);
  border-radius: 10px;
  padding: 0.5rem 0.75rem;
  width: 100%;
  outline: none;
  transition: var(--transition);
  -moz-appearance: textfield;
}
.cc-bvc-input::-webkit-inner-spin-button,
.cc-bvc-input::-webkit-outer-spin-button { -webkit-appearance: none; }
.cc-bvc-input-wrap .cc-bvc-input { padding-left: 1.75rem; }
.cc-bvc-input.cc-bvc-input--has-suffix { padding-right: 2rem; }
.cc-bvc-input:focus { border-color: var(--gold-border); box-shadow: 0 0 0 3px var(--gold-dim); }
.cc-bvc-select {
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text-primary);
  background: var(--bg-glass);
  border: 1px solid var(--border-mid);
  border-radius: 10px;
  padding: 0.5rem 2rem 0.5rem 0.75rem;
  width: 100%;
  outline: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.625rem center;
  transition: var(--transition);
}
.cc-bvc-select:focus { border-color: var(--gold-border); box-shadow: 0 0 0 3px var(--gold-dim); }
.cc-bvc-hint { font-size: 0.6rem; color: var(--text-muted); line-height: 1.4; }

/* Empty state */
.cc-bvc-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  padding: 3rem 1rem;
  text-align: center;
  color: var(--text-muted);
  font-size: 0.875rem;
}

/* Hero metric */
.cc-bvc-hero-metric {
  text-align: center;
  padding: 1.25rem;
  background: var(--bg-glass);
  border-radius: 12px;
  margin-bottom: 1.25rem;
}
.cc-bvc-hero-metric__label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.25rem;
}
.cc-bvc-hero-metric__value {
  font-family: var(--font-display);
  font-size: 2.5rem;
  font-weight: 900;
  line-height: 1;
  margin-bottom: 0.25rem;
  transition: color 0.3s;
}
.cc-bvc-pos { color: var(--emerald); }
.cc-bvc-neg { color: var(--red); }
.cc-bvc-hero-metric__sub { font-size: 0.75rem; color: var(--text-muted); }

@keyframes ccBvcPop {
  0%   { transform: scale(1); }
  40%  { transform: scale(1.06); }
  100% { transform: scale(1); }
}
.cc-bvc-pop { animation: ccBvcPop 0.4s cubic-bezier(0.16,1,0.3,1); }

/* Metrics grid */
.cc-bvc-metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.625rem;
  margin-bottom: 1.25rem;
}
.cc-bvc-metric {
  background: var(--bg-glass);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  padding: 0.625rem 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.cc-bvc-metric__label {
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.cc-bvc-metric__val {
  font-family: var(--font-mono);
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--text-primary);
}
.cc-bvc-metric__val--neg { color: var(--red); }

/* Wagering bar */
.cc-bvc-wager-bar-wrap { margin-bottom: 1.25rem; }
.cc-bvc-wager-bar-label {
  display: flex;
  justify-content: space-between;
  font-size: 0.6875rem;
  color: var(--text-muted);
  margin-bottom: 0.375rem;
}
.cc-bvc-wager-bar-track {
  height: 6px;
  background: var(--bg-elevated);
  border-radius: 100px;
  overflow: hidden;
}
.cc-bvc-wager-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--emerald), var(--gold), var(--red));
  border-radius: 100px;
  transition: width 0.6s cubic-bezier(0.16,1,0.3,1);
}
.cc-bvc-wager-bar-hint {
  font-size: 0.625rem;
  color: var(--text-muted);
  margin-top: 0.25rem;
}

/* Recommendation */
.cc-bvc-rec {
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 10px;
  padding: 0.875rem 1rem;
  margin-bottom: 1rem;
}
.cc-bvc-rec__title {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.375rem;
}
.cc-bvc-rec__text { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.6; margin: 0; }

/* Verdict stars */
.cc-bvc-verdict {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  flex-wrap: wrap;
}
.cc-bvc-verdict__label {
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-muted);
}
.cc-bvc-verdict__stars { display: flex; gap: 2px; }
.cc-bvc-star { font-size: 1rem; color: var(--text-faint); transition: color 0.2s; }
.cc-bvc-star.on { color: var(--gold); }
.cc-bvc-verdict__text { font-size: 0.75rem; color: var(--text-secondary); font-weight: 600; }

/* Light mode */
:root.light .cc-bvc-panel    { background: #fff; }
:root.light .cc-bvc-input    { background: #f0f4f8; color: var(--text-primary); border-color: rgba(0,0,0,0.12); }
:root.light .cc-bvc-select   { background: #f0f4f8; color: var(--text-primary); border-color: rgba(0,0,0,0.12); }
:root.light .cc-bvc-metric   { background: rgba(0,0,0,0.03); }
:root.light .cc-bvc-hero-metric { background: rgba(0,0,0,0.04); }

/* ═══════════════════════════════════════════════════════════════
   TIER A — QUICK COMPARE TRAY
═══════════════════════════════════════════════════════════════ */

/* "+" button injected into casino cards — bottom-right corner, clear of ON/IGO badges */
.cc-compare-add-btn {
  position: absolute;
  bottom: 8px;
  right: 8px;
  z-index: 5;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.6);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1.5px solid rgba(255,255,255,0.25);
  border-radius: 50%;
  color: rgba(255,255,255,0.9);
  cursor: pointer;
  transition: opacity 0.2s ease, transform 0.2s ease, background 0.15s, border-color 0.15s;
  opacity: 0;
  transform: scale(0.8);
}
.cc-casino-card:hover .cc-compare-add-btn,
.cc-compare-add-btn.active {
  opacity: 1;
  transform: scale(1);
}
.cc-compare-add-btn.active {
  background: var(--gold);
  border-color: var(--gold);
  color: #000;
}
.cc-compare-add-btn:hover:not(.active) {
  background: rgba(0,0,0,0.85);
  color: #fff;
  border-color: rgba(255,255,255,0.45);
  transform: scale(1.12);
}

/* Tray */
.cc-compare-tray {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 500;
  background: var(--bg-card);
  border-top: 1px solid var(--gold-border);
  box-shadow: 0 -8px 32px rgba(0,0,0,0.4), var(--shadow-gold);
  transform: translateY(100%);
  transition: transform 0.4s cubic-bezier(0.16,1,0.3,1);
}
.cc-compare-tray:not([hidden]) {
  transform: translateY(0);
}
.cc-compare-tray__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0.875rem 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

/* Slots */
.cc-compare-slots {
  display: flex;
  gap: 0.625rem;
  flex: 1;
  min-width: 0;
}
.cc-compare-slot {
  flex: 1;
  max-width: 200px;
  min-height: 52px;
  border-radius: 10px;
  border: 1px solid var(--border-mid);
  transition: var(--transition);
  overflow: hidden;
}
.cc-compare-slot--empty {
  border-style: dashed;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cc-compare-slot__placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  color: var(--text-faint);
  font-size: 0.6rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0.5rem;
}
.cc-compare-slot__filled {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.625rem;
  background: var(--bg-glass);
}
.cc-compare-slot__logo {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  object-fit: contain;
  background: var(--bg-elevated);
  padding: 0.2rem;
  flex-shrink: 0;
}
.cc-compare-slot__logo-fallback {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  background: var(--bg-elevated);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 0.875rem;
  color: var(--gold);
  flex-shrink: 0;
}
.cc-compare-slot__name {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--text-primary);
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-compare-slot__remove {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: none;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
  flex-shrink: 0;
  transition: var(--transition);
}
.cc-compare-slot__remove:hover { background: var(--bg-glass-hover); color: var(--red); }

/* Actions */
.cc-compare-tray__actions { display: flex; gap: 0.5rem; flex-shrink: 0; }
.cc-compare-tray__close {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: none;
  border: 1px solid var(--border-subtle);
  color: var(--text-muted);
  cursor: pointer;
  flex-shrink: 0;
  transition: var(--transition);
}
.cc-compare-tray__close:hover { background: var(--bg-glass); color: var(--text-primary); }

/* Shake animation for max reached */
@keyframes ccTrayShake {
  0%,100% { transform: translateX(0); }
  20%      { transform: translateX(-6px); }
  40%      { transform: translateX(6px); }
  60%      { transform: translateX(-4px); }
  80%      { transform: translateX(4px); }
}
.cc-compare-tray--shake { animation: ccTrayShake 0.45s cubic-bezier(0.16,1,0.3,1); }

/* ── Compare modal wrapper (backdrop + centering) ── */
.cc-compare-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.cc-compare-modal[hidden] { display: none; }
.cc-compare-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.75);
  backdrop-filter: blur(4px);
}
.cc-compare-modal__body { padding: 0; }

/* ══════════════════════════════════════════════
   Concept B: Card Duel — cc-cm-* components
══════════════════════════════════════════════ */

/* Panel */
.cc-cm-panel {
  position: relative;
  width: 100%;
  max-width: 1060px;
  max-height: 90vh;
  background: #080810;
  border-radius: 20px;
  overflow-y: auto;
  overflow-x: hidden;
  border: 1px solid rgba(255,255,255,0.06);
  box-shadow:
    0 0 0 1px rgba(245,200,66,0.05),
    0 40px 100px rgba(0,0,0,0.85),
    0 0 60px rgba(245,200,66,0.03);
  animation: cc-cm-panel-in 0.55s cubic-bezier(0.16,1,0.3,1) both;
}
@keyframes cc-cm-panel-in {
  from { opacity: 0; transform: translateY(18px) scale(0.975); }
  to   { opacity: 1; transform: none; }
}

/* Topbar (close button) */
.cc-cm-topbar {
  position: absolute;
  top: 14px;
  right: 16px;
  z-index: 30;
  display: flex;
  align-items: center;
  gap: 10px;
}
.cc-cm-tag {
  font-size: 0.65rem;
  letter-spacing: 0.22em;
  color: rgba(255,255,255,0.22);
  text-transform: uppercase;
}
.cc-cm-close-btn {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(0,0,0,0.45);
  border: 1px solid rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 0.8rem;
  line-height: 1;
  transition: all 0.18s;
  flex-shrink: 0;
}
.cc-cm-close-btn:hover { background: rgba(255,255,255,0.12); color: #fff; }

/* Hero strip */
.cc-cm-hero-strip {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  height: 196px;
  position: relative;
}
#cc-compare-modal-body[data-count="2"] .cc-cm-hero-strip {
  grid-template-columns: 1fr 1fr;
}

/* Shimmer */
@keyframes cc-cm-shimmer {
  0%   { background-position: -250% center; }
  100% { background-position:  250% center; }
}
.cc-cm-hero-card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 18px 22px 20px;
}
.cc-cm-hero-card + .cc-cm-hero-card { border-left: 1px solid rgba(255,255,255,0.06); }
.cc-cm-shimmer {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    108deg,
    transparent 30%,
    rgba(255,255,255,0.0) 44%,
    rgba(255,255,255,0.07) 50%,
    rgba(255,255,255,0.0) 56%,
    transparent 70%
  );
  background-size: 250% 100%;
  animation: cc-cm-shimmer 3.5s linear infinite;
  z-index: 2;
  pointer-events: none;
}
.cc-cm-watermark {
  position: absolute;
  right: -8px;
  top: -22px;
  font-family: var(--font-display, 'Arial Narrow', sans-serif);
  font-size: 10rem;
  line-height: 1;
  color: rgba(255,255,255,0.028);
  pointer-events: none;
  z-index: 1;
  letter-spacing: -0.04em;
  user-select: none;
}

/* Hero card gradient backgrounds per position */
.cc-cm-hero-card[data-pos="0"] {
  background:
    linear-gradient(150deg, rgba(180,65,0,0.55) 0%, transparent 55%),
    linear-gradient(to top,  rgba(220,90,0,0.22) 0%, transparent 55%),
    radial-gradient(ellipse at 75% 25%, rgba(255,130,20,0.13) 0%, transparent 65%),
    #080810;
}
.cc-cm-hero-card[data-pos="1"] {
  background:
    linear-gradient(150deg, rgba(0,30,110,0.65) 0%, transparent 55%),
    linear-gradient(to top,  rgba(20,70,220,0.18) 0%, transparent 55%),
    radial-gradient(ellipse at 25% 75%, rgba(59,130,246,0.18) 0%, transparent 65%),
    #080810;
}
.cc-cm-hero-card[data-pos="2"] {
  background:
    linear-gradient(150deg, rgba(0,70,25,0.65) 0%, transparent 55%),
    linear-gradient(to top,  rgba(20,160,65,0.22) 0%, transparent 55%),
    radial-gradient(ellipse at 75% 75%, rgba(34,197,94,0.18) 0%, transparent 65%),
    #080810;
}

/* Winner pulse animation */
@keyframes cc-cm-winner-pulse {
  0%, 100% { box-shadow: inset 0 -60px 60px rgba(34,197,94,0.06); }
  50%       { box-shadow: inset 0 -60px 60px rgba(34,197,94,0.13); }
}
.cc-cm-hero-card--winner { animation: cc-cm-winner-pulse 2.8s ease-in-out infinite; }

/* Accent lines per position */
.cc-cm-accent-line {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  z-index: 4;
}
.cc-cm-hero-card[data-pos="0"] .cc-cm-accent-line {
  background: linear-gradient(90deg, transparent 0%, rgba(255,100,20,0.55) 50%, transparent 100%);
}
.cc-cm-hero-card[data-pos="1"] .cc-cm-accent-line {
  background: linear-gradient(90deg, transparent 0%, rgba(59,130,246,0.55) 50%, transparent 100%);
}
.cc-cm-hero-card[data-pos="2"] .cc-cm-accent-line {
  background: linear-gradient(90deg, transparent 0%, rgba(34,197,94,0.55) 50%, transparent 100%);
}

/* Hero logo */
.cc-cm-hero-logo-area {
  position: absolute;
  top: 0; left: 0; right: 0;
  bottom: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  z-index: 3;
}
.cc-cm-hero-logo {
  max-width: 130px;
  max-height: 65px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 2px 10px rgba(0,0,0,0.7));
}
.cc-cm-hero-logo-fallback {
  font-size: 1rem;
  font-weight: 700;
  color: rgba(255,255,255,0.8);
  text-align: center;
}

/* Hero rating */
.cc-cm-hero-content { position: relative; z-index: 3; }
.cc-cm-hero-rating-row {
  display: flex;
  align-items: baseline;
  gap: 5px;
  margin-bottom: 2px;
}
.cc-cm-hero-star { font-size: 1rem; color: var(--gold); line-height: 1; }
.cc-cm-hero-score {
  font-family: var(--font-display, 'Arial Narrow', sans-serif);
  font-size: 3.4rem;
  line-height: 1;
  color: var(--gold);
  letter-spacing: 0.01em;
  text-shadow: 0 0 20px rgba(245,200,66,0.5), 0 0 55px rgba(245,200,66,0.18);
}

/* TOP PICK ribbon */
.cc-cm-top-pick-wrap {
  position: absolute;
  top: 0; left: 0;
  width: 110px;
  height: 110px;
  overflow: hidden;
  z-index: 10;
  pointer-events: none;
}
.cc-cm-top-pick-ribbon {
  position: absolute;
  top: 22px;
  left: -28px;
  width: 120px;
  background: linear-gradient(135deg, #f0bc20 0%, var(--gold) 50%, #e8b010 100%);
  color: #000;
  text-align: center;
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 5px 0;
  transform: rotate(-45deg);
  box-shadow: 0 3px 14px rgba(245,200,66,0.5), 0 1px 4px rgba(0,0,0,0.5);
  white-space: nowrap;
}

/* VS badges */
.cc-cm-vs-badge {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  background: #080810;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.58rem;
  letter-spacing: 0.06em;
  color: #475569;
  z-index: 20;
  box-shadow: 0 0 10px rgba(0,0,0,0.6);
}

/* Column headers */
.cc-cm-col-headers {
  display: grid;
  grid-template-columns: 170px 1fr 1fr 1fr;
  background: #0d0d18;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
#cc-compare-modal-body[data-count="2"] .cc-cm-col-headers {
  grid-template-columns: 170px 1fr 1fr;
}
.cc-cm-col-header {
  padding: 9px 20px;
  border-left: 1px solid rgba(255,255,255,0.07);
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #94a3b8;
}
.cc-cm-col-header[data-pos="0"] { color: #ff844a; }
.cc-cm-col-header[data-pos="1"] { color: #60a5fa; }
.cc-cm-col-header[data-pos="2"] { color: #4ade80; }

/* Sections */
.cc-cm-section { border-bottom: 1px solid rgba(255,255,255,0.07); }
.cc-cm-section:last-of-type { border-bottom: none; }
.cc-cm-section-header {
  display: flex;
  align-items: center;
  padding: 9px 20px 8px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  background: rgba(255,255,255,0.015);
}
.cc-cm-section-label {
  font-size: 0.8rem;
  letter-spacing: 0.2em;
  color: #94a3b8;
  border-left: 3px solid var(--gold);
  padding-left: 11px;
  line-height: 1;
  text-transform: uppercase;
}
.cc-cm-section-label small {
  display: block;
  font-size: 0.6rem;
  letter-spacing: 0.15em;
  color: #475569;
  margin-top: 2px;
  text-transform: uppercase;
}

/* Compare rows */
.cc-cm-row {
  display: grid;
  grid-template-columns: 170px 1fr 1fr 1fr;
  align-items: center;
  min-height: 46px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  animation: cc-cm-row-in 0.35s ease both;
}
#cc-compare-modal-body[data-count="2"] .cc-cm-row {
  grid-template-columns: 170px 1fr 1fr;
}
.cc-cm-row:last-child { border-bottom: none; }
.cc-cm-row:hover { background: rgba(255,255,255,0.018); }

@keyframes cc-cm-row-in {
  from { opacity: 0; transform: translateX(-6px); }
  to   { opacity: 1; transform: none; }
}
.cc-cm-row:nth-child(1) { animation-delay: 0.08s; }
.cc-cm-row:nth-child(2) { animation-delay: 0.13s; }
.cc-cm-row:nth-child(3) { animation-delay: 0.18s; }
.cc-cm-row:nth-child(4) { animation-delay: 0.23s; }
.cc-cm-row:nth-child(5) { animation-delay: 0.28s; }

.cc-cm-row-label {
  padding: 8px 14px 8px 20px;
  font-size: 0.68rem;
  font-weight: 500;
  color: #475569;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.cc-cm-row-cell {
  padding: 8px 18px;
  border-left: 1px solid rgba(255,255,255,0.07);
  display: flex;
  align-items: center;
}

/* Bar charts */
.cc-cm-bar-wrap { display: flex; flex-direction: column; gap: 5px; width: 100%; }
.cc-cm-bar-val-row { display: flex; align-items: baseline; gap: 5px; }
.cc-cm-bar-val {
  font-family: var(--font-display, 'Arial Narrow', sans-serif);
  font-size: 1.05rem;
  letter-spacing: 0.03em;
  color: #f1f5f9;
  line-height: 1;
}
.cc-cm-bar-val.best { color: var(--gold); text-shadow: 0 0 12px rgba(245,200,66,0.4); }
.cc-cm-bar-val.worst { color: #475569; }
.cc-cm-bar-val-unit { font-size: 0.65rem; color: #475569; font-weight: 500; letter-spacing: 0.04em; }
.cc-cm-bar-track { height: 3px; background: rgba(255,255,255,0.07); border-radius: 99px; overflow: hidden; }
.cc-cm-bar-fill {
  height: 100%;
  border-radius: 99px;
  background: rgba(255,255,255,0.18);
  transform-origin: left center;
  animation: cc-cm-bar-grow 1s cubic-bezier(0.16,1,0.3,1) both;
  animation-delay: 0.4s;
}
@keyframes cc-cm-bar-grow {
  from { transform: scaleX(0); opacity: 0; }
  to   { transform: scaleX(1); opacity: 1; }
}
.cc-cm-bar-fill.best {
  background: linear-gradient(90deg, #c9a230 0%, var(--gold) 100%);
  box-shadow: 0 0 6px rgba(245,200,66,0.35);
}

/* Text value cells */
.cc-cm-val { font-size: 0.88rem; font-weight: 500; color: #f1f5f9; white-space: nowrap; }
.cc-cm-val.best {
  color: var(--gold);
  background: rgba(245,200,66,0.09);
  padding: 3px 9px;
  border-radius: 6px;
  border: 1px solid rgba(245,200,66,0.28);
  font-size: 0.83rem;
}
.cc-cm-val.worst { color: #475569; }

/* Yes / No chips */
.cc-cm-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  padding: 4px 11px;
  border-radius: 99px;
}
.cc-cm-chip-yes {
  background: rgba(16,185,129,0.13);
  color: #10b981;
  border: 1px solid rgba(16,185,129,0.28);
}
.cc-cm-chip-no {
  background: rgba(239,68,68,0.09);
  color: #f87171;
  border: 1px solid rgba(239,68,68,0.2);
}
.cc-cm-chip-dot { width: 5px; height: 5px; border-radius: 50%; background: currentColor; flex-shrink: 0; }

/* CTA strip */
.cc-cm-cta-strip {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  border-top: 1px solid rgba(255,255,255,0.07);
  background: #0d0d18;
}
#cc-compare-modal-body[data-count="2"] .cc-cm-cta-strip {
  grid-template-columns: 1fr 1fr;
}
.cc-cm-cta-col {
  padding: 13px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
}
.cc-cm-cta-col + .cc-cm-cta-col { border-left: 1px solid rgba(255,255,255,0.07); }
.cc-cm-cta-label {
  font-size: 0.65rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #475569;
  align-self: flex-start;
}
.cc-cm-cta-label[data-pos="0"] { color: rgba(255,132,74,0.7); }
.cc-cm-cta-label[data-pos="1"] { color: rgba(96,165,250,0.7); }
.cc-cm-cta-label[data-pos="2"] { color: rgba(74,222,128,0.7); }
.cc-cm-cta-buttons { display: flex; gap: 8px; width: 100%; }
.cc-cm-btn-ghost {
  flex: 1;
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,0.12);
  background: transparent;
  color: #94a3b8;
  border-radius: 8px;
  font-size: 0.75rem;
  font-weight: 500;
  cursor: pointer;
  text-align: center;
  transition: all 0.18s;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
.cc-cm-btn-ghost:hover { border-color: rgba(255,255,255,0.26); color: #f1f5f9; background: rgba(255,255,255,0.04); }
.cc-cm-btn-visit {
  flex: 1;
  padding: 9px 12px;
  background: var(--gold);
  color: #000;
  border: none;
  border-radius: 8px;
  font-size: 0.75rem;
  font-weight: 700;
  cursor: pointer;
  text-align: center;
  transition: all 0.18s;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
.cc-cm-btn-visit:hover { background: #ffd84a; box-shadow: 0 4px 18px rgba(245,200,66,0.35); transform: translateY(-1px); }
@keyframes cc-cm-btn-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(245,200,66,0.3); }
  50%       { box-shadow: 0 0 0 4px rgba(245,200,66,0); }
}
.cc-cm-btn-visit--winner { animation: cc-cm-btn-pulse 2.4s ease-in-out infinite; }

/* Mobile: sheet from bottom */
@media (max-width: 640px) {
  .cc-compare-modal { padding: 0; align-items: flex-end; }
  .cc-cm-panel { border-radius: 20px 20px 0 0; max-height: 92vh; max-width: 100%; }
  .cc-cm-hero-strip { height: 150px; }
  .cc-cm-hero-score { font-size: 2.4rem; }
  .cc-cm-hero-logo { max-width: 90px; max-height: 48px; }
}


/* ─── Compare Crown — winner 👑 animation ─────────────────────── */

.cc-compare-crown {
  position: absolute; /* overridden to fixed by quick-compare modal JS if needed */
  z-index: 99999;
  pointer-events: none;
  user-select: none;
  font-size: 72px;
  line-height: 1;
  will-change: transform, filter;
  filter: drop-shadow(0 0 18px rgba(212,175,55,0.95))
          drop-shadow(0 4px 32px rgba(212,175,55,0.5));
}

@keyframes cc-crown-arrive {
  0%   { transform: translate(140vw, -30px) rotate(28deg) scale(0.65); opacity: 0.7; }
  15%  { opacity: 1; }
  62%  { transform: translate(0px,  6px) rotate(-17deg) scale(1.10); }
  74%  { transform: translate(0px, -8px) rotate(-10deg) scale(0.95); }
  84%  { transform: translate(0px,  3px) rotate(-15deg) scale(1.03); }
  92%  { transform: translate(0px, -2px) rotate(-12deg) scale(0.99); }
  100% { transform: translate(0px,  0px) rotate(-13deg) scale(1);    }
}

@keyframes cc-crown-bob {
  0%, 100% { transform: translate(0,    0) rotate(-13deg) scale(1);    filter: drop-shadow(0 0 18px rgba(212,175,55,0.95)) drop-shadow(0 4px 32px rgba(212,175,55,0.5)); }
  50%       { transform: translate(0, -5px) rotate(-13deg) scale(1.02); filter: drop-shadow(0 0 26px rgba(212,175,55,1))   drop-shadow(0 8px 40px rgba(212,175,55,0.65)); }
}

.cc-compare-crown-glow {
  position: fixed;
  z-index: 99997;
  pointer-events: none;
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(212,175,55,0.45) 0%, transparent 70%);
  animation: cc-crown-glow-pulse 2.2s ease-in-out infinite;
  will-change: transform, opacity;
}
@keyframes cc-crown-glow-pulse {
  0%, 100% { transform: scale(1);    opacity: 0.7; }
  50%       { transform: scale(1.15); opacity: 1;   }
}

.cc-compare-crown-spark {
  position: fixed;
  z-index: 99998;
  pointer-events: none;
  user-select: none;
  line-height: 1;
  will-change: transform, opacity;
  animation: cc-crown-spark-fly var(--dur, 0.65s) var(--delay, 0s) ease-out both;
}
@keyframes cc-crown-spark-fly {
  0%   { transform: translate(0, 0) scale(1);    opacity: 1; }
  60%  { opacity: 0.8; }
  100% { transform: translate(var(--tx), var(--ty)) scale(0.1); opacity: 0; }
}

/* Light mode */
:root.light .cc-compare-tray { background: #fff; }
:root.light .cc-cm-panel { background: #fff; border: 1px solid rgba(0,0,0,0.1); }
:root.light .cc-cm-col-headers,
:root.light .cc-cm-cta-strip { background: #f0f4f8; }

/* ═══════════════════════════════════════════════════════════════
   TIER A — PROGRESSIVE TRUST SIGNALS
═══════════════════════════════════════════════════════════════ */

.cc-trust-signal {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted);
  background: var(--bg-glass);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  padding: 0.175rem 0.4rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  flex-shrink: 1;
  min-width: 0;
}
.cc-trust-signal--fresh {
  color: var(--emerald);
  background: rgba(16,185,129,0.08);
  border-color: rgba(16,185,129,0.2);
}
.cc-casino-card__footer {
  padding: 0.875rem 1.25rem;
  border-top: 1px solid var(--border-subtle);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.cc-casino-card__footer-btns {
  display: flex;
  gap: 0.625rem;
}

/* ── Flatten footer back for cards that don't have trust signals ── */
.cc-casino-card__footer .cc-btn {
  flex: 1;
}

/* ═══════════════════════════════════════════════════════════════
   REVEAL FALLBACK
   Safety net: if IntersectionObserver hasn't fired within 1.5s,
   animate elements into view anyway. Prevents blank section bug.
═══════════════════════════════════════════════════════════════ */
@keyframes ccRevealFallback {
  to { opacity: 1; transform: none; }
}
.cc-reveal:not(.cc-visible) {
  animation: ccRevealFallback 0.6s cubic-bezier(0.16, 1, 0.3, 1) 1.5s forwards;
}
@media (prefers-reduced-motion: reduce) {
  .cc-reveal:not(.cc-visible) { animation: none; opacity: 1; transform: none; }
}

/* ═══════════════════════════════════════════════════════════════
   TIER B — NEWS SENTIMENT TICKER
═══════════════════════════════════════════════════════════════ */

.cc-sentiment-ticker {
  background: var(--bg-card);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  overflow: hidden;
  height: 44px;
  display: flex;
  align-items: center;
  gap: 0;
}
.cc-sentiment-ticker__label {
  flex-shrink: 0;
  padding: 0 1rem 0 1.5rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--text-secondary);
  border-right: 1px solid var(--border-subtle);
  height: 100%;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  background: var(--bg-glass);
  white-space: nowrap;
}
.cc-sentiment-ticker__track-wrap { overflow: hidden; flex: 1; height: 100%; }
@keyframes ccSentimentScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.cc-sentiment-ticker__track {
  display: flex;
  height: 100%;
  animation: ccSentimentScroll 60s linear infinite;
  will-change: transform;
}
.cc-sentiment-ticker__track:hover {
  animation-play-state: paused;
}
.cc-sentiment-ticker__item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0 1.75rem 0 0;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--text-secondary);
  border-right: 1px solid var(--border-subtle);
  height: 100%;
  white-space: nowrap;
  text-decoration: none;
  transition: color 0.2s;
  flex-shrink: 0;
}
.cc-sentiment-ticker__item:first-child { padding-left: 1.25rem; }
.cc-sentiment-ticker__item:hover { color: var(--text-primary); }
.cc-sentiment-ticker__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.cc-sentiment-ticker__title {
  max-width: 340px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-sentiment-ticker__meta {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-shrink: 0;
}
.cc-sentiment-ticker__source {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-muted);
  background: var(--bg-glass);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  padding: 0.1rem 0.35rem;
}
.cc-sentiment-ticker__age {
  font-size: 0.5625rem;
  color: var(--text-faint);
}
.cc-sentiment-ticker__all {
  flex-shrink: 0;
  padding: 0 1.25rem;
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 0.3rem;
  height: 100%;
  border-left: 1px solid var(--border-subtle);
  white-space: nowrap;
  transition: color 0.2s;
}
.cc-sentiment-ticker__all:hover { color: var(--gold); }

/* Light mode */
:root.light .cc-sentiment-ticker { background: #fff; }
:root.light .cc-sentiment-ticker__label { background: rgba(0,0,0,0.03); }

/* ═══════════════════════════════════════════════════════════════
   TIER B — LICENSE LOOKUP TOOL
═══════════════════════════════════════════════════════════════ */

.cc-license-tool { }
.cc-license-tool__title {
  font-size: clamp(1.875rem, 4vw, 2.75rem);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: var(--text-primary);
  margin-bottom: 0.75rem;
}
.cc-license-tool__subtitle {
  font-size: 1rem;
  color: var(--text-secondary);
  max-width: 600px;
  line-height: 1.7;
  margin-bottom: 2rem;
}
.cc-license-tool__intro { margin-bottom: 2rem; }

/* Search box */
.cc-license-search { position: relative; margin-bottom: 1.5rem; }
.cc-license-search__wrap {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  background: var(--bg-card);
  border: 2px solid var(--border-mid);
  border-radius: 16px;
  padding: 0.625rem 0.625rem 0.625rem 1.25rem;
  box-shadow: var(--shadow-card);
  transition: border-color 0.2s;
}
.cc-license-search__wrap:focus-within {
  border-color: var(--gold-border);
  box-shadow: var(--shadow-card), var(--shadow-gold);
}
.cc-license-search__icon { color: var(--text-muted); flex-shrink: 0; }
.cc-license-search__input {
  flex: 1;
  font-family: var(--font-sans);
  font-size: 1rem;
  color: var(--text-primary);
  background: transparent;
  border: none;
  outline: none;
}
.cc-license-search__input::placeholder { color: var(--text-muted); }

/* Autocomplete suggestions */
.cc-license-suggestions {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  background: var(--bg-card);
  border: 1px solid var(--gold-border);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0,0,0,0.3);
  z-index: 100;
}
.cc-license-suggest-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.625rem 1rem;
  font-size: 0.875rem;
  color: var(--text-secondary);
  background: none;
  border: none;
  border-bottom: 1px solid var(--border-subtle);
  cursor: pointer;
  text-align: left;
  transition: var(--transition);
}
.cc-license-suggest-item:last-child { border-bottom: none; }
.cc-license-suggest-item:hover { background: var(--gold-dim); color: var(--text-primary); }

/* Result card */
.cc-license-result__loading {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 1rem;
  color: var(--text-muted);
  font-size: 0.875rem;
}
.cc-license-spinner {
  width: 16px; height: 16px;
  border: 2px solid var(--border-subtle);
  border-top-color: var(--gold);
  border-radius: 50%;
  animation: ccSpin 0.6s linear infinite;
  flex-shrink: 0;
}
.cc-license-result__card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 16px;
  padding: 1.5rem;
  margin-top: 0.5rem;
}
.cc-license-result__status {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin-bottom: 0.75rem;
}
.cc-license-result__label {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 900;
}
.cc-license-result__msg {
  font-size: 0.9375rem;
  color: var(--text-secondary);
  line-height: 1.65;
  margin: 0 0 0.5rem;
}
.cc-license-result__note {
  font-size: 0.8125rem;
  color: var(--text-muted);
  margin: 0;
  line-height: 1.5;
}

/* Full operator list */
.cc-license-all { margin-top: 2.5rem; }
.cc-license-all__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
  flex-wrap: wrap;
}
.cc-license-all__updated {
  font-size: 0.6875rem;
  color: var(--text-muted);
  font-weight: 600;
}
.cc-license-all__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.cc-license-all__pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.3rem 0.75rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 100px;
  color: var(--text-secondary);
  cursor: pointer;
  transition: var(--transition);
}
.cc-license-all__pill:hover {
  background: rgba(16,185,129,0.08);
  border-color: rgba(16,185,129,0.3);
  color: var(--emerald);
}

/* Disclaimer */
.cc-license-tool__disclaimer {
  font-size: 0.75rem;
  color: var(--text-muted);
  line-height: 1.6;
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border-subtle);
}
.cc-license-tool__disclaimer a { color: var(--gold); }

/* Widget (compact sidebar version) */
.cc-license-widget {
  padding: 1.375rem;
}
.cc-license-widget__title {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 0.375rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.cc-license-widget__sub {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  margin-bottom: 0.875rem;
}
.cc-license-widget__search {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}
.cc-license-widget__input {
  flex: 1;
  font-family: var(--font-sans);
  font-size: 0.875rem;
  color: var(--text-primary);
  background: var(--bg-glass);
  border: 1px solid var(--border-mid);
  border-radius: 10px;
  padding: 0.5rem 0.875rem;
  outline: none;
  transition: var(--transition);
}
.cc-license-widget__input::placeholder { color: var(--text-muted); }
.cc-license-widget__input:focus {
  border-color: var(--gold-border);
  box-shadow: 0 0 0 3px var(--gold-dim);
}
.cc-license-widget__result { font-size: 0.8125rem; }
.cc-lw-yes {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--emerald);
  font-weight: 700;
}
.cc-lw-no {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--red);
  font-weight: 700;
}
.cc-lw-no a { color: var(--gold); }

/* Light mode */
:root.light .cc-license-search__wrap { background: #fff; }
:root.light .cc-license-suggestions  { background: #fff; }
:root.light .cc-license-result__card { background: #fff; }
:root.light .cc-license-all__pill    { background: #fff; }

/* ═══════════════════════════════════════════════════════════════
   TIER B — PERSONALIZATION "FOR YOU" SECTION
═══════════════════════════════════════════════════════════════ */

.cc-foryou-section { }

.cc-foryou-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
@media (min-width: 640px)  { .cc-foryou-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .cc-foryou-grid { grid-template-columns: repeat(6, 1fr); } }

.cc-foryou-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: var(--transition);
  box-shadow: var(--shadow-card);
}
.cc-foryou-card:hover {
  border-color: var(--gold-border);
  transform: translateY(-3px);
  box-shadow: var(--shadow-card), var(--shadow-gold);
}
.cc-foryou-card--skeleton {
  min-height: 160px;
  background: linear-gradient(
    90deg,
    var(--bg-elevated) 25%,
    var(--bg-glass) 50%,
    var(--bg-elevated) 75%
  );
  background-size: 200% 100%;
  animation: ccSkeleton 1.4s ease infinite;
}
@keyframes ccSkeleton {
  0%   { background-position: 200% center; }
  100% { background-position: -200% center; }
}
.cc-foryou-card__inner {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  padding: 0.875rem;
  flex: 1;
  text-decoration: none;
}
.cc-foryou-card__logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  /* background set via inline style from cc_logo_overlay_bg_color meta */
  border-radius: 8px;
  overflow: hidden;
}
.cc-foryou-card__logo {
  max-width: 80%;
  max-height: 44px;
  object-fit: contain;
}
.cc-foryou-card__logo--fallback {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: var(--bg-glass);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 900;
  color: var(--gold);
}
.cc-foryou-card__info { flex: 1; }
.cc-foryou-card__name {
  font-family: var(--font-display);
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.3;
  margin-bottom: 0.2rem;
}
.cc-foryou-card__rating {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--gold);
}
.cc-foryou-card__badge {
  display: inline-block;
  font-size: 0.5rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 4px;
  padding: 0.1rem 0.35rem;
  margin-top: 0.25rem;
}
.cc-foryou-card__bonus {
  font-size: 0.6875rem;
  color: var(--text-secondary);
  margin-top: 0.25rem;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.cc-foryou-card__actions {
  display: flex;
  gap: 0.375rem;
  padding: 0.625rem 0.875rem;
  border-top: 1px solid var(--border-subtle);
}
.cc-foryou-card__actions .cc-btn {
  flex: 1;
  font-size: 0.625rem;
  padding: 0.3rem 0.5rem;
}

/* Light mode */
:root.light .cc-foryou-card { background: #fff; }

/* ── Ticker adjacency fix: collapse whitespace text nodes between tickers ── */
.cc-jackpot-ticker + .cc-sentiment-ticker {
  margin-top: 0;
  display: flex;
}
/* Remove any gap caused by PHP whitespace output between ticker elements */
.cc-jackpot-ticker,
.cc-sentiment-ticker {
  display: flex;
  line-height: 0;
}
.cc-jackpot-ticker__label,
.cc-jackpot-ticker__item,
.cc-sentiment-ticker__label,
.cc-sentiment-ticker__item,
.cc-sentiment-ticker__all {
  line-height: normal;
}

/* Tickers wrapper — eliminates whitespace text nodes between ticker divs */
.cc-tickers-wrap {
  font-size: 0;
  line-height: 0;
  display: block;
}
.cc-tickers-wrap > * {
  font-size: 1rem;
  line-height: 1.6;
}

/* ═══════════════════════════════════════════════════════════════
   RANKINGS SECTION — Full-width rows + three-column tool strip
═══════════════════════════════════════════════════════════════ */

/* Three-column tool strip below the rank rows */
.cc-rankings-tools {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-top: 0;
}
@media (min-width: 768px) {
  .cc-rankings-tools { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .cc-rankings-tools { grid-template-columns: repeat(3, 1fr); }
}

.cc-rankings-tools__col {
  display: flex;
  flex-direction: column;
}

/* Market stat rows */
.cc-market-stat {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.8125rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-market-stat:last-child { border-bottom: none; }
.cc-market-stat__label { color: var(--text-secondary); }
.cc-market-stat__val   { font-family: var(--font-mono); font-weight: 700; color: var(--text-primary); }

/* ── Compare button on rank rows ── */
.cc-rank-row { position: relative; }
.cc-rank-row .cc-compare-add-btn {
  position: static;
  width: 26px;
  height: 26px;
  opacity: 0;
  transform: scale(0.85);
  flex-shrink: 0;
  margin-left: -0.25rem;
  transition: opacity 0.2s, transform 0.2s;
}
.cc-rank-row:hover .cc-compare-add-btn,
.cc-rank-row .cc-compare-add-btn.active {
  opacity: 1;
  transform: scale(1);
}



/* ═══════════════════════════════════════════════════════════════
   RANKINGS + SIDEBAR — rank rows left, widgets right
═══════════════════════════════════════════════════════════════ */

.cc-rankings-with-sidebar {
  display: grid;
  /* minmax(0, 1fr), not 1fr, so the track cannot grow to fit descendants'
     min-content. Without this, a fixed-width flex child deep inside the
     main column (rank-row logo/score/actions) would pull the grid track
     past the viewport on mobile, even though .cc-rankings-col-main has
     min-width: 0. */
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
  margin-bottom: 2rem;
}
@media (min-width: 1024px) {
  .cc-rankings-with-sidebar {
    grid-template-columns: minmax(0, 1fr) 280px;
  }
}

.cc-rankings-col-main { min-width: 0; }

.cc-rankings-col-sidebar {
  position: sticky;
  top: 88px;
}

/* 4-column casino card grid */
@media (min-width: 1024px) {
  .cc-casino-grid--4col {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}
@media (min-width: 640px) and (max-width: 1023px) {
  .cc-casino-grid--4col {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   MARKET INTELLIGENCE PAGE
   /igaming-ontario-market-data/
═══════════════════════════════════════════════════════════════ */

/* ── Hero — The Terminal ── */
.cc-mi-hero {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
  display: flex;
  flex-direction: column;
}
.cc-mi-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 120% at 0% 50%, rgba(245,200,66,0.05) 0%, transparent 55%),
    radial-gradient(ellipse 50% 80% at 100% 0%, rgba(99,102,241,0.06) 0%, transparent 50%),
    linear-gradient(180deg, #0a0d14 0%, #07090f 100%);
  z-index: 0;
}
.cc-mi-hero__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(245,200,66,0.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(245,200,66,0.022) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
  z-index: 0;
}
.cc-mi-hero__scan {
  position: absolute;
  top: 0; bottom: 0;
  width: 1px;
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(245,200,66,0.45) 35%,
    rgba(245,200,66,0.65) 50%,
    rgba(245,200,66,0.45) 65%,
    transparent 100%
  );
  animation: ccMiScan 10s ease-in-out infinite alternate;
  pointer-events: none;
  z-index: 1;
}
@keyframes ccMiScan {
  0%   { left: 4%;  opacity: 0.22; }
  100% { left: 96%; opacity: 0.1;  }
}
.cc-mi-hero__ghost {
  position: absolute;
  right: -0.04em;
  top: 50%;
  transform: translateY(-52%);
  font-family: var(--font-display);
  font-size: clamp(100px, 14vw, 220px);
  font-weight: 900;
  letter-spacing: -0.06em;
  line-height: 1;
  background: linear-gradient(
    140deg,
    rgba(245,200,66,0.055) 0%,
    rgba(245,200,66,0.10) 40%,
    rgba(245,200,66,0.04) 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  pointer-events: none;
  user-select: none;
  white-space: nowrap;
  z-index: 0;
}
.cc-mi-hero__ticker {
  position: relative;
  z-index: 2;
  background: rgba(245,200,66,0.04);
  border-bottom: 1px solid rgba(245,200,66,0.1);
  height: 34px;
  display: flex;
  align-items: center;
  overflow: hidden;
  flex-shrink: 0;
}
.cc-mi-hero__ticker-label {
  flex-shrink: 0;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold);
  padding: 0 1rem 0 1.5rem;
  border-right: 1px solid rgba(245,200,66,0.14);
  height: 100%;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
}
.cc-mi-hero__ticker-overflow {
  flex: 1;
  overflow: hidden;
  height: 100%;
  display: flex;
  align-items: center;
}
.cc-mi-hero__ticker-track {
  display: flex;
  animation: ccMiTicker 34s linear infinite;
  will-change: transform;
}
@keyframes ccMiTicker {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.cc-mi-hero__ticker-item {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0 2rem;
  font-size: 0.5625rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-secondary);
  border-right: 1px solid rgba(255,255,255,0.04);
  white-space: nowrap;
  height: 34px;
}
.cc-mi-hero__ticker-val {
  font-weight: 800;
  font-size: 0.625rem;
  font-family: var(--font-mono);
  letter-spacing: 0.02em;
}
.cc-mi-hero__ticker-val--up   { color: var(--emerald); }
.cc-mi-hero__ticker-val--down { color: var(--red); }
.cc-mi-hero__body {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr;
  max-width: 1320px;
  margin: 0 auto;
  width: 100%;
  padding: 0 1.5rem;
}
@media (min-width: 1024px) { .cc-mi-hero__body { grid-template-columns: 1fr 460px; } }
.cc-mi-hero__left {
  padding: 3rem 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (min-width: 1024px) {
  .cc-mi-hero__left { padding: 3.25rem 3rem 3.25rem 0; border-right: 1px solid var(--border-subtle); }
}
.cc-mi-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1.5rem;
  align-self: flex-start;
}
.cc-mi-hero__title {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 3.25vw, 2.75rem);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--text-primary);
  margin-bottom: 1.875rem;
}
.cc-mi-hero__title em { color: var(--gold); font-style: italic; }
.cc-mi-hero__meta { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.625rem; }
.cc-mi-meta-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-secondary);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 4px;
  padding: 0.3rem 0.625rem;
}
.cc-mi-meta-chip--confidence-high {
  color: var(--emerald);
  background: rgba(16,185,129,0.07);
  border-color: rgba(16,185,129,0.22);
}
.cc-mi-meta-chip--confidence-high::before {
  content: '';
  display: inline-block;
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--emerald);
  animation: ccPulse 2s ease infinite;
  flex-shrink: 0;
}
.cc-mi-meta-chip--confidence-medium { color: #d97706; background: rgba(217,119,6,0.07); border-color: rgba(217,119,6,0.22); }
.cc-mi-hero__attribution {
  font-size: 0.5625rem;
  color: var(--text-muted);
  letter-spacing: 0.03em;
  line-height: 1.6;
  padding-top: 1.125rem;
  border-top: 1px solid var(--border-subtle);
}
.cc-mi-hero__attribution strong { color: var(--text-secondary); }
.cc-mi-hero__attribution a { color: var(--gold); text-decoration: none; font-weight: 700; }
.cc-mi-hero__attribution a:hover { text-decoration: underline; }
.cc-mi-hero__right { display: none; padding: 2.25rem 0 2.25rem 2.5rem; flex-direction: column; }
@media (min-width: 1024px) { .cc-mi-hero__right { display: flex; } }
.cc-mi-hero__panel-header {
  font-size: 0.5rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.cc-mi-hero__panel-header::after { content: ''; flex: 1; height: 1px; background: var(--border-subtle); }
.cc-mi-hero__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; flex: 1; align-content: start; }
.cc-mi-hero__stat {
  background: rgba(255,255,255,0.025);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  padding: 1rem 1rem 0.875rem;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  position: relative;
  overflow: hidden;
  transition: border-color 0.2s, background 0.2s;
}
.cc-mi-hero__stat:hover { border-color: rgba(255,255,255,0.1); background: rgba(255,255,255,0.035); }
.cc-mi-hero__stat::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  border-radius: 10px 10px 0 0;
}
.cc-mi-hero__stat--up::before   { background: linear-gradient(90deg, var(--emerald), transparent 70%); }
.cc-mi-hero__stat--down::before { background: linear-gradient(90deg, var(--red), transparent 70%); }
.cc-mi-hero__stat--flat::before { background: linear-gradient(90deg, var(--text-muted), transparent 70%); }
.cc-mi-hero__stat-bar { position: absolute; bottom: 0; left: 0; height: 2px; opacity: 0.22; border-radius: 0 0 10px 10px; }
.cc-mi-hero__stat--up   .cc-mi-hero__stat-bar { background: var(--emerald); }
.cc-mi-hero__stat--down .cc-mi-hero__stat-bar { background: var(--red); }
.cc-mi-hero__stat--flat .cc-mi-hero__stat-bar { background: var(--text-muted); }
.cc-mi-hero__stat-label { font-size: 0.5rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); }
.cc-mi-hero__stat-value-row { display: flex; align-items: baseline; gap: 0.25rem; }
.cc-mi-hero__stat-value {
  font-family: var(--font-display);
  font-size: 2.125rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.04em;
  font-variant-numeric: tabular-nums;
}
.cc-mi-hero__stat--up   .cc-mi-hero__stat-value { color: var(--emerald); }
.cc-mi-hero__stat--down .cc-mi-hero__stat-value { color: var(--red); }
.cc-mi-hero__stat--flat .cc-mi-hero__stat-value { color: var(--text-secondary); }
.cc-mi-hero__stat-dir { font-size: 0.8125rem; font-weight: 700; line-height: 1; margin-bottom: 2px; }
.cc-mi-hero__stat--up   .cc-mi-hero__stat-dir { color: var(--emerald); }
.cc-mi-hero__stat--down .cc-mi-hero__stat-dir { color: var(--red); }
.cc-mi-hero__stat-evidence { font-size: 0.5rem; color: var(--text-muted); line-height: 1.45; margin-top: 0.1rem; }
.cc-mi-hero__footer {
  position: relative;
  z-index: 2;
  border-top: 1px solid var(--border-subtle);
  background: rgba(255,255,255,0.012);
  height: 38px;
  display: flex;
  align-items: center;
  padding: 0 1.5rem;
  flex-shrink: 0;
}
.cc-mi-hero__footer-inner {
  max-width: 1320px;
  margin: 0 auto;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 2rem;
}
.cc-mi-hero__footer-item { display: none; align-items: center; gap: 0.35rem; font-size: 0.5rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); white-space: nowrap; }
@media (min-width: 640px) { .cc-mi-hero__footer-item { display: flex; } }
.cc-mi-hero__footer-item strong { color: var(--text-secondary); font-weight: 700; }
.cc-mi-hero__footer-sep { flex: 1; }
.cc-mi-hero__footer-link { font-size: 0.5rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gold); text-decoration: none; opacity: 0.75; margin-left: auto; white-space: nowrap; }
.cc-mi-hero__footer-link:hover { opacity: 1; text-decoration: underline; }
.cc-mi-pulse { width: 6px; height: 6px; border-radius: 50%; background: var(--gold); animation: ccPulse 2s ease infinite; flex-shrink: 0; }
/* ── Light mode ── */
:root.light .cc-mi-hero__bg {
  background:
    radial-gradient(ellipse 70% 120% at 0% 50%, rgba(201,146,14,0.05) 0%, transparent 55%),
    radial-gradient(ellipse 50% 80% at 100% 0%, rgba(99,102,241,0.04) 0%, transparent 50%),
    linear-gradient(180deg, #f7f8fb 0%, #ffffff 100%);
}
:root.light .cc-mi-hero__grid { background-image: linear-gradient(rgba(0,0,0,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(0,0,0,0.04) 1px, transparent 1px); }
:root.light .cc-mi-hero__scan { background: linear-gradient(180deg, transparent 0%, rgba(201,146,14,0.3) 50%, transparent 100%); }
:root.light .cc-mi-hero__ghost { background: linear-gradient(140deg, rgba(201,146,14,0.06) 0%, rgba(201,146,14,0.1) 40%, rgba(201,146,14,0.03) 100%); -webkit-background-clip: text; background-clip: text; }
:root.light .cc-mi-hero__ticker { background: rgba(201,146,14,0.05); border-color: rgba(146,98,10,0.12); }
:root.light .cc-mi-hero__ticker-label { color: #92620a; border-color: rgba(146,98,10,0.15); }
:root.light .cc-mi-hero__ticker-item { color: #4b5563; border-color: rgba(0,0,0,0.05); }
:root.light .cc-mi-hero__stat { background: rgba(0,0,0,0.02); border-color: rgba(0,0,0,0.08); }
:root.light .cc-mi-hero__stat:hover { background: rgba(0,0,0,0.03); border-color: rgba(0,0,0,0.12); }
:root.light .cc-mi-hero__footer { background: rgba(0,0,0,0.02); border-color: rgba(0,0,0,0.06); }
:root.light .cc-mi-meta-chip { background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.1); color: #374151; }

/* ── Body layout ── */
.cc-mi-body {
  padding-top: 3rem;
  padding-bottom: 5rem;
}
.cc-mi-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: start;
}
@media (min-width: 1024px) {
  .cc-mi-layout { grid-template-columns: 1fr 320px; }
}

/* ── Sections ── */
.cc-mi-section { margin-bottom: 3rem; }
.cc-mi-section__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.cc-mi-section__eyebrow {
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.25rem;
}
.cc-mi-section__title {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  margin: 0;
}
.cc-mi-section__title em { color: var(--gold); font-style: italic; }
.cc-mi-section__count {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--text-muted);
  white-space: nowrap;
}

/* ── Cards ── */
.cc-mi-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.75rem;
  box-shadow: var(--shadow-card);
}
.cc-mi-card__eyebrow {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 1rem;
}
.cc-mi-card--summary {
  border-left: 3px solid var(--gold);
  background: linear-gradient(135deg, rgba(245,200,66,0.04) 0%, transparent 60%), var(--bg-card);
}
.cc-mi-summary__body {
  font-size: 1rem;
  color: var(--text-secondary);
  line-height: 1.75;
}
.cc-mi-summary__perspective {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.6875rem;
  color: var(--text-muted);
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border-subtle);
}
.cc-mi-card--methodology {
  background: var(--bg-elevated);
  border-color: var(--border-mid);
}
.cc-mi-methodology__text {
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.7;
  margin: 0 0 0.875rem;
}
.cc-mi-methodology__attribution {
  font-size: 0.75rem;
  color: var(--text-muted);
}
.cc-mi-methodology__attribution a { color: var(--gold); }

/* ── Trends ── */
.cc-mi-trends {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.cc-mi-trend {
  display: flex;
  gap: 1.25rem;
  padding: 1.25rem 1.5rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  margin-bottom: 0.75rem;
  box-shadow: var(--shadow-card);
  transition: var(--transition);
}
.cc-mi-trend:hover {
  border-color: var(--gold-border);
  transform: translateX(4px);
  box-shadow: var(--shadow-card), -4px 0 0 var(--gold);
}
.cc-mi-trend__rank {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 800;
  color: var(--text-faint);
  min-width: 1.5rem;
  padding-top: 0.25rem;
}
.cc-mi-trend__body { flex: 1; min-width: 0; }
.cc-mi-trend__header {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin-bottom: 0.5rem;
  flex-wrap: wrap;
}
.cc-mi-trend__icon-wrap {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-mi-trend__icon-wrap--up   { background: rgba(16,185,129,0.12);  color: var(--emerald); }
.cc-mi-trend__icon-wrap--down { background: rgba(239,68,68,0.12);   color: var(--red); }
.cc-mi-trend__icon-wrap--flat { background: rgba(148,163,184,0.12); color: var(--text-muted); }
.cc-mi-trend__metric {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 800;
  color: var(--text-primary);
}
.cc-mi-trend__value {
  font-family: var(--font-mono);
  font-size: 0.875rem;
  font-weight: 800;
  margin-left: auto;
}
.cc-mi-trend__value--up   { color: var(--emerald); }
.cc-mi-trend__value--down { color: var(--red); }
.cc-mi-trend__value--flat { color: var(--text-muted); }
.cc-mi-trend__evidence {
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.6;
  margin: 0;
}

/* ── Opportunity / Risk cards grid ── */
.cc-mi-cards-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 640px) {
  .cc-mi-cards-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .cc-mi-cards-grid { grid-template-columns: repeat(3, 1fr); }
}
.cc-mi-item {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.375rem;
  box-shadow: var(--shadow-card);
  transition: var(--transition);
}
.cc-mi-item:hover { transform: translateY(-3px); box-shadow: var(--shadow-card), var(--shadow-gold); }
.cc-mi-item--opp { border-top: 2px solid var(--emerald); }
.cc-mi-item--risk { border-top: 2px solid var(--red); }
.cc-mi-item__priority {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  border-radius: 100px;
  padding: 0.2rem 0.6rem;
  margin-bottom: 0.75rem;
}
.cc-mi-item__priority-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}
.cc-mi-item__priority--high   { color: #dc2626; background: rgba(220,38,38,0.10); }
.cc-mi-item__priority--medium { color: #d97706; background: rgba(217,119,6,0.10); }
.cc-mi-item__priority--low    { color: #64748b; background: rgba(100,116,139,0.10); }
.cc-mi-item__title {
  font-family: var(--font-display);
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--text-primary);
  line-height: 1.3;
  margin-bottom: 0.625rem;
}
.cc-mi-item__detail {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.6;
  margin: 0;
}

/* ── Sidebar ── */
.cc-mi-sidebar {
  position: sticky;
  top: 88px;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.cc-mi-sidebar__card {
  padding: 1.375rem;
}
.cc-mi-sidebar__card-title {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 1rem;
}

/* Snapshot rows */
.cc-mi-snapshot { display: flex; flex-direction: column; gap: 0; }
.cc-mi-snapshot__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.75rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border-subtle);
  gap: 0.5rem;
}
.cc-mi-snapshot__row:last-child { border-bottom: none; }
.cc-mi-snapshot__label {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--text-secondary);
  flex-shrink: 0;
}
.cc-mi-snapshot__val {
  font-family: var(--font-mono);
  font-weight: 700;
  color: var(--text-primary);
  font-size: 0.6875rem;
  text-align: right;
}

/* Trend bar */
.cc-mi-trend-bar {
  display: flex;
  height: 8px;
  border-radius: 100px;
  overflow: hidden;
  gap: 2px;
  margin-bottom: 0.75rem;
}
.cc-mi-trend-bar__seg { border-radius: 100px; }
.cc-mi-trend-bar__seg--up   { background: var(--emerald); }
.cc-mi-trend-bar__seg--flat { background: #64748b; }
.cc-mi-trend-bar__seg--down { background: var(--red); }
.cc-mi-trend-legend {
  display: flex;
  gap: 0.875rem;
  flex-wrap: wrap;
}
.cc-mi-trend-legend__item {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.6875rem;
  font-weight: 700;
}
.cc-mi-trend-legend__item--up   { color: var(--emerald); }
.cc-mi-trend-legend__item--flat { color: var(--text-muted); }
.cc-mi-trend-legend__item--down { color: var(--red); }

/* CTA card */
.cc-mi-cta-card {
  background: linear-gradient(135deg, rgba(245,200,66,0.07) 0%, transparent 70%), var(--bg-card);
  border-color: var(--gold-border);
}

/* Empty state */
.cc-mi-empty {
  text-align: center;
  padding: 4rem 2rem;
  max-width: 480px;
  margin: 3rem auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Light mode overrides — hero handled inline in the hero block above */
:root.light .cc-mi-card,
:root.light .cc-mi-trend,
:root.light .cc-mi-item { background: #ffffff; }

/* ═══════════════════════════════════════════════════════════════
   MARKET INTELLIGENCE — PREDICTIVELY LOGO + BLUR GATES
═══════════════════════════════════════════════════════════════ */

/* ── Predictively attribution logo ── */
.cc-mi-pred-logo-link {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border-subtle);
  opacity: 0.35;
  transition: opacity 0.25s ease, filter 0.25s ease;
  filter: grayscale(1) brightness(1.8);
  text-decoration: none;
}
.cc-mi-pred-logo-link:hover {
  opacity: 1;
  filter: grayscale(0) brightness(10) invert(0);
}
.cc-mi-pred-logo {
  max-width: 160px;
  height: auto;
  display: block;
  /* Force white at rest via filter */
  filter: brightness(0) invert(1);
}
.cc-mi-pred-logo-link:hover .cc-mi-pred-logo {
  filter: brightness(0) invert(1);
}

/* ── Gated content blur overlay ──
   Strategy: .cc-mi-item--gated uses overflow:hidden + position:relative.
   The blur div sits absolutely over the detail text only.
   The title stays readable — only the detail paragraph is obscured.
   
   DevTools-resistant: blur is applied via both the div AND a ::before
   pseudo-element on the parent. Removing the div still leaves ::before.
   Removing ::before via DevTools requires editing the stylesheet —
   much higher barrier than just deleting an element.
── */

.cc-mi-item--gated {
  position: relative;
  overflow: hidden;
}

/* The actual blur container (DOM element — first line of defense) */
.cc-mi-item__blur {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 72%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.45;
  letter-spacing: 0.01em;
  border-radius: 0 0 var(--radius-card) var(--radius-card);
  pointer-events: none;
  z-index: 2;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.cc-mi-item__blur--opp {
  background: linear-gradient(
    to bottom,
    rgba(16,185,129,0) 0%,
    rgba(16,185,129,0.45) 25%,
    rgba(16,185,129,0.75) 100%
  );
  color: rgba(16,185,129,0.9);
}
.cc-mi-item__blur--risk {
  background: linear-gradient(
    to bottom,
    rgba(239,68,68,0) 0%,
    rgba(239,68,68,0.45) 25%,
    rgba(239,68,68,0.75) 100%
  );
  color: rgba(239,68,68,0.9);
}
.cc-mi-item__blur span {
  display: block;
  opacity: 0.85;
}

/* ::before pseudo-element — second line of defense.
   Even if the .cc-mi-item__blur div is removed in DevTools,
   this pseudo-element still obscures the content. */
.cc-mi-item--gated.cc-mi-item--opp::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 65%;
  background: linear-gradient(
    to bottom,
    rgba(16,185,129,0) 0%,
    rgba(16,185,129,0.55) 40%,
    rgba(16,185,129,0.85) 100%
  );
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border-radius: 0 0 var(--radius-card) var(--radius-card);
  z-index: 1;
  pointer-events: none;
}
.cc-mi-item--gated.cc-mi-item--risk::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 65%;
  background: linear-gradient(
    to bottom,
    rgba(239,68,68,0) 0%,
    rgba(239,68,68,0.55) 40%,
    rgba(239,68,68,0.85) 100%
  );
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border-radius: 0 0 var(--radius-card) var(--radius-card);
  z-index: 1;
  pointer-events: none;
}

/* Ensure the card has min-height so blur is proportional */
.cc-mi-item--gated { min-height: 180px; }

/* ═══════════════════════════════════════════════════════════════
   TIER C — EXIT INTENT
═══════════════════════════════════════════════════════════════ */

.cc-exit-intent {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.cc-exit-intent[hidden] { display: none; }

.cc-exit-intent__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.72);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  cursor: pointer;
}

.cc-exit-intent__panel {
  position: relative;
  z-index: 1;
  background: var(--bg-card);
  border: 1px solid var(--gold-border);
  border-radius: 24px;
  padding: 2rem;
  max-width: 420px;
  width: 100%;
  box-shadow: 0 24px 80px rgba(0,0,0,0.5), 0 0 0 1px var(--gold-border);
  transform: translateY(24px) scale(0.96);
  opacity: 0;
  transition: transform 0.35s cubic-bezier(0.16,1,0.3,1), opacity 0.3s ease;
}
.cc-exit-intent--visible .cc-exit-intent__panel {
  transform: translateY(0) scale(1);
  opacity: 1;
}

.cc-exit-intent__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: var(--bg-glass);
  border: 1px solid var(--border-subtle);
  color: var(--text-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: var(--transition);
}
.cc-exit-intent__close:hover { color: var(--text-primary); background: var(--bg-elevated); }

.cc-exit-intent__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.625rem;
}
.cc-exit-intent__headline {
  font-size: 1.625rem;
  font-weight: 900;
  color: var(--text-primary);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin-bottom: 1.25rem;
}
.cc-exit-intent__headline em { color: var(--gold); font-style: italic; }

.cc-exit-intent__card {
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 16px;
  padding: 1.125rem;
  margin-bottom: 1rem;
}
.cc-exit-intent__card-top {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  margin-bottom: 0.75rem;
}
.cc-exit-intent__logo {
  width: 56px;
  height: 56px;
  object-fit: contain;
  border-radius: 10px;
  background: var(--bg-glass);
  padding: 4px;
  border: 1px solid var(--border-subtle);
  flex-shrink: 0;
}
.cc-exit-intent__name {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 0.25rem;
}
.cc-exit-intent__stars { display: flex; align-items: center; margin-bottom: 0.3rem; }
.cc-exit-intent__badge {
  display: inline-block;
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 4px;
  padding: 0.1rem 0.375rem;
}
.cc-exit-intent__bonus {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.375rem;
  line-height: 1.4;
}
.cc-exit-intent__payout {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.75rem;
  color: var(--text-secondary);
}
.cc-exit-intent__actions {
  display: flex;
  gap: 0.625rem;
  margin-bottom: 0.875rem;
}
.cc-exit-intent__disclaimer {
  font-size: 0.625rem;
  color: var(--text-faint);
  text-align: center;
  margin: 0;
  line-height: 1.5;
}

/* ═══════════════════════════════════════════════════════════════
   TIER C — CANADA PROVINCE MAP
═══════════════════════════════════════════════════════════════ */

.cc-canada-map-wrap { position: relative; }

/* Legend */
.cc-map-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.cc-map-legend__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text-secondary);
}
.cc-map-legend__dot {
  width: 12px; height: 12px;
  border-radius: 3px;
  flex-shrink: 0;
}
.cc-map-legend__dot--live      { background: #10b981; }
.cc-map-legend__dot--launching { background: var(--gold); }
.cc-map-legend__dot--monopoly  { background: #6366f1; }
.cc-map-legend__dot--grey      { background: #475569; }

/* SVG map */
.cc-map-svg-wrap { position: relative; }
.cc-map-svg {
  width: 100%;
  height: auto;
  max-height: 520px;
  display: block;
}

/* Province fills */
.cc-map-province {
  cursor: pointer;
  transition: opacity 0.15s, filter 0.15s;
  stroke: var(--bg-main);
  stroke-width: 2;
}
.cc-map-province:hover { opacity: 0.8; filter: brightness(1.15); }
.cc-map-province--active { stroke: #fff; stroke-width: 3; filter: brightness(1.2); }
.cc-map-province:focus { outline: 2px solid var(--gold); outline-offset: 2px; }

.cc-map-live      { fill: #10b981; }
.cc-map-launching { fill: var(--gold); }
.cc-map-monopoly  { fill: #6366f1; }
.cc-map-grey      { fill: #475569; }
.cc-map-territory { fill: #334155; }

/* Glow rings */
.cc-map-glow {
  fill: none;
  stroke-width: 2;
  transform-origin: center;
  animation: ccMapPulse 2.5s ease infinite;
  transform-box: fill-box;
}
.cc-map-glow--live     { stroke: #10b981; }
.cc-map-glow--launching{ stroke: var(--gold); }
@keyframes ccMapPulse {
  0%   { opacity: 0.7; transform: scale(1); }
  70%  { opacity: 0;   transform: scale(2.2); }
  100% { opacity: 0;   transform: scale(2.2); }
}

/* Province labels */
.cc-map-label {
  fill: rgba(255,255,255,0.85);
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 800;
  text-anchor: middle;
  dominant-baseline: middle;
  pointer-events: none;
  letter-spacing: 0.04em;
}
.cc-map-label--lg { font-size: 14px; }

/* Tooltip */
.cc-map-tooltip {
  position: absolute;
  pointer-events: none;
  background: var(--bg-card);
  border: 1px solid var(--gold-border);
  border-radius: 12px;
  padding: 0.875rem;
  max-width: 220px;
  z-index: 10;
  box-shadow: 0 8px 32px rgba(0,0,0,0.4);
}
.cc-map-tooltip[hidden] { display: none; }
.cc-map-tooltip__name {
  font-family: var(--font-display);
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 0.2rem;
}
.cc-map-tooltip__status {
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  border-radius: 100px;
  padding: 0.15rem 0.5rem;
  display: inline-block;
  margin-bottom: 0.5rem;
}
.cc-map-tooltip__status--live      { background: rgba(16,185,129,0.15); color: #10b981; }
.cc-map-tooltip__status--launching { background: rgba(245,200,66,0.15);  color: var(--gold); }
.cc-map-tooltip__status--monopoly  { background: rgba(99,102,241,0.15);  color: #818cf8; }
.cc-map-tooltip__status--grey      { background: rgba(71,85,105,0.2);    color: #94a3b8; }
.cc-map-tooltip__detail {
  font-size: 0.75rem;
  color: var(--text-secondary);
  line-height: 1.5;
  margin-bottom: 0.375rem;
}
.cc-map-tooltip__pop  { font-size: 0.6875rem; color: var(--text-muted); margin-bottom: 0.25rem; }
.cc-map-tooltip__cta  { font-size: 0.6875rem; color: var(--gold); font-weight: 700; }

/* Info panel */
.cc-map-info-panel {
  margin-top: 1.5rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.375rem;
  min-height: 100px;
}
.cc-map-info-panel__placeholder {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 0.875rem;
  color: var(--text-muted);
}
.cc-map-info-panel__content { }
.cc-map-info-panel__header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.75rem;
}
.cc-map-info-panel__province-code {
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
  min-width: 2.5rem;
}
.cc-map-info-panel__name {
  font-family: var(--font-display);
  font-size: 1.0625rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 0.25rem;
}
.cc-map-info-panel__status {
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  border-radius: 100px;
  padding: 0.2rem 0.625rem;
  display: inline-block;
}
.cc-map-info-panel__status--live      { background: rgba(16,185,129,0.12); color: #10b981; }
.cc-map-info-panel__status--launching { background: rgba(245,200,66,0.12);  color: var(--gold); }
.cc-map-info-panel__status--monopoly  { background: rgba(99,102,241,0.12);  color: #818cf8; }
.cc-map-info-panel__status--grey      { background: rgba(71,85,105,0.12);   color: #94a3b8; }
.cc-map-info-panel__detail {
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.65;
  margin: 0 0 0.375rem;
}
.cc-map-info-panel__pop {
  font-size: 0.75rem;
  color: var(--text-muted);
}

/* ═══════════════════════════════════════════════════════════════
   TIER C — SCORING METHODOLOGY PAGE
═══════════════════════════════════════════════════════════════ */

.cc-methodology-body { padding-top: 3rem; padding-bottom: 5rem; }

/* Intro */
.cc-methodology-intro {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  margin-bottom: 3rem;
  align-items: start;
}
@media (min-width: 768px) {
  .cc-methodology-intro { grid-template-columns: 1.4fr 1fr; }
}
.cc-methodology-intro__text p {
  font-size: 0.9375rem;
  color: var(--text-secondary);
  line-height: 1.75;
  margin-bottom: 1rem;
}
.cc-methodology-intro__text a { color: var(--gold); }
.cc-methodology-intro__commitments {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-top: 1.5rem;
  padding: 1.25rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
}
.cc-methodology-intro__commit {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.5;
}

/* Score wheel */
.cc-methodology-intro__score-wheel {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
}
.cc-score-wheel {
  position: relative;
  width: 200px;
  height: 200px;
  flex-shrink: 0;
}
.cc-score-wheel__svg {
  width: 200px;
  height: 200px;
  transform: rotate(0deg);
}
.cc-score-wheel__inner {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.cc-score-wheel__label {
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
}
.cc-score-wheel__number {
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 900;
  color: var(--text-primary);
  line-height: 1;
}
.cc-score-wheel__sub {
  font-size: 0.6875rem;
  color: var(--text-muted);
}
.cc-score-wheel__legend {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  width: 100%;
}
.cc-score-wheel__legend-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: var(--text-secondary);
}

/* Criteria */
.cc-methodology-section-title {
  font-size: 1.625rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  margin-bottom: 1.75rem;
}
.cc-methodology-section-title em { color: var(--gold); font-style: italic; }
.cc-methodology-criteria { margin-bottom: 3.5rem; }

.cc-methodology-criterion {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.75rem;
  margin-bottom: 1.25rem;
  box-shadow: var(--shadow-card);
  transition: var(--transition);
}
.cc-methodology-criterion:hover {
  border-color: var(--gold-border);
  box-shadow: var(--shadow-card), var(--shadow-gold);
}
.cc-methodology-criterion__header {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1rem;
}
.cc-methodology-criterion__icon-wrap {
  width: 44px; height: 44px;
  border-radius: 10px;
  border: 1px solid;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-methodology-criterion__meta { flex: 1; min-width: 0; }
.cc-methodology-criterion__title {
  font-family: var(--font-display);
  font-size: 1.0625rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 0.5rem;
}
.cc-methodology-criterion__weight-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.cc-methodology-criterion__bar-track {
  flex: 1;
  height: 6px;
  background: var(--bg-glass);
  border-radius: 100px;
  overflow: hidden;
}
.cc-methodology-criterion__bar-fill {
  height: 100%;
  border-radius: 100px;
  transition: width 0.8s cubic-bezier(0.16,1,0.3,1);
}
.cc-methodology-criterion__weight-num {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 800;
  white-space: nowrap;
  flex-shrink: 0;
}
.cc-methodology-criterion__desc {
  font-size: 0.9375rem;
  color: var(--text-secondary);
  line-height: 1.7;
  margin-bottom: 1rem;
}
.cc-methodology-subcriteria__header {
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.625rem;
}
.cc-methodology-subcriteria__row {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-methodology-subcriteria__row:last-child { border-bottom: none; }
.cc-methodology-subcriteria__bullet {
  width: 6px; height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 0.375rem;
}
.cc-methodology-subcriteria__text {
  flex: 1;
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.55;
}
.cc-methodology-subcriteria__pts {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 800;
  flex-shrink: 0;
}

/* Scale */
.cc-methodology-scale { margin-bottom: 3.5rem; }
.cc-methodology-scale__grid {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}
.cc-methodology-scale__row {
  display: grid;
  grid-template-columns: 80px 130px 1fr;
  gap: 1rem;
  padding: 1rem 1.375rem;
  border-bottom: 1px solid var(--border-subtle);
  align-items: center;
}
.cc-methodology-scale__row:last-child { border-bottom: none; }
.cc-methodology-scale__range {
  font-family: var(--font-mono);
  font-size: 0.875rem;
  font-weight: 800;
  white-space: nowrap;
}
.cc-methodology-scale__label {
  font-weight: 700;
  font-size: 0.875rem;
}
.cc-methodology-scale__desc {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.5;
}

/* Protocol steps */
.cc-methodology-protocol { margin-bottom: 3.5rem; }
.cc-methodology-steps {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.cc-methodology-step {
  display: flex;
  gap: 1.25rem;
  padding: 1.375rem 0;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-methodology-step:last-child { border-bottom: none; }
.cc-methodology-step__num {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 800;
  color: var(--gold);
  letter-spacing: 0.05em;
  min-width: 2rem;
  padding-top: 0.2rem;
  flex-shrink: 0;
}
.cc-methodology-step__title {
  font-family: var(--font-display);
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 0.375rem;
}
.cc-methodology-step__desc {
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.65;
  margin: 0;
}

/* Independence card */
.cc-methodology-independence {
  padding: 2rem;
  border-left: 3px solid var(--gold);
  background: linear-gradient(135deg, rgba(245,200,66,0.04) 0%, transparent 60%), var(--bg-card);
}
.cc-methodology-independence p {
  font-size: 0.9375rem;
  color: var(--text-secondary);
  line-height: 1.75;
  margin-bottom: 0.875rem;
}
.cc-methodology-independence p:last-child { margin-bottom: 0; }
.cc-methodology-independence a { color: var(--gold); }
.cc-methodology-independence strong { color: var(--text-primary); }

/* Light mode */
:root.light .cc-exit-intent__panel,
:root.light .cc-map-info-panel,
:root.light .cc-methodology-criterion { background: #fff; }

/* ═══════════════════════════════════════════════════════════════
   LOGO — header + footer image replacement
═══════════════════════════════════════════════════════════════ */

.cc-logo--img {
  display: flex;
  align-items: center;
  padding: 0;
  background: none;
  border: none;
}
.cc-logo__img {
  height: 62px;
  width: auto;
  display: block;
  transition: transform 0.25s cubic-bezier(0.16,1,0.3,1), filter 0.25s ease;
  filter: brightness(1);
}
.cc-logo--img:hover .cc-logo__img {
  transform: scale(1.06);
  filter: brightness(1.15);
}


/* Footer logo */
.cc-footer__logo-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
.cc-footer__logo-img {
  height: 56px;
  width: auto;
  display: block;
  opacity: 0.85;
  transition: opacity 0.2s, transform 0.25s cubic-bezier(0.16,1,0.3,1);
  filter: brightness(1);
}
.cc-footer__logo-link:hover .cc-footer__logo-img {
  opacity: 1;
  transform: scale(1.08);
}

/* ── CSS Donut chart (replaces broken SVG arc) ── */
.cc-score-donut {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  flex-shrink: 0;
  position: relative;
  /* Gap lines via mask */
  mask-image: none;
}
/* Fake segment gaps via box shadow on the hole */
.cc-score-donut::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(transparent 0% 100%);
  /* Segment separators */
  box-shadow:
    0 -90px 0 1px var(--bg-main),
    90px 0 0 1px var(--bg-main),
    0 90px 0 1px var(--bg-main),
    -90px 0 0 1px var(--bg-main);
}
.cc-score-donut__hole {
  position: absolute;
  inset: 28%;
  border-radius: 50%;
  background: var(--bg-elevated);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: 0 0 0 2px var(--bg-main);
}
:root.light .cc-score-donut__hole { background: #f4f6f9; }

/* ═══════════════════════════════════════════════════════════════
   CASINO COMPARISON TOOL — ULTIMATE EDITION
═══════════════════════════════════════════════════════════════ */

/* ── Main layout ── */
.cc-cmp-wrap {
  display: grid;
  grid-template-columns: 320px 1fr;
  min-height: calc(100vh - 320px);
  border-top: 1px solid var(--border-subtle);
}
@media (max-width: 900px) {
  .cc-cmp-wrap { grid-template-columns: 1fr; }
}

/* ── Picker (left panel) ── */
.cc-cmp-picker {
  background: var(--bg-card);
  border-right: 1px solid var(--border-subtle);
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 200px);
  position: sticky;
  top: 72px;
  overflow: hidden;
}
.cc-cmp-picker__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.125rem 1.25rem 0.75rem;
  border-bottom: 1px solid var(--border-subtle);
  flex-shrink: 0;
}
.cc-cmp-picker__title {
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
}
.cc-cmp-picker__count {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--text-muted);
  transition: color 0.2s;
}
.cc-cmp-picker__count.cc-shake {
  animation: ccShake 0.4s ease;
  color: var(--red);
}
@keyframes ccShake {
  0%,100%{ transform: translateX(0); }
  25%    { transform: translateX(-4px); }
  75%    { transform: translateX(4px); }
}
.cc-cmp-picker__search-wrap {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0.75rem 1rem;
  background: var(--bg-glass);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  padding: 0.5rem 0.75rem;
  flex-shrink: 0;
}
.cc-cmp-picker__search {
  flex: 1;
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  color: var(--text-primary);
  background: transparent;
  border: none;
  outline: none;
}
.cc-cmp-picker__search::placeholder { color: var(--text-muted); }
.cc-cmp-picker__list {
  flex: 1;
  overflow-y: auto;
  padding: 0.25rem 0;
}
.cc-cmp-picker__item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.625rem 1.125rem;
  cursor: pointer;
  transition: background 0.15s;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-cmp-picker__item:last-child { border-bottom: none; }
.cc-cmp-picker__item:hover { background: var(--bg-glass); }
.cc-cmp-picker__item--selected { background: var(--gold-dim) !important; }
.cc-cmp-picker__logo {
  width: 36px;
  height: 36px;
  object-fit: contain;
  border-radius: 8px;
  background: var(--bg-elevated);
  padding: 3px;
  border: 1px solid var(--border-subtle);
  flex-shrink: 0;
}
.cc-cmp-picker__logo--fb {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 1rem;
  color: var(--gold);
  flex-shrink: 0;
}
.cc-cmp-picker__item-info { flex: 1; min-width: 0; }
.cc-cmp-picker__item-name {
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-cmp-picker__item-sub {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  color: var(--text-muted);
  margin-top: 0.125rem;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
.cc-cmp-picker__badge {
  background: var(--gold-dim);
  color: var(--gold);
  border-radius: 4px;
  padding: 0.05rem 0.3rem;
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.cc-cmp-picker__item-check {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1.5px solid var(--border-mid);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  flex-shrink: 0;
  transition: var(--transition);
}
.cc-cmp-picker__item--selected .cc-cmp-picker__item-check {
  background: var(--gold);
  border-color: var(--gold);
  color: #000;
}

/* ── Matrix (right side) ── */
.cc-cmp-matrix {
  background: var(--bg-main);
  padding: 1.5rem;
  overflow-y: auto;
}
.cc-cmp-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 300px;
  text-align: center;
  color: var(--text-muted);
}
/* CSS display rules override the browser's [hidden]{display:none} — fix that */
.cc-cmp-empty[hidden],
.cc-cmp-cards[hidden],
.cc-cmp-rows[hidden] { display: none !important; }

/* ── Casino cards grid ── */
.cc-cmp-cards {
  display: grid;
  gap: 1.25rem;
  margin-bottom: 2rem;
}
.cc-cmp-cards--1 { grid-template-columns: minmax(0, 480px); }
.cc-cmp-cards--2 { grid-template-columns: repeat(2, 1fr); }
.cc-cmp-cards--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1100px) {
  .cc-cmp-cards--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .cc-cmp-cards--2,
  .cc-cmp-cards--3 { grid-template-columns: 1fr; }
}

/* ── Individual comparison card ── */
.cc-cmp-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  position: relative;
  display: flex;
  flex-direction: column;
}
.cc-cmp-card__remove {
  position: absolute;
  top: 0.625rem;
  right: 0.625rem;
  z-index: 10;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: rgba(0,0,0,0.5);
  border: 1px solid rgba(255,255,255,0.15);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.15s;
}
.cc-cmp-card__remove:hover { background: var(--red); }
.cc-cmp-card__hero {
  height: 120px;
  position: relative;
  flex-shrink: 0;
}
.cc-cmp-card__hero-veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 30%, rgba(0,0,0,0.7) 100%);
}
.cc-cmp-card__logo {
  position: absolute;
  bottom: 0.75rem;
  left: 50%;
  transform: translateX(-50%);
  height: 44px;
  width: auto;
  max-width: 80%;
  object-fit: contain;
  background: rgba(0,0,0,0.5);
  border-radius: 8px;
  padding: 4px 8px;
  backdrop-filter: blur(4px);
}
.cc-cmp-badge {
  position: absolute;
  top: 0.625rem;
  left: 0.625rem;
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-radius: 4px;
  padding: 0.2rem 0.5rem;
}
.cc-cmp-badge--fav   { background: rgba(245,200,66,0.9); color: #000; }
.cc-cmp-badge--trend { background: rgba(16,185,129,0.9); color: #fff; }

.cc-cmp-card__body {
  padding: 1.125rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.cc-cmp-card__name {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 800;
  color: var(--text-primary);
  line-height: 1.2;
}
.cc-cmp-card__stars {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  flex-wrap: wrap;
}
.cc-cmp-card__rtg {
  font-family: var(--font-mono);
  font-size: 0.875rem;
  font-weight: 800;
  color: var(--gold);
  margin-left: 0.25rem;
}
.cc-cmp-card__bfor {
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 4px;
  padding: 0.1rem 0.35rem;
  margin-left: 0.25rem;
}
.cc-cmp-card__lic {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.6875rem;
  color: var(--emerald);
  font-weight: 600;
}
.cc-cmp-card__bonus {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  background: rgba(245,200,66,0.06);
  border: 1px solid var(--gold-border);
  border-radius: 10px;
  padding: 0.625rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.4;
}

/* Stats grid */
.cc-cmp-card__stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
}
.cc-cmp-stat {
  display: flex;
  align-items: flex-start;
  gap: 0.375rem;
  background: var(--bg-glass);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  padding: 0.5rem 0.625rem;
}
.cc-cmp-stat__label {
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-muted);
  line-height: 1.3;
}
.cc-cmp-stat__val {
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.3;
}

/* Features row */
.cc-cmp-card__features {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}
.cc-cmp-feat {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.625rem;
  font-weight: 700;
  border-radius: 100px;
  padding: 0.2rem 0.625rem;
}
.cc-cmp-feat--yes { background: rgba(16,185,129,0.10); color: var(--emerald); }
.cc-cmp-feat--no  { background: var(--bg-glass);       color: var(--text-faint); }

/* Detail rows */
.cc-cmp-dr {
  display: flex;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: var(--text-secondary);
  line-height: 1.5;
}
.cc-cmp-dr__l {
  font-weight: 700;
  color: var(--text-muted);
  flex-shrink: 0;
  min-width: 60px;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Score bars */
.cc-cmp-card__scores { }
.cc-cmp-scores-ttl {
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  margin-bottom: 0.5rem;
}
.cc-cmp-score-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.375rem;
}
.cc-cmp-score-label {
  font-size: 0.6875rem;
  color: var(--text-secondary);
  width: 80px;
  flex-shrink: 0;
}
.cc-cmp-score-track {
  flex: 1;
  height: 4px;
  background: var(--bg-glass);
  border-radius: 100px;
  overflow: hidden;
}
.cc-cmp-score-fill {
  height: 100%;
  background: var(--gold);
  border-radius: 100px;
}
.cc-cmp-score-num {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 800;
  color: var(--gold);
  width: 24px;
  text-align: right;
  flex-shrink: 0;
}

/* Pros / Cons */
.cc-cmp-card__proscons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  border-top: 1px solid var(--border-subtle);
  padding-top: 0.75rem;
}
.cc-cmp-pc-col { display: flex; flex-direction: column; gap: 0.25rem; }
.cc-cmp-pro, .cc-cmp-con {
  display: flex;
  align-items: flex-start;
  gap: 0.3rem;
  font-size: 0.6875rem;
  color: var(--text-secondary);
  line-height: 1.45;
}

/* CTAs */
.cc-cmp-card__actions {
  display: flex;
  gap: 0.5rem;
  border-top: 1px solid var(--border-subtle);
  padding-top: 0.75rem;
  margin-top: auto;
}

/* ── Data table (rows view) ── */
.cc-cmp-rows-inner { margin-top: 0.5rem; }
.cc-cmp-section-title {
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.875rem;
}
.cc-cmp-table {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}
.cc-cmp-tr {
  display: grid;
  grid-template-columns: 140px repeat(3, 1fr);
  border-bottom: 1px solid var(--border-subtle);
}
.cc-cmp-tr:last-child { border-bottom: none; }
.cc-cmp-tr--alt { background: rgba(255,255,255,0.02); }
.cc-cmp-tr--head { background: var(--bg-elevated); }
.cc-cmp-td {
  padding: 0.625rem 0.875rem;
  font-size: 0.8125rem;
  display: flex;
  align-items: center;
  border-right: 1px solid var(--border-subtle);
}
.cc-cmp-td:last-child { border-right: none; }
.cc-cmp-td--label {
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: var(--bg-elevated);
}
.cc-cmp-td--head {
  flex-direction: column;
  justify-content: center;
  font-weight: 700;
  color: var(--text-primary);
}
.cc-cmp-td--val { color: var(--text-secondary); }
.cc-cmp-td--best {
  color: var(--text-primary) !important;
  font-weight: 700;
  background: rgba(245,200,66,0.05);
}

/* ── Floating action bar ── */
.cc-cmp-bar {
  position: sticky;
  bottom: 0;
  background: var(--bg-card);
  border-top: 1px solid var(--border-subtle);
  z-index: 50;
  box-shadow: 0 -4px 20px rgba(0,0,0,0.2);
}

/* Light mode */
:root.light .cc-cmp-picker { background: #fff; }
:root.light .cc-cmp-matrix { background: #f4f6f9; }
:root.light .cc-cmp-card   { background: #fff; }
:root.light .cc-cmp-table  { background: #fff; }
:root.light .cc-cmp-bar    { background: #fff; }
:root.light .cc-cmp-tr--alt{ background: rgba(0,0,0,0.02); }
:root.light .cc-cmp-tr--head{ background: #f4f6f9; }
:root.light .cc-cmp-td--label { background: #f4f6f9; }

/* ═══════════════════════════════════════════════════════════════
   GUIDES INDEX PAGE
═══════════════════════════════════════════════════════════════ */

.cc-guides-hero {
  position: relative;
  background: var(--bg-card);
  padding: 5rem 0 4rem;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-guides-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 80% at 80% 50%, rgba(245,200,66,0.06) 0%, transparent 60%),
    radial-gradient(ellipse 50% 60% at 20% 30%, rgba(16,185,129,0.05) 0%, transparent 50%),
    linear-gradient(135deg, var(--bg-card) 0%, var(--bg-elevated) 100%);
}
.cc-guides-hero__grid-overlay {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(var(--border-subtle) 1px, transparent 1px),
    linear-gradient(90deg, var(--border-subtle) 1px, transparent 1px);
  background-size: 60px 60px;
  opacity: 0.3;
  pointer-events: none;
}
.cc-guides-hero__content { position: relative; z-index: 1; }
.cc-guides-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.3rem 0.75rem;
  margin-bottom: 1.125rem;
}
.cc-guides-hero__title {
  font-size: clamp(1.875rem, 4vw, 3rem);
  font-weight: 900;
  letter-spacing: -0.015em;
  color: var(--text-primary);
  line-height: 1.1;
  margin-bottom: 1rem;
}
.cc-guides-hero__title em { color: var(--gold); font-style: italic; }
.cc-guides-hero__sub {
  font-size: 1rem;
  color: var(--text-secondary);
  max-width: 560px;
  line-height: 1.7;
  margin-bottom: 2rem;
}
.cc-guides-hero__stats {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.cc-guides-hero__stat { text-align: center; }
.cc-guides-hero__stat-num {
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 900;
  color: var(--gold);
  display: block;
  line-height: 1;
}
.cc-guides-hero__stat-label {
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.cc-guides-hero__stat-sep {
  width: 1px;
  height: 32px;
  background: var(--border-subtle);
}

/* Guides body */
.cc-guides-body { padding: 3rem 0 5rem; }
.cc-guides-index-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}
.cc-guides-section-eyebrow {
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.25rem;
}
.cc-guides-section-title {
  font-family: var(--font-display);
  font-size: 1.625rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  margin: 0;
}
.cc-guides-section-title em { color: var(--gold); font-style: italic; }
.cc-guides-section-desc {
  font-size: 0.9375rem;
  color: var(--text-secondary);
  max-width: 400px;
  line-height: 1.6;
  margin: 0;
}

/* Guide cards grid */
.cc-guides-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .cc-guides-grid { grid-template-columns: 1fr; }
}
.cc-guide-card {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-top: 3px solid var(--guide-color, var(--gold));
  border-radius: var(--radius-card);
  padding: 1.75rem;
  text-decoration: none;
  box-shadow: var(--shadow-card);
  transition: var(--transition);
  position: relative;
  overflow: hidden;
}
.cc-guide-card::before {
  content: '';
  position: absolute;
  top: 0; right: 0;
  width: 120px; height: 120px;
  background: radial-gradient(circle at top right, var(--guide-color, var(--gold)), transparent 70%);
  opacity: 0.06;
  pointer-events: none;
}
.cc-guide-card:hover {
  transform: translateY(-4px);
  border-color: var(--guide-color, var(--gold));
  box-shadow: var(--shadow-card), 0 12px 32px rgba(0,0,0,0.15);
  text-decoration: none;
}
.cc-guide-card:hover .cc-guide-card__arrow {
  transform: translateX(4px);
  color: var(--guide-color, var(--gold));
}
.cc-guide-card__num {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 800;
  color: var(--text-faint);
  letter-spacing: 0.08em;
}
.cc-guide-card__icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--guide-color, var(--gold)) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--guide-color, var(--gold)) 25%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--guide-color, var(--gold));
}
.cc-guide-card__cat {
  display: inline-flex;
  align-items: center;
  font-size: 0.5rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  border: 1px solid;
  border-radius: 100px;
  padding: 0.2rem 0.6rem;
  width: fit-content;
}
.cc-guide-card__title {
  font-family: var(--font-display);
  font-size: 1.1875rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.015em;
  line-height: 1.25;
  margin: 0;
}
.cc-guide-card__desc {
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.65;
  margin: 0;
  flex: 1;
}
.cc-guide-card__meta {
  display: flex;
  gap: 0.875rem;
  flex-wrap: wrap;
}
.cc-guide-card__meta-item {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--text-muted);
}
.cc-guide-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}
.cc-guide-card__tag {
  font-size: 0.5625rem;
  font-weight: 700;
  color: var(--text-muted);
  background: var(--bg-glass);
  border: 1px solid var(--border-subtle);
  border-radius: 100px;
  padding: 0.15rem 0.5rem;
  letter-spacing: 0.03em;
}
.cc-guide-card__arrow {
  color: var(--text-muted);
  transition: transform 0.2s, color 0.2s;
  align-self: flex-end;
}
.cc-guides-cta-band {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
  background: linear-gradient(135deg, rgba(245,200,66,0.06) 0%, transparent 60%), var(--bg-card);
  border: 1px solid var(--gold-border);
  border-radius: var(--radius-card);
  padding: 2rem;
  margin-top: 3rem;
}

/* ═══════════════════════════════════════════════════════════════
   GUIDE PAGE LAYOUT (shared across all four guides)
═══════════════════════════════════════════════════════════════ */

/* Guide Hero */
.cc-guide-hero {
  position: relative;
  padding: 4.5rem 0 3.5rem;
  overflow: hidden;
}
.cc-guide-hero__bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--bg-main) 0%, var(--bg-elevated) 100%);
}
.cc-guide-hero--emerald .cc-guide-hero__bg {
  background: linear-gradient(135deg, rgba(16,185,129,0.04) 0%, var(--bg-main) 50%);
}
.cc-guide-hero--indigo .cc-guide-hero__bg {
  background: linear-gradient(135deg, rgba(99,102,241,0.05) 0%, var(--bg-main) 50%);
}
.cc-guide-hero--amber .cc-guide-hero__bg {
  background: linear-gradient(135deg, rgba(245,158,11,0.05) 0%, var(--bg-main) 50%);
}
.cc-guide-hero--pink .cc-guide-hero__bg {
  background: linear-gradient(135deg, rgba(236,72,153,0.05) 0%, var(--bg-main) 50%);
}
.cc-guide-hero__content { position: relative; z-index: 1; }
.cc-guide-hero__meta-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.cc-guide-hero__cat {
  font-size: 0.5rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  border: 1px solid;
  border-radius: 100px;
  padding: 0.2rem 0.625rem;
}
.cc-guide-hero__readtime,
.cc-guide-hero__level {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.6875rem;
  color: var(--text-muted);
}
.cc-guide-hero__updated { font-size: 0.6875rem; color: var(--text-faint); }
.cc-guide-hero__title {
  font-size: clamp(2rem, 4.5vw, 3.25rem);
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin-bottom: 1.125rem;
}
.cc-guide-hero__title em { color: var(--gold); font-style: italic; }
.cc-guide-hero__intro {
  font-size: 1.0625rem;
  color: var(--text-secondary);
  line-height: 1.75;
  max-width: 680px;
  margin-bottom: 2rem;
}
/* TOC */
.cc-guide-hero__toc {
  background: var(--bg-glass);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  display: inline-flex;
  align-items: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
  max-width: 100%;
}
.cc-guide-toc__label {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  flex-shrink: 0;
  padding-top: 0.125rem;
}
.cc-guide-toc__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
}
.cc-guide-toc__links a {
  font-size: 0.8125rem;
  color: var(--gold);
  text-decoration: none;
  font-weight: 600;
}
.cc-guide-toc__links a:hover { text-decoration: underline; }

/* Body layout */
.cc-guide-body { padding: 3rem 0 5rem; }
.cc-guide-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 1024px) {
  .cc-guide-layout { grid-template-columns: 1fr; }
  .cc-guide-sidebar { order: -1; }
}
.cc-guide-article { min-width: 0; }
.cc-guide-section { margin-bottom: 3.5rem; scroll-margin-top: 80px; }

/* Article typography */
.cc-guide-h2 {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  margin-bottom: 1rem;
  position: relative;
}
.cc-guide-article p {
  font-size: 1rem;
  color: var(--text-secondary);
  line-height: 1.8;
  margin-bottom: 1rem;
}

/* Callout boxes */
.cc-guide-callout {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  border-radius: 12px;
  padding: 1.125rem 1.375rem;
  margin: 1.5rem 0;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--text-secondary);
}
.cc-guide-callout--info { background: rgba(99,102,241,0.08); border: 1px solid rgba(99,102,241,0.2); }
.cc-guide-callout--shield { background: rgba(16,185,129,0.07); border: 1px solid rgba(16,185,129,0.2); }
.cc-guide-callout--gold { background: var(--gold-dim); border: 1px solid var(--gold-border); }
.cc-guide-callout__icon { flex-shrink: 0; font-size: 1.25rem; padding-top: 0.125rem; }

/* Visual containers */
.cc-guide-visual {
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.5rem;
  margin: 1.75rem 0;
  overflow-x: auto;
}
.cc-guide-visual--formula { background: linear-gradient(135deg, rgba(16,185,129,0.04) 0%, var(--bg-elevated) 100%); }
.cc-guide-visual--wide { max-width: 100%; overflow-x: auto; }

/* Tip list */
.cc-guide-tip-list { display: flex; flex-direction: column; gap: 1.25rem; margin: 1.5rem 0; }
.cc-guide-tip { display: flex; gap: 1.25rem; align-items: flex-start; }
.cc-guide-tip__num {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 800;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 8px;
  padding: 0.25rem 0.5rem;
  flex-shrink: 0;
  margin-top: 0.125rem;
}
.cc-guide-tip__body { font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.7; }
.cc-guide-tip__body strong { color: var(--text-primary); }

/* CTA card */
.cc-guide-cta-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
  background: linear-gradient(135deg, rgba(245,200,66,0.06) 0%, transparent 60%), var(--bg-card);
  border: 1px solid var(--gold-border);
  border-radius: var(--radius-card);
  padding: 1.5rem;
  margin-top: 2.5rem;
}
.cc-guide-cta-card__text strong { font-size: 0.9375rem; color: var(--text-primary); display: block; margin-bottom: 0.25rem; }
.cc-guide-cta-card__text p { font-size: 0.8125rem; color: var(--text-secondary); margin: 0; }

/* Sidebar */
.cc-guide-sidebar { position: sticky; top: 88px; display: flex; flex-direction: column; gap: 1.25rem; }
.cc-guide-sidebar__card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.25rem;
  box-shadow: var(--shadow-card);
}
.cc-guide-sidebar__card--gold { border-color: var(--gold-border); background: linear-gradient(135deg, rgba(245,200,66,0.05) 0%, var(--bg-card) 100%); }
.cc-guide-sidebar__card-title {
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.875rem;
}
.cc-guide-sidebar__takeaways { display: flex; flex-direction: column; gap: 0.5rem; }
.cc-guide-takeaway {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.45;
}
.cc-guide-quick-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.4rem 0;
  border-bottom: 1px solid var(--border-subtle);
  gap: 0.5rem;
}
.cc-guide-quick-row:last-child { border-bottom: none; }
.cc-guide-quick-label { font-size: 0.75rem; font-weight: 700; color: var(--text-secondary); flex-shrink: 0; }
.cc-guide-quick-val { font-family: var(--font-mono); font-size: 0.75rem; font-weight: 700; }
.cc-guide-sidebar__related-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: var(--text-secondary);
  text-decoration: none;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border-subtle);
  transition: color 0.2s;
}
.cc-guide-sidebar__related-link:last-child { border-bottom: none; }
.cc-guide-sidebar__related-link:hover { color: var(--gold); }
.cc-guide-sidebar__related-link i { color: var(--gold); flex-shrink: 0; }

/* ═══ RTP GUIDE VISUALS ═══ */
.cc-rtp-scale { width: 100%; }
.cc-rtp-scale__label { font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); margin-bottom: 0.75rem; }
.cc-rtp-scale__bar { display: flex; height: 36px; border-radius: 8px; overflow: hidden; gap: 2px; }
.cc-rtp-seg { display: flex; align-items: center; justify-content: center; transition: flex 0.3s; border-radius: 4px; }
.cc-rtp-seg__inner { font-size: 0.6875rem; font-weight: 800; color: rgba(255,255,255,0.9); white-space: nowrap; }
.cc-rtp-seg--avoid  { background: #ef4444; }
.cc-rtp-seg--ok     { background: #f97316; }
.cc-rtp-seg--good   { background: #10b981; }
.cc-rtp-seg--great  { background: #059669; }
.cc-rtp-scale__markers { position: relative; height: 20px; margin-top: 0.25rem; font-size: 0.5625rem; color: var(--text-muted); }
.cc-rtp-scale__markers span { position: absolute; transform: translateX(-50%); }
.cc-rtp-scale__legend { display: flex; gap: 1rem; margin-top: 0.75rem; flex-wrap: wrap; }
.cc-rtp-legend-item { font-size: 0.6875rem; font-weight: 700; padding: 0.15rem 0.5rem; border-radius: 4px; }
.cc-rtp-legend--avoid  { background: rgba(239,68,68,0.15);  color: #ef4444; }
.cc-rtp-legend--ok     { background: rgba(249,115,22,0.15); color: #f97316; }
.cc-rtp-legend--good   { background: rgba(16,185,129,0.15); color: #10b981; }
.cc-rtp-legend--great  { background: rgba(5,150,105,0.15);  color: #059669; }

.cc-formula-box { text-align: center; padding: 1.5rem; }
.cc-formula-box__label { font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); margin-bottom: 1rem; }
.cc-formula-box__eq { font-family: var(--font-mono); font-size: 1.0625rem; font-weight: 700; color: var(--text-primary); display: flex; align-items: center; justify-content: center; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.cc-formula-frac { display: inline-flex; flex-direction: column; align-items: center; gap: 2px; }
.cc-formula-num { border-bottom: 2px solid var(--text-primary); padding-bottom: 2px; font-size: 0.875rem; }
.cc-formula-den { font-size: 0.875rem; }
.cc-formula-box__example { font-size: 0.875rem; color: var(--text-secondary); background: var(--bg-glass); border-radius: 8px; padding: 0.75rem 1rem; line-height: 1.6; }

.cc-rtp-breakdown__title { font-size: 0.6875rem; font-weight: 800; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.07em; margin-bottom: 1rem; }
.cc-rtp-breakdown__bars { display: flex; flex-direction: column; gap: 0.75rem; }
.cc-rtpb-row { display: flex; align-items: center; gap: 0.75rem; }
.cc-rtpb-row--edge { padding-top: 0.75rem; border-top: 1px solid var(--border-subtle); margin-top: 0.25rem; }
.cc-rtpb-label { font-size: 0.8125rem; color: var(--text-secondary); width: 140px; flex-shrink: 0; }
.cc-rtpb-track { flex: 1; height: 8px; background: var(--bg-glass); border-radius: 100px; overflow: hidden; }
.cc-rtpb-fill { height: 100%; border-radius: 100px; }
.cc-rtpb-val { font-family: var(--font-mono); font-size: 0.75rem; font-weight: 800; width: 40px; text-align: right; flex-shrink: 0; }

.cc-compare-pair { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; justify-content: center; }
.cc-compare-pair__col { text-align: center; padding: 1.5rem; border-radius: 12px; flex: 1; min-width: 140px; }
.cc-compare-pair__col--player { background: rgba(16,185,129,0.06); border: 1px solid rgba(16,185,129,0.2); }
.cc-compare-pair__col--house  { background: rgba(239,68,68,0.06);  border: 1px solid rgba(239,68,68,0.2); }
.cc-compare-pair__icon { font-size: 1.5rem; margin-bottom: 0.375rem; }
.cc-compare-pair__label { font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); margin-bottom: 0.25rem; }
.cc-compare-pair__big { font-family: var(--font-display); font-size: 2.5rem; font-weight: 900; line-height: 1; }
.cc-compare-pair__sub { font-size: 0.6875rem; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.06em; }
.cc-compare-pair__desc { font-size: 0.75rem; color: var(--text-secondary); margin-top: 0.375rem; line-height: 1.4; }
.cc-compare-pair__divider { text-align: center; }
.cc-compare-pair__plus { font-family: var(--font-mono); font-size: 0.875rem; font-weight: 800; color: var(--text-muted); }
.cc-compare-pair__equals { font-family: var(--font-display); font-size: 1.25rem; font-weight: 900; color: var(--text-primary); }

.cc-vol-chart__title { font-size: 0.6875rem; font-weight: 800; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.07em; margin-bottom: 1rem; }
.cc-vol-chart__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.cc-vol-chart__col-label { font-size: 0.75rem; font-weight: 700; margin-bottom: 0.5rem; }
.cc-vol-chart__bars { display: flex; align-items: flex-end; gap: 3px; height: 100px; padding: 0 0 0.25rem; border-bottom: 1px solid var(--border-subtle); }
.cc-vol-bar { flex: 1; border-radius: 2px 2px 0 0; min-height: 4px; }
.cc-vol-chart__sub { font-size: 0.6875rem; color: var(--text-muted); margin-top: 0.5rem; text-align: center; }

.cc-rtp-table { width: 100%; }
.cc-rtp-table__header { display: grid; grid-template-columns: 1.5fr 1fr 2fr; font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); padding: 0 0.5rem 0.75rem; border-bottom: 2px solid var(--border-subtle); gap: 1rem; }
.cc-rtp-table__row { display: grid; grid-template-columns: 1.5fr 1fr 2fr; gap: 1rem; padding: 0.75rem 0.5rem; border-bottom: 1px solid var(--border-subtle); align-items: center; }
.cc-rtp-table__row:last-child { border-bottom: none; }
.cc-rtp-table__game { font-size: 0.875rem; color: var(--text-primary); font-weight: 600; }
.cc-rtp-table__pct { font-family: var(--font-mono); font-size: 0.875rem; font-weight: 800; }
.cc-rtp-table__note { font-size: 0.75rem; color: var(--text-secondary); line-height: 1.45; }

/* ═══ TESTING GUIDE VISUALS ═══ */
.cc-lab-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
@media (max-width:700px) { .cc-lab-grid { grid-template-columns: 1fr; } }
.cc-lab-card { background: var(--bg-card); border: 1px solid var(--border-subtle); border-top: 3px solid; border-radius: var(--radius-card); padding: 1.25rem; box-shadow: var(--shadow-card); }
.cc-lab-card__name { font-family: var(--font-display); font-size: 1.25rem; font-weight: 900; }
.cc-lab-card__full { font-size: 0.6875rem; color: var(--text-muted); margin: 0.125rem 0; }
.cc-lab-card__founded { font-size: 0.625rem; color: var(--text-faint); margin-bottom: 0.75rem; }
.cc-lab-card__desc { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.65; margin-bottom: 0.75rem; }
.cc-lab-card__known { font-size: 0.6875rem; color: var(--text-muted); font-style: italic; }

.cc-guide-process-steps { display: flex; flex-direction: column; gap: 1.25rem; margin: 1.5rem 0; }
.cc-process-step { display: flex; gap: 1.25rem; align-items: flex-start; }
.cc-process-step__num { font-family: var(--font-mono); font-size: 0.75rem; font-weight: 800; border: 1px solid; border-radius: 8px; padding: 0.25rem 0.5rem; flex-shrink: 0; margin-top: 0.125rem; }
.cc-process-step__title { font-family: var(--font-display); font-size: 1rem; font-weight: 800; margin-bottom: 0.375rem; }
.cc-process-step__desc { font-size: 0.875rem; color: var(--text-secondary); line-height: 1.7; margin: 0; }

.cc-rng-visual { padding: 0.5rem 0; }
.cc-rng-visual__title { font-size: 0.6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-muted); margin-bottom: 1.25rem; }
.cc-rng-visual__flow { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; justify-content: center; margin-bottom: 1rem; }
.cc-rng-step { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 10px; padding: 0.875rem; text-align: center; max-width: 140px; }
.cc-rng-step__icon { font-size: 1.5rem; margin-bottom: 0.375rem; }
.cc-rng-step__label { font-size: 0.6875rem; color: var(--text-secondary); line-height: 1.45; }
.cc-rng-arrow { color: var(--gold); font-weight: 800; font-size: 1.25rem; }
.cc-rng-visual__note { font-size: 0.75rem; color: var(--text-muted); text-align: center; font-style: italic; background: var(--bg-glass); border-radius: 6px; padding: 0.5rem; }

.cc-timeline { display: flex; flex-direction: column; position: relative; padding-left: 1rem; }
.cc-timeline::before { content:''; position:absolute; left:80px; top:0; bottom:0; width:2px; background:var(--border-subtle); }
.cc-timeline-item { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1.5rem; position: relative; }
.cc-timeline-week { font-family: var(--font-mono); font-size: 0.625rem; font-weight: 800; color: var(--text-muted); width: 64px; flex-shrink: 0; padding-top: 0.875rem; text-align: right; }
.cc-timeline-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--gold); border: 2px solid var(--bg-main); position: relative; z-index: 1; flex-shrink: 0; margin-top: 1rem; }
.cc-timeline-content { flex: 1; background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 10px; padding: 0.875rem 1rem; }
.cc-timeline-content strong { font-size: 0.875rem; color: var(--text-primary); display: block; margin-bottom: 0.25rem; }
.cc-timeline-content p { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.6; margin: 0; }

.cc-guide-standards-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; margin: 1.5rem 0; }
@media (max-width:640px) { .cc-guide-standards-grid { grid-template-columns: 1fr; } }
.cc-standard-item { display: flex; gap: 0.875rem; align-items: flex-start; background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 12px; padding: 1.125rem; }
.cc-standard-item__icon { width: 36px; height: 36px; border-radius: 8px; border: 1px solid; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cc-standard-item__title { font-size: 0.875rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.25rem; }
.cc-standard-item__desc { font-size: 0.75rem; color: var(--text-secondary); line-height: 1.55; }

/* ═══ BLACKJACK GUIDE VISUALS ═══ */
.cc-card-values { display: flex; gap: 2rem; align-items: flex-start; flex-wrap: wrap; justify-content: center; }
.cc-card-val-group { text-align: center; }
.cc-card-display { width: 52px; height: 72px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 1.5rem; font-weight: 900; border: 2px solid; margin: 0 auto 0.5rem; }
.cc-card-display--red  { background: #fff; color: #ef4444; border-color: #ef4444; }
.cc-card-display--dark { background: #fff; color: #1e293b; border-color: #1e293b; }
.cc-card-display--back { background: #1e3a5f; color: #93c5fd; border-color: #3b82f6; }
.cc-card-display-row { display: flex; gap: 0.375rem; margin-bottom: 0.5rem; }
.cc-card-val-label { font-size: 0.6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-muted); margin-bottom: 0.25rem; }
.cc-card-val-pts { font-family: var(--font-display); font-size: 1.25rem; font-weight: 900; }
.cc-card-val-note { font-size: 0.6875rem; color: var(--text-muted); }

.cc-bj-table__felt { background: #0f5132; border-radius: 12px; padding: 2rem; display: flex; flex-direction: column; align-items: center; gap: 1.5rem; min-height: 200px; position: relative; }
.cc-bj-table__dealer-area,.cc-bj-table__player-area { text-align: center; }
.cc-bj-table__dealer-label,.cc-bj-table__player-label { font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.10em; color: rgba(255,255,255,0.5); margin-bottom: 0.5rem; }
.cc-bj-table__dealer-cards,.cc-bj-table__player-cards { display: flex; gap: 0.5rem; justify-content: center; margin-bottom: 0.375rem; }
.cc-playing-card { width: 48px; height: 66px; background: #fff; border-radius: 6px; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 1rem; font-weight: 900; box-shadow: 0 2px 8px rgba(0,0,0,0.3); border: 1px solid rgba(255,255,255,0.3); }
.cc-playing-card span { font-size: 0.625rem; }
.cc-playing-card--red { color: #ef4444; }
.cc-playing-card--dark { color: #1e293b; }
.cc-playing-card--back { background: #1e3a5f; color: transparent; font-size: 1.5rem; }
.cc-bj-table__dealer-total,.cc-bj-table__player-total { font-size: 0.75rem; color: rgba(255,255,255,0.7); }
.cc-bj-table__caption { font-size: 0.75rem; color: var(--text-muted); text-align: center; margin-top: 0.75rem; }

.cc-bj-decisions { display: flex; flex-direction: column; gap: 1rem; margin: 1.5rem 0; }
.cc-bj-decision { border-left: 3px solid; border-radius: 0 12px 12px 0; background: var(--bg-card); border-top: 1px solid var(--border-subtle); border-right: 1px solid var(--border-subtle); border-bottom: 1px solid var(--border-subtle); padding: 1.125rem 1.25rem; }
.cc-bj-decision__header { display: flex; align-items: flex-start; gap: 0.875rem; margin-bottom: 0.875rem; }
.cc-bj-decision__icon { width: 36px; height: 36px; border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cc-bj-decision__name { font-family: var(--font-display); font-size: 1rem; font-weight: 800; margin-bottom: 0.125rem; }
.cc-bj-decision__short { font-size: 0.8125rem; color: var(--text-muted); }
.cc-bj-decision__when,.cc-bj-decision__signal { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.6; margin-bottom: 0.375rem; }
.cc-bj-decision__when strong,.cc-bj-decision__signal strong { color: var(--text-primary); }

.cc-payout-table { width: 100%; }
.cc-payout-table__title { font-size: 0.6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-muted); margin-bottom: 0.75rem; }
.cc-payout-table__header { display: grid; grid-template-columns: 2fr 1.2fr 1.5fr; font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-muted); padding: 0 0 0.75rem; border-bottom: 2px solid var(--border-subtle); gap: 0.75rem; }
.cc-payout-row { display: grid; grid-template-columns: 2fr 1.2fr 1.5fr; gap: 0.75rem; padding: 0.625rem 0; border-bottom: 1px solid var(--border-subtle); align-items: center; }
.cc-payout-row:last-of-type { border-bottom: none; }
.cc-payout-situation { font-size: 0.8125rem; color: var(--text-primary); }
.cc-payout-odds { font-family: var(--font-mono); font-size: 0.8125rem; font-weight: 800; }
.cc-payout-example { font-family: var(--font-mono); font-size: 0.75rem; color: var(--text-secondary); }
.cc-payout-note { display: flex; align-items: flex-start; gap: 0.375rem; font-size: 0.75rem; color: #ef4444; background: rgba(239,68,68,0.06); border-radius: 8px; padding: 0.625rem; margin-top: 0.75rem; line-height: 1.5; }

/* Strategy chart */
.cc-strategy-chart { width: 100%; }
.cc-strategy-chart__title { font-family: var(--font-display); font-size: 1.0625rem; font-weight: 800; color: var(--text-primary); margin-bottom: 0.75rem; }
.cc-strategy-chart__legend { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1rem; }
.cc-strategy-key { font-size: 0.6875rem; font-weight: 700; padding: 0.2rem 0.5rem; border-radius: 4px; }
.cc-strategy-key--hit     { background: rgba(16,185,129,0.15); color: #10b981; }
.cc-strategy-key--stand   { background: rgba(99,102,241,0.15); color: #818cf8; }
.cc-strategy-key--double  { background: rgba(245,158,11,0.15); color: #f59e0b; }
.cc-strategy-key--split   { background: rgba(249,115,22,0.15); color: #f97316; }
.cc-strategy-key--surrender { background: rgba(148,163,184,0.15); color: #94a3b8; }
.cc-strategy-chart__section-title { font-size: 0.75rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-muted); margin-bottom: 0.5rem; }
.cc-strategy-grid { overflow-x: auto; }
.cc-strategy-grid__header,.cc-strategy-grid__row { display: flex; }
.cc-sg-cell { width: 42px; min-width: 42px; height: 36px; display: flex; align-items: center; justify-content: center; font-size: 0.6875rem; font-weight: 800; border: 1px solid var(--border-subtle); }
.cc-sg-cell--corner     { background: var(--bg-main); width: 60px; min-width: 60px; font-size: 0.5rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-muted); }
.cc-sg-cell--dealer-head { background: var(--bg-elevated); color: var(--text-primary); }
.cc-sg-cell--hand-label  { background: var(--bg-elevated); color: var(--text-primary); font-family: var(--font-mono); width: 60px; min-width: 60px; font-size: 0.75rem; }
.cc-sg-cell--hit         { background: rgba(16,185,129,0.15); color: #10b981; }
.cc-sg-cell--stand       { background: rgba(99,102,241,0.15); color: #818cf8; }
.cc-sg-cell--double      { background: rgba(245,158,11,0.15); color: #f59e0b; }
.cc-sg-cell--split       { background: rgba(249,115,22,0.15); color: #f97316; }
.cc-sg-cell--surrender   { background: rgba(148,163,184,0.15); color: #94a3b8; }
.cc-guide-rules-list { display: flex; flex-direction: column; background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); overflow: hidden; margin: 1.5rem 0; }
.cc-rule-row { display: grid; grid-template-columns: 2fr 1.5fr 80px; gap: 1rem; padding: 0.875rem 1.125rem; border-bottom: 1px solid var(--border-subtle); align-items: center; }
.cc-rule-row:last-child { border-bottom: none; }
.cc-rule-row__rule { font-size: 0.875rem; color: var(--text-primary); font-weight: 600; }
.cc-rule-row__effect { font-size: 0.8125rem; color: var(--text-secondary); }
.cc-rule-row__edge { font-family: var(--font-mono); font-size: 0.75rem; font-weight: 800; text-align: right; }

/* ═══ SLOTS GUIDE VISUALS ═══ */
.cc-reel-diagram { width: 100%; }
.cc-reel-diagram__title { font-size: 0.6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-muted); margin-bottom: 0.875rem; }
.cc-reel-grid { display: grid; border-radius: 8px; overflow: hidden; border: 2px solid var(--border-subtle); }
.cc-reel-grid--5x3 { grid-template-columns: repeat(5, 1fr); }
.cc-reel-cell { height: 56px; display: flex; align-items: center; justify-content: center; font-size: 1.25rem; background: var(--bg-card); border: 1px solid var(--border-subtle); transition: background 0.2s; }
.cc-reel-cell--win { background: rgba(245,200,66,0.15); border-color: var(--gold-border); box-shadow: inset 0 0 0 1px var(--gold-border); }

.cc-symbol-guide { display: flex; flex-direction: column; gap: 1rem; }
.cc-symbol-type { display: flex; gap: 1rem; align-items: flex-start; background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 12px; padding: 1.125rem; }
.cc-symbol-type__icon { font-size: 1.75rem; flex-shrink: 0; }
.cc-symbol-type__name { font-weight: 800; color: var(--text-primary); margin-bottom: 0.375rem; }
.cc-symbol-type__desc { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.65; margin: 0; }

.cc-payline-examples { width: 100%; }
.cc-payline-examples__title { font-size: 0.6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-muted); margin-bottom: 0.875rem; }
.cc-payline-grid-row { display: flex; gap: 1.5rem; flex-wrap: wrap; justify-content: center; }
.cc-payline-example { text-align: center; }
.cc-payline-name { font-size: 0.75rem; font-weight: 700; color: var(--text-secondary); margin-bottom: 0.5rem; }
.cc-payline-mini-grid { display: grid; grid-template-columns: repeat(5, 20px); grid-template-rows: repeat(3, 16px); gap: 2px; }
.cc-payline-mini-cell { border-radius: 2px; background: var(--bg-glass); border: 1px solid var(--border-subtle); }
.cc-payline-mini-cell--active { background: var(--gold); border-color: var(--gold); }

.cc-megaways-visual__title { font-size: 0.6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-muted); margin-bottom: 1rem; }
.cc-megaways-example { display: flex; flex-direction: column; gap: 1rem; }
.cc-megaways-spin { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 10px; padding: 1rem; }
.cc-megaways-reels { display: flex; gap: 4px; align-items: flex-end; height: 70px; margin-bottom: 0.5rem; }
.cc-megaways-reel { flex: 1; display: flex; align-items: flex-end; }
.cc-megaways-spin__label { font-size: 0.75rem; color: var(--text-secondary); text-align: center; }
.cc-megaways-max { font-size: 0.875rem; color: var(--text-primary); text-align: center; font-weight: 600; padding: 0.75rem; background: rgba(236,72,153,0.06); border-radius: 8px; border: 1px solid rgba(236,72,153,0.2); }

.cc-cluster-visual__title { font-size: 0.6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-muted); margin-bottom: 1rem; }
.cc-cluster-grid-demo { display: grid; grid-template-columns: repeat(6, 1fr); gap: 4px; margin-bottom: 0.5rem; }
.cc-cluster-cell { height: 44px; border-radius: 6px; display: flex; align-items: center; justify-content: center; transition: transform 0.2s; }

.cc-vol-compare { width: 100%; overflow-x: auto; }
.cc-vol-compare__title { font-size: 0.6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-muted); margin-bottom: 0.75rem; }
.cc-vol-compare__table { min-width: 520px; }
.cc-vol-compare__header { display: grid; grid-template-columns: 1.4fr repeat(3,1fr); gap: 0.5rem; padding: 0 0.5rem 0.625rem; border-bottom: 2px solid var(--border-subtle); }
.cc-vol-head { font-size: 0.6875rem; font-weight: 800; text-align: center; }
.cc-vol-head--low  { color: #10b981; }
.cc-vol-head--med  { color: var(--gold); }
.cc-vol-head--high { color: #ec4899; }
.cc-vol-compare__row { display: grid; grid-template-columns: 1.4fr repeat(3,1fr); gap: 0.5rem; padding: 0.625rem 0.5rem; border-bottom: 1px solid var(--border-subtle); align-items: start; }
.cc-vol-compare__row:last-child { border-bottom: none; }
.cc-vol-compare__label { font-size: 0.75rem; font-weight: 700; color: var(--text-muted); }
.cc-vol-compare__val { font-size: 0.75rem; color: var(--text-secondary); text-align: center; line-height: 1.45; }

.cc-guide-feature-list { display: flex; flex-direction: column; gap: 1rem; margin: 1.5rem 0; }
.cc-guide-feature { display: flex; gap: 1rem; align-items: flex-start; background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 12px; padding: 1.125rem; }
.cc-guide-feature__icon { width: 36px; height: 36px; border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cc-guide-feature__name { font-weight: 800; font-size: 0.9375rem; margin-bottom: 0.375rem; }
.cc-guide-feature__desc { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.65; margin: 0; }

/* Light mode overrides */
:root.light .cc-guides-hero { background: #ffffff; }
:root.light .cc-guide-hero { background: #f4f6f9; }
:root.light .cc-guide-card { background: #ffffff; }
:root.light .cc-guide-visual { background: #f8fafc; }
:root.light .cc-bj-table__felt { box-shadow: inset 0 2px 12px rgba(0,0,0,0.1); }
:root.light .cc-playing-card { box-shadow: 0 2px 8px rgba(0,0,0,0.2); }
:root.light .cc-strategy-chart { background: transparent; }

/* ═══════════════════════════════════════════════════════════════
   GUIDE PAGES — Shared design system for all four guides
═══════════════════════════════════════════════════════════════ */

/* ── Hero ── */
.cc-guide-hero {
  position: relative;
  padding: 4rem 0 3rem;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-guide-hero__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.cc-guide-hero--emerald .cc-guide-hero__bg {
  background: radial-gradient(ellipse 70% 70% at 0% 50%, rgba(16,185,129,0.12) 0%, transparent 60%),
              linear-gradient(135deg, var(--bg-card) 0%, var(--bg-elevated) 100%);
}
.cc-guide-hero--indigo .cc-guide-hero__bg {
  background: radial-gradient(ellipse 70% 70% at 0% 50%, rgba(99,102,241,0.10) 0%, transparent 60%),
              linear-gradient(135deg, var(--bg-card) 0%, var(--bg-elevated) 100%);
}
.cc-guide-hero--gold .cc-guide-hero__bg, .cc-guide-hero--amber .cc-guide-hero__bg {
  background: radial-gradient(ellipse 70% 70% at 0% 50%, rgba(245,200,66,0.09) 0%, transparent 60%),
              linear-gradient(135deg, var(--bg-card) 0%, var(--bg-elevated) 100%);
}
.cc-guide-hero--blue .cc-guide-hero__bg {
  background: radial-gradient(ellipse 70% 70% at 0% 50%, rgba(59,130,246,0.10) 0%, transparent 60%),
              linear-gradient(135deg, var(--bg-card) 0%, var(--bg-elevated) 100%);
}
.cc-guide-hero__content { position: relative; z-index: 1; }

.cc-guide-hero__meta-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.cc-guide-hero__cat {
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  border: 1px solid;
  border-radius: 100px;
  padding: 0.25rem 0.75rem;
}
.cc-guide-hero__readtime,
.cc-guide-hero__level,
.cc-guide-hero__updated {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.75rem;
  color: var(--text-muted);
}

.cc-guide-hero__title {
  font-size: clamp(1.875rem, 5vw, 3.25rem);
  font-weight: 900;
  color: var(--text-primary);
  line-height: 1.1;
  letter-spacing: -0.015em;
  margin-bottom: 1rem;
  max-width: 700px;
}
.cc-guide-hero__title em { font-style: italic; color: var(--gold); }
.cc-guide-hero__intro {
  font-size: 1.0625rem;
  color: var(--text-secondary);
  line-height: 1.7;
  max-width: 680px;
  margin-bottom: 1.5rem;
}

/* Table of contents */
.cc-guide-hero__toc {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  flex-wrap: wrap;
  padding: 0.875rem 1.125rem;
  background: var(--bg-glass);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  max-width: 680px;
}
.cc-guide-toc__label {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  white-space: nowrap;
  flex-shrink: 0;
  padding-top: 0.125rem;
}
.cc-guide-toc__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}
.cc-guide-toc__links a {
  font-size: 0.75rem;
  color: var(--gold);
  text-decoration: none;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.2rem 0.625rem;
  transition: background 0.15s;
}
.cc-guide-toc__links a:hover { background: rgba(245,200,66,0.2); }

/* ── Body layout ── */
.cc-guide-body { padding: 3rem 0 5rem; }
.cc-guide-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  align-items: start;
}
@media (min-width: 1024px) {
  .cc-guide-layout { grid-template-columns: 1fr 300px; }
}

/* ── Article text ── */
.cc-guide-article { min-width: 0; }
.cc-guide-section { margin-bottom: 3rem; }
.cc-guide-h2 {
  font-family: var(--font-display);
  font-size: 1.625rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  margin-bottom: 1rem;
  padding-bottom: 0.625rem;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-guide-section p {
  font-size: 1rem;
  color: var(--text-secondary);
  line-height: 1.8;
  margin-bottom: 1.125rem;
}
.cc-guide-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.cc-guide-list li {
  font-size: 0.9375rem;
  color: var(--text-secondary);
  line-height: 1.6;
  padding-left: 1.25rem;
  position: relative;
}
.cc-guide-list li::before {
  content: '›';
  position: absolute;
  left: 0;
  color: var(--gold);
  font-weight: 700;
}

/* ── Visuals ── */
.cc-guide-visual {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.5rem;
  margin: 1.5rem 0;
  box-shadow: var(--shadow-card);
  overflow: hidden;
}
.cc-guide-visual--formula { border-color: var(--gold-border); background: linear-gradient(135deg, rgba(245,200,66,0.04), transparent 60%), var(--bg-card); }

/* ── Formula box ── */
.cc-formula-box__label {
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  margin-bottom: 1rem;
}
.cc-formula-box__eq {
  font-family: var(--font-mono);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.cc-formula-frac {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0.1rem;
  position: relative;
  padding: 0 0.25rem;
}
.cc-formula-num { color: #10b981; font-size: 0.875rem; }
.cc-formula-den { color: #ef4444; font-size: 0.875rem; border-top: 2px solid var(--text-muted); padding-top: 0.2rem; }
.cc-formula-box__example {
  font-size: 0.875rem;
  color: var(--text-secondary);
  background: var(--bg-elevated);
  border-radius: 10px;
  padding: 0.75rem 1rem;
  line-height: 1.6;
}

/* ── RTP Scale ── */
.cc-rtp-scale__label { font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); margin-bottom: 0.75rem; }
.cc-rtp-scale__bar-wrap { position: relative; margin-bottom: 0.5rem; }
.cc-rtp-scale__bar { display: flex; height: 32px; border-radius: 100px; overflow: hidden; }
.cc-rtp-seg { display: flex; align-items: center; }
.cc-rtp-seg__inner { font-size: 0.5625rem; font-weight: 800; color: rgba(255,255,255,0.9); text-align: center; width: 100%; padding: 0 0.25rem; }
.cc-rtp-seg--avoid { background: #ef4444; }
.cc-rtp-seg--ok    { background: #f59e0b; }
.cc-rtp-seg--good  { background: #10b981; }
.cc-rtp-seg--great { background: #059669; }
.cc-rtp-scale__markers { display: flex; justify-content: space-between; margin-top: 0.375rem; position: relative; }
.cc-rtp-scale__markers span { font-family: var(--font-mono); font-size: 0.5625rem; color: var(--text-muted); position: absolute; transform: translateX(-50%); }
.cc-rtp-scale__legend { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 1.25rem; }
.cc-rtp-legend-item { font-size: 0.625rem; font-weight: 700; padding: 0.2rem 0.625rem; border-radius: 100px; }
.cc-rtp-legend--avoid { background: rgba(239,68,68,0.15); color: #ef4444; }
.cc-rtp-legend--ok    { background: rgba(245,158,11,0.15); color: #f59e0b; }
.cc-rtp-legend--good  { background: rgba(16,185,129,0.15); color: #10b981; }
.cc-rtp-legend--great { background: rgba(5,150,105,0.15);  color: #059669; }

/* ── RTP Breakdown bars ── */
.cc-rtp-breakdown__title { font-size: 0.75rem; font-weight: 700; color: var(--text-secondary); margin-bottom: 1rem; }
.cc-rtpb-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.625rem; }
.cc-rtpb-label { font-size: 0.75rem; color: var(--text-secondary); width: 140px; flex-shrink: 0; }
.cc-rtpb-track { flex: 1; height: 10px; background: var(--bg-glass); border-radius: 100px; overflow: hidden; }
.cc-rtpb-fill  { height: 100%; border-radius: 100px; transition: width 1s ease; }
.cc-rtpb-val   { font-family: var(--font-mono); font-size: 0.75rem; font-weight: 700; width: 40px; text-align: right; }
.cc-rtpb-row--edge .cc-rtpb-label { color: var(--red); }

/* ── Comparison pair ── */
.cc-compare-pair { display: flex; align-items: center; justify-content: center; gap: 2rem; flex-wrap: wrap; }
.cc-compare-pair__col { text-align: center; flex: 1; min-width: 140px; padding: 1.5rem; background: var(--bg-elevated); border: 1px solid var(--border-subtle); border-radius: 16px; }
.cc-compare-pair__icon { font-size: 1.75rem; margin-bottom: 0.5rem; }
.cc-compare-pair__label { font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); margin-bottom: 0.5rem; }
.cc-compare-pair__big { font-family: var(--font-display); font-size: 3rem; font-weight: 900; line-height: 1; }
.cc-compare-pair__sub { font-family: var(--font-mono); font-size: 0.6875rem; font-weight: 700; margin-top: 0.25rem; color: var(--text-muted); }
.cc-compare-pair__desc { font-size: 0.75rem; color: var(--text-secondary); margin-top: 0.5rem; line-height: 1.5; }
.cc-compare-pair__divider { display: flex; flex-direction: column; align-items: center; gap: 0.25rem; }
.cc-compare-pair__plus { font-size: 1.5rem; color: var(--text-muted); }
.cc-compare-pair__equals { font-family: var(--font-mono); font-weight: 800; color: var(--gold); font-size: 0.875rem; }

/* ── Volatility chart ── */
.cc-vol-chart__title { font-size: 0.75rem; font-weight: 700; color: var(--text-secondary); margin-bottom: 1.25rem; }
.cc-vol-chart__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.cc-vol-chart__col-label { font-size: 0.6875rem; font-weight: 700; margin-bottom: 0.75rem; }
.cc-vol-chart__bars { display: flex; align-items: flex-end; gap: 3px; height: 160px; border-bottom: 1px solid var(--border-subtle); padding-bottom: 4px; }
.cc-vol-bar { width: 10px; border-radius: 3px 3px 0 0; flex-shrink: 0; }
.cc-vol-chart__sub { font-size: 0.6875rem; color: var(--text-muted); margin-top: 0.5rem; }

/* ── RTP Table ── */
.cc-rtp-table { overflow: hidden; border-radius: 12px; border: 1px solid var(--border-subtle); }
.cc-rtp-table__header { display: grid; grid-template-columns: 1.5fr 1fr 2fr; background: var(--bg-elevated); padding: 0.625rem 0.875rem; font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); }
.cc-rtp-table__row { display: grid; grid-template-columns: 1.5fr 1fr 2fr; padding: 0.75rem 0.875rem; border-top: 1px solid var(--border-subtle); align-items: center; }
.cc-rtp-table__row:hover { background: var(--bg-glass); }
.cc-rtp-table__game { font-size: 0.875rem; font-weight: 600; color: var(--text-primary); }
.cc-rtp-table__pct { font-family: var(--font-mono); font-size: 0.875rem; font-weight: 800; }
.cc-rtp-table__note { font-size: 0.75rem; color: var(--text-muted); }

/* ── Tips list ── */
.cc-guide-tip-list { display: flex; flex-direction: column; gap: 0; }
.cc-guide-tip {
  display: flex;
  gap: 1rem;
  padding: 1.125rem 0;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-guide-tip:last-child { border-bottom: none; }
.cc-guide-tip__num { font-family: var(--font-mono); font-size: 0.625rem; font-weight: 800; color: var(--gold); min-width: 2rem; flex-shrink: 0; padding-top: 0.2rem; }
.cc-guide-tip__body { font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.7; }
.cc-guide-tip__body strong { color: var(--text-primary); }

/* ── Callout ── */
.cc-guide-callout {
  display: flex;
  gap: 1rem;
  padding: 1.125rem 1.375rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-left: 3px solid var(--emerald);
  border-radius: var(--radius-card);
  margin: 1.5rem 0;
}
.cc-guide-callout--shield { border-left-color: #10b981; }
.cc-guide-callout--warn   { border-left-color: #f59e0b; }
.cc-guide-callout__icon { flex-shrink: 0; padding-top: 0.125rem; }
.cc-guide-callout__body { font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.7; }
.cc-guide-callout__body strong { color: var(--text-primary); }

/* ── CTA card ── */
.cc-guide-cta-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.375rem;
  background: linear-gradient(135deg, rgba(245,200,66,0.07) 0%, transparent 60%), var(--bg-card);
  border: 1px solid var(--gold-border);
  border-radius: var(--radius-card);
  margin-top: 1.75rem;
  flex-wrap: wrap;
}
.cc-guide-cta-card__text { flex: 1; }
.cc-guide-cta-card__text strong { display: block; font-size: 0.9375rem; color: var(--text-primary); margin-bottom: 0.25rem; }
.cc-guide-cta-card__text p { font-size: 0.8125rem; color: var(--text-secondary); margin: 0; }

/* ── Sidebar ── */
.cc-guide-sidebar {
  position: sticky;
  top: 88px;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.cc-guide-sidebar__card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.25rem;
  box-shadow: var(--shadow-card);
}
.cc-guide-sidebar__card--gold {
  background: linear-gradient(135deg, rgba(245,200,66,0.06), transparent 60%), var(--bg-card);
  border-color: var(--gold-border);
}
.cc-guide-sidebar__card-title {
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: var(--gold);
  margin-bottom: 1rem;
}
.cc-guide-sidebar__takeaways { display: flex; flex-direction: column; gap: 0.625rem; }
.cc-guide-takeaway {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.5;
}
.cc-guide-quick-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.8125rem;
}
.cc-guide-quick-row:last-child { border-bottom: none; }
.cc-guide-quick-label { color: var(--text-secondary); }
.cc-guide-quick-val { font-family: var(--font-mono); font-weight: 800; }
.cc-guide-sidebar__related-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0;
  font-size: 0.8125rem;
  color: var(--text-secondary);
  text-decoration: none;
  border-bottom: 1px solid var(--border-subtle);
  transition: color 0.15s;
}
.cc-guide-sidebar__related-link:last-child { border-bottom: none; }
.cc-guide-sidebar__related-link:hover { color: var(--gold); }

/* ══ SLOTS GUIDE SPECIFIC VISUALS ══ */

/* Reel grid demo */
.cc-slots-grid-demo__title { font-size: 0.75rem; font-weight: 700; color: var(--text-secondary); margin-bottom: 0.75rem; }
.cc-slots-grid-demo__labels { display: grid; grid-template-columns: repeat(5,1fr); gap: 6px; margin-bottom: 6px; text-align: center; }
.cc-slots-grid-demo__labels span { font-size: 0.5625rem; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.06em; }
.cc-slots-grid-demo__grid { display: grid; gap: 6px; }
.cc-slots-grid-demo__cell {
  aspect-ratio: 1;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
}
.cc-slots-grid-demo__cell--win {
  background: rgba(16,185,129,0.12);
  border-color: #10b981;
  box-shadow: 0 0 12px rgba(16,185,129,0.2);
}
.cc-slots-grid-demo__note { font-size: 0.6875rem; color: var(--text-muted); text-align: center; margin-top: 0.75rem; line-height: 1.5; }

/* Payline SVGs */
.cc-payline-demo__title { font-size: 0.75rem; font-weight: 700; color: var(--text-secondary); margin-bottom: 1rem; }
.cc-payline-demo__grid-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.cc-payline-demo__label { font-size: 0.6875rem; font-weight: 700; color: var(--text-muted); margin-bottom: 0.5rem; }
.cc-payline-svg { width: 100%; height: auto; }

/* Ways compare */
.cc-ways-compare__title { font-size: 0.75rem; font-weight: 700; color: var(--text-secondary); margin-bottom: 1rem; }
.cc-ways-compare__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.cc-ways-compare__col-title { font-weight: 800; font-size: 0.875rem; margin-bottom: 0.75rem; }

/* Symbol grid */
.cc-sym-grid__title { font-size: 0.75rem; font-weight: 700; color: var(--text-secondary); margin-bottom: 1rem; }
.cc-sym-grid__items { display: grid; grid-template-columns: repeat(3,1fr); gap: 0.875rem; }
@media (max-width: 600px) { .cc-sym-grid__items { grid-template-columns: repeat(2,1fr); } }
.cc-sym-item { text-align: center; padding: 0.875rem; background: var(--bg-elevated); border-radius: 12px; }
.cc-sym-item__icon { width: 44px; height: 44px; border: 1px solid; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 1.375rem; margin: 0 auto 0.625rem; }
.cc-sym-item__name { font-weight: 800; font-size: 0.75rem; color: var(--text-primary); margin-bottom: 0.25rem; }
.cc-sym-item__desc { font-size: 0.625rem; color: var(--text-muted); line-height: 1.4; }

/* Paytable */
.cc-paytable { overflow: hidden; border-radius: 12px; border: 1px solid var(--border-subtle); }
.cc-paytable__title { font-size: 0.75rem; font-weight: 700; color: var(--text-secondary); padding: 0.75rem 0.875rem; background: var(--bg-elevated); border-bottom: 1px solid var(--border-subtle); }
.cc-paytable__header { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; padding: 0.5rem 0.875rem; font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-muted); background: var(--bg-elevated); border-bottom: 1px solid var(--border-subtle); }
.cc-paytable__row { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; padding: 0.625rem 0.875rem; border-top: 1px solid var(--border-subtle); align-items: center; }
.cc-paytable__row:hover { background: var(--bg-glass); }
.cc-paytable__cell { font-size: 0.875rem; color: var(--text-secondary); font-family: var(--font-mono); }
.cc-paytable__sym { font-family: var(--font-sans); font-weight: 700; color: var(--text-primary); }

/* Volatility spectrum */
.cc-vol-spectrum__title { font-size: 0.75rem; font-weight: 700; color: var(--text-secondary); margin-bottom: 1rem; }
.cc-vol-spectrum__bar { display: flex; height: 28px; border-radius: 100px; overflow: hidden; gap: 3px; margin-bottom: 1.25rem; }
.cc-vol-seg { display: flex; align-items: center; justify-content: center; border-radius: 100px; }
.cc-vol-seg__label { font-size: 0.625rem; font-weight: 800; color: rgba(255,255,255,0.9); }
.cc-vol-spectrum__details { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
@media (max-width: 600px) { .cc-vol-spectrum__details { grid-template-columns: 1fr; } }
.cc-vol-detail__head { font-size: 0.8125rem; font-weight: 800; margin-bottom: 0.375rem; }
.cc-vol-detail__body { font-size: 0.75rem; color: var(--text-muted); line-height: 1.55; }

/* Cluster demo */
.cc-cluster-demo__title { font-size: 0.75rem; font-weight: 700; color: var(--text-secondary); margin-bottom: 0.875rem; }
.cc-cluster-demo__grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 5px; max-width: 280px; margin: 0 auto; }
.cc-cluster-demo__cell { aspect-ratio: 1; background: var(--bg-elevated); border: 1px solid var(--border-subtle); border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 1.0625rem; }
.cc-cluster-demo__cell--win { background: rgba(99,102,241,0.15); border-color: #6366f1; animation: ccClusterPulse 2s ease infinite; }
@keyframes ccClusterPulse { 0%,100%{box-shadow:none;} 50%{box-shadow:0 0 8px rgba(99,102,241,0.4);} }
.cc-cluster-demo__note { font-size: 0.6875rem; color: var(--text-muted); text-align: center; margin-top: 0.875rem; line-height: 1.5; }

/* Megaways demo */
.cc-megaways-demo__title { font-size: 0.75rem; font-weight: 700; color: var(--text-secondary); margin-bottom: 1.25rem; }
.cc-megaways-demo__spins { display: flex; gap: 1.5rem; justify-content: space-around; flex-wrap: wrap; }
.cc-mgw-spin { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; }
.cc-mgw-spin__reels { display: flex; align-items: flex-end; gap: 4px; height: 120px; }
.cc-mgw-reel { width: 28px; border-radius: 4px; display: flex; align-items: center; justify-content: center; transition: height 0.3s; }
.cc-mgw-spin__ways { font-family: var(--font-mono); font-size: 0.8125rem; font-weight: 800; }

/* Slot chooser table */
.cc-slot-chooser { overflow: hidden; border-radius: 12px; border: 1px solid var(--border-subtle); }
.cc-slot-chooser__header { display: grid; grid-template-columns: 1.5fr 1fr 1.5fr; padding: 0.625rem 0.875rem; background: var(--bg-elevated); font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-muted); border-bottom: 1px solid var(--border-subtle); }
.cc-slot-chooser__row { display: grid; grid-template-columns: 1.5fr 1fr 1.5fr; padding: 0.75rem 0.875rem; border-top: 1px solid var(--border-subtle); align-items: center; }
.cc-slot-chooser__row--alt { background: rgba(255,255,255,0.02); }
.cc-slot-chooser__cell { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.4; }

/* ══ BLACKJACK GUIDE VISUALS ══ (used in guide-blackjack.php) */
.cc-bj-table { display: grid; grid-template-columns: auto repeat(10,1fr); font-size: 0.5625rem; font-weight: 700; overflow: auto; }
.cc-bj-cell { padding: 4px 2px; text-align: center; border: 1px solid rgba(255,255,255,0.05); }
.cc-bj-cell--H  { background: rgba(239,68,68,0.3);    color: #fca5a5; }
.cc-bj-cell--S  { background: rgba(16,185,129,0.3);   color: #6ee7b7; }
.cc-bj-cell--D  { background: rgba(245,200,66,0.3);   color: #fde68a; }
.cc-bj-cell--R  { background: rgba(139,92,246,0.3);   color: #c4b5fd; }
.cc-bj-cell--Y  { background: rgba(59,130,246,0.3);   color: #93c5fd; }
.cc-bj-cell--head { background: var(--bg-elevated); color: var(--text-muted); }
.cc-bj-legend { display: flex; gap: 0.75rem; flex-wrap: wrap; margin-top: 0.75rem; }
.cc-bj-legend-item { font-size: 0.625rem; font-weight: 700; padding: 0.2rem 0.5rem; border-radius: 4px; }

/* Light mode adjustments */
:root.light .cc-guide-hero { background: #fff; }
:root.light .cc-guide-visual { background: #fff; }
:root.light .cc-guide-sidebar__card { background: #fff; }
:root.light .cc-guide-callout { background: #f4f6f9; }
:root.light .cc-slots-grid-demo__cell { background: #f0f4f8; }
:root.light .cc-cluster-demo__cell { background: #f0f4f8; }

/* ═══════════════════════════════════════════════════════════════
   GUIDES HUB — Curriculum Index Page
═══════════════════════════════════════════════════════════════ */

/* Hero */
.cc-guides-hub-hero {
  position: relative;
  padding: 4.5rem 0 3.5rem;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
  min-height: 0 !important;
}
.cc-guides-hub-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 90% at 90% 50%, rgba(245,200,66,0.055) 0%, transparent 60%),
    radial-gradient(ellipse 40% 60% at 10% 80%, rgba(16,185,129,0.04) 0%, transparent 50%),
    linear-gradient(135deg, var(--bg-card) 0%, var(--bg-elevated) 100%);
}
.cc-guides-hub-hero__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(var(--border-subtle) 1px, transparent 1px),
    linear-gradient(90deg, var(--border-subtle) 1px, transparent 1px);
  background-size: 48px 48px;
  opacity: 0.25;
  pointer-events: none;
}
.cc-guides-hub-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.3rem 0.75rem;
  margin-bottom: 1rem;
}
.cc-guides-hub-title {
  font-size: clamp(2rem, 4.5vw, 3.25rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: var(--text-primary);
  line-height: 1.1;
  margin-bottom: 1rem;
}
.cc-guides-hub-title em { color: var(--gold); font-style: italic; }
.cc-guides-hub-sub {
  font-size: 1rem;
  color: var(--text-secondary);
  max-width: 580px;
  line-height: 1.75;
  margin: 0;
}
.cc-guides-hub-stats {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 16px;
  padding: 1.25rem 1.5rem;
  flex-shrink: 0;
  box-shadow: var(--shadow-card);
}
.cc-guides-hub-stat { text-align: center; }
.cc-guides-hub-stat__num {
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
  display: block;
}
.cc-guides-hub-stat__label {
  font-size: 0.5625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--text-muted);
  margin-top: 0.2rem;
}
.cc-guides-hub-stat__sep {
  width: 1px;
  height: 36px;
  background: var(--border-subtle);
}

/* Body layout */
.cc-guides-hub-body { padding-top: 2.5rem; padding-bottom: 5rem; }
.cc-guides-hub-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 1024px) {
  .cc-guides-hub-layout { grid-template-columns: 1fr; }
  .cc-guides-hub-rail { order: -1; display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
}
@media (max-width: 640px) {
  .cc-guides-hub-rail { grid-template-columns: 1fr; }
}

/* Curriculum header divider */
.cc-curriculum-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.cc-curriculum-section-divider {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 2.5rem 0 1.75rem;
}
.cc-curriculum-header__line {
  flex: 1;
  height: 1px;
  background: var(--border-subtle);
}
.cc-curriculum-header__label {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  white-space: nowrap;
}

/* Coming soon divider */
.cc-curriculum-coming-divider {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 1rem 0;
}
.cc-curriculum-coming-divider__line { flex: 1; height: 1px; background: var(--border-subtle); border-style: dashed; }
.cc-curriculum-coming-divider__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--text-faint);
  background: var(--bg-glass);
  border: 1px solid var(--border-subtle);
  border-style: dashed;
  border-radius: 100px;
  padding: 0.25rem 0.75rem;
  white-space: nowrap;
}

/* ── Curriculum Row ── */
.cc-curriculum-row {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  padding: 1.375rem 1.5rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-left: 3px solid var(--guide-accent, var(--gold));
  border-radius: 0 var(--radius-card) var(--radius-card) 0;
  margin-bottom: 0.875rem;
  box-shadow: var(--shadow-card);
  transition: var(--transition);
  text-decoration: none;
  color: inherit;
  position: relative;
  overflow: hidden;
}
.cc-curriculum-row::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(90deg, var(--guide-accent, var(--gold)), transparent 30%);
  opacity: 0;
  transition: opacity 0.2s;
  pointer-events: none;
}
.cc-curriculum-row--live:hover { transform: translateX(4px); border-color: var(--guide-accent, var(--gold)); box-shadow: var(--shadow-card), -4px 0 0 var(--guide-accent, var(--gold)); }
.cc-curriculum-row--live:hover::before { opacity: 0.04; }
.cc-curriculum-row--live:hover .cc-curriculum-row__arrow { color: var(--guide-accent, var(--gold)); transform: translateX(4px); }

.cc-curriculum-row--locked {
  opacity: 0.55;
  cursor: default;
  border-left-color: var(--border-subtle);
  background: var(--bg-elevated);
}

.cc-curriculum-row__num {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 900;
  font-style: italic;
  color: var(--guide-accent, var(--gold));
  min-width: 2.5rem;
  line-height: 1;
  padding-top: 0.25rem;
  flex-shrink: 0;
}
.cc-curriculum-row__num--locked { color: var(--text-faint); }

.cc-curriculum-row__icon-col { flex-shrink: 0; padding-top: 0.125rem; }
.cc-curriculum-row__icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  border: 1px solid;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cc-curriculum-row__icon--locked { opacity: 0.5; }

.cc-curriculum-row__body { flex: 1; min-width: 0; }
.cc-curriculum-row__cat {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.5rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  margin-bottom: 0.375rem;
}
.cc-curriculum-row__cat--locked { color: var(--text-faint); }
.cc-curriculum-row__title {
  font-family: var(--font-display);
  font-size: 1.125rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.015em;
  margin-bottom: 0.375rem;
  line-height: 1.2;
}
.cc-curriculum-row__title--locked { color: var(--text-muted); }
.cc-curriculum-row__desc {
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.65;
  margin-bottom: 0.625rem;
}
.cc-curriculum-row__desc--locked { color: var(--text-faint); }
.cc-curriculum-row__meta {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  flex-wrap: wrap;
}
.cc-curriculum-row__meta span {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--text-muted);
}
.cc-curriculum-row__coming {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.625rem;
  font-weight: 800;
  color: var(--text-faint);
  background: var(--bg-glass);
  border: 1px dashed var(--border-subtle);
  border-radius: 100px;
  padding: 0.2rem 0.625rem;
  margin-top: 0.375rem;
}
.cc-curriculum-row__arrow {
  color: var(--text-muted);
  transition: transform 0.2s, color 0.2s;
  flex-shrink: 0;
  margin-top: 0.5rem;
}
.cc-curriculum-row__lock-icon { flex-shrink: 0; margin-top: 0.5rem; }

/* Masterclass banner */
.cc-guides-masterclass {
  position: relative;
  border-radius: var(--radius-card);
  overflow: hidden;
  margin: 2rem 0;
  padding: 2.5rem;
  border: 1px solid var(--gold-border);
}
.cc-guides-masterclass__bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(245,200,66,0.12) 0%, rgba(245,200,66,0.04) 50%, transparent 80%);
  pointer-events: none;
}
.cc-guides-masterclass__bg::after {
  content: '';
  position: absolute;
  right: -30px;
  top: -30px;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(245,200,66,0.12) 0%, transparent 70%);
  pointer-events: none;
}
.cc-guides-masterclass__content { position: relative; z-index: 1; }
.cc-guides-masterclass__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.875rem;
}
.cc-guides-masterclass__title {
  font-size: 1.625rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin-bottom: 0.875rem;
}
.cc-guides-masterclass__title em { color: var(--gold); font-style: italic; }
.cc-guides-masterclass__desc {
  font-size: 0.9375rem;
  color: var(--text-secondary);
  line-height: 1.7;
  max-width: 520px;
  margin-bottom: 1.5rem;
}

/* Media / content cards grid */
.cc-guides-media-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
@media (max-width: 640px) {
  .cc-guides-media-grid { grid-template-columns: 1fr; }
}
.cc-media-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow-card);
  transition: var(--transition);
}
.cc-media-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-card), 0 12px 32px rgba(0,0,0,0.15); border-color: var(--gold-border); }
.cc-media-card__thumb {
  position: relative;
  height: 140px;
  overflow: hidden;
}
.cc-media-card__thumb-inner {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cc-media-card__emoji {
  font-size: 3.5rem;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,0.3));
}
.cc-media-card__tag {
  position: absolute;
  top: 0.625rem;
  left: 0.625rem;
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #000;
  border-radius: 4px;
  padding: 0.2rem 0.5rem;
}
.cc-media-card__body { padding: 1rem; flex: 1; }
.cc-media-card__sub {
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  margin-bottom: 0.25rem;
}
.cc-media-card__title {
  font-family: var(--font-display);
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 0.375rem;
  line-height: 1.25;
}
.cc-media-card__desc {
  font-size: 0.75rem;
  color: var(--text-secondary);
  line-height: 1.55;
  margin: 0;
}

/* ── Side Rail ── */
.cc-guides-hub-rail {
  position: sticky;
  top: 88px;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.cc-guides-rail-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.25rem;
  box-shadow: var(--shadow-card);
}
.cc-guides-rail-card--casino {
  border-color: var(--gold-border);
  background: linear-gradient(135deg, rgba(245,200,66,0.04) 0%, var(--bg-card) 60%);
}
.cc-guides-rail-card--data {
  background: var(--bg-elevated);
  border-color: var(--border-mid);
}
.cc-guides-rail-card__eyebrow {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.875rem;
}
.cc-guides-rail-casino-logo {
  height: 40px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  display: block;
  margin-bottom: 0.5rem;
  border-radius: 6px;
  background: var(--bg-glass);
  padding: 4px;
  border: 1px solid var(--border-subtle);
}
.cc-guides-rail-casino-name {
  font-family: var(--font-display);
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 0.25rem;
}
.cc-guides-rail-casino-rating {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  margin-bottom: 0.5rem;
}
.cc-guides-rail-casino-rating span {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--gold);
  margin-left: 0.25rem;
}

/* Pro tips */
.cc-guides-rail-tips { display: flex; flex-direction: column; gap: 0; }
.cc-guides-rail-tip {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.625rem 0;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-guides-rail-tip:last-child { border-bottom: none; }
.cc-guides-rail-tip__num {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 800;
  color: var(--gold);
  flex-shrink: 0;
  padding-top: 0.1rem;
}
.cc-guides-rail-tip__text {
  font-size: 0.75rem;
  color: var(--text-secondary);
  line-height: 1.55;
}

/* Categories */
.cc-guides-rail-cats { display: flex; flex-direction: column; gap: 0; }
.cc-guides-rail-cat {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-guides-rail-cat:last-child { border-bottom: none; }
.cc-guides-rail-cat__icon { flex-shrink: 0; }
.cc-guides-rail-cat__label {
  font-size: 0.8125rem;
  font-weight: 700;
  flex: 1;
}
.cc-guides-rail-cat__status {
  font-size: 0.625rem;
  color: var(--text-faint);
  font-family: var(--font-mono);
}

/* Light mode */
:root.light .cc-guides-hub-hero { background: #ffffff; }
:root.light .cc-curriculum-row { background: #ffffff; }
:root.light .cc-curriculum-row--locked { background: #f8fafc; }
:root.light .cc-guides-masterclass { background: rgba(201,146,14,0.04); }
:root.light .cc-media-card { background: #ffffff; }
:root.light .cc-guides-rail-card { background: #ffffff; }

/* ═══════════════════════════════════════════════════════════════
   REVIEWS ARCHIVE HERO — Full Editorial Hub
═══════════════════════════════════════════════════════════════ */

.cc-reviews-hero {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}

/* Background image */
.cc-reviews-hero__bg-img {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center 30%;
  transform: scale(1.04);
  transition: transform 8s ease;
}
.cc-reviews-hero:hover .cc-reviews-hero__bg-img { transform: scale(1); }

/* Slots image treatment — darker, desaturated, shifted so it reads as
   atmosphere rather than subject. The veil does the heavy lifting. */
.cc-reviews-hero__bg-img--slots {
  background-position: center 50%;
  filter: brightness(0.45) saturate(0.6) contrast(1.05);
  transform: scale(1.08);
}
.cc-reviews-hero:hover .cc-reviews-hero__bg-img--slots {
  transform: scale(1.04);
  filter: brightness(0.5) saturate(0.65) contrast(1.05);
}

/* Multi-layer veil for depth */
.cc-reviews-hero__veil {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(7,9,15,0.95) 0%, rgba(7,9,15,0.88) 40%, rgba(7,9,15,0.55) 70%, rgba(7,9,15,0.35) 100%),
    linear-gradient(0deg, rgba(7,9,15,0.6) 0%, transparent 60%);
}

/* Subtle grain overlay */
.cc-reviews-hero__grain {
  position: absolute;
  inset: 0;
  opacity: 0.035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  background-size: 128px 128px;
  pointer-events: none;
}

/* Inner two-column layout */
.cc-reviews-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 3.5rem;
  align-items: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
  width: 100%;
}
@media (max-width: 1100px) {
  .cc-reviews-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-reviews-hero { min-height: auto; }
  .cc-reviews-hero__right { max-width: 540px; }
}

/* ── LEFT COLUMN ── */
.cc-reviews-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1.25rem;
}
.cc-reviews-hero__pulse {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--gold);
  animation: ccPulse 2s ease infinite;
  flex-shrink: 0;
}
.cc-reviews-hero__title {
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #ffffff;
  line-height: 1.05;
  margin-bottom: 1.25rem;
}
.cc-reviews-hero__title em {
  color: var(--gold);
  font-style: italic;
  display: block;
}
.cc-reviews-hero__desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.65);
  line-height: 1.75;
  max-width: 520px;
  margin-bottom: 1.75rem;
}

/* Trust signals */
.cc-reviews-hero__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.875rem;
  margin-bottom: 2rem;
}
.cc-reviews-hero__trust-item {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: rgba(255,255,255,0.55);
}

/* Stat chips */
.cc-reviews-hero__stats {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}
.cc-reviews-hero__stat { text-align: center; }
.cc-reviews-hero__stat-num {
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}
.cc-reviews-hero__stat-label {
  font-size: 0.5625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: rgba(255,255,255,0.4);
  margin-top: 0.2rem;
}
.cc-reviews-hero__stat-sep {
  width: 1px;
  height: 32px;
  background: rgba(255,255,255,0.12);
}

/* ── RIGHT COLUMN ── */
.cc-reviews-hero__right {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}

/* Top picks panel */
.cc-reviews-hero__panel {
  background: rgba(13,17,23,0.88);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 20px;
  padding: 1.25rem;
  box-shadow: 0 24px 60px rgba(0,0,0,0.45);
}
.cc-reviews-hero__panel-header {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.875rem;
}

/* Individual pick row */
.cc-reviews-hero__pick {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 0.875rem;
  border-radius: 12px;
  text-decoration: none;
  transition: background 0.15s, transform 0.15s;
  margin-bottom: 0.375rem;
  border: 1px solid transparent;
}
.cc-reviews-hero__pick:last-of-type { margin-bottom: 0.75rem; }
.cc-reviews-hero__pick:hover {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.08);
  transform: translateX(2px);
}
.cc-reviews-hero__pick--gold {
  background: rgba(245,200,66,0.08);
  border-color: rgba(245,200,66,0.2);
}
.cc-reviews-hero__pick--gold:hover { background: rgba(245,200,66,0.13); }

.cc-reviews-hero__pick-rank {
  font-family: var(--font-display);
  font-size: 1.125rem;
  font-weight: 900;
  font-style: italic;
  color: var(--gold);
  min-width: 1.5rem;
  flex-shrink: 0;
  line-height: 1;
}
.cc-reviews-hero__pick--standard .cc-reviews-hero__pick-rank { color: rgba(255,255,255,0.25); }

.cc-reviews-hero__pick-logo-wrap {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.cc-reviews-hero__pick-logo {
  max-width: 80%;
  max-height: 75%;
  object-fit: contain;
  display: block;
  background: none;
  border: none;
  padding: 0;
}
.cc-reviews-hero__pick-logo--fallback {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 1rem;
  color: var(--gold);
}
.cc-reviews-hero__pick-info { flex: 1; min-width: 0; }
.cc-reviews-hero__pick-name {
  font-size: 0.875rem;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 0.2rem;
}
.cc-reviews-hero__pick-stars {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  flex-wrap: wrap;
}
.cc-reviews-hero__pick-badge {
  font-size: 0.4375rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--gold);
  background: rgba(245,200,66,0.12);
  border: 1px solid rgba(245,200,66,0.25);
  border-radius: 3px;
  padding: 0.1rem 0.3rem;
  margin-left: 0.25rem;
}
.cc-reviews-hero__pick-bonus {
  font-size: 0.6875rem;
  color: rgba(255,255,255,0.45);
  margin-top: 0.125rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-reviews-hero__pick-cta {
  color: rgba(255,255,255,0.25);
  flex-shrink: 0;
  transition: color 0.15s, transform 0.15s;
}
.cc-reviews-hero__pick:hover .cc-reviews-hero__pick-cta {
  color: var(--gold);
  transform: translate(2px,-2px);
}

.cc-reviews-hero__see-all {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: rgba(255,255,255,0.35);
  text-decoration: none;
  padding: 0.625rem;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.06);
  transition: color 0.15s, border-color 0.15s;
}
.cc-reviews-hero__see-all:hover { color: var(--gold); border-color: var(--gold-border); }

/* Feature quick-stats row */
.cc-reviews-hero__features {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 0.5rem;
}
.cc-reviews-hero__feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  background: rgba(13,17,23,0.82);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  padding: 0.875rem 0.625rem;
  text-align: center;
}
.cc-reviews-hero__feature-icon {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-reviews-hero__feature-num {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}
.cc-reviews-hero__feature-label {
  font-size: 0.5rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(255,255,255,0.35);
}

/* Light mode: panel stays dark since it's over a photo */
:root.light .cc-reviews-hero__veil {
  background:
    linear-gradient(90deg, rgba(7,9,15,0.9) 0%, rgba(7,9,15,0.82) 40%, rgba(7,9,15,0.5) 70%, rgba(7,9,15,0.3) 100%),
    linear-gradient(0deg, rgba(7,9,15,0.5) 0%, transparent 60%);
}

/* ═══════════════════════════════════════════════════════════════
   NEWS / NEWSROOM HERO
═══════════════════════════════════════════════════════════════ */

.cc-news-hero {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}

/* Background: newspaper/editorial texture */
.cc-news-hero__bg-img {
  position: absolute;
  inset: 0;
  background-image: url('https://images.unsplash.com/photo-1504711434969-e33886168f5c?w=1400&q=60');
  background-size: cover;
  background-position: center 40%;
  transform: scale(1.04);
  filter: grayscale(0.3);
  transition: transform 8s ease;
}
.cc-news-hero:hover .cc-news-hero__bg-img { transform: scale(1); }

/* Directional veil — dark left, fades right */
.cc-news-hero__veil {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg,
      rgba(7,9,15,0.97) 0%,
      rgba(7,9,15,0.90) 35%,
      rgba(7,9,15,0.60) 65%,
      rgba(7,9,15,0.30) 100%
    ),
    linear-gradient(0deg, rgba(7,9,15,0.55) 0%, transparent 55%);
}

/* Horizontal scan lines — editorial feel */
.cc-news-hero__scan-lines {
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(
    0deg,
    transparent 0px,
    transparent 3px,
    rgba(255,255,255,0.012) 3px,
    rgba(255,255,255,0.012) 4px
  );
  pointer-events: none;
}

/* Inner grid */
.cc-news-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 3.5rem;
  align-items: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
  width: 100%;
}
@media (max-width: 1100px) {
  .cc-news-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-news-hero { min-height: auto; }
  .cc-news-hero__right { max-width: 560px; }
}

/* ── LEFT ── */
.cc-news-hero__kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1.25rem;
}
.cc-news-hero__live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--gold);
  animation: ccPulse 2s ease infinite;
  flex-shrink: 0;
}

.cc-news-hero__title {
  font-size: clamp(2.25rem, 4.5vw, 3.75rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #ffffff;
  line-height: 1.0;
  margin-bottom: 1.25rem;
}
.cc-news-hero__title em {
  color: var(--gold);
  font-style: italic;
  display: block;
}

.cc-news-hero__desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.58);
  line-height: 1.78;
  max-width: 500px;
  margin-bottom: 1.75rem;
}

/* Market data callout */
.cc-news-hero__market-callout {
  background: rgba(245,200,66,0.07);
  border: 1px solid rgba(245,200,66,0.22);
  border-left: 3px solid var(--gold);
  border-radius: 0 10px 10px 0;
  padding: 0.875rem 1.125rem;
  margin-bottom: 1.75rem;
  max-width: 500px;
}
.cc-news-hero__market-callout-label {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.5rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.375rem;
}
.cc-news-hero__market-callout-text {
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.7);
  line-height: 1.55;
  margin-bottom: 0.5rem;
}
.cc-news-hero__market-callout-link {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--gold);
  text-decoration: none;
  transition: gap 0.15s;
}
.cc-news-hero__market-callout-link:hover { gap: 0.5rem; }

/* Stats */
.cc-news-hero__stats {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}
.cc-news-hero__stat { text-align: center; }
.cc-news-hero__stat-num {
  font-family: var(--font-display);
  font-size: 1.625rem;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}
.cc-news-hero__stat-label {
  font-size: 0.5rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: rgba(255,255,255,0.35);
  margin-top: 0.2rem;
}
.cc-news-hero__stat-sep {
  width: 1px;
  height: 28px;
  background: rgba(255,255,255,0.1);
}

/* ── RIGHT ── */
.cc-news-hero__right {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}

/* Latest stories panel */
.cc-news-hero__panel {
  background: rgba(10,13,20,0.90);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 20px;
  padding: 1.25rem;
  box-shadow: 0 24px 60px rgba(0,0,0,0.5);
}
.cc-news-hero__panel-header {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.875rem;
}
.cc-news-hero__panel-time {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  color: rgba(255,255,255,0.25);
  font-weight: 600;
  letter-spacing: 0.05em;
}

/* Story rows */
.cc-news-hero__story {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem;
  border-radius: 12px;
  text-decoration: none;
  transition: background 0.15s, transform 0.15s;
  margin-bottom: 0.375rem;
  border: 1px solid transparent;
  flex-direction: column;
}
.cc-news-hero__story--standard {
  flex-direction: row;
  align-items: center;
}
.cc-news-hero__story:last-of-type { margin-bottom: 0.75rem; }
.cc-news-hero__story:hover {
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.07);
}

/* Featured story has a thumb image */
.cc-news-hero__story--featured {
  border-bottom: 1px solid rgba(255,255,255,0.07);
  border-radius: 10px 10px 0 0;
  margin-bottom: 0;
  padding-bottom: 0.875rem;
}
.cc-news-hero__story-thumb {
  width: 100%;
  height: 110px;
  border-radius: 8px;
  background-size: cover;
  background-position: center;
  margin-bottom: 0.625rem;
  flex-shrink: 0;
}
.cc-news-hero__story-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.3rem;
}
.cc-news-hero__story-cat {
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--gold);
  background: rgba(245,200,66,0.12);
  border-radius: 3px;
  padding: 0.1rem 0.375rem;
}
.cc-news-hero__story-date {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  color: rgba(255,255,255,0.25);
  font-weight: 600;
}
.cc-news-hero__story-title {
  font-size: 0.875rem;
  font-weight: 700;
  color: rgba(255,255,255,0.9);
  line-height: 1.35;
  flex: 1;
}
.cc-news-hero__story--featured .cc-news-hero__story-title {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 800;
  color: #fff;
}
.cc-news-hero__story-excerpt {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.45);
  line-height: 1.6;
  margin-top: 0.375rem;
}
.cc-news-hero__story-body { flex: 1; min-width: 0; }
.cc-news-hero__story-arrow {
  color: rgba(255,255,255,0.2);
  flex-shrink: 0;
  transition: color 0.15s, transform 0.15s;
  margin-top: 2px;
}
.cc-news-hero__story:hover .cc-news-hero__story-arrow {
  color: var(--gold);
  transform: translate(2px,-2px);
}

.cc-news-hero__see-all {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: rgba(255,255,255,0.3);
  text-decoration: none;
  padding: 0.625rem;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.06);
  transition: color 0.15s, border-color 0.15s;
}
.cc-news-hero__see-all:hover { color: var(--gold); border-color: var(--gold-border); }

/* Topic pills */
.cc-news-hero__topics {
  background: rgba(10,13,20,0.82);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  padding: 1rem 1.125rem;
}
.cc-news-hero__topics-label {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.5rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.3);
  margin-bottom: 0.75rem;
}
.cc-news-hero__topic-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}
.cc-news-hero__topic-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.6875rem;
  font-weight: 600;
  color: rgba(255,255,255,0.6);
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 100px;
  padding: 0.25rem 0.625rem;
  text-decoration: none;
  transition: color 0.15s, background 0.15s, border-color 0.15s;
}
.cc-news-hero__topic-pill:hover {
  color: var(--gold);
  background: var(--gold-dim);
  border-color: var(--gold-border);
}
.cc-news-hero__topic-count {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 800;
  color: rgba(255,255,255,0.25);
  background: rgba(255,255,255,0.06);
  border-radius: 100px;
  padding: 0.05rem 0.375rem;
}


/* ═══════════════════════════════════════════════════════════════
   NATIONAL COMPLIANCE HUB HERO
═══════════════════════════════════════════════════════════════ */

.cc-comp-hero {
  position: relative;
  min-height: 600px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
  background: var(--bg-main);
}
.cc-comp-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 50% 70% at 100% 40%, rgba(99,102,241,0.07) 0%, transparent 55%),
    radial-gradient(ellipse 35% 60% at 0%   60%, rgba(16,185,129,0.05) 0%, transparent 50%),
    radial-gradient(ellipse 70% 40% at 50% 100%, rgba(245,200,66,0.03) 0%, transparent 50%),
    linear-gradient(135deg, #07090f 0%, #0a0d16 100%);
}
.cc-comp-hero__grid {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
}
.cc-comp-hero__radial {
  position: absolute;
  right: -80px;
  top: 50%;
  transform: translateY(-50%);
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(99,102,241,0.07) 0%, transparent 65%);
  pointer-events: none;
}

.cc-comp-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 440px;
  gap: 3.5rem;
  align-items: start;
  padding-top: 4rem;
  padding-bottom: 4rem;
  width: 100%;
}
@media (max-width: 1150px) {
  .cc-comp-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-comp-hero { min-height: auto; }
}

/* ── LEFT ── */
.cc-comp-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #10b981;
  background: rgba(16,185,129,0.10);
  border: 1px solid rgba(16,185,129,0.22);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1.25rem;
}
.cc-comp-hero__shield-icon {
  width: 20px; height: 20px;
  background: rgba(16,185,129,0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #10b981;
}
.cc-comp-hero__title {
  font-size: clamp(2rem, 3.8vw, 3.25rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #ffffff;
  line-height: 1.05;
  margin-bottom: 1.125rem;
}
.cc-comp-hero__title em { color: #10b981; font-style: italic; display: block; }
.cc-comp-hero__desc {
  font-size: 0.9375rem;
  color: rgba(255,255,255,0.52);
  line-height: 1.78;
  max-width: 500px;
  margin-bottom: 2rem;
}

/* Status legend */
.cc-comp-hero__legend {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 1.75rem;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 14px;
  overflow: hidden;
  max-width: 480px;
}
.cc-comp-hero__legend-row {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  transition: background 0.15s;
}
.cc-comp-hero__legend-row:last-child { border-bottom: none; }
.cc-comp-hero__legend-row:hover { background: rgba(255,255,255,0.03); }
.cc-comp-hero__legend-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.cc-comp-hero__legend-body { flex: 1; min-width: 0; }
.cc-comp-hero__legend-label {
  font-size: 0.8125rem;
  font-weight: 700;
  display: block;
  margin-bottom: 0.1rem;
}
.cc-comp-hero__legend-detail {
  font-size: 0.625rem;
  color: rgba(255,255,255,0.28);
  display: block;
}
.cc-comp-hero__legend-count {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 900;
  flex-shrink: 0;
}

/* Quick stats */
.cc-comp-hero__quick-stats {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}
.cc-comp-hero__qs { text-align: center; }
.cc-comp-hero__qs-num {
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1;
}
.cc-comp-hero__qs-label {
  font-size: 0.5rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: rgba(255,255,255,0.3);
  margin-top: 0.2rem;
  line-height: 1.4;
}
.cc-comp-hero__qs-sep {
  width: 1px;
  height: 32px;
  background: rgba(255,255,255,0.08);
}

/* ── RIGHT: Province list ── */
.cc-comp-hero__right {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  position: sticky;
  top: 88px;
}
.cc-comp-hero__panel-header {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.125rem;
}
.cc-comp-hero__panel-updated {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  color: rgba(255,255,255,0.2);
  font-weight: 600;
}

/* Province list */
.cc-comp-province-list {
  background: rgba(10,14,22,0.90);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.45);
}
.cc-comp-province {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  text-decoration: none;
  transition: background 0.12s;
  position: relative;
}
.cc-comp-province:last-child { border-bottom: none; }
.cc-comp-province::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--prov-color, transparent);
  opacity: 0;
  transition: opacity 0.15s;
}
.cc-comp-province:hover { background: rgba(255,255,255,0.04); }
.cc-comp-province:hover::before { opacity: 1; }
.cc-comp-province--live:hover     { background: rgba(16,185,129,0.06); }
.cc-comp-province--launching:hover{ background: rgba(245,200,66,0.05); }

.cc-comp-province__code {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 900;
  color: var(--prov-color, rgba(255,255,255,0.4));
  width: 28px;
  flex-shrink: 0;
  letter-spacing: 0.04em;
}
.cc-comp-province__body { flex: 1; min-width: 0; }
.cc-comp-province__name {
  font-size: 0.875rem;
  font-weight: 700;
  color: rgba(255,255,255,0.85);
  line-height: 1.2;
}
.cc-comp-province--grey .cc-comp-province__name { color: rgba(255,255,255,0.4); }
.cc-comp-province__reg {
  font-size: 0.5625rem;
  color: rgba(255,255,255,0.25);
  margin-top: 0.1rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-comp-province__status {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  flex-shrink: 0;
  white-space: nowrap;
}
.cc-comp-province__arrow {
  color: rgba(255,255,255,0.18);
  flex-shrink: 0;
  transition: color 0.15s, transform 0.15s;
}
.cc-comp-province:hover .cc-comp-province__arrow {
  color: var(--prov-color, var(--gold));
  transform: translateX(3px);
}

/* Market link */
.cc-comp-hero__market-link {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  background: rgba(245,200,66,0.05);
  border: 1px solid rgba(245,200,66,0.15);
  border-radius: 12px;
  padding: 0.875rem 1rem;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s;
}
.cc-comp-hero__market-link:hover {
  background: rgba(245,200,66,0.09);
  border-color: var(--gold-border);
}
.cc-comp-hero__market-link-icon {
  width: 34px; height: 34px;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-comp-hero__market-link-label {
  font-size: 0.8125rem;
  font-weight: 700;
  color: rgba(255,255,255,0.8);
  margin-bottom: 0.125rem;
}
.cc-comp-hero__market-link-sub {
  font-size: 0.6875rem;
  color: rgba(255,255,255,0.3);
  line-height: 1.4;
}

:root.light .cc-comp-hero { background: #0a0d16; }

/* ═══════════════════════════════════════════════════════════════
   GAMES ARCHIVE HERO
═══════════════════════════════════════════════════════════════ */

.cc-games-hero {
  position: relative;
  min-height: 580px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}

/* Deep space / arcade atmosphere background */
.cc-games-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%,   rgba(139,92,246,0.08) 0%, transparent 55%),
    radial-gradient(ellipse 50% 80% at 0%   50%,  rgba(236,72,153,0.06) 0%, transparent 50%),
    radial-gradient(ellipse 50% 80% at 100% 50%,  rgba(245,200,66,0.05)  0%, transparent 50%),
    radial-gradient(ellipse 60% 40% at 50% 100%,  rgba(16,185,129,0.05)  0%, transparent 50%),
    linear-gradient(160deg, #07090f 0%, #0c0a18 40%, #07090f 100%);
}

/* Floating particle dots */
.cc-games-hero__particles {
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle, rgba(139,92,246,0.3) 1px, transparent 1px),
    radial-gradient(circle, rgba(236,72,153,0.2) 1px, transparent 1px),
    radial-gradient(circle, rgba(245,200,66,0.25)  1px, transparent 1px);
  background-size: 180px 180px, 120px 120px, 240px 240px;
  background-position: 20px 30px, 80px 90px, 140px 20px;
  pointer-events: none;
  animation: ccParticleFloat 20s ease infinite alternate;
}
@keyframes ccParticleFloat {
  0%   { background-position: 20px 30px, 80px 90px, 140px 20px; }
  100% { background-position: 30px 50px, 90px 70px, 160px 40px; }
}

/* Side glows */
.cc-games-hero__glow-left {
  position: absolute;
  left: -120px; top: 50%;
  transform: translateY(-50%);
  width: 400px; height: 500px;
  background: radial-gradient(circle, rgba(236,72,153,0.12) 0%, transparent 65%);
  pointer-events: none;
}
.cc-games-hero__glow-right {
  position: absolute;
  right: -80px; top: 30%;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(139,92,246,0.10) 0%, transparent 65%);
  pointer-events: none;
}

/* Inner layout */
.cc-games-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 480px;
  gap: 3rem;
  align-items: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
  width: 100%;
}
@media (max-width: 1150px) {
  .cc-games-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-games-hero { min-height: auto; }
  .cc-games-hero__right { max-width: 600px; }
}

/* ── LEFT ── */
.cc-games-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #ec4899;
  background: rgba(236,72,153,0.10);
  border: 1px solid rgba(236,72,153,0.25);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1.25rem;
}

.cc-games-hero__title {
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #ffffff;
  line-height: 1.05;
  margin-bottom: 1.125rem;
}
.cc-games-hero__title em {
  background: linear-gradient(90deg, #ec4899, #8b5cf6);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-style: italic;
  display: block;
}

.cc-games-hero__desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.52);
  line-height: 1.75;
  max-width: 500px;
  margin-bottom: 2rem;
}

/* Stats */
.cc-games-hero__stats {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}
.cc-games-hero__stat { text-align: center; }
.cc-games-hero__stat-num {
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}
.cc-games-hero__stat-label {
  font-size: 0.5rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: rgba(255,255,255,0.3);
  margin-top: 0.2rem;
}
.cc-games-hero__stat-sep {
  width: 1px;
  height: 28px;
  background: rgba(255,255,255,0.08);
}

/* Game type quick-nav chips */
.cc-games-hero__type-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.cc-games-hero__type-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: rgba(255,255,255,0.7);
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 100px;
  padding: 0.35rem 0.75rem;
  text-decoration: none;
  transition: all 0.15s;
}
.cc-games-hero__type-chip:hover {
  background: color-mix(in srgb, var(--chip-color, #ec4899) 12%, transparent);
  border-color: color-mix(in srgb, var(--chip-color, #ec4899) 35%, transparent);
  color: #fff;
  transform: translateY(-2px);
}
.cc-games-hero__type-count {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 800;
  color: rgba(255,255,255,0.25);
  background: rgba(255,255,255,0.05);
  border-radius: 100px;
  padding: 0.05rem 0.35rem;
}

/* ── RIGHT ── */
.cc-games-hero__right {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.cc-games-hero__panel-header {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.125rem;
}
.cc-games-hero__panel-link {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.625rem;
  font-weight: 700;
  color: rgba(255,255,255,0.25);
  text-decoration: none;
  transition: color 0.15s;
}
.cc-games-hero__panel-link:hover { color: var(--gold); }

/* Game mosaic grid */
.cc-games-hero__mosaic {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 140px);
  gap: 6px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.5);
}
/* Make first card span 2 rows (taller feature) */
.cc-games-hero__game-card--0 { grid-row: span 2; }

.cc-games-hero__game-card {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  text-decoration: none;
  background: var(--bg-elevated);
  transition: transform 0.2s;
}
.cc-games-hero__game-card:hover { transform: scale(1.02); z-index: 2; }
.cc-games-hero__game-card:hover .cc-games-hero__game-overlay {
  background: linear-gradient(to top, rgba(0,0,0,0.92) 0%, rgba(0,0,0,0.3) 60%, transparent 100%);
}
.cc-games-hero__game-card:hover .cc-games-hero__game-name { color: #fff; }
.cc-games-hero__game-card:hover::after {
  content: '';
  position: absolute;
  inset: 0;
  border: 2px solid var(--game-color, var(--gold));
  border-radius: 0;
  pointer-events: none;
}

.cc-games-hero__game-thumb {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 0.4s ease;
}
.cc-games-hero__game-card:hover .cc-games-hero__game-thumb { transform: scale(1.06); }
.cc-games-hero__game-thumb--fallback {
  display: flex;
  align-items: center;
  justify-content: center;
}

.cc-games-hero__game-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.80) 0%, rgba(0,0,0,0.15) 50%, transparent 100%);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 0.5rem;
  transition: background 0.2s;
}
.cc-games-hero__game-type {
  align-self: flex-start;
  font-size: 0.4375rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #000;
  border-radius: 3px;
  padding: 0.15rem 0.4rem;
}
.cc-games-hero__game-info { }
.cc-games-hero__game-name {
  font-size: 0.75rem;
  font-weight: 800;
  color: rgba(255,255,255,0.9);
  line-height: 1.25;
  margin-bottom: 0.2rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-games-hero__game-card--0 .cc-games-hero__game-name {
  font-family: var(--font-display);
  font-size: 0.9375rem;
  white-space: normal;
}
.cc-games-hero__game-meta {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-wrap: wrap;
}
.cc-games-hero__game-meta span {
  font-size: 0.5rem;
  font-weight: 700;
  color: rgba(255,255,255,0.45);
}

/* Placeholder grid (no games yet) */
.cc-games-hero__placeholder-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 6px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.5);
}
.cc-games-hero__placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  height: 120px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
  text-decoration: none;
  font-size: 0.6875rem;
  font-weight: 700;
  color: rgba(255,255,255,0.4);
  transition: background 0.15s, color 0.15s;
}
.cc-games-hero__placeholder:hover {
  background: color-mix(in srgb, var(--ph-color, #ec4899) 10%, transparent);
  color: #fff;
}

/* Provider pills */
.cc-games-hero__providers {
  background: rgba(10,14,22,0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 12px;
  padding: 0.875rem 1rem;
}
.cc-games-hero__providers-label {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.4375rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.2);
  margin-bottom: 0.625rem;
}
.cc-games-hero__provider-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}
.cc-games-hero__provider-pill {
  display: inline-flex;
  font-size: 0.6875rem;
  font-weight: 600;
  color: rgba(255,255,255,0.5);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 100px;
  padding: 0.25rem 0.625rem;
  text-decoration: none;
  transition: all 0.15s;
}
.cc-games-hero__provider-pill:hover {
  color: var(--gold);
  background: var(--gold-dim);
  border-color: var(--gold-border);
}

/* Fairness badge */
.cc-games-hero__fairness {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  background: rgba(16,185,129,0.05);
  border: 1px solid rgba(16,185,129,0.15);
  border-radius: 12px;
  padding: 0.875rem 1rem;
}
.cc-games-hero__fairness-icon {
  width: 34px;
  height: 34px;
  background: rgba(16,185,129,0.12);
  border: 1px solid rgba(16,185,129,0.2);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-games-hero__fairness-title {
  font-size: 0.8125rem;
  font-weight: 700;
  color: rgba(255,255,255,0.85);
  margin-bottom: 0.2rem;
}
.cc-games-hero__fairness-sub {
  font-size: 0.6875rem;
  color: rgba(255,255,255,0.3);
  line-height: 1.55;
}

/* ═══════════════════════════════════════════════════════════════
   ONTARIO ONLINE CASINOS HERO
═══════════════════════════════════════════════════════════════ */

.cc-on-hero {
  position: relative;
  min-height: 580px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}

/* Background: dark with Ontario brand emerald/gold atmosphere */
.cc-on-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 80% at 100% 30%,  rgba(16,185,129,0.07)  0%, transparent 55%),
    radial-gradient(ellipse 40% 60% at 0%   70%,  rgba(99,102,241,0.05)  0%, transparent 50%),
    radial-gradient(ellipse 50% 40% at 50% 100%,  rgba(245,200,66,0.04)  0%, transparent 50%),
    radial-gradient(ellipse 30% 50% at 20% 10%,   rgba(16,185,129,0.04)  0%, transparent 45%),
    linear-gradient(150deg, #07090f 0%, #09110e 50%, #07090f 100%);
}

/* Subtle Ontario map watermark in background */
.cc-on-hero__map-watermark {
  position: absolute;
  right: -60px;
  top: 50%;
  transform: translateY(-50%);
  width: 520px;
  height: 380px;
  opacity: 0.028;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 300'%3E%3Cpath d='M 180 40 L 320 30 L 380 80 L 370 150 L 300 200 L 220 220 L 160 200 L 100 160 L 80 100 L 120 60 Z' fill='%23f5c842' stroke='%23f5c842' stroke-width='2'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
  filter: blur(2px);
}

/* Film grain */
.cc-on-hero__grain {
  position: absolute;
  inset: 0;
  opacity: 0.028;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 128px;
  pointer-events: none;
}

.cc-on-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 3.5rem;
  align-items: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
  width: 100%;
}
@media (max-width: 1100px) {
  .cc-on-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-on-hero { min-height: auto; }
}

/* ── LEFT ── */
.cc-on-hero__badges {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.cc-on-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  border-radius: 100px;
  padding: 0.3rem 0.75rem;
}
.cc-on-hero__badge--live {
  color: #10b981;
  background: rgba(16,185,129,0.10);
  border: 1px solid rgba(16,185,129,0.25);
}
.cc-on-hero__badge--agco {
  color: #818cf8;
  background: rgba(99,102,241,0.10);
  border: 1px solid rgba(99,102,241,0.22);
}
.cc-on-hero__badge-pulse {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 6px rgba(16,185,129,0.7);
  animation: ccPulse 2s ease infinite;
  flex-shrink: 0;
}

.cc-on-hero__title {
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #ffffff;
  line-height: 1.05;
  margin-bottom: 1.125rem;
}
.cc-on-hero__title em {
  color: var(--gold);
  font-style: italic;
  display: block;
}

.cc-on-hero__desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.55);
  line-height: 1.78;
  max-width: 520px;
  margin-bottom: 1.75rem;
}

/* Trust strip */
.cc-on-hero__trust-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
  margin-bottom: 1.75rem;
}
.cc-on-hero__trust-item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: rgba(255,255,255,0.5);
}

/* iGO fact bar */
.cc-on-hero__igo-bar {
  margin-bottom: 2rem;
  background: rgba(16,185,129,0.06);
  border: 1px solid rgba(16,185,129,0.15);
  border-left: 3px solid #10b981;
  border-radius: 0 12px 12px 0;
  padding: 1rem 1.25rem;
  max-width: 520px;
}
.cc-on-hero__igo-bar-inner {
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: wrap;
}
.cc-on-hero__igo-fact { flex: 1; min-width: 100px; text-align: center; }
.cc-on-hero__igo-fact-sep {
  width: 1px; height: 28px;
  background: rgba(16,185,129,0.2);
  flex-shrink: 0;
}
.cc-on-hero__igo-fact-label {
  font-size: 0.4375rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255,255,255,0.3);
  margin-bottom: 0.2rem;
}
.cc-on-hero__igo-fact-val {
  font-family: var(--font-display);
  font-size: 1.0625rem;
  font-weight: 900;
  color: #10b981;
  line-height: 1;
}

.cc-on-hero__ctas {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* ── RIGHT ── */
.cc-on-hero__right {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* Market status bar */
.cc-on-hero__market-status {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  background: rgba(16,185,129,0.07);
  border: 1px solid rgba(16,185,129,0.18);
  border-radius: 100px;
  padding: 0.5rem 1rem;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #10b981;
}
.cc-on-hero__market-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 8px rgba(16,185,129,0.6);
  animation: ccPulse 2s ease infinite;
  flex-shrink: 0;
}
.cc-on-hero__market-updated {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  color: rgba(255,255,255,0.2);
  font-weight: 500;
}

/* Picks panel */
.cc-on-hero__panel {
  background: rgba(10,14,22,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid #10b981;
  border-radius: 20px;
  padding: 1.25rem;
  box-shadow: 0 24px 60px rgba(0,0,0,0.45);
}
.cc-on-hero__panel-hdr {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.875rem;
}
.cc-on-hero__panel-count {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  color: rgba(255,255,255,0.2);
}

/* Pick rows */
.cc-on-hero__pick {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  border-radius: 12px;
  text-decoration: none;
  transition: background 0.15s, transform 0.15s;
  margin-bottom: 0.375rem;
  border: 1px solid transparent;
}
.cc-on-hero__pick:last-of-type { margin-bottom: 0.75rem; }
.cc-on-hero__pick--top {
  background: rgba(16,185,129,0.07);
  border-color: rgba(16,185,129,0.15);
}
.cc-on-hero__pick:hover {
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.08);
  transform: translateX(2px);
}
.cc-on-hero__pick--top:hover { background: rgba(16,185,129,0.12); }

.cc-on-hero__pick-rank {
  font-family: var(--font-display);
  font-size: 1.125rem;
  font-weight: 900;
  font-style: italic;
  color: var(--gold);
  min-width: 1.5rem;
  flex-shrink: 0;
  line-height: 1;
}
.cc-on-hero__pick--standard .cc-on-hero__pick-rank { color: rgba(255,255,255,0.2); }

.cc-on-hero__pick-logo {
  width: 40px; height: 40px;
  border-radius: 8px;
  object-fit: contain;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  padding: 4px;
  flex-shrink: 0;
}
.cc-on-hero__pick-logo--fb {
  width: 40px; height: 40px;
  border-radius: 8px;
  background: rgba(16,185,129,0.12);
  border: 1px solid rgba(16,185,129,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 1rem;
  color: #10b981;
  flex-shrink: 0;
}
.cc-on-hero__pick-info { flex: 1; min-width: 0; }
.cc-on-hero__pick-name {
  font-size: 0.875rem;
  font-weight: 700;
  color: rgba(255,255,255,0.9);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 0.2rem;
}
.cc-on-hero__pick-row {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  flex-wrap: wrap;
}
.cc-on-hero__pick-score {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 800;
  color: var(--gold);
  margin-left: 2px;
}
.cc-on-hero__pick-badge {
  font-size: 0.4375rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--gold);
  background: rgba(245,200,66,0.10);
  border: 1px solid rgba(245,200,66,0.2);
  border-radius: 3px;
  padding: 0.1rem 0.3rem;
  margin-left: 3px;
}
.cc-on-hero__pick-bonus {
  font-size: 0.625rem;
  color: rgba(255,255,255,0.35);
  margin-top: 0.1rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-on-hero__pick-lic { flex-shrink: 0; }
.cc-on-hero__pick-arrow {
  color: rgba(255,255,255,0.2);
  flex-shrink: 0;
  transition: color 0.15s, transform 0.15s;
}
.cc-on-hero__pick:hover .cc-on-hero__pick-arrow {
  color: var(--gold);
  transform: translate(2px,-2px);
}

.cc-on-hero__see-all {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: rgba(255,255,255,0.3);
  text-decoration: none;
  padding: 0.625rem;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.06);
  transition: color 0.15s, border-color 0.15s;
}
.cc-on-hero__see-all:hover { color: var(--gold); border-color: var(--gold-border); }

/* Mini chips */
.cc-on-hero__chips {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 0.5rem;
}
.cc-on-hero__chip {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.375rem;
  background: rgba(10,14,22,0.82);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 12px;
  padding: 0.875rem 0.5rem;
  text-align: center;
}
.cc-on-hero__chip-icon {
  width: 32px; height: 32px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cc-on-hero__chip-num {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}
.cc-on-hero__chip-label {
  font-size: 0.4375rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(255,255,255,0.3);
  line-height: 1.3;
}

/* Market data link */
.cc-on-hero__mkt-link {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  background: rgba(245,200,66,0.05);
  border: 1px solid rgba(245,200,66,0.14);
  border-radius: 12px;
  padding: 0.875rem 1rem;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s;
}
.cc-on-hero__mkt-link:hover {
  background: rgba(245,200,66,0.09);
  border-color: var(--gold-border);
}
.cc-on-hero__mkt-icon {
  width: 34px; height: 34px;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-on-hero__mkt-label {
  font-size: 0.8125rem;
  font-weight: 700;
  color: rgba(255,255,255,0.8);
  margin-bottom: 0.125rem;
}
.cc-on-hero__mkt-sub {
  font-size: 0.6875rem;
  color: rgba(255,255,255,0.3);
  line-height: 1.4;
}

:root.light .cc-on-hero,
:root.light .cc-on-hero__bg,
:root.light .cc-on-hero__panel,
:root.light .cc-on-hero__igo-bar,
:root.light .cc-on-hero__chip {
  background: #07090f;
}
:root.light .cc-on-hero {
  --bg-main:       #07090f;
  --bg-card:       #0d1117;
  --bg-elevated:   #111827;
  --text-primary:  #ffffff;
  --text-secondary:#94a3b8;
  --text-muted:    #64748b;
  --text-faint:    #334155;
  --border-subtle: rgba(255,255,255,0.06);
  --border-mid:    rgba(255,255,255,0.10);
  --gold:          #F5C842;
  --gold-dim:      rgba(245,200,66,0.12);
  --gold-border:   rgba(245,200,66,0.22);
}

/* ═══════════════════════════════════════════════════════════════
   CASINO COMPARISON — WINNERS PODIUM HERO
═══════════════════════════════════════════════════════════════ */

.cc-cmp-hero {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}

/* Deep dark atmosphere with warm gold undertone */
.cc-cmp-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 50% at 50% -10%, rgba(245,200,66,0.09) 0%, transparent 55%),
    radial-gradient(ellipse 40% 60% at 0%   60%, rgba(99,102,241,0.05) 0%, transparent 50%),
    radial-gradient(ellipse 40% 60% at 100% 60%, rgba(245,200,66,0.06) 0%, transparent 50%),
    linear-gradient(180deg, #0d0b05 0%, #07090f 40%, #07090f 100%);
}

/* Subtle dot grid */
.cc-cmp-hero__grid {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none;
}

/* Three dramatic stage spotlights from above */
.cc-cmp-hero__spotlight {
  position: absolute;
  top: -80px;
  width: 220px;
  height: 500px;
  pointer-events: none;
  clip-path: polygon(30% 0%, 70% 0%, 100% 100%, 0% 100%);
  opacity: 0.06;
}
.cc-cmp-hero__spotlight--l {
  left: 55%;
  background: linear-gradient(180deg, rgba(192,192,192,1) 0%, transparent 80%);
  transform: translateX(-220px) rotate(-4deg);
}
.cc-cmp-hero__spotlight--c {
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, rgba(245,200,66,1) 0%, transparent 80%);
  opacity: 0.10;
  width: 260px;
}
.cc-cmp-hero__spotlight--r {
  left: 55%;
  transform: translateX(0px) rotate(4deg);
  background: linear-gradient(180deg, rgba(205,127,50,1) 0%, transparent 80%);
}

/* Confetti container */
.cc-cmp-hero__confetti {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

/* Inner layout */
.cc-cmp-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 480px;
  gap: 3rem;
  align-items: center;
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
  width: 100%;
}
@media (max-width: 1100px) {
  .cc-cmp-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-cmp-hero { min-height: auto; }
  .cc-cmp-hero__right { max-width: 520px; }
}

/* ── LEFT ── */
.cc-cmp-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1.25rem;
}

.cc-cmp-hero__title {
  font-size: clamp(2.5rem, 5vw, 3.75rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #ffffff;
  line-height: 1.0;
  margin-bottom: 1.125rem;
}
.cc-cmp-hero__title em {
  color: var(--gold);
  font-style: normal;
  display: block;
}
.cc-cmp-hero__title-vs {
  position: relative;
  display: inline-block;
}
.cc-cmp-hero__title-vs::after {
  content: 'VS';
  position: absolute;
  top: -0.5rem;
  right: -2.5rem;
  font-size: 0.4375rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  color: var(--gold);
  background: rgba(245,200,66,0.15);
  border: 1px solid rgba(245,200,66,0.3);
  border-radius: 4px;
  padding: 0.15rem 0.35rem;
  vertical-align: super;
  font-style: normal;
}

.cc-cmp-hero__desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.52);
  line-height: 1.78;
  max-width: 500px;
  margin-bottom: 1.75rem;
}

/* How it works steps */
.cc-cmp-hero__steps {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 1.75rem;
}
.cc-cmp-hero__step {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.cc-cmp-hero__step-num {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.6875rem;
  font-weight: 900;
  color: var(--gold);
  flex-shrink: 0;
}
.cc-cmp-hero__step-text {
  font-size: 0.75rem;
  font-weight: 600;
  color: rgba(255,255,255,0.5);
  white-space: nowrap;
}
.cc-cmp-hero__step-arrow { flex-shrink: 0; }

/* Stat chips */
.cc-cmp-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.cc-cmp-hero__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: rgba(255,255,255,0.55);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 100px;
  padding: 0.35rem 0.75rem;
}

/* ── RIGHT: Podium ── */
.cc-cmp-hero__right {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.cc-cmp-hero__podium-label {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  align-self: flex-start;
}

/* Podium stage */
.cc-cmp-hero__podium {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 0.625rem;
  width: 100%;
}

.cc-cmp-podium-slot {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
}

/* Casino card floating above the platform */
.cc-cmp-podium-card {
  background: rgba(10,14,22,0.90);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid var(--podium-color, var(--gold));
  border-radius: 16px;
  padding: 1rem 0.875rem 0.875rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  transition: transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 16px 40px rgba(0,0,0,0.4),
              0 0 0 1px rgba(255,255,255,0.04);
}
.cc-cmp-podium-slot--center .cc-cmp-podium-card {
  transform: scale(1.06);
  box-shadow: 0 20px 50px rgba(0,0,0,0.5),
              0 0 40px rgba(245,200,66,0.08),
              0 0 0 1px rgba(245,200,66,0.12);
}
.cc-cmp-podium-card:hover { transform: translateY(-4px); }
.cc-cmp-podium-slot--center .cc-cmp-podium-card:hover { transform: scale(1.06) translateY(-4px); }

.cc-cmp-podium-card__logo {
  width: 52px;
  height: 52px;
  object-fit: contain;
  border-radius: 10px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  padding: 4px;
  margin-bottom: 0.625rem;
}
.cc-cmp-podium-card__logo--fb {
  width: 52px;
  height: 52px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 1.25rem;
  margin-bottom: 0.625rem;
}
.cc-cmp-podium-card__name {
  font-size: 0.8125rem;
  font-weight: 800;
  color: rgba(255,255,255,0.9);
  margin-bottom: 0.375rem;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}
.cc-cmp-podium-card__stars {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.15rem;
  margin-bottom: 0.5rem;
}
.cc-cmp-podium-card__score {
  font-size: 0.5625rem;
  font-weight: 800;
  color: var(--gold);
  margin-left: 3px;
  font-family: var(--font-mono);
}
.cc-cmp-podium-card__badge {
  font-size: 0.4375rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border: 1px solid;
  border-radius: 100px;
  padding: 0.15rem 0.5rem;
  margin-bottom: 0.5rem;
}

/* Medal emoji floating top-right */
.cc-cmp-podium-card__medal {
  position: absolute;
  top: -10px;
  right: -6px;
  font-size: 1.375rem;
  line-height: 1;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,0.4));
}

/* The platform blocks */
.cc-cmp-podium-platform {
  width: 100%;
  border-radius: 8px 8px 4px 4px;
  margin-top: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.cc-cmp-podium-platform::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.1) 0%, transparent 40%);
  pointer-events: none;
}
.cc-cmp-podium-platform--center {
  height: 80px;
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--podium-color) 40%, #1a1500) 0%,
    color-mix(in srgb, var(--podium-color) 25%, #0d0b00) 100%);
  box-shadow: 0 8px 24px rgba(245,200,66,0.2), inset 0 1px 0 rgba(255,255,255,0.15);
}
.cc-cmp-podium-platform--left {
  height: 56px;
  background: linear-gradient(135deg,
    rgba(192,192,192,0.25) 0%,
    rgba(120,120,120,0.15) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
}
.cc-cmp-podium-platform--right {
  height: 40px;
  background: linear-gradient(135deg,
    rgba(205,127,50,0.25) 0%,
    rgba(140,80,20,0.15) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
}
.cc-cmp-podium-platform__rank {
  font-size: 1.25rem;
  font-weight: 900;
  color: var(--podium-color, #fff);
  opacity: 0.8;
  font-style: italic;
  text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}
.cc-cmp-podium-platform--center .cc-cmp-podium-platform__rank {
  font-size: 1.75rem;
  opacity: 1;
}

/* Bottom CTA */
.cc-cmp-hero__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.625rem 1.25rem;
  text-decoration: none;
  transition: background 0.15s, transform 0.15s;
  align-self: center;
}
.cc-cmp-hero__cta:hover {
  background: rgba(245,200,66,0.15);
  transform: translateY(-2px);
}

/* Light mode keeps dark — arena/stage context */
:root.light .cc-cmp-hero { background: #0d0b05; }

/* ═══════════════════════════════════════════════════════════════
   RESPONSIBLE GAMBLING HUB
═══════════════════════════════════════════════════════════════ */

/* ── HERO ── */
.cc-rg-hero {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-rg-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 55% 70% at 100% 40%, rgba(16,185,129,0.07) 0%, transparent 55%),
    radial-gradient(ellipse 40% 60% at 0%   60%, rgba(236,72,153,0.05) 0%, transparent 50%),
    radial-gradient(ellipse 60% 40% at 50% 110%, rgba(16,185,129,0.04) 0%, transparent 50%),
    linear-gradient(135deg, #07090f 0%, #080f0c 100%);
}
.cc-rg-hero__grid {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.032) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
}
/* Concentric pulse rings from right */
.cc-rg-hero__pulse-ring {
  position: absolute;
  right: 380px;
  top: 50%;
  transform: translate(50%, -50%);
  border-radius: 50%;
  border: 1px solid rgba(16,185,129,0.12);
  pointer-events: none;
  animation: cc-rg-ring 4s ease infinite;
}
.cc-rg-hero__pulse-ring--1 { width: 200px; height: 200px; animation-delay: 0s; }
.cc-rg-hero__pulse-ring--2 { width: 340px; height: 340px; animation-delay: 0.8s; opacity:0.6; }
@keyframes cc-rg-ring {
  0%   { transform: translate(50%,-50%) scale(0.8); opacity: 0.5; }
  100% { transform: translate(50%,-50%) scale(1.2); opacity: 0; }
}

.cc-rg-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 3.5rem;
  align-items: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
  width: 100%;
}
@media (max-width: 1100px) {
  .cc-rg-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-rg-hero { min-height: auto; }
}

.cc-rg-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #10b981;
  background: rgba(16,185,129,0.10);
  border: 1px solid rgba(16,185,129,0.22);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1.25rem;
}
.cc-rg-hero__heart-icon {
  width: 20px; height: 20px;
  background: rgba(16,185,129,0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #10b981;
}

.cc-rg-hero__title {
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #ffffff;
  line-height: 1.05;
  margin-bottom: 1.125rem;
}
.cc-rg-hero__title em { color: #10b981; font-style: italic; display: block; }
.cc-rg-hero__desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.54);
  line-height: 1.78;
  max-width: 520px;
  margin-bottom: 1.75rem;
}

.cc-rg-hero__emergency {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  background: rgba(16,185,129,0.07);
  border: 1px solid rgba(16,185,129,0.2);
  border-left: 3px solid #10b981;
  border-radius: 0 12px 12px 0;
  padding: 1rem 1.25rem;
  max-width: 500px;
  margin-bottom: 1.5rem;
}
.cc-rg-hero__emergency-icon {
  width: 36px; height: 36px;
  background: rgba(16,185,129,0.15);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #10b981;
  flex-shrink: 0;
}
.cc-rg-hero__emergency-label {
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: #10b981;
  margin-bottom: 0.3rem;
}
.cc-rg-hero__emergency-numbers { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 0.25rem; }
.cc-rg-hero__emergency-num { font-size: 0.875rem; font-weight: 600; color: rgba(255,255,255,0.8); text-decoration: none; }
.cc-rg-hero__emergency-num:hover { color: #10b981; }
.cc-rg-hero__emergency-sep { color: rgba(255,255,255,0.2); }
.cc-rg-hero__emergency-sub { font-size: 0.625rem; color: rgba(255,255,255,0.3); }

.cc-rg-hero__jumplinks { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.cc-rg-hero__jump {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: rgba(255,255,255,0.5);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 100px;
  padding: 0.35rem 0.75rem;
  text-decoration: none;
  transition: all 0.15s;
}
.cc-rg-hero__jump:hover { color: #10b981; border-color: rgba(16,185,129,0.3); background: rgba(16,185,129,0.06); }

/* Hero right panel */
.cc-rg-hero__panel {
  background: rgba(10,14,22,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid #10b981;
  border-radius: 20px;
  padding: 1.375rem;
  box-shadow: 0 24px 60px rgba(0,0,0,0.45);
}
.cc-rg-hero__panel-hdr {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 1rem;
}
.cc-rg-hero__facts {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 1.125rem;
  padding-bottom: 1.125rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.cc-rg-hero__fact { flex: 1; text-align: center; }
.cc-rg-hero__fact-div { width: 1px; height: 36px; background: rgba(255,255,255,0.07); flex-shrink: 0; }
.cc-rg-hero__fact-num { font-size: 1.75rem; font-weight: 900; line-height: 1; margin-bottom: 0.25rem; }
.cc-rg-hero__fact-label { font-size: 0.5rem; color: rgba(255,255,255,0.35); line-height: 1.4; }
.cc-rg-hero__panel-divider { font-size: 0.4375rem; font-weight: 800; letter-spacing: 0.10em; text-transform: uppercase; color: rgba(255,255,255,0.2); margin: 0.75rem 0 0.625rem; }
.cc-rg-hero__reqs { display: flex; flex-direction: column; gap: 0.375rem; margin-bottom: 0.875rem; }
.cc-rg-hero__req { display: flex; align-items: center; gap: 0.5rem; font-size: 0.75rem; color: rgba(255,255,255,0.55); }
.cc-rg-hero__panel-footer { display: flex; align-items: center; gap: 0.35rem; font-size: 0.5625rem; color: rgba(255,255,255,0.2); border-top: 1px solid rgba(255,255,255,0.05); padding-top: 0.75rem; }

/* ── BODY LAYOUT ── */
.cc-rg-body { background: var(--bg-main); padding: 3.5rem 0 5rem; }
.cc-rg-layout {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 1024px) {
  .cc-rg-layout { grid-template-columns: 1fr; }
  .cc-rg-sidebar { order: -1; display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
}
@media (max-width: 640px) { .cc-rg-sidebar { grid-template-columns: 1fr; } }

/* ── SECTIONS ── */
.cc-rg-section { margin-bottom: 3.5rem; scroll-margin-top: 80px; }
.cc-rg-section-hdr { margin-bottom: 1.5rem; }
.cc-rg-section-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.4rem;
}
.cc-rg-section-eyebrow--emerald { color: #10b981; }
.cc-rg-section-eyebrow--pink    { color: #ec4899; }
.cc-rg-section-eyebrow--gold    { color: var(--gold); }
.cc-rg-section-title {
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.015em;
  margin-bottom: 0.5rem;
}
.cc-rg-section-sub { font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.7; max-width: 640px; }
.cc-rg-prose { font-size: 1rem; color: var(--text-secondary); line-height: 1.8; margin-bottom: 1rem; }

/* Spectrum bar */
.cc-rg-spectrum { margin: 1.5rem 0; }
.cc-rg-spectrum__title { font-size: 0.6875rem; font-weight: 700; color: var(--text-muted); margin-bottom: 0.625rem; }
.cc-rg-spectrum__bar { display: flex; border-radius: 10px; overflow: hidden; height: 70px; gap: 2px; }
.cc-rg-spectrum__seg { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 0.375rem; }
.cc-rg-spectrum__seg-label { font-size: 0.5625rem; font-weight: 800; color: rgba(0,0,0,0.75); margin-bottom: 0.2rem; }
.cc-rg-spectrum__seg-desc { font-size: 0.4375rem; color: rgba(0,0,0,0.6); line-height: 1.3; }
.cc-rg-spectrum__note { font-size: 0.5625rem; color: var(--text-faint); margin-top: 0.375rem; }

/* Warning signs */
.cc-rg-warning-signs { background: var(--bg-card); border: 1px solid var(--border-subtle); border-left: 3px solid var(--gold); border-radius: 0 var(--radius-card) var(--radius-card) 0; padding: 1.25rem 1.5rem; margin-top: 1.5rem; }
.cc-rg-warning-signs__title { display: flex; align-items: center; gap: 0.5rem; font-size: 0.75rem; font-weight: 800; color: var(--gold); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 0.875rem; }
.cc-rg-warning-signs__grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 0.625rem; }
@media (max-width: 600px) { .cc-rg-warning-signs__grid { grid-template-columns: 1fr; } }
.cc-rg-warning-item { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.5; }

/* ── PGSI QUIZ ── */
.cc-pgsi-quiz {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}
.cc-pgsi-quiz__intro {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.375rem 1.5rem;
  background: rgba(236,72,153,0.05);
  border-bottom: 1px solid rgba(236,72,153,0.12);
}
.cc-pgsi-quiz__intro-icon { flex-shrink: 0; margin-top: 0.125rem; }
.cc-pgsi-quiz__intro-title { font-size: 1rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.25rem; }
.cc-pgsi-quiz__intro-sub { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.55; }

.cc-pgsi-question {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--border-subtle);
  transition: background 0.15s;
}
.cc-pgsi-question:hover { background: var(--bg-glass); }
.cc-pgsi-question__num {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 800;
  color: rgba(236,72,153,0.6);
  min-width: 1.5rem;
  padding-top: 0.25rem;
  flex-shrink: 0;
}
.cc-pgsi-question__body { flex: 1; }
.cc-pgsi-question__text { font-size: 0.9375rem; font-weight: 600; color: var(--text-primary); margin-bottom: 0.75rem; line-height: 1.5; }
.cc-pgsi-question__opts { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.cc-pgsi-radio { position: absolute; opacity: 0; pointer-events: none; }
.cc-pgsi-opt { cursor: pointer; }
.cc-pgsi-opt__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  padding: 0.5rem 0.75rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  transition: all 0.15s;
  min-width: 72px;
  text-align: center;
}
.cc-pgsi-opt__btn:hover { border-color: rgba(236,72,153,0.3); background: rgba(236,72,153,0.05); }
.cc-pgsi-opt__btn.is-selected {
  background: rgba(236,72,153,0.12);
  border-color: rgba(236,72,153,0.4);
  box-shadow: 0 0 0 1px rgba(236,72,153,0.2);
}
.cc-pgsi-opt__score { font-family: var(--font-mono); font-size: 1.0625rem; font-weight: 900; color: var(--text-muted); }
.cc-pgsi-opt__btn.is-selected .cc-pgsi-opt__score { color: #ec4899; }
.cc-pgsi-opt__label { font-size: 0.5625rem; font-weight: 700; color: var(--text-muted); white-space: nowrap; }
.cc-pgsi-opt__btn.is-selected .cc-pgsi-opt__label { color: #ec4899; }

.cc-pgsi-quiz__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  background: var(--bg-elevated);
  border-top: 1px solid var(--border-subtle);
}
.cc-pgsi-submit { min-width: 200px; }
.cc-pgsi-submit:disabled { opacity: 0.4; cursor: not-allowed; }
.cc-pgsi-quiz__progress { font-size: 0.75rem; color: var(--text-muted); font-family: var(--font-mono); }

/* PGSI Result */
.cc-pgsi-result { padding: 1.5rem; }
.cc-pgsi-result__score-row {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.cc-pgsi-result__score-wrap {
  position: relative;
  width: 120px;
  flex-shrink: 0;
}
.cc-pgsi-result__arc { width: 120px; display: block; }
.cc-pgsi-result__score-num {
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  font-size: 2.5rem;
  font-weight: 900;
  color: var(--text-primary);
  line-height: 1;
}
.cc-pgsi-result__score-denom {
  position: absolute;
  bottom: 0; right: 8px;
  font-family: var(--font-mono);
  font-size: 0.625rem;
  color: var(--text-muted);
}
.cc-pgsi-result__verdict { flex: 1; }
.cc-pgsi-result__verdict-badge {
  display: inline-flex;
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-radius: 100px;
  padding: 0.2rem 0.625rem;
  margin-bottom: 0.5rem;
}
.cc-pgsi-result__verdict-title { font-size: 1.125rem; font-weight: 800; margin-bottom: 0.5rem; }
.cc-pgsi-result__verdict-text { font-size: 0.9rem; color: var(--text-secondary); line-height: 1.65; }
.cc-pgsi-result__actions { display: flex; flex-wrap: wrap; gap: 0.625rem; margin-bottom: 1rem; }
.cc-pgsi-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.8125rem;
  font-weight: 700;
  padding: 0.625rem 1rem;
  border-radius: 10px;
  text-decoration: none;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  color: var(--text-primary);
  transition: all 0.15s;
}
.cc-pgsi-action-btn:hover { border-color: var(--gold); color: var(--gold); }
.cc-pgsi-action-btn--emergency {
  background: rgba(239,68,68,0.10);
  border-color: rgba(239,68,68,0.3);
  color: #ef4444;
}
.cc-pgsi-action-btn--emergency:hover { background: rgba(239,68,68,0.18); }
.cc-pgsi-result__disclaimer { font-size: 0.6875rem; color: var(--text-muted); line-height: 1.6; margin-bottom: 1rem; }
.cc-pgsi-result__disclaimer a { color: #10b981; }
.cc-pgsi-retake {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--text-muted);
  background: none;
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  padding: 0.5rem 0.875rem;
  cursor: pointer;
  transition: color 0.15s, border-color 0.15s;
}
.cc-pgsi-retake:hover { color: var(--text-primary); border-color: var(--border-mid); }

/* ── TOOLS GRID ── */
.cc-rg-tools-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin-bottom: 2rem; }
@media (max-width: 900px) { .cc-rg-tools-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 540px) { .cc-rg-tools-grid { grid-template-columns: 1fr; } }
.cc-rg-tool-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.25rem;
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.cc-rg-tool-card__icon {
  width: 44px; height: 44px;
  border: 1px solid;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cc-rg-tool-card__title { font-size: 0.9375rem; font-weight: 800; }
.cc-rg-tool-card__desc { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.6; flex: 1; }
.cc-rg-tool-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.6875rem;
  font-weight: 700;
  text-decoration: none;
  margin-top: auto;
}
.cc-rg-tool-card__link:hover { opacity: 0.8; }

/* Blockers */
.cc-rg-blockers { background: var(--bg-elevated); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); padding: 1.5rem; }
.cc-rg-blockers__title { display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; font-weight: 800; color: var(--text-primary); margin-bottom: 0.5rem; }
.cc-rg-blockers__desc { font-size: 0.875rem; color: var(--text-secondary); line-height: 1.65; margin-bottom: 1rem; }
.cc-rg-blockers__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 0.75rem; }
@media (max-width: 700px) { .cc-rg-blockers__grid { grid-template-columns: 1fr; } }
.cc-rg-blocker-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 1rem;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  transition: border-color 0.15s, transform 0.15s;
}
.cc-rg-blocker-card:hover { border-color: var(--gold-border); transform: translateY(-2px); }
.cc-rg-blocker-card__name { font-size: 0.9375rem; font-weight: 800; color: var(--text-primary); }
.cc-rg-blocker-card__desc { font-size: 0.75rem; color: var(--text-secondary); line-height: 1.55; flex: 1; }
.cc-rg-blocker-card__tag { display: inline-flex; font-size: 0.5rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; background: rgba(255,255,255,0.06); color: var(--text-muted); border-radius: 4px; padding: 0.1rem 0.4rem; width: fit-content; }
.cc-rg-blocker-card__tag--free { background: rgba(16,185,129,0.12); color: #10b981; }

/* ── FRAMEWORK ── */
.cc-rg-framework-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
@media (max-width: 900px) { .cc-rg-framework-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 540px) { .cc-rg-framework-grid { grid-template-columns: 1fr; } }
.cc-rg-framework-card { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); padding: 1.25rem; box-shadow: var(--shadow-card); }
.cc-rg-framework-card__num {
  width: 36px; height: 36px;
  border: 1px solid;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 900;
  margin-bottom: 0.75rem;
}
.cc-rg-framework-card__title { font-size: 0.9375rem; font-weight: 800; margin-bottom: 0.5rem; }
.cc-rg-framework-card__desc { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.65; }

/* ── RESOURCES ── */
.cc-rg-resources-region { margin-bottom: 2rem; }
.cc-rg-resources-region__title {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.875rem;
}
.cc-rg-resources-region__dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.cc-rg-resource-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.cc-rg-resource-cards--2col { grid-template-columns: repeat(2,1fr); }
@media (max-width: 860px) { .cc-rg-resource-cards { grid-template-columns: 1fr; } .cc-rg-resource-cards--2col { grid-template-columns: 1fr; } }
.cc-rg-resource-card { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); overflow: hidden; box-shadow: var(--shadow-card); }
.cc-rg-resource-card--featured { border-color: rgba(16,185,129,0.2); }
.cc-rg-resource-card__header { padding: 1rem 1.25rem; border-bottom: 1px solid var(--border-subtle); }
.cc-rg-resource-card__org-name { font-size: 1rem; font-weight: 800; color: var(--text-primary); margin-bottom: 0.125rem; }
.cc-rg-resource-card__org-type { font-size: 0.625rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-muted); }
.cc-rg-resource-card__body { padding: 1rem 1.25rem; }
.cc-rg-resource-card__body p { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.6; margin-bottom: 0.875rem; }
.cc-rg-resource-card__contacts { display: flex; flex-direction: column; gap: 0.375rem; margin-bottom: 0.75rem; }
.cc-rg-contact-item {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text-secondary);
  text-decoration: none;
  transition: color 0.15s;
}
.cc-rg-contact-item--phone { font-weight: 800; color: var(--text-primary); }
.cc-rg-contact-item:hover { color: #10b981; }
.cc-rg-resource-card__tags { display: flex; flex-wrap: wrap; gap: 0.375rem; }
.cc-rg-tag { font-size: 0.5625rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; background: rgba(255,255,255,0.05); color: var(--text-muted); border-radius: 4px; padding: 0.15rem 0.5rem; }
.cc-rg-tag--green { background: rgba(16,185,129,0.12); color: #10b981; }

/* Provincial quick list */
.cc-rg-provincial-quick { background: var(--bg-elevated); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); padding: 1.25rem; margin-top: 1rem; }
.cc-rg-provincial-quick__title { font-size: 0.6875rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); margin-bottom: 0.875rem; }
.cc-rg-provincial-quick__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 0.5rem; }
@media (max-width: 800px) { .cc-rg-provincial-quick__grid { grid-template-columns: repeat(2,1fr); } }
.cc-rg-prov-line { display: flex; flex-direction: column; gap: 0.15rem; padding: 0.625rem; background: var(--bg-glass); border: 1px solid var(--border-subtle); border-radius: 8px; }
.cc-rg-prov-line__prov { font-size: 0.625rem; font-weight: 800; color: var(--text-primary); }
.cc-rg-prov-line__org { font-size: 0.5rem; color: var(--text-muted); }
.cc-rg-prov-line__num { font-family: var(--font-mono); font-size: 0.6875rem; font-weight: 700; color: #10b981; text-decoration: none; }
.cc-rg-prov-line__num:hover { color: var(--gold); }

/* ── FAMILY ── */
.cc-rg-family-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
@media (max-width: 700px) { .cc-rg-family-grid { grid-template-columns: 1fr; } }
.cc-rg-family-steps { display: flex; flex-direction: column; gap: 0.875rem; }
.cc-rg-family-step { display: flex; align-items: flex-start; gap: 0.875rem; }
.cc-rg-family-step__icon { width: 36px; height: 36px; border-radius: 9px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cc-rg-family-step__title { font-size: 0.875rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.2rem; }
.cc-rg-family-step__desc { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.6; }

/* ── SIDEBAR ── */
.cc-rg-sidebar { position: sticky; top: 88px; display: flex; flex-direction: column; gap: 1.125rem; }
.cc-rg-sidebar-card { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); padding: 1.125rem; box-shadow: var(--shadow-card); }
.cc-rg-sidebar-card--emergency { border-color: rgba(16,185,129,0.25); background: linear-gradient(135deg, rgba(16,185,129,0.05) 0%, var(--bg-card) 60%); }
.cc-rg-sidebar-card--quiz { border-color: rgba(236,72,153,0.2); cursor: pointer; transition: border-color 0.15s; }
.cc-rg-sidebar-card--quiz:hover { border-color: rgba(236,72,153,0.4); }
.cc-rg-sidebar-card__hdr { display: flex; align-items: center; gap: 0.4rem; font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.10em; text-transform: uppercase; color: var(--gold); margin-bottom: 0.875rem; }
.cc-rg-sidebar-hotline { display: block; text-decoration: none; background: rgba(16,185,129,0.08); border: 1px solid rgba(16,185,129,0.2); border-radius: 10px; padding: 0.875rem 1rem; margin-bottom: 0.625rem; transition: background 0.15s; }
.cc-rg-sidebar-hotline:hover { background: rgba(16,185,129,0.14); }
.cc-rg-sidebar-hotline__org { font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: #10b981; margin-bottom: 0.125rem; }
.cc-rg-sidebar-hotline__num { font-family: var(--font-mono); font-size: 1.0625rem; font-weight: 900; color: var(--text-primary); }
.cc-rg-sidebar-hotline__meta { font-size: 0.5625rem; color: rgba(255,255,255,0.3); margin-top: 0.125rem; }
.cc-rg-sidebar-link { display: flex; align-items: center; gap: 0.375rem; font-size: 0.75rem; font-weight: 600; color: var(--text-secondary); text-decoration: none; padding: 0.375rem 0; border-bottom: 1px solid var(--border-subtle); transition: color 0.15s; }
.cc-rg-sidebar-link:last-of-type { border-bottom: none; }
.cc-rg-sidebar-link:hover { color: #10b981; }
.cc-rg-sidebar-text { font-size: 0.6875rem; color: var(--text-muted); padding-top: 0.5rem; }
.cc-rg-sidebar-cta-btn { display: block; text-align: center; font-size: 0.75rem; font-weight: 800; color: #ec4899; background: rgba(236,72,153,0.10); border: 1px solid rgba(236,72,153,0.25); border-radius: 8px; padding: 0.5rem; margin-top: 0.375rem; }
.cc-rg-sidebar-tool { display: flex; align-items: center; gap: 0.625rem; padding: 0.5rem 0; border-bottom: 1px solid var(--border-subtle); text-decoration: none; transition: opacity 0.15s; }
.cc-rg-sidebar-tool:last-child { border-bottom: none; }
.cc-rg-sidebar-tool:hover { opacity: 0.8; }
.cc-rg-sidebar-tool__icon { width: 28px; height: 28px; border-radius: 7px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cc-rg-sidebar-tool span { font-size: 0.8125rem; font-weight: 600; color: var(--text-secondary); flex: 1; }
.cc-rg-sidebar-habit { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.75rem; color: var(--text-secondary); padding: 0.4rem 0; border-bottom: 1px solid var(--border-subtle); line-height: 1.4; }
.cc-rg-sidebar-habit:last-child { border-bottom: none; }
.cc-rg-sidebar-habit__num { font-family: var(--font-mono); font-size: 0.5625rem; font-weight: 800; color: var(--gold); flex-shrink: 0; padding-top: 0.1rem; }

:root.light .cc-rg-hero { background: #07090f; }
:root.light .cc-pgsi-quiz { background: #ffffff; }

/* ═══════════════════════════════════════════════════════════════
   GUIDES HUB — NEW HERO
═══════════════════════════════════════════════════════════════ */

.cc-guides-new-hero {
  position: relative;
  min-height: 540px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}

/* Background: dark with multi-colour knowledge palette */
.cc-guides-new-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 50% 70% at 100% 30%, rgba(245,200,66,0.07) 0%, transparent 55%),
    radial-gradient(ellipse 40% 60% at 0%   70%, rgba(99,102,241,0.05) 0%, transparent 50%),
    radial-gradient(ellipse 60% 40% at 50% 110%, rgba(16,185,129,0.04) 0%, transparent 50%),
    radial-gradient(ellipse 30% 50% at 80%   0%, rgba(236,72,153,0.04) 0%, transparent 45%),
    linear-gradient(145deg, #07090f 0%, #0a0b10 50%, #07090f 100%);
}

/* Dot grid */
.cc-guides-new-hero__grid {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
}

/* Three angled beams of light from top */
.cc-guides-new-hero__beam {
  position: absolute;
  top: -40px;
  width: 180px;
  height: 420px;
  pointer-events: none;
  clip-path: polygon(25% 0%, 75% 0%, 100% 100%, 0% 100%);
  opacity: 0;
  animation: cc-beam-fade 6s ease infinite;
}
.cc-guides-new-hero__beam--l {
  right: 52%;
  background: linear-gradient(180deg, rgba(16,185,129,0.6) 0%, transparent 80%);
  animation-delay: 0s;
}
.cc-guides-new-hero__beam--c {
  right: 38%;
  width: 220px;
  background: linear-gradient(180deg, rgba(245,200,66,0.7) 0%, transparent 80%);
  animation-delay: 1.5s;
}
.cc-guides-new-hero__beam--r {
  right: 24%;
  background: linear-gradient(180deg, rgba(99,102,241,0.5) 0%, transparent 80%);
  animation-delay: 3s;
}
@keyframes cc-beam-fade {
  0%, 100% { opacity: 0; }
  20%, 60%  { opacity: 0.045; }
}

/* Inner two-column layout */
.cc-guides-new-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 3.5rem;
  align-items: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
  width: 100%;
}
@media (max-width: 1100px) {
  .cc-guides-new-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-guides-new-hero { min-height: auto; }
}

/* ── LEFT ── */
.cc-guides-new-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1.25rem;
}

.cc-guides-new-hero__title {
  font-size: clamp(2.5rem, 5vw, 3.75rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #ffffff;
  line-height: 1.0;
  margin-bottom: 1.125rem;
}
.cc-guides-new-hero__title em {
  /* Animated gradient text — shifts through the four guide colours */
  background: linear-gradient(90deg, #10b981, #6366f1, #f59e0b, #ec4899, #10b981);
  background-size: 300% 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-style: italic;
  display: block;
  animation: cc-guides-gradient 8s linear infinite;
}
@keyframes cc-guides-gradient {
  0%   { background-position: 0% 50%; }
  100% { background-position: 300% 50%; }
}

.cc-guides-new-hero__desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.54);
  line-height: 1.78;
  max-width: 500px;
  margin-bottom: 1.75rem;
}

/* Guide chips (four featured links) */
.cc-guides-new-hero__chips {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin-bottom: 1.75rem;
  max-width: 500px;
}
.cc-guides-hero-chip {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-left: 2px solid var(--chip-c, var(--gold));
  border-radius: 0 10px 10px 0;
  padding: 0.625rem 0.75rem;
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s, transform 0.15s;
}
.cc-guides-hero-chip:hover {
  background: color-mix(in srgb, var(--chip-c, var(--gold)) 8%, transparent);
  border-right-color: color-mix(in srgb, var(--chip-c, var(--gold)) 30%, transparent);
  border-top-color: color-mix(in srgb, var(--chip-c, var(--gold)) 30%, transparent);
  border-bottom-color: color-mix(in srgb, var(--chip-c, var(--gold)) 30%, transparent);
  transform: translateX(3px);
}
.cc-guides-hero-chip:hover .cc-guides-hero-chip__arrow {
  color: var(--chip-c, var(--gold)) !important;
  transform: translateX(3px);
}
.cc-guides-hero-chip__icon {
  width: 30px; height: 30px;
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-guides-hero-chip__body { flex: 1; min-width: 0; }
.cc-guides-hero-chip__title {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  color: rgba(255,255,255,0.85);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-guides-hero-chip__time {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.5rem;
  color: rgba(255,255,255,0.25);
  font-weight: 600;
  margin-top: 0.1rem;
}

.cc-guides-new-hero__ctas { display: flex; gap: 0.75rem; flex-wrap: wrap; }

/* ── RIGHT ── */
.cc-guides-new-hero__right {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* Stat strip */
.cc-guides-new-hero__stats {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  background: rgba(245,200,66,0.06);
  border: 1px solid rgba(245,200,66,0.15);
  border-radius: 100px;
  padding: 0.75rem 1.25rem;
}
.cc-guides-new-hero__stat { text-align: center; flex: 1; }
.cc-guides-new-hero__stat-num {
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
  display: block;
}
.cc-guides-new-hero__stat-label {
  font-size: 0.4375rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255,255,255,0.3);
  margin-top: 0.15rem;
}
.cc-guides-new-hero__stat-sep {
  width: 1px; height: 28px;
  background: rgba(245,200,66,0.2);
  flex-shrink: 0;
}

/* Curriculum preview panel */
.cc-guides-new-hero__panel {
  background: rgba(10,14,22,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid var(--gold);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.45), 0 0 40px rgba(245,200,66,0.04);
}
.cc-guides-new-hero__panel-hdr {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  padding: 0.875rem 1.125rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.cc-guides-new-hero__panel-badge {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 800;
  color: rgba(255,255,255,0.25);
  background: rgba(255,255,255,0.05);
  border-radius: 100px;
  padding: 0.1rem 0.5rem;
}

/* Individual guide rows inside the panel */
.cc-guides-hero-row,
div.cc-guides-hero-row {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.625rem 1.125rem;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  text-decoration: none;
  transition: background 0.12s;
  position: relative;
}
a.cc-guides-hero-row:hover { background: rgba(255,255,255,0.04); }
a.cc-guides-hero-row:hover::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 2px;
  background: var(--row-color, var(--gold));
}
.cc-guides-hero-row--locked { opacity: 0.45; cursor: default; }

.cc-guides-hero-row__num {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 900;
  min-width: 20px;
  flex-shrink: 0;
}
.cc-guides-hero-row__icon {
  width: 24px; height: 24px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-guides-hero-row__title {
  font-size: 0.8125rem;
  font-weight: 600;
  color: rgba(255,255,255,0.85);
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-guides-hero-row__time {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 700;
  color: rgba(255,255,255,0.25);
  flex-shrink: 0;
}

.cc-guides-new-hero__panel-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.75rem;
  font-size: 0.6875rem;
  font-weight: 700;
  color: rgba(255,255,255,0.25);
  text-decoration: none;
  transition: color 0.15s;
  border-top: 1px solid rgba(255,255,255,0.04);
}
.cc-guides-new-hero__panel-footer:hover { color: var(--gold); }

/* Trust line */
.cc-guides-new-hero__trust {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.cc-guides-new-hero__trust-item {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.625rem;
  font-weight: 600;
  color: rgba(255,255,255,0.3);
}
.cc-guides-new-hero__trust-sep {
  width: 3px; height: 3px;
  border-radius: 50%;
  background: rgba(255,255,255,0.15);
}

:root.light .cc-guides-new-hero { background: #07090f; }

/* ═══════════════════════════════════════════════════════════════
   PODCASTS HUB — FULL SYSTEM
   Hero · Sticky Player · Author Tiles · Episode Grids · Lists
   Sidebar · Section Headers · Category Nav
═══════════════════════════════════════════════════════════════ */

/* ── STICKY AUDIO PLAYER ─────────────────────────────────────── */
.cc-pod-player {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 9999;
  background: rgba(10,13,20,0.96);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-top: 1px solid rgba(245,200,66,0.25);
  box-shadow: 0 -8px 40px rgba(0,0,0,0.55);
  animation: cc-pod-player-in 0.3s cubic-bezier(0.16,1,0.3,1);
}
@keyframes cc-pod-player-in {
  from { transform: translateY(100%); }
  to   { transform: translateY(0); }
}
.cc-pod-player__inner {
  display: flex;
  align-items: center;
  gap: 1rem;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0.625rem 1.5rem;
}

/* Thumbnail */
.cc-pod-player__thumb-wrap { flex-shrink: 0; }
.cc-pod-player__thumb {
  width: 44px; height: 44px;
  border-radius: 8px;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,0.1);
  display: block;
}

/* Title/cat */
.cc-pod-player__info { min-width: 0; flex: 0 0 220px; }
.cc-pod-player__ep-cat {
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: var(--gold);
  margin-bottom: 0.15rem;
}
.cc-pod-player__ep-title {
  font-size: 0.8125rem;
  font-weight: 700;
  color: rgba(255,255,255,0.9);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Transport controls */
.cc-pod-player__controls {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-shrink: 0;
}
.cc-pod-player__btn {
  background: none;
  border: none;
  cursor: pointer;
  color: rgba(255,255,255,0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.15s, transform 0.15s;
  padding: 0.25rem;
  position: relative;
}
.cc-pod-player__btn:hover { color: #ffffff; }
.cc-pod-player__btn--skip {
  flex-direction: column;
  gap: 0;
}
.cc-pod-player__btn--skip span {
  font-family: var(--font-mono);
  font-size: 0.4375rem;
  font-weight: 900;
  line-height: 1;
  color: rgba(255,255,255,0.35);
  margin-top: -3px;
}
.cc-pod-player__btn--play {
  width: 40px; height: 40px;
  background: var(--gold);
  border-radius: 50%;
  color: #000;
  flex-shrink: 0;
}
.cc-pod-player__btn--play:hover {
  background: #ffd83d;
  transform: scale(1.08);
}

/* Progress bar */
.cc-pod-player__progress-wrap {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}
.cc-pod-player__time {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 700;
  color: rgba(255,255,255,0.35);
  flex-shrink: 0;
  min-width: 30px;
}
.cc-pod-player__progress {
  flex: 1;
  -webkit-appearance: none;
  appearance: none;
  height: 4px;
  border-radius: 2px;
  background: rgba(255,255,255,0.1);
  outline: none;
  cursor: pointer;
}
.cc-pod-player__progress::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 14px; height: 14px;
  border-radius: 50%;
  background: var(--gold);
  cursor: pointer;
  box-shadow: 0 0 6px rgba(245,200,66,0.5);
}
.cc-pod-player__progress::-webkit-slider-runnable-track {
  background: linear-gradient(to right, var(--gold) var(--progress, 0%), rgba(255,255,255,0.1) var(--progress, 0%));
}

/* Right controls */
.cc-pod-player__right {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
}
.cc-pod-player__vol-wrap {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}
.cc-pod-player__vol {
  -webkit-appearance: none;
  appearance: none;
  width: 64px; height: 3px;
  border-radius: 2px;
  background: rgba(255,255,255,0.15);
  cursor: pointer;
  outline: none;
}
.cc-pod-player__vol::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 12px; height: 12px;
  border-radius: 50%;
  background: rgba(255,255,255,0.7);
  cursor: pointer;
}
.cc-pod-player__close {
  background: none;
  border: none;
  cursor: pointer;
  color: rgba(255,255,255,0.3);
  padding: 0.25rem;
  transition: color 0.15s;
}
.cc-pod-player__close:hover { color: rgba(255,255,255,0.8); }

@media (max-width: 640px) {
  .cc-pod-player__info { display: none; }
  .cc-pod-player__vol-wrap { display: none; }
}

/* ── HERO ────────────────────────────────────────────────────── */
.cc-pod-hero {
  position: relative;
  min-height: 580px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}

/* Deep black with warm amber-gold atmosphere */
.cc-pod-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 55% 60% at 100% 20%, rgba(245,200,66,0.09) 0%, transparent 55%),
    radial-gradient(ellipse 40% 50% at 0%   80%, rgba(245,200,66,0.05) 0%, transparent 50%),
    radial-gradient(ellipse 50% 40% at 50% 110%, rgba(99,102,241,0.04) 0%, transparent 50%),
    linear-gradient(135deg, #07090f 0%, #0c0a05 100%);
}

/* Animated waveform bars across the full width */
.cc-pod-hero__waveform {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 120px;
  display: flex;
  align-items: flex-end;
  gap: 3px;
  padding: 0 1rem;
  pointer-events: none;
}
.cc-pod-hero__wave-bar {
  flex: 1;
  background: rgba(245,200,66,0.12);
  border-radius: 2px 2px 0 0;
  animation: cc-wave-bounce 1.4s ease-in-out infinite alternate;
  transform-origin: bottom;
}
@keyframes cc-wave-bounce {
  0%   { transform: scaleY(0.3); opacity: 0.4; }
  100% { transform: scaleY(1.0); opacity: 0.85; }
}

/* Gradient veil over waveform so it fades into content */
.cc-pod-hero__veil {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 140px;
  background: linear-gradient(to top, var(--bg-main) 0%, transparent 100%);
  pointer-events: none;
}

/* Inner two-col grid */
.cc-pod-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 4rem;
  align-items: center;
  padding-top: 4rem;
  padding-bottom: 5rem;
  width: 100%;
}
@media (max-width: 1100px) {
  .cc-pod-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-pod-hero { min-height: auto; }
}

/* Eyebrow */
.cc-pod-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1.25rem;
}
/* Pulsing live dot */
.cc-pod-hero__live-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #ef4444;
  box-shadow: 0 0 0 0 rgba(239,68,68,0.6);
  animation: cc-live-pulse 1.8s ease infinite;
  flex-shrink: 0;
}
@keyframes cc-live-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(239,68,68,0.6); }
  70%  { box-shadow: 0 0 0 7px rgba(239,68,68,0); }
  100% { box-shadow: 0 0 0 0 rgba(239,68,68,0); }
}

.cc-pod-hero__title {
  font-size: clamp(2.5rem, 5vw, 3.75rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #ffffff;
  line-height: 1.0;
  margin-bottom: 1.125rem;
}
.cc-pod-hero__title em {
  color: var(--gold);
  font-style: italic;
  display: block;
}
.cc-pod-hero__desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.52);
  line-height: 1.78;
  max-width: 480px;
  margin-bottom: 1.75rem;
}

/* Stats row */
.cc-pod-hero__stats {
  display: inline-flex;
  align-items: center;
  gap: 1.25rem;
  background: rgba(245,200,66,0.06);
  border: 1px solid rgba(245,200,66,0.15);
  border-radius: 100px;
  padding: 0.625rem 1.25rem;
  margin-bottom: 1.75rem;
}
.cc-pod-hero__stat { text-align: center; }
.cc-pod-hero__stat-num { font-size: 1.25rem; font-weight: 900; color: var(--gold); line-height: 1; }
.cc-pod-hero__stat-label { font-size: 0.4375rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: rgba(255,255,255,0.25); margin-top: 0.1rem; }
.cc-pod-hero__stat-sep { width: 1px; height: 24px; background: rgba(245,200,66,0.2); }

/* Platform pills */
.cc-pod-hero__platforms-label {
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: rgba(255,255,255,0.25);
  margin-bottom: 0.625rem;
}
.cc-pod-hero__platform-pills { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.cc-pod-platform-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.6875rem;
  font-weight: 700;
  color: rgba(255,255,255,0.55);
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 100px;
  padding: 0.375rem 0.75rem;
  text-decoration: none;
  transition: all 0.15s;
}
.cc-pod-platform-pill:hover { color: #fff; border-color: rgba(255,255,255,0.2); }
.cc-pod-platform-pill--spotify { color: #1DB954; border-color: rgba(29,185,84,0.25); background: rgba(29,185,84,0.07); }
.cc-pod-platform-pill--spotify:hover { background: rgba(29,185,84,0.14); }

/* Hero right — featured episode card */
.cc-pod-hero__featured {
  background: rgba(10,14,22,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid var(--gold);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.5), 0 0 60px rgba(245,200,66,0.05);
}
.cc-pod-hero__featured-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: var(--gold);
  padding: 0.75rem 1.25rem 0;
}

/* Artwork with play overlay */
.cc-pod-hero__featured-art {
  position: relative;
  aspect-ratio: 16/7;
  overflow: hidden;
  margin: 0.75rem 1.25rem;
  border-radius: 12px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
}
.cc-pod-hero__featured-img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.cc-pod-hero__featured-art:hover .cc-pod-hero__featured-img { transform: scale(1.04); }
.cc-pod-hero__featured-placeholder {
  width: 100%; height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(245,200,66,0.06) 0%, transparent 60%);
}
.cc-pod-hero__featured-play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0);
  border: none;
  cursor: pointer;
  transition: background 0.2s;
}
.cc-pod-hero__featured-play::before {
  content: '';
  width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--gold);
  position: absolute;
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 0.2s, transform 0.2s;
}
.cc-pod-hero__featured-play i { position: relative; z-index: 1; opacity: 0; transition: opacity 0.2s; color: #000; }
.cc-pod-hero__featured-art:hover .cc-pod-hero__featured-play::before { opacity: 1; transform: scale(1); }
.cc-pod-hero__featured-art:hover .cc-pod-hero__featured-play i { opacity: 1; }
.cc-pod-hero__featured-play.is-playing::before { opacity: 1; transform: scale(1); }
.cc-pod-hero__featured-play.is-playing i { opacity: 1; }

/* Info below artwork */
.cc-pod-hero__featured-info { padding: 0 1.25rem 1.25rem; }
.cc-pod-hero__featured-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.625rem;
  font-size: 0.625rem;
  font-weight: 700;
  color: rgba(255,255,255,0.3);
  margin-bottom: 0.625rem;
}
.cc-pod-hero__featured-cat {
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.1rem 0.5rem;
  font-size: 0.5625rem;
}
.cc-pod-hero__featured-title {
  font-size: 1rem;
  font-weight: 800;
  color: #ffffff;
  line-height: 1.3;
  margin-bottom: 0.5rem;
}
.cc-pod-hero__featured-excerpt {
  font-size: 0.8125rem;
  color: rgba(255,255,255,0.45);
  line-height: 1.65;
  margin-bottom: 0.875rem;
}
.cc-pod-hero__featured-host {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(255,255,255,0.06);
}
.cc-pod-hero__featured-host-img {
  width: 32px; height: 32px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,0.1);
  flex-shrink: 0;
}
.cc-pod-hero__featured-host-fb {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8125rem;
  font-weight: 900;
  color: var(--gold);
  flex-shrink: 0;
}
.cc-pod-hero__featured-host-name { font-size: 0.75rem; font-weight: 700; color: rgba(255,255,255,0.8); }
.cc-pod-hero__featured-host-role { font-size: 0.5rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: rgba(255,255,255,0.25); }

/* ── BODY LAYOUT ─────────────────────────────────────────────── */
.cc-pod-body {
  background: var(--bg-main);
  padding: 3.5rem 0 6rem;
}
.cc-pod-layout {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 1024px) {
  .cc-pod-layout { grid-template-columns: 1fr; }
  .cc-pod-sidebar { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
}
@media (max-width: 600px) {
  .cc-pod-sidebar { grid-template-columns: 1fr; }
}

/* ── SECTION HEADERS ─────────────────────────────────────────── */
.cc-pod-section { margin-bottom: 3.5rem; scroll-margin-top: 80px; }
.cc-pod-section-hdr {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  margin-bottom: 1.375rem;
  padding-bottom: 0.875rem;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-pod-section-eyebrow {
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--text-muted);
  width: 100%;
}
.cc-pod-section-eyebrow--gold  { color: var(--gold); }
.cc-pod-section-eyebrow--pink  { color: #ec4899; }
.cc-pod-section-title {
  font-size: 1.375rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.015em;
  flex: 1;
}
.cc-pod-section-link {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--gold);
  text-decoration: none;
  margin-left: auto;
  transition: opacity 0.15s;
}
.cc-pod-section-link:hover { opacity: 0.7; }

/* ── AUTHOR TILES ────────────────────────────────────────────── */
.cc-pod-authors-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 1rem;
}
.cc-pod-author-tile {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.375rem 1rem;
  text-align: center;
  box-shadow: var(--shadow-card);
  transition: border-color 0.15s, transform 0.2s;
}
.cc-pod-author-tile:hover {
  border-color: var(--gold-border);
  transform: translateY(-3px);
  box-shadow: var(--shadow-card), var(--shadow-gold);
}
.cc-pod-author-tile__img-wrap {
  position: relative;
  width: 80px; height: 80px;
  margin: 0 auto 0.875rem;
}
.cc-pod-author-tile__img {
  width: 80px; height: 80px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--gold-border);
  display: block;
}
.cc-pod-author-tile__fb {
  width: 80px; height: 80px;
  border-radius: 50%;
  background: var(--gold-dim);
  border: 2px solid var(--gold-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
  font-weight: 900;
  color: var(--gold);
}
/* Mic badge */
.cc-pod-author-tile__mic {
  position: absolute;
  bottom: 0; right: 0;
  width: 22px; height: 22px;
  background: var(--gold);
  border-radius: 50%;
  border: 2px solid var(--bg-card);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
}
.cc-pod-author-tile__name {
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 0.2rem;
}
.cc-pod-author-tile__role {
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: var(--gold);
  margin-bottom: 0.625rem;
}
.cc-pod-author-tile__bio {
  font-size: 0.75rem;
  color: var(--text-secondary);
  line-height: 1.6;
}

/* ── EPISODE GRID (featured 3-up) ────────────────────────────── */
.cc-pod-ep-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.cc-pod-ep-grid--featured {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 860px) { .cc-pod-ep-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 500px) { .cc-pod-ep-grid { grid-template-columns: 1fr; } }

/* Episode card */
.cc-pod-ep-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-top: 2px solid var(--ep-color, var(--gold));
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.15s;
}
.cc-pod-ep-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card), 0 12px 30px rgba(0,0,0,0.25);
  border-color: var(--ep-color, var(--gold));
}

/* Artwork panel */
.cc-pod-ep-card__art {
  position: relative;
  aspect-ratio: 16/9;
  background: rgba(255,255,255,0.03);
  overflow: hidden;
}
.cc-pod-ep-card__art--sm { aspect-ratio: 16/8; }
.cc-pod-ep-card__art-img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}
.cc-pod-ep-card:hover .cc-pod-ep-card__art-img { transform: scale(1.04); }
.cc-pod-ep-card__art-fallback {
  width: 100%; height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, color-mix(in srgb, var(--ep-color,var(--gold)) 6%, transparent) 0%, transparent 70%);
}

/* Play button on card art */
.cc-pod-ep-card__play {
  position: absolute;
  bottom: 0.625rem; right: 0.625rem;
  width: 38px; height: 38px;
  border-radius: 50%;
  background: var(--gold);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
  box-shadow: 0 4px 14px rgba(245,200,66,0.45);
  transition: transform 0.15s, box-shadow 0.15s;
  opacity: 0;
}
.cc-pod-ep-card:hover .cc-pod-ep-card__play { opacity: 1; }
.cc-pod-ep-card__play:hover { transform: scale(1.12); box-shadow: 0 6px 20px rgba(245,200,66,0.6); }
.cc-pod-ep-card__play.is-playing {
  opacity: 1;
  background: #ffffff;
  color: #000;
}

/* Smaller play for compact cards */
.cc-pod-ep-card__play--sm {
  width: 30px; height: 30px;
  bottom: 0.4rem; right: 0.4rem;
}

/* Category badge on art */
.cc-pod-ep-card__cat-badge {
  position: absolute;
  top: 0.5rem; left: 0.5rem;
  font-size: 0.4375rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #000;
  border-radius: 100px;
  padding: 0.15rem 0.5rem;
}

/* Body */
.cc-pod-ep-card__body { padding: 0.875rem 1rem; flex: 1; display: flex; flex-direction: column; gap: 0.375rem; }
.cc-pod-ep-card__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  font-family: var(--font-mono);
  font-size: 0.5rem;
  font-weight: 700;
  color: rgba(255,255,255,0.28);
}
.cc-pod-ep-card__meta i { opacity: 0.5; }
.cc-pod-ep-card__title {
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--text-primary);
  line-height: 1.3;
  text-decoration: none;
  display: block;
  transition: color 0.15s;
}
.cc-pod-ep-card__title:hover { color: var(--ep-color, var(--gold)); }
.cc-pod-ep-card__title--sm { font-size: 0.8125rem; }
.cc-pod-ep-card__excerpt {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.65;
  flex: 1;
  margin-top: 0.125rem;
}
.cc-pod-ep-card__host {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.625rem;
  font-weight: 700;
  color: rgba(255,255,255,0.3);
  margin-top: auto;
  padding-top: 0.5rem;
  border-top: 1px solid var(--border-subtle);
}

/* Compact card variant */
.cc-pod-ep-card--compact .cc-pod-ep-card__body { padding: 0.75rem; }

/* ── EPISODE LIST ROWS ───────────────────────────────────────── */
.cc-pod-ep-list { display: flex; flex-direction: column; gap: 0; }
.cc-pod-list-row {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 0.875rem 0;
  border-bottom: 1px solid var(--border-subtle);
  transition: background 0.12s;
  position: relative;
}
.cc-pod-list-row::before {
  content: '';
  position: absolute;
  left: -1rem; top: 0; bottom: 0;
  width: 0;
  background: var(--ep-color, var(--gold));
  opacity: 0.08;
  transition: width 0.2s;
  pointer-events: none;
}
.cc-pod-list-row:hover::before { width: calc(100% + 2rem); }
.cc-pod-list-row:last-child { border-bottom: none; }

.cc-pod-list-row__rank {
  font-family: var(--font-mono);
  font-size: 1.125rem;
  font-weight: 900;
  color: rgba(255,255,255,0.07);
  min-width: 28px;
  flex-shrink: 0;
  text-align: right;
}
.cc-pod-list-row__art { flex-shrink: 0; }
.cc-pod-list-row__img {
  width: 52px; height: 52px;
  border-radius: 8px;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,0.07);
  display: block;
}
.cc-pod-list-row__art-fb {
  width: 52px; height: 52px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,0.06);
}
.cc-pod-list-row__body { flex: 1; min-width: 0; }
.cc-pod-list-row__cat {
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  margin-bottom: 0.2rem;
}
.cc-pod-list-row__title {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--text-primary);
  text-decoration: none;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.15s;
}
.cc-pod-list-row__title:hover { color: var(--ep-color, var(--gold)); }
.cc-pod-list-row__meta {
  display: flex;
  gap: 0.75rem;
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  color: rgba(255,255,255,0.28);
  margin-top: 0.25rem;
}
.cc-pod-list-row__play {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.5);
  flex-shrink: 0;
  transition: background 0.15s, color 0.15s, border-color 0.15s, transform 0.15s;
}
.cc-pod-list-row__play:hover {
  background: var(--ep-color, var(--gold));
  border-color: transparent;
  color: #000;
  transform: scale(1.08);
}
.cc-pod-list-row__play.is-playing {
  background: var(--ep-color, var(--gold));
  border-color: transparent;
  color: #000;
}

/* ── SIDEBAR ─────────────────────────────────────────────────── */
.cc-pod-sidebar {
  position: sticky;
  top: 88px;
  display: flex;
  flex-direction: column;
  gap: 1.125rem;
}
.cc-pod-sidebar-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.125rem;
  box-shadow: var(--shadow-card);
}
.cc-pod-sidebar-card--sub {
  border-color: rgba(245,200,66,0.2);
  background: linear-gradient(135deg, rgba(245,200,66,0.04) 0%, var(--bg-card) 50%);
}
.cc-pod-sidebar-card__hdr {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 0.75rem;
}
.cc-pod-sidebar-card__desc {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 0.875rem;
}

/* Subscribe links */
.cc-pod-sub-links { display: flex; flex-direction: column; gap: 0.375rem; }
.cc-pod-sub-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text-secondary);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 8px;
  padding: 0.5rem 0.75rem;
  text-decoration: none;
  transition: all 0.15s;
}
.cc-pod-sub-link:hover { color: var(--text-primary); border-color: var(--border-mid); }
.cc-pod-sub-link--spotify { color: #1DB954; border-color: rgba(29,185,84,0.2); background: rgba(29,185,84,0.05); }
.cc-pod-sub-link--spotify:hover { background: rgba(29,185,84,0.1); }

/* News items */
.cc-pod-news-list { display: flex; flex-direction: column; gap: 0; }
.cc-pod-news-item {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  padding: 0.625rem 0;
  border-bottom: 1px solid var(--border-subtle);
  text-decoration: none;
  transition: background 0.12s;
}
.cc-pod-news-item:last-child { border-bottom: none; }
.cc-pod-news-item:hover { opacity: 0.8; }
.cc-pod-news-item__thumb {
  width: 48px; height: 48px;
  border-radius: 6px;
  object-fit: cover;
  flex-shrink: 0;
  border: 1px solid var(--border-subtle);
}
.cc-pod-news-item__thumb--fb {
  background: var(--bg-elevated);
  display: flex;
  align-items: center;
  justify-content: center;
}
.cc-pod-news-item__body { flex: 1; min-width: 0; }
.cc-pod-news-item__cat {
  font-size: 0.4375rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: var(--gold);
  margin-bottom: 0.15rem;
}
.cc-pod-news-item__title {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.cc-pod-news-item__date {
  font-family: var(--font-mono);
  font-size: 0.4375rem;
  color: var(--text-muted);
  margin-top: 0.2rem;
}
.cc-pod-sidebar-all-link {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.3rem;
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--gold);
  text-decoration: none;
  padding-top: 0.625rem;
  transition: opacity 0.15s;
}
.cc-pod-sidebar-all-link:hover { opacity: 0.7; }

/* Category nav */
.cc-pod-sidebar-cat {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border-subtle);
  text-decoration: none;
  transition: opacity 0.15s;
}
.cc-pod-sidebar-cat:last-child { border-bottom: none; }
.cc-pod-sidebar-cat:hover { opacity: 0.8; }
.cc-pod-sidebar-cat__icon {
  width: 28px; height: 28px;
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-pod-sidebar-cat span {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text-secondary);
  flex: 1;
}
.cc-pod-sidebar-cat__count {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 800;
  color: var(--text-muted);
  background: var(--bg-elevated);
  border-radius: 100px;
  padding: 0.1rem 0.4rem;
  flex: none !important;
}

/* Light mode: keep player/hero dark */
:root.light .cc-pod-hero  { background: #07090f; }
:root.light .cc-pod-player { background: rgba(10,13,20,0.98); }

/* ═══════════════════════════════════════════════════════════════
   BONUS CALCULATOR — HERO + ARTICLE
═══════════════════════════════════════════════════════════════ */

/* ── HERO ── */
.cc-bcalc-hero {
  position: relative;
  min-height: 480px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-bcalc-hero__bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 55% 60% at 100% 25%, rgba(245,200,66,0.08) 0%, transparent 55%),
    radial-gradient(ellipse 35% 50% at 0%   75%, rgba(99,102,241,0.05) 0%, transparent 50%),
    linear-gradient(135deg, #07090f 0%, #0b0a05 100%);
}
.cc-bcalc-hero__grid {
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
}
.cc-bcalc-hero__glow {
  position: absolute; top: -60px;
  width: 300px; height: 300px;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(80px);
  opacity: 0.12;
}
.cc-bcalc-hero__glow--l { left: -60px; background: #6366f1; }
.cc-bcalc-hero__glow--r { right: -40px; top: -40px; background: var(--gold); }

.cc-bcalc-hero__inner {
  position: relative; z-index: 2;
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 3.5rem;
  align-items: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
  width: 100%;
}
@media (max-width: 1024px) {
  .cc-bcalc-hero__inner { grid-template-columns: 1fr; gap: 2rem; }
  .cc-bcalc-hero { min-height: auto; }
}

.cc-bcalc-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1.25rem;
}
.cc-bcalc-hero__title {
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #fff;
  line-height: 1.05;
  margin-bottom: 1.125rem;
}
.cc-bcalc-hero__title em { color: var(--gold); font-style: italic; display: block; }
.cc-bcalc-hero__desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.52);
  line-height: 1.78;
  max-width: 500px;
  margin-bottom: 1.5rem;
}
.cc-bcalc-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}
.cc-bcalc-hero__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: rgba(255,255,255,0.5);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 100px;
  padding: 0.3rem 0.625rem;
}

.cc-bcalc-hero__panel {
  background: rgba(10,14,22,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid var(--gold);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.45);
}
.cc-bcalc-hero__panel-hdr {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
  padding: 0.875rem 1.125rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.cc-bcalc-hero__scenario {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1.125rem;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  transition: background 0.12s;
}
.cc-bcalc-hero__scenario:last-child { border-bottom: none; }
.cc-bcalc-hero__scenario:hover { background: rgba(255,255,255,0.03); }
.cc-bcalc-hero__scenario-offer { font-size: 0.8125rem; font-weight: 700; color: rgba(255,255,255,0.8); flex: 1; }
.cc-bcalc-hero__scenario-details {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  font-family: var(--font-mono);
  font-size: 0.5rem;
  color: rgba(255,255,255,0.25);
}
.cc-bcalc-hero__scenario-ev {
  font-family: var(--font-mono);
  font-size: 0.875rem;
  font-weight: 900;
  min-width: 56px;
  text-align: right;
}
.cc-bcalc-hero__panel-footer {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.5rem;
  color: rgba(255,255,255,0.18);
  padding: 0.625rem 1.125rem;
  border-top: 1px solid rgba(255,255,255,0.04);
}

/* ── ARTICLE ── */
.cc-bcalc-article {
  max-width: 780px;
  margin: 4rem auto 0;
  padding-bottom: 4rem;
}
.cc-bcalc-article__header { margin-bottom: 2.5rem; }
.cc-bcalc-article-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1rem;
}
.cc-bcalc-article__title {
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.015em;
  line-height: 1.15;
  margin-bottom: 0.875rem;
}
.cc-bcalc-article__intro {
  font-size: 1.0625rem;
  color: var(--text-secondary);
  line-height: 1.78;
  border-left: 3px solid var(--gold-border);
  padding-left: 1.25rem;
}

/* TOC */
.cc-bcalc-toc {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.25rem 1.375rem;
  margin-bottom: 2.5rem;
  box-shadow: var(--shadow-card);
}
.cc-bcalc-toc__title {
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: var(--gold);
  margin-bottom: 0.625rem;
}
.cc-bcalc-toc__list {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  counter-reset: toc;
}
.cc-bcalc-toc__list li { counter-increment: toc; }
.cc-bcalc-toc__list a {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text-secondary);
  text-decoration: none;
  transition: color 0.15s;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.cc-bcalc-toc__list a::before {
  content: counter(toc, decimal-leading-zero);
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 800;
  color: var(--gold);
  opacity: 0.7;
  flex-shrink: 0;
}
.cc-bcalc-toc__list a:hover { color: var(--gold); }

/* Sections */
.cc-bcalc-sec { margin-bottom: 3rem; scroll-margin-top: 80px; }
.cc-bcalc-sec__title {
  font-size: 1.375rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.015em;
  margin-bottom: 1rem;
  padding-bottom: 0.625rem;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-bcalc-sec p {
  font-size: 1rem;
  color: var(--text-secondary);
  line-height: 1.8;
  margin-bottom: 1rem;
}
.cc-bcalc-sec p strong { color: var(--text-primary); }

/* Callouts */
.cc-bcalc-callout {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  border-radius: 12px;
  padding: 1rem 1.25rem;
  margin: 1.25rem 0;
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--text-secondary);
}
.cc-bcalc-callout strong { color: var(--text-primary); display: block; margin-bottom: 0.25rem; }
.cc-bcalc-callout--warning {
  background: rgba(245,158,11,0.07);
  border: 1px solid rgba(245,158,11,0.2);
  border-left: 3px solid #f59e0b;
}
.cc-bcalc-callout--insight {
  background: rgba(245,200,66,0.06);
  border: 1px solid rgba(245,200,66,0.18);
  border-left: 3px solid var(--gold);
}

/* Tables */
.cc-bcalc-table-wrap { margin: 1.25rem 0; overflow-x: auto; }
.cc-bcalc-table-title {
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  margin-bottom: 0.625rem;
}
.cc-bcalc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.cc-bcalc-table thead th {
  background: var(--bg-elevated);
  padding: 0.625rem 0.875rem;
  text-align: left;
  font-size: 0.625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--text-muted);
  border-bottom: 1px solid var(--border-subtle);
}
.cc-bcalc-table tbody td {
  padding: 0.625rem 0.875rem;
  color: var(--text-secondary);
  border-bottom: 1px solid rgba(255,255,255,0.04);
}
.cc-bcalc-table tbody tr:hover td { background: rgba(255,255,255,0.02); }

/* Badges in tables */
.cc-bcalc-badge {
  display: inline-flex;
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-radius: 4px;
  padding: 0.15rem 0.5rem;
}
.cc-bcalc-badge--green  { background: rgba(16,185,129,0.15); color: #10b981; }
.cc-bcalc-badge--yellow { background: rgba(245,200,66,0.15); color: var(--gold); }
.cc-bcalc-badge--orange { background: rgba(249,115,22,0.15); color: #f97316; }
.cc-bcalc-badge--red    { background: rgba(239,68,68,0.15);  color: #ef4444; }

/* Anatomy visual */
.cc-bcalc-visual {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.375rem;
  margin: 1.25rem 0;
}
.cc-bcalc-visual__title {
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  margin-bottom: 1.25rem;
}
.cc-bcalc-anatomy {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.cc-bcalc-anatomy__item {
  flex: 1;
  min-width: 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.375rem;
  padding: 1rem 0.5rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
}
.cc-bcalc-anatomy__icon {
  width: 40px; height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cc-bcalc-anatomy__label { font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); }
.cc-bcalc-anatomy__val { font-size: 1.125rem; font-weight: 900; color: var(--text-primary); }
.cc-bcalc-anatomy__sub { font-size: 0.5rem; color: var(--text-faint); }
.cc-bcalc-anatomy__arrow { flex-shrink: 0; }

/* EV bar chart */
.cc-bcalc-ev-visual {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.375rem;
  margin: 1.25rem 0;
}
.cc-bcalc-ev-visual__title {
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  margin-bottom: 1rem;
}
.cc-bcalc-ev-visual__note { font-size: 0.625rem; color: var(--text-faint); margin-top: 0.75rem; }
.cc-bcalc-ev-bars { display: flex; flex-direction: column; gap: 0.5rem; }
.cc-bcalc-ev-row { display: flex; align-items: center; gap: 0.75rem; }
.cc-bcalc-ev-row__label {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 800;
  color: var(--text-muted);
  min-width: 28px;
  text-align: right;
}
.cc-bcalc-ev-row__bar-wrap {
  flex: 1;
  height: 18px;
  background: rgba(255,255,255,0.04);
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.cc-bcalc-ev-row__bar--pos {
  height: 100%;
  border-radius: 4px;
  opacity: 0.85;
}
.cc-bcalc-ev-row__bar--neg {
  height: 100%;
  border-radius: 4px;
  opacity: 0.75;
}
.cc-bcalc-ev-row__val {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 800;
  min-width: 52px;
  text-align: right;
}

/* Bonus types */
.cc-bcalc-bonus-types { display: flex; flex-direction: column; gap: 0.875rem; margin-top: 1rem; }
.cc-bcalc-bonus-type {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.125rem;
  box-shadow: var(--shadow-card);
}
.cc-bcalc-bonus-type__icon {
  width: 44px; height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-bcalc-bonus-type__body { flex: 1; }
.cc-bcalc-bonus-type__name { font-size: 1rem; font-weight: 800; color: var(--text-primary); margin-bottom: 0.2rem; }
.cc-bcalc-bonus-type__rating { font-size: 0.75rem; font-weight: 800; margin-bottom: 0.375rem; }
.cc-bcalc-bonus-type__desc { font-size: 0.875rem; color: var(--text-secondary); line-height: 1.65; }

/* Traps */
.cc-bcalc-traps { display: flex; flex-direction: column; gap: 0.75rem; margin-top: 1rem; }
.cc-bcalc-trap {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  padding: 1rem 1.125rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
}
.cc-bcalc-trap__num {
  font-family: var(--font-mono);
  font-size: 1rem;
  font-weight: 900;
  min-width: 32px;
  height: 32px;
  border: 1px solid;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.6875rem;
}
.cc-bcalc-trap__icon { padding-top: 2px; flex-shrink: 0; }
.cc-bcalc-trap__body { flex: 1; }
.cc-bcalc-trap__title { font-size: 0.9375rem; font-weight: 800; color: var(--text-primary); margin-bottom: 0.3rem; }
.cc-bcalc-trap__desc { font-size: 0.875rem; color: var(--text-secondary); line-height: 1.65; }

/* Verdict box */
.cc-bcalc-verdict-box {
  background: var(--bg-card);
  border: 1px solid rgba(16,185,129,0.2);
  border-radius: var(--radius-card);
  padding: 1.375rem;
  margin-top: 1.5rem;
}
.cc-bcalc-verdict-box__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 1rem;
}
.cc-bcalc-checklist { display: flex; flex-direction: column; gap: 0.5rem; }
.cc-bcalc-checklist__item {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.875rem;
  padding: 0.375rem 0;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  line-height: 1.5;
}
.cc-bcalc-checklist__item:last-child { border-bottom: none; }
.cc-bcalc-checklist__item--good { color: rgba(255,255,255,0.65); }
.cc-bcalc-checklist__item--good i { color: #10b981; margin-top: 2px; }
.cc-bcalc-checklist__item--bad  { color: rgba(255,255,255,0.5); }
.cc-bcalc-checklist__item--bad  i { color: #ef4444; margin-top: 2px; }

:root.light .cc-bcalc-hero { background: #07090f; }

/* ── BONUS CALC HERO — AGCO Compliance Notice ── */
.cc-bcalc-hero__agco {
  position: relative;
  z-index: 3;
  background: rgba(239, 68, 68, 0.07);
  border-top: 1px solid rgba(239, 68, 68, 0.18);
  margin-top: auto;
  width: 100%;
  transition: background 0.2s;
}
.cc-bcalc-hero__agco:hover {
  background: rgba(239, 68, 68, 0.11);
}
.cc-bcalc-hero__agco-inner {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.cc-bcalc-hero__agco-icon {
  flex-shrink: 0;
  color: rgba(239, 68, 68, 0.6);
  margin-top: 1px;
  transition: color 0.2s;
}
.cc-bcalc-hero__agco:hover .cc-bcalc-hero__agco-icon {
  color: rgba(239, 68, 68, 0.9);
}
.cc-bcalc-hero__agco-text {
  font-size: 0.6875rem;
  line-height: 1.65;
  color: rgba(239, 68, 68, 0.55);
  margin: 0;
  transition: color 0.2s;
}
.cc-bcalc-hero__agco:hover .cc-bcalc-hero__agco-text {
  color: rgba(239, 68, 68, 0.9);
}
.cc-bcalc-hero__agco-text strong {
  color: rgba(239, 68, 68, 0.75);
  font-weight: 700;
  transition: color 0.2s;
}
.cc-bcalc-hero__agco:hover .cc-bcalc-hero__agco-text strong {
  color: #ef4444;
}

/* Ensure hero is a flex column so the notice sticks to the bottom */
.cc-bcalc-hero {
  flex-direction: column;
  justify-content: space-between;
}

/* ═══════════════════════════════════════════════════════════════
   NEWSROOM BODY — Editorial Layout
═══════════════════════════════════════════════════════════════ */

.cc-newsroom-body {
  background: var(--bg-main);
  padding: 2.5rem 0 5rem;
}

/* Two-column: main content + sidebar */
.cc-newsroom-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 1080px) {
  .cc-newsroom-layout { grid-template-columns: 1fr; }
  .cc-newsroom-sidebar { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
}
@media (max-width: 600px) {
  .cc-newsroom-sidebar { grid-template-columns: 1fr; }
}

/* ── Filter bar ── */
.cc-newsroom-filter-bar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 1.75rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-newsroom-filter-bar__label {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: var(--text-muted);
  flex-shrink: 0;
}
.cc-newsroom-filter-bar__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}
.cc-filter-toggle--active {
  background: var(--gold-dim) !important;
  border-color: var(--gold-border) !important;
  color: var(--gold) !important;
}
.cc-newsroom-filter-count {
  font-family: var(--font-mono);
  font-size: 0.4375rem;
  font-weight: 800;
  background: rgba(255,255,255,0.08);
  border-radius: 100px;
  padding: 0.05rem 0.35rem;
  margin-left: 0.2rem;
  color: var(--text-faint);
}

/* ── Newsroom grid ── */
.cc-newsroom-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.125rem;
}
@media (max-width: 860px) { .cc-newsroom-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 520px) { .cc-newsroom-grid { grid-template-columns: 1fr; } }

/* ── Featured article (full-width) ── */
.cc-newsroom-featured {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transition: border-color 0.15s, box-shadow 0.2s;
}
.cc-newsroom-featured:hover {
  border-color: var(--gold-border);
  box-shadow: var(--shadow-card), var(--shadow-gold);
}
@media (max-width: 700px) {
  .cc-newsroom-featured { grid-template-columns: 1fr; }
}
.cc-newsroom-featured__thumb {
  display: block;
  overflow: hidden;
  position: relative;
}
.cc-newsroom-featured__thumb img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
  min-height: 260px;
}
.cc-newsroom-featured:hover .cc-newsroom-featured__thumb img { transform: scale(1.04); }
.cc-newsroom-featured__thumb-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent 60%, rgba(0,0,0,0.15) 100%);
  pointer-events: none;
}
.cc-newsroom-featured__body {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.cc-newsroom-featured__meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.cc-newsroom-cat-badge {
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.15rem 0.5rem;
}
.cc-newsroom-date {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 700;
  color: var(--text-muted);
}
.cc-newsroom-featured__title {
  font-size: 1.375rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.015em;
  line-height: 1.25;
}
.cc-newsroom-featured__title a { color: inherit; text-decoration: none; }
.cc-newsroom-featured__title a:hover { color: var(--gold); }
.cc-newsroom-featured__excerpt {
  font-size: 0.9375rem;
  color: var(--text-secondary);
  line-height: 1.7;
  flex: 1;
}
.cc-newsroom-featured__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border-subtle);
  margin-top: auto;
}
.cc-newsroom-featured__read {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.75rem;
  font-weight: 800;
  color: var(--gold);
  text-decoration: none;
  transition: gap 0.15s;
}
.cc-newsroom-featured__read:hover { gap: 0.6rem; }

/* Byline */
.cc-newsroom-byline { display: flex; align-items: center; gap: 0.5rem; }
.cc-newsroom-byline__img {
  width: 32px; height: 32px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,0.1);
  flex-shrink: 0;
}
.cc-newsroom-byline__fb {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8125rem;
  font-weight: 900;
  color: var(--gold);
  flex-shrink: 0;
}
.cc-newsroom-byline__name { font-size: 0.8125rem; font-weight: 700; color: var(--text-primary); }
.cc-newsroom-byline__role { font-size: 0.5rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); }

/* Small byline for cards */
.cc-newsroom-byline--sm { gap: 0.375rem; }
.cc-newsroom-byline__img--sm { width: 20px; height: 20px; }
.cc-newsroom-byline__fb--sm { width: 20px; height: 20px; font-size: 0.5rem; }
.cc-newsroom-byline__name--sm { font-size: 0.6875rem; font-weight: 600; color: var(--text-muted); }

/* ── Standard article card ── */
.cc-newsroom-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow-card);
  transition: border-color 0.15s, transform 0.2s, box-shadow 0.2s;
}
.cc-newsroom-card:hover {
  border-color: var(--gold-border);
  transform: translateY(-3px);
  box-shadow: var(--shadow-card), var(--shadow-gold);
}
.cc-newsroom-card__thumb {
  display: block;
  aspect-ratio: 16/9;
  overflow: hidden;
  position: relative;
  background: var(--bg-elevated);
}
.cc-newsroom-card__thumb img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.cc-newsroom-card:hover .cc-newsroom-card__thumb img { transform: scale(1.05); }
.cc-newsroom-card__cat-badge {
  position: absolute;
  top: 0.625rem; left: 0.625rem;
  font-size: 0.4375rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #000;
  background: var(--gold);
  border-radius: 100px;
  padding: 0.15rem 0.5rem;
}
.cc-newsroom-card__body {
  padding: 1rem 1.125rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.cc-newsroom-card__meta { display: flex; align-items: center; gap: 0.5rem; }
.cc-newsroom-card__title {
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--text-primary);
  line-height: 1.3;
}
.cc-newsroom-card__title a { color: inherit; text-decoration: none; }
.cc-newsroom-card__title a:hover { color: var(--gold); }
.cc-newsroom-card__excerpt {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.6;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.cc-newsroom-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 0.625rem;
  border-top: 1px solid var(--border-subtle);
  margin-top: 0.25rem;
}
.cc-newsroom-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.625rem;
  font-weight: 800;
  color: var(--gold);
  text-decoration: none;
  transition: gap 0.15s;
}
.cc-newsroom-card__link:hover { gap: 0.45rem; }

.cc-newsroom-empty { grid-column: 1/-1; text-align: center; padding: 4rem; color: var(--text-muted); font-size: 0.9375rem; }

/* Pagination override */
.cc-newsroom-pagination { padding-top: 2rem; }

/* ── SIDEBAR ── */
.cc-newsroom-sidebar {
  position: sticky;
  top: 88px;
  display: flex;
  flex-direction: column;
  gap: 1.125rem;
}

/* Widget base */
.cc-newsroom-widget {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}

/* Market widget header — special with live dot */
.cc-newsroom-widget__hdr {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1rem;
  background: rgba(245,200,66,0.05);
  border-bottom: 1px solid rgba(245,200,66,0.12);
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--gold);
}
.cc-newsroom-widget__hdr-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 0 0 rgba(16,185,129,0.5);
  animation: ccPulse 2s infinite;
  flex-shrink: 0;
}
.cc-newsroom-widget__hdr-period {
  margin-left: auto;
  font-size: 0.4375rem;
  color: rgba(255,255,255,0.25);
  font-weight: 700;
}
/* Plain widget header */
.cc-newsroom-widget__hdr--plain {
  background: rgba(255,255,255,0.02);
  border-bottom-color: var(--border-subtle);
}
.cc-newsroom-widget__hdr-link {
  margin-left: auto;
  font-size: 0.5625rem;
  font-weight: 700;
  color: var(--gold);
  text-decoration: none;
  opacity: 0.7;
  transition: opacity 0.15s;
}
.cc-newsroom-widget__hdr-link:hover { opacity: 1; }

.cc-newsroom-widget__market-headline {
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.65;
  padding: 0.875rem 1rem 0;
  margin: 0;
}

/* Trend rows */
.cc-newsroom-widget__trend {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  padding: 0.625rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-newsroom-widget__trend:last-of-type { border-bottom: none; }
.cc-newsroom-widget__trend-icon { flex-shrink: 0; margin-top: 2px; }
.cc-newsroom-widget__trend-label { font-size: 0.75rem; font-weight: 700; color: var(--text-primary); }
.cc-newsroom-widget__trend-val { font-size: 0.6875rem; color: var(--text-secondary); margin-top: 0.1rem; }

.cc-newsroom-widget__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  margin: 0.875rem 1rem;
  padding: 0.625rem;
  font-size: 0.75rem;
  font-weight: 800;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.15s;
}
.cc-newsroom-widget__cta:hover { background: rgba(245,200,66,0.15); }

/* Podcast rows */
.cc-newsroom-pod-row {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.625rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  transition: background 0.12s;
}
.cc-newsroom-pod-row:last-child { border-bottom: none; }
.cc-newsroom-pod-row:hover { background: rgba(255,255,255,0.03); }
.cc-newsroom-pod-row__art {
  width: 40px; height: 40px;
  border-radius: 7px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.cc-newsroom-pod-row__body { flex: 1; min-width: 0; }
.cc-newsroom-pod-row__cat { font-size: 0.4375rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.09em; margin-bottom: 0.15rem; }
.cc-newsroom-pod-row__title {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--text-primary);
  text-decoration: none;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.15s;
}
.cc-newsroom-pod-row__title:hover { color: var(--gold); }
.cc-newsroom-pod-row__dur {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  font-family: var(--font-mono);
  font-size: 0.4375rem;
  color: var(--text-faint);
  margin-top: 0.2rem;
}
.cc-newsroom-pod-row__play {
  width: 30px; height: 30px;
  border-radius: 50%;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.4);
  flex-shrink: 0;
  transition: background 0.15s, color 0.15s, transform 0.15s;
}
.cc-newsroom-pod-row__play:hover {
  background: var(--ep-color, var(--gold));
  border-color: transparent;
  color: #000;
  transform: scale(1.1);
}

/* Tool rows */
.cc-newsroom-tool-row {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.625rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  text-decoration: none;
  transition: background 0.12s;
}
.cc-newsroom-tool-row:last-child { border-bottom: none; }
.cc-newsroom-tool-row:hover { background: rgba(255,255,255,0.03); }
.cc-newsroom-tool-row:hover .cc-newsroom-tool-row__arrow {
  color: var(--gold) !important;
  transform: translateX(3px);
}
.cc-newsroom-tool-row__icon {
  width: 34px; height: 34px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-newsroom-tool-row__body { flex: 1; min-width: 0; }
.cc-newsroom-tool-row__name { font-size: 0.8125rem; font-weight: 700; color: var(--text-primary); }
.cc-newsroom-tool-row__desc { font-size: 0.625rem; color: var(--text-muted); margin-top: 0.1rem; }

/* Casino rows */
.cc-newsroom-casino-row {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.5rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  text-decoration: none;
  transition: background 0.12s;
}
.cc-newsroom-casino-row:last-child { border-bottom: none; }
.cc-newsroom-casino-row:hover { background: rgba(255,255,255,0.03); }
.cc-newsroom-casino-row__rank {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 900;
  color: rgba(255,255,255,0.15);
  flex-shrink: 0;
  min-width: 18px;
}
.cc-newsroom-casino-row__logo {
  width: 36px; height: 36px;
  object-fit: contain;
  border-radius: 6px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.07);
  padding: 3px;
  flex-shrink: 0;
}
.cc-newsroom-casino-row__logo--fb {
  width: 36px; height: 36px;
  border-radius: 6px;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.625rem;
  font-weight: 900;
  color: var(--gold);
  flex-shrink: 0;
}
.cc-newsroom-casino-row__body { flex: 1; min-width: 0; }
.cc-newsroom-casino-row__name { font-size: 0.8125rem; font-weight: 700; color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cc-newsroom-casino-row__for { font-size: 0.5rem; color: var(--text-muted); margin-top: 0.1rem; }
.cc-newsroom-casino-row__rating {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 800;
  color: var(--gold);
  flex-shrink: 0;
}

/* Press widget */
.cc-newsroom-widget--press {
  border-color: rgba(255,255,255,0.06);
}
.cc-newsroom-widget__press-text {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.65;
  padding: 0.875rem 1rem 0;
  margin: 0;
}
.cc-newsroom-widget__press-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  padding: 0.875rem 1rem;
}
.cc-newsroom-widget__press-link {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--text-secondary);
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 100px;
  padding: 0.3rem 0.625rem;
  text-decoration: none;
  transition: border-color 0.15s, color 0.15s;
}
.cc-newsroom-widget__press-link:hover { color: var(--gold); border-color: var(--gold-border); }
.cc-newsroom-widget__press-badge {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.5rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: rgba(255,255,255,0.2);
  padding: 0 1rem 0.875rem;
}

/* Market widget special border */
.cc-newsroom-widget--market {
  border-color: rgba(245,200,66,0.15);
}

/* Light mode */
:root.light .cc-newsroom-featured { background: #fff; }
:root.light .cc-newsroom-card     { background: #fff; }
:root.light .cc-newsroom-widget   { background: #fff; }

/* ═══════════════════════════════════════════════════════════════
   ABOUT PAGE — HERO + FULL LAYOUT
═══════════════════════════════════════════════════════════════ */

/* ── HERO ── */
.cc-about-hero {
  position: relative;
  min-height: 600px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-about-hero__bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 50% 60% at 100% 20%, rgba(245,200,66,0.09) 0%, transparent 55%),
    radial-gradient(ellipse 40% 50% at 0%   80%, rgba(16,185,129,0.05) 0%, transparent 50%),
    radial-gradient(ellipse 40% 40% at 50% 110%, rgba(99,102,241,0.04) 0%, transparent 50%),
    linear-gradient(145deg, #07090f 0%, #0a0c0a 100%);
}
.cc-about-hero__grid {
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.032) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
}
.cc-about-hero__glow {
  position: absolute;
  width: 400px; height: 400px;
  border-radius: 50%;
  filter: blur(100px);
  opacity: 0.08;
  pointer-events: none;
}
.cc-about-hero__glow--l { left: -100px; bottom: 0; background: #10b981; }
.cc-about-hero__glow--r { right: -80px; top: -80px; background: var(--gold); }

/* Floating badge decorations */
.cc-about-hero__floaters {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.cc-about-hero__floater {
  position: absolute;
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: rgba(255,255,255,0.06);
  white-space: nowrap;
  animation: cc-floater-drift 20s linear infinite;
  animation-delay: calc(var(--fi) * -2.5s);
}
.cc-about-hero__floater:nth-child(1)  { top: 12%; left: 60%; }
.cc-about-hero__floater:nth-child(2)  { top: 28%; left: 75%; }
.cc-about-hero__floater:nth-child(3)  { top: 44%; left: 62%; }
.cc-about-hero__floater:nth-child(4)  { top: 60%; left: 80%; }
.cc-about-hero__floater:nth-child(5)  { top: 18%; right: 5%; }
.cc-about-hero__floater:nth-child(6)  { top: 72%; left: 65%; }
.cc-about-hero__floater:nth-child(7)  { top: 36%; right: 8%; }
.cc-about-hero__floater:nth-child(8)  { top: 55%; right: 3%; }
@keyframes cc-floater-drift {
  0%   { transform: translateY(0) rotate(-2deg);  opacity: 0; }
  10%  { opacity: 1; }
  90%  { opacity: 1; }
  100% { transform: translateY(-30px) rotate(2deg); opacity: 0; }
}

/* Hero inner layout */
.cc-about-hero__inner {
  position: relative; z-index: 2;
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 3.5rem;
  align-items: center;
  padding-top: 4rem;
  padding-bottom: 4.5rem;
  flex: 1;
}
@media (max-width: 1100px) {
  .cc-about-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-about-hero { min-height: auto; }
}

/* Eyebrow */
.cc-about-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #10b981;
  background: rgba(16,185,129,0.10);
  border: 1px solid rgba(16,185,129,0.22);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1.25rem;
}
.cc-about-hero__title {
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #fff;
  line-height: 1.05;
  margin-bottom: 1.125rem;
}
.cc-about-hero__title em { color: var(--gold); font-style: italic; }
.cc-about-hero__desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.52);
  line-height: 1.78;
  max-width: 520px;
  margin-bottom: 1.75rem;
}

/* Three pillars */
.cc-about-hero__pillars {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 0.75rem;
  margin-bottom: 1.75rem;
}
@media (max-width: 640px) { .cc-about-hero__pillars { grid-template-columns: 1fr; } }
.cc-about-hero__pillar { display: flex; flex-direction: column; gap: 0.375rem; }
.cc-about-hero__pillar-icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.125rem;
}
.cc-about-hero__pillar-title { font-size: 0.75rem; font-weight: 800; color: rgba(255,255,255,0.85); }
.cc-about-hero__pillar-desc { font-size: 0.625rem; color: rgba(255,255,255,0.35); line-height: 1.55; }
.cc-about-hero__ctas { display: flex; gap: 0.75rem; flex-wrap: wrap; }

/* Hero right panel */
.cc-about-hero__panel {
  background: rgba(10,14,22,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid #10b981;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.45), 0 0 50px rgba(16,185,129,0.04);
}
.cc-about-hero__panel-hdr {
  display: flex; align-items: center; gap: 0.4rem;
  font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.10em;
  text-transform: uppercase; color: var(--gold);
  padding: 0.875rem 1.125rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.cc-about-hero__stats {
  display: flex; align-items: center; gap: 0;
  padding: 1rem 1.125rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.cc-about-hero__stat { flex: 1; text-align: center; }
.cc-about-hero__stat-num { font-size: 1.5rem; font-weight: 900; color: var(--gold); line-height: 1; }
.cc-about-hero__stat-label { font-size: 0.4375rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: rgba(255,255,255,0.25); margin-top: 0.15rem; }
.cc-about-hero__stat-sep { width: 1px; height: 28px; background: rgba(255,255,255,0.07); flex-shrink: 0; }
.cc-about-hero__panel-divider {
  font-size: 0.4375rem; font-weight: 800; letter-spacing: 0.10em; text-transform: uppercase;
  color: rgba(255,255,255,0.2); padding: 0.625rem 1.125rem 0.375rem;
}
.cc-about-hero__commitment {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.4rem 1.125rem;
  font-size: 0.75rem; color: rgba(255,255,255,0.5);
  border-bottom: 1px solid rgba(255,255,255,0.04);
}
.cc-about-hero__commitment:last-of-type { border-bottom: none; }
.cc-about-hero__panel-footer {
  display: flex; align-items: flex-start; gap: 0.35rem;
  font-size: 0.5rem; color: rgba(255,255,255,0.2); line-height: 1.5;
  padding: 0.75rem 1.125rem;
  border-top: 1px solid rgba(255,255,255,0.05);
}

/* ── BODY ── */
.cc-about-body { background: var(--bg-main); padding: 3.5rem 0 6rem; }
.cc-about-layout {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 3.5rem;
  align-items: start;
}
@media (max-width: 1024px) {
  .cc-about-layout { grid-template-columns: 1fr; }
  .cc-about-sidebar { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
}
@media (max-width: 560px) { .cc-about-sidebar { grid-template-columns: 1fr; } }

/* Sections */
.cc-about-sec { margin-bottom: 3.5rem; scroll-margin-top: 80px; }
.cc-about-sec-hdr { margin-bottom: 1.5rem; }
.cc-about-sec-eyebrow {
  display: inline-flex; align-items: center; gap: 0.35rem;
  font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-muted); margin-bottom: 0.4rem;
}
.cc-about-sec-eyebrow--gold    { color: var(--gold); }
.cc-about-sec-eyebrow--emerald { color: #10b981; }
.cc-about-sec-eyebrow--pink    { color: #ec4899; }
.cc-about-sec-title {
  font-size: 1.5rem; font-weight: 900;
  color: var(--text-primary); letter-spacing: -0.015em;
  margin-bottom: 0.375rem;
}
.cc-about-sec-sub { font-size: 0.9375rem; color: var(--text-secondary); line-height: 1.65; max-width: 600px; }
.cc-about-prose { font-size: 1rem; color: var(--text-secondary); line-height: 1.8; margin-bottom: 1.125rem; }
.cc-about-link { color: var(--gold); text-decoration: none; font-weight: 600; }
.cc-about-link:hover { text-decoration: underline; }

/* Pillar cards 2x2 grid */
.cc-about-pillars-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 1rem;
  margin-top: 1.5rem;
}
@media (max-width: 640px) { .cc-about-pillars-grid { grid-template-columns: 1fr; } }
.cc-about-pillar-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.375rem;
  box-shadow: var(--shadow-card);
}
.cc-about-pillar-card__icon {
  width: 48px; height: 48px; border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 0.875rem;
}
.cc-about-pillar-card__title { font-size: 1rem; font-weight: 800; margin-bottom: 0.5rem; }
.cc-about-pillar-card__desc { font-size: 0.875rem; color: var(--text-secondary); line-height: 1.65; }

/* Review methodology steps */
.cc-about-methodology { display: flex; flex-direction: column; gap: 0; margin-top: 1.25rem; }
.cc-about-method-step {
  display: flex; align-items: flex-start; gap: 1rem;
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-about-method-step:last-child { border-bottom: none; }
.cc-about-method-step__num {
  width: 40px; height: 40px; border-radius: 10px; border: 1px solid;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-mono); font-size: 0.6875rem; font-weight: 900;
  flex-shrink: 0;
}
.cc-about-method-step__body { flex: 1; }
.cc-about-method-step__title { font-size: 0.9375rem; font-weight: 800; margin-bottom: 0.375rem; }
.cc-about-method-step__desc { font-size: 0.875rem; color: var(--text-secondary); line-height: 1.65; }

/* Compliance cards */
.cc-about-compliance-grid { display: flex; flex-direction: column; gap: 1rem; margin: 1.25rem 0; }
.cc-about-compliance-card {
  display: flex; align-items: flex-start; gap: 1.25rem;
  background: var(--bg-card); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card); padding: 1.375rem;
  box-shadow: var(--shadow-card);
}
.cc-about-compliance-card--ontario { border-left: 3px solid #10b981; }
.cc-about-compliance-card--alberta { border-left: 3px solid var(--gold); }
.cc-about-compliance-card--national { border-left: 3px solid #6366f1; }
.cc-about-compliance-card__flag {
  width: 44px; height: 44px; border-radius: 10px; flex-shrink: 0;
  background: var(--bg-elevated); border: 1px solid var(--border-subtle);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.75rem; font-weight: 900; color: var(--text-primary);
  font-family: var(--font-mono);
}
.cc-about-compliance-card__title { font-size: 0.9375rem; font-weight: 800; color: var(--text-primary); margin-bottom: 0.5rem; }
.cc-about-compliance-card__text { font-size: 0.875rem; color: var(--text-secondary); line-height: 1.65; margin: 0 0 0.75rem; }
.cc-about-compliance-card__status {
  display: inline-flex; align-items: center; gap: 0.35rem;
  font-size: 0.5rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em;
  border-radius: 100px; padding: 0.2rem 0.625rem;
}
.cc-about-compliance-card__status--compliant {
  background: rgba(16,185,129,0.12); color: #10b981; border: 1px solid rgba(16,185,129,0.25);
}
.cc-about-compliance-card__status--monitoring {
  background: rgba(245,200,66,0.12); color: var(--gold); border: 1px solid var(--gold-border);
}
.cc-about-compliance-link {
  display: inline-flex; align-items: center; gap: 0.375rem;
  font-size: 0.8125rem; font-weight: 700; color: var(--gold);
  text-decoration: none; margin-top: 0.5rem; transition: opacity 0.15s;
}
.cc-about-compliance-link:hover { opacity: 0.75; }

/* Team grid */
.cc-about-team-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1.125rem;
  margin-top: 1rem;
}
@media (max-width: 768px) { .cc-about-team-grid { grid-template-columns: 1fr; } }
.cc-about-team-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transition: transform 0.2s, border-color 0.15s;
}
.cc-about-team-card:hover { transform: translateY(-3px); border-color: var(--gold-border); }
.cc-about-team-card__photo-wrap {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  background: var(--bg-elevated);
  overflow: hidden;
}
.cc-about-team-card__photo {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.4s ease;
}
.cc-about-team-card:hover .cc-about-team-card__photo { transform: scale(1.04); }
.cc-about-team-card__photo-fb {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
}
.cc-about-team-card__badge {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  font-family: var(--font-display);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #fff;
  text-transform: uppercase;
  line-height: 1;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}
.cc-about-team-card__body { padding: 1.25rem 1.375rem; }
.cc-about-team-card__name { font-size: 1.0625rem; font-weight: 900; color: var(--text-primary); margin-bottom: 0.2rem; }
.cc-about-team-card__role { font-size: 0.625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 0.625rem; }
.cc-about-team-card__bio { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.65; }
.cc-about-team-note {
  display: flex; align-items: flex-start; gap: 0.5rem;
  background: var(--bg-elevated); border: 1px solid var(--border-subtle);
  border-radius: 10px; padding: 0.875rem 1rem;
  font-size: 0.75rem; color: var(--text-secondary); line-height: 1.6;
  margin-top: 1rem;
}
.cc-about-team-note strong { color: var(--text-primary); }

/* Network cards */
.cc-about-network-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 1.125rem;
  margin-top: 1.25rem;
}
@media (max-width: 640px) { .cc-about-network-grid { grid-template-columns: 1fr; } }
.cc-about-network-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  position: relative;
}
.cc-about-network-card--current {
  border-color: rgba(245,200,66,0.2);
  box-shadow: var(--shadow-card), 0 0 30px rgba(245,200,66,0.05);
}
.cc-about-network-card__badge {
  position: absolute;
  top: 0.75rem; right: 0.75rem;
  font-size: 0.4375rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em;
  color: var(--gold); background: var(--gold-dim); border: 1px solid var(--gold-border);
  border-radius: 100px; padding: 0.15rem 0.5rem;
}
.cc-about-network-card__logo-area {
  height: 100px;
  background: rgba(255,255,255,0.03);
  border-bottom: 1px solid var(--border-subtle);
  display: flex; align-items: center; justify-content: center;
  padding: 1rem;
}
.cc-about-network-card__logo-area--sbc {
  background: linear-gradient(135deg, rgba(16,185,129,0.08) 0%, rgba(99,102,241,0.08) 100%);
}
.cc-about-network-card__logo {
  max-height: 52px;
  max-width: 200px;
  object-fit: contain;
}
.cc-about-network-card__logo-text {
  font-size: 2.5rem;
  font-weight: 900;
  color: #10b981;
  letter-spacing: -0.04em;
  font-style: italic;
}
.cc-about-network-card__body { padding: 1.25rem; flex: 1; }
.cc-about-network-card__name { font-size: 1rem; font-weight: 900; color: var(--text-primary); margin-bottom: 0.2rem; }
.cc-about-network-card__focus {
  font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.09em;
  color: var(--gold); margin-bottom: 0.625rem;
}
.cc-about-network-card__desc { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.65; margin-bottom: 0.875rem; }
.cc-about-network-card__tags { display: flex; flex-wrap: wrap; gap: 0.375rem; }
.cc-about-network-card__tags span {
  font-size: 0.4375rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em;
  background: rgba(255,255,255,0.05); color: var(--text-muted);
  border-radius: 4px; padding: 0.15rem 0.45rem;
}
.cc-about-network-card__link {
  display: flex; align-items: center; gap: 0.4rem;
  padding: 0.75rem 1.25rem;
  border-top: 1px solid var(--border-subtle);
  font-size: 0.75rem; font-weight: 700; color: var(--gold);
  text-decoration: none; transition: background 0.15s;
}
.cc-about-network-card__link:hover { background: rgba(255,255,255,0.03); }
.cc-about-network-card__link--sbc { color: #10b981; }

/* Press cards */
.cc-about-press-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 1rem;
  margin-top: 1rem;
}
@media (max-width: 600px) { .cc-about-press-grid { grid-template-columns: 1fr; } }
.cc-about-press-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  padding: 1.375rem;
  box-shadow: var(--shadow-card);
  display: flex; flex-direction: column; gap: 0.625rem;
}
.cc-about-press-card__title { font-size: 0.9375rem; font-weight: 800; color: var(--text-primary); }
.cc-about-press-card__text { font-size: 0.875rem; color: var(--text-secondary); line-height: 1.65; flex: 1; }
.cc-about-press-card__link {
  display: inline-flex; align-items: center; gap: 0.3rem;
  font-size: 0.75rem; font-weight: 700; color: var(--gold);
  text-decoration: none; transition: opacity 0.15s;
}
.cc-about-press-card__link:hover { opacity: 0.75; }

/* ── SIDEBAR ── */
.cc-about-sidebar {
  position: sticky; top: 88px;
  display: flex; flex-direction: column; gap: 1.125rem;
}
.cc-about-sidebar-card {
  background: var(--bg-card); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card); overflow: hidden; box-shadow: var(--shadow-card);
}
.cc-about-sidebar-card--charter { border-color: rgba(245,200,66,0.15); }
.cc-about-sidebar-card--mjd {
  background: linear-gradient(135deg, rgba(245,200,66,0.04) 0%, var(--bg-card) 50%);
  border-color: rgba(245,200,66,0.15);
}
.cc-about-sidebar-card__hdr {
  display: flex; align-items: center; gap: 0.4rem;
  font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.10em;
  text-transform: uppercase; color: var(--gold);
  padding: 0.875rem 1rem;
  background: rgba(255,255,255,0.02);
  border-bottom: 1px solid var(--border-subtle);
}
.cc-about-nav-row {
  display: flex; align-items: center; gap: 0.625rem;
  padding: 0.5rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  text-decoration: none;
  transition: background 0.12s;
}
.cc-about-nav-row:last-child { border-bottom: none; }
.cc-about-nav-row:hover { background: rgba(255,255,255,0.03); }
.cc-about-nav-row:hover .cc-about-nav-arrow { color: var(--gold) !important; transform: translateX(3px); }
.cc-about-nav-row__icon {
  width: 28px; height: 28px; border-radius: 7px;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.cc-about-nav-row span { font-size: 0.8125rem; font-weight: 600; color: var(--text-secondary); flex: 1; }
.cc-about-charter-item {
  display: flex; align-items: flex-start; gap: 0.625rem;
  padding: 0.5rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.4;
}
.cc-about-charter-item:last-child { border-bottom: none; }
.cc-about-charter-item__num {
  font-family: var(--font-mono); font-size: 0.5rem; font-weight: 900;
  color: var(--gold); flex-shrink: 0; padding-top: 0.125rem;
}
.cc-about-sidebar-mjd-text {
  font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.65;
  padding: 0.875rem 1rem 0; margin: 0;
}
.cc-about-sidebar-mjd-link {
  display: flex; align-items: center; gap: 0.35rem;
  font-size: 0.75rem; font-weight: 700; color: var(--gold);
  text-decoration: none; padding: 0.625rem 1rem; transition: opacity 0.15s;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-about-sidebar-mjd-link:hover { opacity: 0.75; }
.cc-about-sidebar-mjd-badges {
  display: flex; flex-wrap: wrap; gap: 0.5rem;
  padding: 0.75rem 1rem;
}
.cc-about-sidebar-mjd-badge {
  display: inline-flex; align-items: center; gap: 0.3rem;
  font-size: 0.5rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em;
  color: rgba(255,255,255,0.3); background: rgba(255,255,255,0.05);
  border-radius: 4px; padding: 0.15rem 0.5rem;
}

:root.light .cc-about-hero { background: #07090f; }
:root.light .cc-about-team-card { background: #fff; }
:root.light .cc-about-pillar-card { background: #fff; }
:root.light .cc-about-compliance-card { background: #fff; }
:root.light .cc-about-press-card { background: #fff; }
:root.light .cc-about-network-card { background: #fff; }

/* ── About page: Kernel Media logos + SBC network logo ── */

/* Kernel logo — dark mode shown by default, light hidden */
.cc-about-kernel-logo {
  display: block;
  max-height: 36px;
  width: auto;
  max-width: 160px;
  margin: 0.875rem 1rem 0;
  object-fit: contain;
}
.cc-about-kernel-logo--light { display: none; }
.cc-about-kernel-logo--dark  { display: block; }

/* Swap logos in light mode */
:root.light .cc-about-kernel-logo--dark  { display: none; }
:root.light .cc-about-kernel-logo--light { display: block; }

/* SBC webp logo — needs dark bg treatment to read cleanly */
.cc-about-network-card__logo--sbc {
  max-height: 44px;
  max-width: 260px;
  width: 100%;
  object-fit: contain;
  filter: brightness(1);
}
/* On dark bg the SBC logo has a white outline — looks great as-is.
   In light mode invert so it reads on the green gradient background */
:root.light .cc-about-network-card__logo--sbc {
  filter: none;
}

/* ═══════════════════════════════════════════════════════════════
   ALBERTA HERO — Launch Countdown
═══════════════════════════════════════════════════════════════ */

.cc-ab-hero {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--border-subtle);
}

/* Deep dark with warm Alberta-sky amber at top */
.cc-ab-hero__bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 60% 55% at 50%  -5%, rgba(245,200,66,0.12) 0%, transparent 55%),
    radial-gradient(ellipse 40% 60% at 0%   70%, rgba(245,200,66,0.05) 0%, transparent 50%),
    radial-gradient(ellipse 35% 40% at 100% 80%, rgba(16,185,129,0.04) 0%, transparent 45%),
    linear-gradient(170deg, #0c0a02 0%, #07090f 50%, #07090f 100%);
}

/* Dot grid */
.cc-ab-hero__grid {
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
}

/* Two diagonal light beams — evoking prairie sunrises */
.cc-ab-hero__beam {
  position: absolute;
  top: -60px;
  width: 250px;
  height: 500px;
  clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%);
  pointer-events: none;
  opacity: 0;
  animation: cc-ab-beam 8s ease infinite;
}
.cc-ab-hero__beam--l {
  left: 38%;
  background: linear-gradient(180deg, rgba(245,200,66,0.5) 0%, transparent 80%);
  animation-delay: 0s;
}
.cc-ab-hero__beam--r {
  left: 52%;
  background: linear-gradient(180deg, rgba(245,200,66,0.3) 0%, transparent 80%);
  animation-delay: 2s;
}
@keyframes cc-ab-beam {
  0%,100% { opacity: 0; }
  30%, 70% { opacity: 0.05; }
}

/* Aurora bands — northern-lights feel */
.cc-ab-hero__aurora {
  position: absolute;
  left: 0; right: 0;
  pointer-events: none;
  border-radius: 100%;
  filter: blur(60px);
  animation: cc-ab-aurora 10s ease-in-out infinite alternate;
}
.cc-ab-hero__aurora--1 {
  top: -80px;
  height: 200px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(245,200,66,0.07) 30%,
    rgba(16,185,129,0.05) 60%,
    transparent 100%);
  animation-delay: 0s;
}
.cc-ab-hero__aurora--2 {
  top: -40px;
  height: 160px;
  background: linear-gradient(90deg,
    transparent 10%,
    rgba(99,102,241,0.04) 40%,
    rgba(245,200,66,0.06) 70%,
    transparent 100%);
  animation-delay: 3s;
}
@keyframes cc-ab-aurora {
  0%   { opacity: 0.6; transform: translateX(-3%); }
  100% { opacity: 1.0; transform: translateX(3%); }
}

/* ── Layout ── */
.cc-ab-hero__inner {
  position: relative; z-index: 2;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 3.5rem;
  align-items: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
  width: 100%;
}
@media (max-width: 1100px) {
  .cc-ab-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-ab-hero { min-height: auto; }
}

/* ── LEFT ── */
.cc-ab-hero__badges {
  display: flex; align-items: center; gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.cc-ab-hero__badge {
  display: inline-flex; align-items: center; gap: 0.4rem;
  font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.10em;
  text-transform: uppercase; border-radius: 100px;
  padding: 0.3rem 0.875rem;
}
.cc-ab-hero__badge--incoming {
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
}
.cc-ab-hero__badge--bill {
  color: #10b981;
  background: rgba(16,185,129,0.10);
  border: 1px solid rgba(16,185,129,0.22);
}
.cc-ab-hero__badge-pulse {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 0 0 rgba(245,200,66,0.6);
  animation: cc-live-pulse 1.8s ease infinite;
  flex-shrink: 0;
}

.cc-ab-hero__title {
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #fff;
  line-height: 1.05;
  margin-bottom: 1.125rem;
}
.cc-ab-hero__title em { color: var(--gold); font-style: italic; display: block; }

.cc-ab-hero__desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.52);
  line-height: 1.78;
  max-width: 500px;
  margin-bottom: 1.75rem;
}

/* Timeline */
.cc-ab-hero__timeline {
  display: flex;
  align-items: flex-start;
  gap: 0;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
  row-gap: 1rem;
}
.cc-ab-hero__tl-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  min-width: 88px;
}
.cc-ab-hero__tl-dot {
  width: 12px; height: 12px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-bottom: 0.375rem;
  position: relative;
  z-index: 1;
}
.cc-ab-hero__tl-line {
  position: absolute;
  top: 5px;
  left: calc(50% + 6px);
  height: 2px;
  width: calc(100% - 12px);
}
.cc-ab-hero__tl-label {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 900;
  margin-bottom: 0.15rem;
  text-align: center;
}
.cc-ab-hero__tl-desc {
  font-size: 0.5rem;
  font-weight: 600;
  color: rgba(255,255,255,0.3);
  text-align: center;
  line-height: 1.3;
  max-width: 80px;
}

/* Chips */
.cc-ab-hero__chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.5rem; }
.cc-ab-hero__chip {
  display: inline-flex; align-items: center; gap: 0.4rem;
  font-size: 0.6875rem; font-weight: 600;
  color: rgba(255,255,255,0.5);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 100px; padding: 0.3rem 0.625rem;
}
.cc-ab-hero__ctas { display: flex; gap: 0.75rem; flex-wrap: wrap; }

/* ── RIGHT ── */
.cc-ab-hero__right {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* Countdown card */
.cc-ab-hero__countdown-card {
  background: rgba(10,14,22,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid var(--gold);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.5), 0 0 50px rgba(245,200,66,0.05);
}
.cc-ab-hero__countdown-hdr {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.875rem 1.25rem;
  font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.10em;
  text-transform: uppercase; color: var(--gold);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.cc-ab-hero__countdown-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 8px rgba(245,200,66,0.6);
  animation: cc-live-pulse 2s infinite;
  flex-shrink: 0;
}
.cc-ab-hero__countdown-num {
  font-family: var(--font-mono);
  font-size: 4rem;
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
  text-align: center;
  padding: 1.25rem 1.25rem 0;
  letter-spacing: -0.03em;
}
.cc-ab-hero__countdown-unit {
  text-align: center;
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(255,255,255,0.3);
  padding-bottom: 1rem;
}

/* Progress bar */
.cc-ab-hero__countdown-progress { padding: 0 1.25rem 1rem; }
.cc-ab-hero__countdown-progress-hdr {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 0.4375rem; font-weight: 700; color: rgba(255,255,255,0.25);
  margin-bottom: 0.375rem;
}
.cc-ab-hero__countdown-pct { color: var(--gold); font-weight: 900; }
.cc-ab-hero__countdown-bar-track {
  height: 6px; background: rgba(255,255,255,0.07); border-radius: 3px; overflow: hidden;
}
.cc-ab-hero__countdown-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--gold) 0%, #ffd83d 100%);
  border-radius: 3px;
  box-shadow: 0 0 8px rgba(245,200,66,0.4);
  transition: width 1s ease;
}
.cc-ab-hero__countdown-divider {
  font-size: 0.4375rem; font-weight: 800; text-transform: uppercase;
  letter-spacing: 0.10em; color: rgba(255,255,255,0.2);
  padding: 0.5rem 1.25rem 0.25rem;
  border-top: 1px solid rgba(255,255,255,0.05);
}

/* Operator pills */
.cc-ab-hero__operators {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 0.375rem;
  padding: 0 1.25rem 1rem;
}
.cc-ab-hero__operator {
  display: flex; flex-direction: column; align-items: center;
  gap: 0.2rem;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
  border-top: 1px solid var(--op-c, rgba(255,255,255,0.06));
  border-radius: 8px;
  padding: 0.5rem 0.375rem;
  text-align: center;
  transition: background 0.15s;
}
.cc-ab-hero__operator:hover { background: rgba(255,255,255,0.07); }
.cc-ab-hero__operator-dot {
  width: 6px; height: 6px; border-radius: 50%; margin-bottom: 0.1rem;
}
.cc-ab-hero__operator-name {
  font-size: 0.625rem; font-weight: 800; color: rgba(255,255,255,0.85);
}
.cc-ab-hero__operator-cat {
  font-size: 0.4rem; color: rgba(255,255,255,0.3); line-height: 1.3;
}
.cc-ab-hero__countdown-footer {
  display: flex; align-items: center; justify-content: center; gap: 0.35rem;
  padding: 0.625rem 1.25rem;
  border-top: 1px solid rgba(255,255,255,0.05);
  font-size: 0.6875rem; font-weight: 700;
  color: rgba(255,255,255,0.25); text-decoration: none;
  transition: color 0.15s;
}
.cc-ab-hero__countdown-footer:hover { color: var(--gold); }

/* AGLC strip */
.cc-ab-hero__aglc-strip {
  display: flex;
  align-items: center;
  background: rgba(245,200,66,0.05);
  border: 1px solid rgba(245,200,66,0.14);
  border-radius: 12px;
  padding: 0.75rem 1rem;
  gap: 0;
}
.cc-ab-hero__aglc-item { flex: 1; text-align: center; }
.cc-ab-hero__aglc-label {
  font-size: 0.4375rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: rgba(255,255,255,0.25); margin-bottom: 0.15rem;
}
.cc-ab-hero__aglc-val {
  font-family: var(--font-mono); font-size: 0.875rem;
  font-weight: 900; color: var(--gold);
}
.cc-ab-hero__aglc-sep {
  width: 1px; height: 24px; background: rgba(245,200,66,0.15); flex-shrink: 0;
}

:root.light .cc-ab-hero,
:root.light .cc-ab-hero__bg,
:root.light .cc-ab-hero__countdown-card,
:root.light .cc-ab-hero__aglc-strip {
  background: #07090f;
}
:root.light .cc-ab-hero {
  --bg-main:       #07090f;
  --bg-card:       #0d1117;
  --bg-elevated:   #111827;
  --text-primary:  #ffffff;
  --text-secondary:#94a3b8;
  --text-muted:    #64748b;
  --text-faint:    #334155;
  --border-subtle: rgba(255,255,255,0.06);
  --border-mid:    rgba(255,255,255,0.10);
  --gold:          #F5C842;
  --gold-dim:      rgba(245,200,66,0.12);
  --gold-border:   rgba(245,200,66,0.22);
}

/* ═══════════════════════════════════════════════════════════════
   HOMEPAGE — ELEVATED PANELS & WIDGETS
═══════════════════════════════════════════════════════════════ */

/* ── Hero right panel ── */
.cc-hp-panel {
  background: rgba(10,14,22,0.90) !important;
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-top: 2px solid var(--gold) !important;
  border-radius: 20px !important;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.5), 0 0 40px rgba(245,200,66,0.05);
  padding: 0 !important; /* override inline */
}
.cc-hp-panel__hdr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.875rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.cc-hp-panel__eyebrow {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--gold);
  margin-bottom: 0.15rem;
}
.cc-hp-panel__title {
  font-size: 0.9375rem;
  font-weight: 800;
  color: #fff;
}
.cc-hp-panel__see-all {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.6875rem;
  font-weight: 700;
  color: rgba(255,255,255,0.3);
  text-decoration: none;
  transition: color 0.15s;
}
.cc-hp-panel__see-all:hover { color: var(--gold); }

.cc-hp-panel__picks { display: flex; flex-direction: column; gap: 0; }
.cc-hp-pick {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  transition: background 0.12s;
  position: relative;
}
.cc-hp-pick--top {
  background: rgba(245,200,66,0.04);
}
.cc-hp-pick:hover { background: rgba(255,255,255,0.04); }
.cc-hp-pick__rank {
  font-family: var(--font-mono);
  font-size: 1.125rem;
  font-weight: 900;
  color: rgba(255,255,255,0.1);
  min-width: 20px;
  text-align: center;
  flex-shrink: 0;
}
.cc-hp-pick__rank--gold { color: var(--gold); }
.cc-hp-pick__logo-wrap {
  width: 44px; height: 44px;
  border-radius: 10px;
  flex-shrink: 0;
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  /* background-color set via inline style from cc_logo_overlay_bg_color */
}
.cc-hp-pick__logo {
  width: 80%; height: 80%;
  border-radius: 6px;
  object-fit: contain;
  background: none;
  border: none;
  padding: 0;
  display: block;
}
/* When logo is a thumbnail photo (no overlay configured) — cover fill */
.cc-hp-pick__logo-wrap--photo .cc-hp-pick__logo {
  width: 100%; height: 100%;
  border-radius: 0;
  object-fit: cover;
}
.cc-hp-pick__logo--fb {
  width: 44px; height: 44px;
  border-radius: 10px;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  display: flex; align-items: center; justify-content: center;
  font-weight: 900; font-size: 1.125rem; color: var(--gold);
  flex-shrink: 0;
}
.cc-hp-pick__body { flex: 1; min-width: 0; }
.cc-hp-pick__name { font-size: 0.875rem; font-weight: 700; color: rgba(255,255,255,0.9); margin-bottom: 0.25rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cc-hp-pick__name a { color: inherit; text-decoration: none; }
.cc-hp-pick__name a:hover { color: var(--gold); }
.cc-hp-pick__meta { display: flex; align-items: center; gap: 0.2rem; flex-wrap: wrap; }
.cc-hp-pick__score { font-family: var(--font-mono); font-size: 0.5625rem; font-weight: 800; color: var(--gold); margin-left: 3px; }
.cc-hp-pick__badge { font-size: 0.4375rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; color: rgba(255,255,255,0.3); background: rgba(255,255,255,0.06); border-radius: 4px; padding: 0.1rem 0.35rem; margin-left: 4px; }
.cc-hp-pick__btn {
  display: inline-flex; align-items: center; gap: 0.25rem;
  font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em;
  color: rgba(255,255,255,0.35); background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08); border-radius: 6px;
  padding: 0.25rem 0.5rem; text-decoration: none;
  flex-shrink: 0; transition: color 0.15s, border-color 0.15s;
}
.cc-hp-pick__btn:hover { color: var(--gold); border-color: var(--gold-border); }

/* Market callout in hero panel */
.cc-hp-panel__market {
  padding: 0.875rem 1.25rem;
  background: rgba(16,185,129,0.05);
  border-top: 1px solid rgba(16,185,129,0.12);
}
.cc-hp-panel__market-hdr {
  display: flex; align-items: center; gap: 0.35rem;
  font-size: 0.4375rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.10em;
  color: #10b981; margin-bottom: 0.375rem;
}
.cc-hp-panel__market-text { font-size: 0.8125rem; color: rgba(255,255,255,0.5); line-height: 1.6; margin: 0 0 0.5rem; }
.cc-hp-panel__market-link {
  display: inline-flex; align-items: center; gap: 0.3rem;
  font-size: 0.625rem; font-weight: 700; color: #10b981; text-decoration: none; transition: opacity 0.15s;
}
.cc-hp-panel__market-link:hover { opacity: 0.75; }

/* Trust strip fallback */
.cc-hp-panel__trust {
  display: flex; align-items: center;
  padding: 0.75rem 1.25rem;
  border-top: 1px solid rgba(255,255,255,0.05);
  gap: 0;
}
.cc-hp-panel__trust-item { display: flex; align-items: center; gap: 0.35rem; flex: 1; font-size: 0.5625rem; font-weight: 600; color: rgba(255,255,255,0.3); justify-content: center; }
.cc-hp-panel__trust-sep { width: 1px; height: 16px; background: rgba(255,255,255,0.07); flex-shrink: 0; }
.cc-hp-panel__footer {
  font-size: 0.5rem; color: rgba(255,255,255,0.18); text-align: center;
  padding: 0.5rem 1.25rem;
  border-top: 1px solid rgba(255,255,255,0.05);
}

/* ── Rankings sidebar widgets ── */
.cc-hp-sidebar { gap: 1rem !important; }
.cc-hp-widget {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}
.cc-hp-widget--quickmatch {
  border-color: rgba(245,200,66,0.15);
}
.cc-hp-widget--market {
  border-color: rgba(245,200,66,0.15);
  background: linear-gradient(135deg, rgba(245,200,66,0.04) 0%, var(--bg-card) 50%);
}
.cc-hp-widget--compare {
  padding: 1.375rem;
  text-align: center;
  background: linear-gradient(135deg, rgba(245,200,66,0.07) 0%, transparent 60%);
  border-color: rgba(245,200,66,0.2);
}
.cc-hp-widget__hdr {
  display: flex; align-items: center; gap: 0.4rem;
  font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.10em;
  text-transform: uppercase; color: var(--gold);
  padding: 0.875rem 1rem;
  background: rgba(255,255,255,0.02);
  border-bottom: 1px solid var(--border-subtle);
}
.cc-hp-widget__hdr--market {
  background: rgba(245,200,66,0.04);
  border-bottom-color: rgba(245,200,66,0.12);
}
.cc-hp-widget__hdr-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 6px rgba(16,185,129,0.5);
  animation: ccPulse 2s infinite;
  flex-shrink: 0;
}
.cc-hp-widget__hdr-period { margin-left: auto; font-size: 0.4375rem; color: rgba(255,255,255,0.25); font-weight: 700; }
.cc-hp-widget__hdr-link { margin-left: auto; font-size: 0.5625rem; font-weight: 700; color: var(--gold); text-decoration: none; opacity: 0.7; transition: opacity 0.15s; }
.cc-hp-widget__hdr-link:hover { opacity: 1; }
.cc-hp-widget__body { padding: 1rem; }
.cc-hp-widget__title { font-size: 1.0625rem; font-weight: 800; color: var(--text-primary); margin-bottom: 0.2rem; }
.cc-hp-widget__sub { font-size: 0.8125rem; color: var(--text-secondary); margin-bottom: 0.875rem; }
.cc-hp-qm-group { margin-bottom: 0.875rem; }
.cc-hp-qm-label { font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-muted); margin-bottom: 0.375rem; }
.cc-hp-qm-btn { margin-top: 0.375rem; }
.cc-hp-qm-result { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--border-subtle); }
.cc-hp-widget__market-headline { font-size: 0.875rem; color: var(--text-secondary); line-height: 1.65; padding: 0.875rem 1rem 0; margin: 0; }
.cc-hp-widget__trend { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 1rem; border-bottom: 1px solid var(--border-subtle); font-size: 0.75rem; color: var(--text-secondary); }
.cc-hp-widget__trend:last-of-type { border-bottom: none; }
.cc-hp-widget__market-cta {
  display: flex; align-items: center; justify-content: center; gap: 0.35rem;
  margin: 0 1rem 0.875rem;
  padding: 0.5rem;
  font-size: 0.6875rem; font-weight: 800; color: var(--gold);
  background: var(--gold-dim); border: 1px solid var(--gold-border);
  border-radius: 8px; text-decoration: none; transition: background 0.15s;
}
.cc-hp-widget__market-cta:hover { background: rgba(245,200,66,0.15); }

/* Podcast rows in sidebar widget */
.cc-hp-widget__pod-row { display: flex; align-items: center; gap: 0.625rem; padding: 0.625rem 1rem; border-bottom: 1px solid var(--border-subtle); transition: background 0.12s; }
.cc-hp-widget__pod-row:last-child { border-bottom: none; }
.cc-hp-widget__pod-row:hover { background: rgba(255,255,255,0.03); }
.cc-hp-widget__pod-art { width: 40px; height: 40px; border-radius: 7px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.cc-hp-widget__pod-body { flex: 1; min-width: 0; }
.cc-hp-widget__pod-cat { font-size: 0.4375rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.09em; margin-bottom: 0.1rem; }
.cc-hp-widget__pod-title { font-size: 0.75rem; font-weight: 700; color: var(--text-primary); text-decoration: none; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color 0.15s; }
.cc-hp-widget__pod-title:hover { color: var(--gold); }
.cc-hp-widget__pod-dur { display: flex; align-items: center; gap: 0.2rem; font-family: var(--font-mono); font-size: 0.4375rem; color: var(--text-faint); margin-top: 0.15rem; }
.cc-hp-widget__pod-play {
  width: 30px; height: 30px; border-radius: 50%;
  background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.08);
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,0.4); flex-shrink: 0;
  transition: background 0.15s, color 0.15s, transform 0.15s;
}
.cc-hp-widget__pod-play:hover { background: var(--ep-color,var(--gold)); border-color: transparent; color: #000; transform: scale(1.1); }

/* Tool rows */
.cc-hp-widget__tool-row { display: flex; align-items: center; gap: 0.625rem; padding: 0.625rem 1rem; border-bottom: 1px solid var(--border-subtle); text-decoration: none; transition: background 0.12s; }
.cc-hp-widget__tool-row:last-child { border-bottom: none; }
.cc-hp-widget__tool-row:hover { background: rgba(255,255,255,0.03); }
.cc-hp-widget__tool-row:hover .cc-hp-widget__tool-arrow { color: var(--gold) !important; transform: translateX(3px); }
.cc-hp-widget__tool-icon { width: 34px; height: 34px; border-radius: 9px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cc-hp-widget__tool-body { flex: 1; min-width: 0; }
.cc-hp-widget__tool-name { font-size: 0.8125rem; font-weight: 700; color: var(--text-primary); }
.cc-hp-widget__tool-desc { font-size: 0.5625rem; color: var(--text-muted); margin-top: 0.1rem; }

/* Compare CTA widget */
.cc-hp-widget__compare-icon { width: 52px; height: 52px; background: var(--gold-dim); border: 1px solid var(--gold-border); border-radius: 14px; display: flex; align-items: center; justify-content: center; margin: 0 auto 0.875rem; }
.cc-hp-widget__compare-title { font-size: 1rem; font-weight: 800; color: var(--text-primary); margin-bottom: 0.375rem; }
.cc-hp-widget__compare-desc { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.55; margin-bottom: 1rem; }

/* ── News section — Concept B: The Mosaic ── */
.cc-hp-news-section {
  background: var(--bg-elevated);
  padding: 4rem 0 4.5rem;
}
:root.light .cc-hp-news-section {
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
}

/* Top mosaic grid: 3fr featured | 2fr stack */
.cc-news-mosaic {
  display: grid;
  grid-template-columns: 3fr 2fr;
  grid-template-rows: 462px;
  gap: 14px;
  margin-bottom: 14px;
}

/* Featured article */
.cc-news-featured {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  background: var(--bg-card);
  cursor: pointer;
}
.cc-news-featured img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .65s cubic-bezier(.22,1,.36,1), filter .4s ease;
  filter: brightness(0.72);
}
.cc-news-featured:hover img { transform: scale(1.04); filter: brightness(0.84); }
.cc-news-featured::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(to top,
      rgba(5,5,10,1)    0%,
      rgba(5,5,10,.96) 18%,
      rgba(5,5,10,.68) 36%,
      rgba(5,5,10,.22) 62%,
      transparent      100%
    ),
    linear-gradient(to right, rgba(5,5,10,.38) 0%, transparent 58%);
}
.cc-news-feat-body {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 36px 40px;
  z-index: 2;
}
.cc-news-feat-top {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.cc-news-cat-pill {
  font-family: 'DM Mono', monospace;
  font-size: 8.5px;
  font-weight: 500;
  letter-spacing: .13em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 5px;
  background: rgba(245,200,66,.12);
  color: #F5C842;
  border: 1px solid rgba(245,200,66,.22);
}
.cc-news-date-pill {
  font-family: 'DM Mono', monospace;
  font-size: 8.5px;
  color: rgba(255,255,255,.4);
  letter-spacing: .04em;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.09);
  padding: 4px 10px;
  border-radius: 5px;
}
.cc-news-feat-hl {
  font-size: 36px;
  font-weight: 900;
  font-style: italic;
  line-height: 1.07;
  letter-spacing: -.03em;
  color: #fff;
  margin-bottom: 12px;
  text-shadow: 0 2px 24px rgba(0,0,0,.55);
}
.cc-news-feat-hl a { color: inherit; text-decoration: none; }
.cc-news-feat-hl a:hover { color: rgba(255,255,255,.82); }
.cc-news-feat-exc {
  font-size: 13.5px;
  line-height: 1.62;
  color: rgba(255,255,255,.55);
  max-width: 520px;
  margin-bottom: 20px;
}
.cc-news-feat-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.cc-news-feat-author { display: flex; align-items: center; gap: 9px; }
.cc-news-feat-av {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  flex-shrink: 0;
  background: linear-gradient(135deg, #F5C842, #D97706);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 800;
  color: #09090F;
}
.cc-news-feat-av--img { background: none; object-fit: cover; }
.cc-news-feat-aname { font-size: 12px; font-weight: 700; color: rgba(255,255,255,.6); }
.cc-news-read-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(245,200,66,.1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(245,200,66,.22);
  color: #F5C842;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding: 9px 18px;
  border-radius: 8px;
  transition: background .2s, border-color .2s, color .2s;
  white-space: nowrap;
}
.cc-news-read-btn:hover {
  background: rgba(245,200,66,.2);
  border-color: rgba(245,200,66,.38);
  color: #F5C842;
}

/* Right stack */
.cc-news-stack { display: grid; grid-template-rows: 1fr 1fr; gap: 14px; }
.cc-news-tile {
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  background: var(--bg-card);
  cursor: pointer;
}
.cc-news-tile img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.22,1,.36,1), filter .4s ease;
  filter: brightness(0.72);
}
.cc-news-tile:hover img { transform: scale(1.06); filter: brightness(0.84); }
.cc-news-tile::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  z-index: 3;
  background: var(--ac, #F5C842);
}
.cc-news-tile::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to top,
    rgba(5,5,10,1)    0%,
    rgba(5,5,10,.96) 18%,
    rgba(5,5,10,.55) 44%,
    rgba(5,5,10,.1)  72%,
    transparent      100%
  );
}
.cc-news-tile-body {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 18px 22px;
  z-index: 2;
}
.cc-news-tile-cat {
  font-family: 'DM Mono', monospace;
  font-size: 8px;
  font-weight: 500;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--ac, #F5C842);
  display: block;
  margin-bottom: 7px;
}
.cc-news-tile-hl {
  font-size: 17px;
  font-weight: 800;
  line-height: 1.26;
  letter-spacing: -.018em;
  color: #fff;
  display: block;
  transition: color .2s;
}
.cc-news-tile-hl:hover { color: var(--ac, #F5C842); }
.cc-news-tile-date {
  font-family: 'DM Mono', monospace;
  font-size: 8.5px;
  color: rgba(255,255,255,.28);
  margin-top: 6px;
  display: block;
  letter-spacing: .04em;
}

/* Portrait strip */
.cc-news-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.cc-news-pt {
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  height: 234px;
  background: var(--bg-card);
  cursor: pointer;
}
.cc-news-pt img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.22,1,.36,1), filter .4s ease;
  filter: brightness(0.72);
}
.cc-news-pt:hover img { transform: scale(1.07); filter: brightness(0.84); }
.cc-news-pt::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  z-index: 3;
  background: var(--ac, #F5C842);
}
.cc-news-pt::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to top,
    rgba(5,5,10,1)    0%,
    rgba(5,5,10,.97) 16%,
    rgba(5,5,10,.5)  42%,
    rgba(5,5,10,.08) 70%,
    transparent      100%
  );
}
.cc-news-pt-body {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 16px 18px;
  z-index: 2;
}
.cc-news-pt-cat {
  font-family: 'DM Mono', monospace;
  font-size: 7.5px;
  font-weight: 500;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--ac, #F5C842);
  margin-bottom: 6px;
  display: block;
}
.cc-news-pt-hl {
  font-size: 15px;
  font-weight: 800;
  line-height: 1.28;
  letter-spacing: -.015em;
  color: #fff;
  display: block;
  transition: color .2s;
}
.cc-news-pt-hl:hover { color: var(--ac, #F5C842); }
.cc-news-pt-date {
  font-family: 'DM Mono', monospace;
  font-size: 8px;
  color: rgba(255,255,255,.28);
  margin-top: 5px;
  display: block;
  letter-spacing: .04em;
}

/* Responsive */
@media (max-width: 900px) {
  .cc-news-mosaic { grid-template-columns: 1fr; grid-template-rows: 400px auto; gap: 12px; margin-bottom: 12px; }
  .cc-news-stack { grid-template-rows: 210px 210px; gap: 12px; }
  .cc-news-strip { gap: 12px; }
}
@media (max-width: 600px) {
  .cc-news-mosaic { grid-template-rows: 330px auto; gap: 10px; margin-bottom: 10px; }
  .cc-news-feat-hl { font-size: 26px; }
  .cc-news-feat-body { padding: 24px 22px; }
  .cc-news-strip { grid-template-columns: 1fr; height: auto; gap: 10px; }
  .cc-news-pt { height: 200px; }
}

/* Light mode — flip gradients from dark-bleed to light-bleed, restore readable text */
:root.light .cc-news-featured { background: #f1f5f9; }
:root.light .cc-news-tile     { background: #f1f5f9; }
:root.light .cc-news-pt       { background: #f1f5f9; }

:root.light .cc-news-featured::before {
  background:
    linear-gradient(to top,
      rgba(241,245,249,1)    0%,
      rgba(241,245,249,.96) 18%,
      rgba(241,245,249,.68) 36%,
      rgba(241,245,249,.18) 62%,
      transparent           100%
    ),
    linear-gradient(to right, rgba(241,245,249,.32) 0%, transparent 58%);
}
:root.light .cc-news-tile::after {
  background: linear-gradient(to top,
    rgba(241,245,249,1)    0%,
    rgba(241,245,249,.96) 18%,
    rgba(241,245,249,.55) 44%,
    rgba(241,245,249,.1)  72%,
    transparent           100%
  );
}
:root.light .cc-news-pt::after {
  background: linear-gradient(to top,
    rgba(241,245,249,1)    0%,
    rgba(241,245,249,.97) 16%,
    rgba(241,245,249,.5)  42%,
    rgba(241,245,249,.08) 70%,
    transparent           100%
  );
}

/* Text on light bleed */
:root.light .cc-news-feat-hl,
:root.light .cc-news-feat-hl a      { color: var(--text-primary); text-shadow: none; }
:root.light .cc-news-feat-hl a:hover { color: var(--gold); }
:root.light .cc-news-feat-exc        { color: var(--text-secondary); }
:root.light .cc-news-feat-aname      { color: var(--text-muted); }
:root.light .cc-news-tile-hl         { color: var(--text-primary); }
:root.light .cc-news-tile-hl:hover   { color: var(--ac, var(--gold)); }
:root.light .cc-news-pt-hl           { color: var(--text-primary); }
:root.light .cc-news-pt-hl:hover     { color: var(--ac, var(--gold)); }
:root.light .cc-news-tile-date,
:root.light .cc-news-pt-date         { color: var(--text-muted); }
:root.light .cc-news-date-pill {
  color: var(--text-muted);
  background: rgba(0,0,0,.04);
  border-color: rgba(0,0,0,.09);
}

/* ── Podcast section ── */
.cc-hp-podcast-section {
  background: var(--bg-main);
  padding: 4rem 0;
}
.cc-hp-podcast-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1.125rem;
}
@media (max-width: 860px) { .cc-hp-podcast-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 520px) { .cc-hp-podcast-grid { grid-template-columns: 1fr; } }

/* Podcast cards in homepage grid */
.cc-hp-pod-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-top: 2px solid var(--pod-c, var(--gold));
  border-radius: var(--radius-card);
  overflow: hidden;
  display: flex; flex-direction: column;
  box-shadow: var(--shadow-card);
  transition: transform 0.2s, border-color 0.15s;
}
.cc-hp-pod-card:hover { transform: translateY(-3px); border-color: var(--pod-c, var(--gold)); }
.cc-hp-pod-card__art { position: relative; aspect-ratio: 16/9; background: var(--bg-elevated); overflow: hidden; }
.cc-hp-pod-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.35s ease; }
.cc-hp-pod-card:hover .cc-hp-pod-card__img { transform: scale(1.04); }
.cc-hp-pod-card__art-fallback { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--pod-c,var(--gold)) 6%, transparent); }
.cc-hp-pod-card__play { position: absolute; bottom: 0.5rem; right: 0.5rem; width: 36px; height: 36px; border-radius: 50%; background: var(--gold); border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; color: #000; box-shadow: 0 4px 12px rgba(245,200,66,0.4); opacity: 0; transition: opacity 0.15s, transform 0.15s; }
.cc-hp-pod-card:hover .cc-hp-pod-card__play { opacity: 1; }
.cc-hp-pod-card__play:hover { transform: scale(1.12); }
.cc-hp-pod-card__play.is-playing { opacity: 1; }
.cc-hp-pod-card__cat-badge { position: absolute; top: 0.5rem; left: 0.5rem; font-size: 0.4375rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.07em; color: #000; border-radius: 100px; padding: 0.15rem 0.5rem; }
.cc-hp-pod-card__body { padding: 0.875rem 1rem; flex: 1; display: flex; flex-direction: column; gap: 0.375rem; }
.cc-hp-pod-card__meta { display: flex; align-items: center; gap: 0.5rem; font-family: var(--font-mono); font-size: 0.5rem; color: rgba(255,255,255,0.25); }
.cc-hp-pod-card__title { font-size: 0.9375rem; font-weight: 800; color: var(--text-primary); text-decoration: none; line-height: 1.3; transition: color 0.15s; }
.cc-hp-pod-card__title:hover { color: var(--pod-c, var(--gold)); }
.cc-hp-pod-card__excerpt { font-size: 0.75rem; color: var(--text-secondary); line-height: 1.6; flex: 1; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cc-hp-pod-card__host { display: flex; align-items: center; gap: 0.3rem; font-size: 0.5625rem; color: rgba(255,255,255,0.3); margin-top: auto; padding-top: 0.375rem; border-top: 1px solid var(--border-subtle); }

/* ── Homepage province strip — above footer ── */
.cc-hp-province-strip {
  padding: 2rem 0;
}
.cc-hp-bottom__province-wrap {
  padding-top: 0;
}
.cc-hp-province-inner {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.cc-hp-province-label {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: var(--text-muted);
  flex-shrink: 0;
  white-space: nowrap;
}
.cc-hp-province-inner .cc-province-strip {
  flex: 1;
}

/* ═══════════════════════════════════════════════════════════
   BC HERO — Pacific Market Watch
   Accent: Pacific blue #0ea5e9
   Atmosphere: ocean wave bands + mountain silhouette watermark
═══════════════════════════════════════════════════════════ */

.cc-bc-hero {
  position: relative;
  background: var(--bg-main);
  min-height: 680px;
  overflow: hidden;
  display: flex;
  align-items: center;
}

/* Deep-ocean radial glows */
.cc-bc-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 55% 70% at 8%  30%, rgba(14,165,233,0.09) 0%, transparent 65%),
    radial-gradient(ellipse 40% 50% at 85% 15%, rgba(6,182,212,0.07)  0%, transparent 60%),
    radial-gradient(ellipse 35% 45% at 60% 80%, rgba(99,102,241,0.06) 0%, transparent 55%),
    var(--bg-main);
  pointer-events: none;
}

/* Dot grid */
.cc-bc-hero__grid {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
}

/* Pacific wave bands — three layered horizontal aurora-style ribbons */
.cc-bc-hero__wave {
  position: absolute;
  left: -10%;
  width: 120%;
  border-radius: 50%;
  pointer-events: none;
  animation: bc-wave-drift 12s ease-in-out infinite alternate;
}
.cc-bc-hero__wave--1 {
  height: 180px;
  top: 55%;
  background: linear-gradient(90deg, transparent 0%, rgba(14,165,233,0.045) 30%, rgba(6,182,212,0.06) 55%, rgba(14,165,233,0.03) 80%, transparent 100%);
  filter: blur(22px);
  animation-duration: 14s;
}
.cc-bc-hero__wave--2 {
  height: 140px;
  top: 65%;
  background: linear-gradient(90deg, transparent 0%, rgba(6,182,212,0.05) 40%, rgba(14,165,233,0.07) 60%, transparent 100%);
  filter: blur(18px);
  animation-duration: 11s;
  animation-delay: -4s;
}
.cc-bc-hero__wave--3 {
  height: 100px;
  top: 74%;
  background: linear-gradient(90deg, transparent 20%, rgba(99,102,241,0.04) 50%, rgba(14,165,233,0.05) 70%, transparent 100%);
  filter: blur(14px);
  animation-duration: 9s;
  animation-delay: -7s;
}
@keyframes bc-wave-drift {
  0%   { transform: translateX(-3%) scaleY(1); }
  100% { transform: translateX(3%)  scaleY(1.08); }
}

/* Mountain silhouette watermark */
.cc-bc-hero__mountain {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 220px;
  pointer-events: none;
  background:
    /* Far peaks */
    radial-gradient(ellipse 18% 55% at 22% 100%, rgba(14,165,233,0.045) 0%, transparent 70%),
    radial-gradient(ellipse 22% 65% at 38% 100%, rgba(14,165,233,0.055) 0%, transparent 70%),
    radial-gradient(ellipse 16% 48% at 54% 100%, rgba(14,165,233,0.04)  0%, transparent 70%),
    radial-gradient(ellipse 20% 60% at 70% 100%, rgba(14,165,233,0.05)  0%, transparent 70%),
    radial-gradient(ellipse 15% 42% at 85% 100%, rgba(14,165,233,0.035) 0%, transparent 70%);
  mask-image: linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 100%);
  -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 100%);
}

/* Two-column layout */
.cc-bc-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 4rem;
  align-items: start;
  padding: 4.5rem 0 4rem;
}
@media (max-width: 1024px) {
  .cc-bc-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-bc-hero { min-height: auto; }
}

/* Badges */
.cc-bc-hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.25rem;
}
.cc-bc-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
}
.cc-bc-hero__badge--bclc {
  color: #0ea5e9;
  background: rgba(14,165,233,0.10);
  border: 1px solid rgba(14,165,233,0.22);
}
.cc-bc-hero__badge--age {
  color: rgba(255,255,255,0.6);
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.10);
}
.cc-bc-hero__badge-pulse {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0ea5e9;
  box-shadow: 0 0 0 0 rgba(14,165,233,0.5);
  animation: bc-pulse 2.2s ease-out infinite;
  flex-shrink: 0;
}
@keyframes bc-pulse {
  0%   { box-shadow: 0 0 0 0   rgba(14,165,233,0.55); }
  70%  { box-shadow: 0 0 0 7px rgba(14,165,233,0); }
  100% { box-shadow: 0 0 0 0   rgba(14,165,233,0); }
}

/* Title */
.cc-bc-hero__title {
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #ffffff;
  line-height: 1.05;
  margin-bottom: 1rem;
}
.cc-bc-hero__title em {
  color: #0ea5e9;
  font-style: italic;
  display: block;
}

/* Description */
.cc-bc-hero__desc {
  font-size: 1rem;
  color: var(--text-secondary);
  line-height: 1.65;
  max-width: 540px;
  margin-bottom: 1.5rem;
}

/* BCLC info bar */
.cc-bc-hero__info-bar {
  background: rgba(14,165,233,0.06);
  border: 1px solid rgba(14,165,233,0.16);
  border-radius: 12px;
  padding: 0.875rem 1.25rem;
  margin-bottom: 1.5rem;
}
.cc-bc-hero__info-bar-inner {
  display: flex;
  gap: 0;
  align-items: stretch;
}
.cc-bc-hero__info-fact {
  flex: 1;
  min-width: 80px;
  text-align: center;
}
.cc-bc-hero__info-sep {
  width: 1px;
  background: rgba(14,165,233,0.15);
  margin: 0.1rem 0;
}
.cc-bc-hero__info-label {
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.2rem;
}
.cc-bc-hero__info-val {
  font-size: 0.875rem;
  font-weight: 800;
  color: #0ea5e9;
  font-family: var(--font-mono);
}

/* Timeline */
.cc-bc-hero__timeline {
  display: flex;
  align-items: flex-start;
  gap: 0;
  margin-bottom: 1.5rem;
}
.cc-bc-hero__tl-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  position: relative;
}
.cc-bc-hero__tl-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-bottom: 0.4rem;
  position: relative;
  z-index: 1;
}
.cc-bc-hero__tl-line {
  position: absolute;
  top: 5px;
  left: calc(50% + 5px);
  right: calc(-50% + 5px);
  height: 1px;
  z-index: 0;
}
.cc-bc-hero__tl-label {
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.15rem;
  text-align: center;
}
.cc-bc-hero__tl-desc {
  font-size: 0.5rem;
  color: var(--text-muted);
  text-align: center;
  line-height: 1.4;
}

/* Chips */
.cc-bc-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}
.cc-bc-hero__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.625rem;
  font-weight: 700;
  color: var(--text-secondary);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 100px;
  padding: 0.3rem 0.75rem;
}

/* CTAs */
.cc-bc-hero__ctas {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

/* ── RIGHT COLUMN ── */
.cc-bc-hero__right {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* Market watch panel (frosted glass) */
.cc-bc-hero__panel {
  background: rgba(10,14,22,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid #0ea5e9;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.45);
}
.cc-bc-hero__panel-hdr {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #0ea5e9;
}
.cc-bc-hero__panel-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0ea5e9;
  animation: bc-pulse 2.2s ease-out infinite;
  flex-shrink: 0;
}
.cc-bc-hero__panel-updated {
  margin-left: auto;
  font-weight: 600;
  color: var(--text-muted);
  letter-spacing: 0;
  text-transform: none;
  font-size: 0.5625rem;
}

/* Top picks inside panel */
.cc-bc-hero__pick {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1.25rem;
  text-decoration: none;
  transition: var(--transition);
  border-bottom: 1px solid rgba(255,255,255,0.04);
}
.cc-bc-hero__pick:last-of-type { margin-bottom: 0.5rem; }
.cc-bc-hero__pick--top { background: rgba(14,165,233,0.06); }
.cc-bc-hero__pick:hover { background: rgba(14,165,233,0.09); }
.cc-bc-hero__pick-rank {
  font-family: var(--font-mono);
  font-size: 0.875rem;
  font-weight: 900;
  color: #0ea5e9;
  width: 18px;
  flex-shrink: 0;
  text-align: center;
}
.cc-bc-hero__pick--std .cc-bc-hero__pick-rank { color: rgba(255,255,255,0.2); }
.cc-bc-hero__pick-logo {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  object-fit: contain;
  background: var(--bg-elevated);
  padding: 3px;
  flex-shrink: 0;
}
.cc-bc-hero__pick-logo--fb {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: rgba(14,165,233,0.15);
  color: #0ea5e9;
  font-weight: 900;
  font-size: 1rem;
  flex-shrink: 0;
}
.cc-bc-hero__pick-info { flex: 1; min-width: 0; }
.cc-bc-hero__pick-name {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 0.2rem;
}
.cc-bc-hero__pick-row {
  display: flex;
  align-items: center;
  gap: 2px;
}
.cc-bc-hero__pick-score {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 700;
  color: var(--gold);
  margin-left: 4px;
}
.cc-bc-hero__pick-badge {
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #0ea5e9;
  background: rgba(14,165,233,0.12);
  border: 1px solid rgba(14,165,233,0.2);
  border-radius: 100px;
  padding: 0.1rem 0.4rem;
  margin-left: 4px;
  white-space: nowrap;
}
.cc-bc-hero__pick-bonus {
  font-size: 0.5625rem;
  color: var(--text-muted);
  margin-top: 0.2rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-bc-hero__pick-arrow {
  color: var(--text-faint);
  flex-shrink: 0;
  transition: var(--transition);
}
.cc-bc-hero__pick:hover .cc-bc-hero__pick-arrow { color: #0ea5e9; }
.cc-bc-hero__see-all {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  font-size: 0.625rem;
  font-weight: 700;
  color: var(--text-muted);
  text-decoration: none;
  padding: 0.65rem 1.25rem;
  border-top: 1px solid rgba(255,255,255,0.05);
  transition: var(--transition);
}
.cc-bc-hero__see-all:hover { color: #0ea5e9; }

/* Stat chips row */
.cc-bc-hero__stat-chips {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.625rem;
}
.cc-bc-hero__stat-chip {
  background: rgba(10,14,22,0.88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 14px;
  padding: 0.75rem 0.5rem;
  text-align: center;
}
.cc-bc-hero__stat-chip-icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.4rem;
}
.cc-bc-hero__stat-chip-num {
  font-family: var(--font-mono);
  font-size: 1.125rem;
  font-weight: 900;
  color: var(--text-primary);
  line-height: 1;
  margin-bottom: 0.2rem;
}
.cc-bc-hero__stat-chip-label {
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--text-muted);
}

/* RG tools strip */
.cc-bc-hero__rg-strip {
  background: rgba(10,14,22,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid #ec4899;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(0,0,0,0.35);
}
.cc-bc-hero__rg-hdr {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #ec4899;
}
.cc-bc-hero__rg-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.55rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.03);
  transition: var(--transition);
}
.cc-bc-hero__rg-item:hover { background: rgba(255,255,255,0.03); }
.cc-bc-hero__rg-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  margin-top: 4px;
  flex-shrink: 0;
}
.cc-bc-hero__rg-name {
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.1rem;
}
.cc-bc-hero__rg-desc {
  font-size: 0.5625rem;
  color: var(--text-muted);
  line-height: 1.4;
}
.cc-bc-hero__rg-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 700;
  color: var(--text-muted);
  text-decoration: none;
  padding: 0.6rem 1.25rem;
  transition: var(--transition);
}
.cc-bc-hero__rg-footer:hover { color: #ec4899; }

/* Light mode override */
:root.light .cc-bc-hero,
:root.light .cc-bc-hero__bg,
:root.light .cc-bc-hero__panel,
:root.light .cc-bc-hero__rg-strip,
:root.light .cc-bc-hero__stat-chip {
  background: #07090f;
}
:root.light .cc-bc-hero {
  --bg-main:       #07090f;
  --bg-card:       #0d1117;
  --bg-elevated:   #111827;
  --text-primary:  #ffffff;
  --text-secondary:#94a3b8;
  --text-muted:    #64748b;
  --text-faint:    #334155;
  --border-subtle: rgba(255,255,255,0.06);
  --border-mid:    rgba(255,255,255,0.10);
  --gold:          #F5C842;
  --gold-dim:      rgba(245,200,66,0.12);
  --gold-border:   rgba(245,200,66,0.22);
}

/* ═══════════════════════════════════════════════════════════
   QUEBEC HERO — Espacejeux & La Belle Province
   Accent: Crimson #e11d48
   Atmosphere: diagonal heritage grain + crimson aurora beams
═══════════════════════════════════════════════════════════ */

.cc-qc-hero {
  position: relative;
  background: var(--bg-main);
  min-height: 680px;
  overflow: hidden;
  display: flex;
  align-items: center;
}

/* Deep crimson radial glows */
.cc-qc-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 55% 65% at 5%  25%, rgba(225,29,72,0.08)  0%, transparent 65%),
    radial-gradient(ellipse 40% 50% at 88% 18%, rgba(225,29,72,0.05)  0%, transparent 60%),
    radial-gradient(ellipse 35% 45% at 55% 85%, rgba(99,102,241,0.05) 0%, transparent 55%),
    var(--bg-main);
  pointer-events: none;
}

/* Dot grid */
.cc-qc-hero__grid {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
}

/* Diagonal heritage grain overlay */
.cc-qc-hero__fleur {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    repeating-linear-gradient(
      -55deg,
      transparent,
      transparent 38px,
      rgba(225,29,72,0.018) 38px,
      rgba(225,29,72,0.018) 39px
    );
}

/* Crimson spotlight beams */
.cc-qc-hero__beam {
  position: absolute;
  top: -10%;
  width: 2px;
  height: 130%;
  pointer-events: none;
  filter: blur(28px);
  opacity: 0.55;
}
.cc-qc-hero__beam--l {
  left: 18%;
  background: linear-gradient(180deg, rgba(225,29,72,0.18) 0%, transparent 80%);
  transform: rotate(-8deg);
  transform-origin: top center;
  animation: qc-beam-sway 9s ease-in-out infinite alternate;
}
.cc-qc-hero__beam--r {
  right: 22%;
  background: linear-gradient(180deg, rgba(225,29,72,0.12) 0%, transparent 75%);
  transform: rotate(6deg);
  transform-origin: top center;
  animation: qc-beam-sway 12s ease-in-out infinite alternate-reverse;
}
@keyframes qc-beam-sway {
  0%   { opacity: 0.4; transform: rotate(-8deg) scaleX(1); }
  100% { opacity: 0.7; transform: rotate(-4deg) scaleX(1.6); }
}

/* Two-column layout */
.cc-qc-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 4rem;
  align-items: start;
  padding: 4.5rem 0 4rem;
}
@media (max-width: 1024px) {
  .cc-qc-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-qc-hero { min-height: auto; }
}

/* Badges */
.cc-qc-hero__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.25rem;
}
.cc-qc-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
}
.cc-qc-hero__badge--loto {
  color: #e11d48;
  background: rgba(225,29,72,0.10);
  border: 1px solid rgba(225,29,72,0.22);
}
.cc-qc-hero__badge--age {
  color: rgba(255,255,255,0.6);
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.10);
}
.cc-qc-hero__badge-pulse {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #e11d48;
  box-shadow: 0 0 0 0 rgba(225,29,72,0.5);
  animation: qc-pulse 2.2s ease-out infinite;
  flex-shrink: 0;
}
@keyframes qc-pulse {
  0%   { box-shadow: 0 0 0 0   rgba(225,29,72,0.55); }
  70%  { box-shadow: 0 0 0 7px rgba(225,29,72,0); }
  100% { box-shadow: 0 0 0 0   rgba(225,29,72,0); }
}

/* Title */
.cc-qc-hero__title {
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #ffffff;
  line-height: 1.05;
  margin-bottom: 1rem;
}
.cc-qc-hero__title em {
  color: #e11d48;
  font-style: italic;
  display: block;
}

/* Description */
.cc-qc-hero__desc {
  font-size: 1rem;
  color: var(--text-secondary);
  line-height: 1.65;
  max-width: 540px;
  margin-bottom: 1.5rem;
}

/* Info bar */
.cc-qc-hero__info-bar {
  background: rgba(225,29,72,0.06);
  border: 1px solid rgba(225,29,72,0.16);
  border-radius: 12px;
  padding: 0.875rem 1.25rem;
  margin-bottom: 1.5rem;
}
.cc-qc-hero__info-bar-inner {
  display: flex;
  gap: 0;
  align-items: stretch;
}
.cc-qc-hero__info-fact { flex: 1; min-width: 80px; text-align: center; }
.cc-qc-hero__info-sep {
  width: 1px;
  background: rgba(225,29,72,0.15);
  margin: 0.1rem 0;
}
.cc-qc-hero__info-label {
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.2rem;
}
.cc-qc-hero__info-val {
  font-size: 0.875rem;
  font-weight: 800;
  color: #e11d48;
  font-family: var(--font-mono);
}

/* Timeline */
.cc-qc-hero__timeline {
  display: flex;
  align-items: flex-start;
  gap: 0;
  margin-bottom: 1.5rem;
}
.cc-qc-hero__tl-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  position: relative;
}
.cc-qc-hero__tl-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-bottom: 0.4rem;
  position: relative;
  z-index: 1;
}
.cc-qc-hero__tl-line {
  position: absolute;
  top: 5px;
  left: calc(50% + 5px);
  right: calc(-50% + 5px);
  height: 1px;
  z-index: 0;
}
.cc-qc-hero__tl-label {
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.15rem;
  text-align: center;
}
.cc-qc-hero__tl-desc {
  font-size: 0.5rem;
  color: var(--text-muted);
  text-align: center;
  line-height: 1.4;
}

/* Chips */
.cc-qc-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}
.cc-qc-hero__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.625rem;
  font-weight: 700;
  color: var(--text-secondary);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 100px;
  padding: 0.3rem 0.75rem;
}

.cc-qc-hero__ctas { display: flex; gap: 0.75rem; flex-wrap: wrap; }

/* ── RIGHT COLUMN ── */
.cc-qc-hero__right {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* Market watch panel */
.cc-qc-hero__panel {
  background: rgba(10,14,22,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid #e11d48;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.45);
}
.cc-qc-hero__panel-hdr {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #e11d48;
}
.cc-qc-hero__panel-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #e11d48;
  animation: qc-pulse 2.2s ease-out infinite;
  flex-shrink: 0;
}
.cc-qc-hero__panel-updated {
  margin-left: auto;
  font-weight: 600;
  color: var(--text-muted);
  letter-spacing: 0;
  text-transform: none;
  font-size: 0.5625rem;
}

/* Picks */
.cc-qc-hero__pick {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1.25rem;
  text-decoration: none;
  transition: var(--transition);
  border-bottom: 1px solid rgba(255,255,255,0.04);
}
.cc-qc-hero__pick:last-of-type { margin-bottom: 0.5rem; }
.cc-qc-hero__pick--top { background: rgba(225,29,72,0.06); }
.cc-qc-hero__pick:hover { background: rgba(225,29,72,0.09); }
.cc-qc-hero__pick-rank {
  font-family: var(--font-mono);
  font-size: 0.875rem;
  font-weight: 900;
  color: #e11d48;
  width: 18px;
  flex-shrink: 0;
  text-align: center;
}
.cc-qc-hero__pick--std .cc-qc-hero__pick-rank { color: rgba(255,255,255,0.2); }
.cc-qc-hero__pick-logo {
  width: 34px; height: 34px;
  border-radius: 8px;
  object-fit: contain;
  background: var(--bg-elevated);
  padding: 3px;
  flex-shrink: 0;
}
.cc-qc-hero__pick-logo--fb {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px; height: 34px;
  border-radius: 8px;
  background: rgba(225,29,72,0.15);
  color: #e11d48;
  font-weight: 900;
  font-size: 1rem;
  flex-shrink: 0;
}
.cc-qc-hero__pick-info { flex: 1; min-width: 0; }
.cc-qc-hero__pick-name {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 0.2rem;
}
.cc-qc-hero__pick-row { display: flex; align-items: center; gap: 2px; }
.cc-qc-hero__pick-score {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 700;
  color: var(--gold);
  margin-left: 4px;
}
.cc-qc-hero__pick-badge {
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #e11d48;
  background: rgba(225,29,72,0.12);
  border: 1px solid rgba(225,29,72,0.2);
  border-radius: 100px;
  padding: 0.1rem 0.4rem;
  margin-left: 4px;
  white-space: nowrap;
}
.cc-qc-hero__pick-bonus {
  font-size: 0.5625rem;
  color: var(--text-muted);
  margin-top: 0.2rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-qc-hero__pick-arrow { color: var(--text-faint); flex-shrink: 0; transition: var(--transition); }
.cc-qc-hero__pick:hover .cc-qc-hero__pick-arrow { color: #e11d48; }
.cc-qc-hero__see-all {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  font-size: 0.625rem;
  font-weight: 700;
  color: var(--text-muted);
  text-decoration: none;
  padding: 0.65rem 1.25rem;
  border-top: 1px solid rgba(255,255,255,0.05);
  transition: var(--transition);
}
.cc-qc-hero__see-all:hover { color: #e11d48; }

/* Stat chips */
.cc-qc-hero__stat-chips {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.625rem;
}
.cc-qc-hero__stat-chip {
  background: rgba(10,14,22,0.88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 14px;
  padding: 0.75rem 0.5rem;
  text-align: center;
}
.cc-qc-hero__stat-icon {
  width: 28px; height: 28px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.4rem;
}
.cc-qc-hero__stat-num {
  font-family: var(--font-mono);
  font-size: 1.125rem;
  font-weight: 900;
  color: var(--text-primary);
  line-height: 1;
  margin-bottom: 0.2rem;
}
.cc-qc-hero__stat-label {
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--text-muted);
}

/* ISP + RG combined card */
.cc-qc-hero__isp-card {
  background: rgba(10,14,22,0.92);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid #e11d48;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(0,0,0,0.35);
}
.cc-qc-hero__isp-hdr {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #e11d48;
}
.cc-qc-hero__isp-tag {
  margin-left: auto;
  font-size: 0.5rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #10b981;
  background: rgba(16,185,129,0.12);
  border: 1px solid rgba(16,185,129,0.22);
  border-radius: 100px;
  padding: 0.15rem 0.5rem;
}
.cc-qc-hero__isp-body {
  font-size: 0.6875rem;
  color: var(--text-secondary);
  line-height: 1.6;
  padding: 0.875rem 1.25rem 0.5rem;
  margin: 0;
}
.cc-qc-hero__rg-hdr {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1.25rem 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #10b981;
  border-top: 1px solid rgba(255,255,255,0.05);
}
.cc-qc-hero__rg-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.45rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.03);
  transition: var(--transition);
}
.cc-qc-hero__rg-item:hover { background: rgba(255,255,255,0.03); }
.cc-qc-hero__rg-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  margin-top: 4px;
  flex-shrink: 0;
}
.cc-qc-hero__rg-name {
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.1rem;
}
.cc-qc-hero__rg-desc {
  font-size: 0.5625rem;
  color: var(--text-muted);
  line-height: 1.4;
}
.cc-qc-hero__rg-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 700;
  color: var(--text-muted);
  text-decoration: none;
  padding: 0.6rem 1.25rem;
  transition: var(--transition);
}
.cc-qc-hero__rg-footer:hover { color: #e11d48; }

/* Light mode override */
:root.light .cc-qc-hero,
:root.light .cc-qc-hero__bg,
:root.light .cc-qc-hero__panel,
:root.light .cc-qc-hero__isp-card,
:root.light .cc-qc-hero__stat-chip {
  background: #07090f;
}
:root.light .cc-qc-hero {
  --bg-main:       #07090f;
  --bg-card:       #0d1117;
  --bg-elevated:   #111827;
  --text-primary:  #ffffff;
  --text-secondary:#94a3b8;
  --text-muted:    #64748b;
  --text-faint:    #334155;
  --border-subtle: rgba(255,255,255,0.06);
  --border-mid:    rgba(255,255,255,0.10);
  --gold:          #F5C842;
  --gold-dim:      rgba(245,200,66,0.12);
  --gold-border:   rgba(245,200,66,0.22);
}


/* ═══════════════════════════════════════════════════════════
   MANITOBA PROVINCE HERO  (cc-mb-hero)
   Prairie amber — #e85d04 accent · MBLL monopoly market
═══════════════════════════════════════════════════════════ */
.cc-mb-hero {
  position: relative; overflow: hidden; min-height: 520px;
  display: flex; align-items: center; background: var(--bg-main);
}
.cc-mb-hero__bg {
  position: absolute; inset: 0; z-index: 0;
  background:
    radial-gradient(ellipse 65% 70% at 85% 50%, rgba(232,93,4,0.10) 0%, transparent 60%),
    radial-gradient(ellipse 40% 50% at 15% 30%, rgba(245,200,66,0.06) 0%, transparent 55%),
    var(--bg-main);
}
.cc-mb-hero__horizon {
  position: absolute; bottom: 0; left: 0; right: 0; z-index: 0; height: 3px;
  background: linear-gradient(90deg, transparent, rgba(232,93,4,0.35) 30%, rgba(245,200,66,0.5) 50%, rgba(232,93,4,0.35) 70%, transparent);
  opacity: 0.6;
}
.cc-mb-hero__grid {
  position: absolute; inset: 0; z-index: 0;
  background-image: linear-gradient(rgba(232,93,4,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(232,93,4,0.04) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse 90% 80% at 50% 50%, black 30%, transparent 100%);
}
.cc-mb-hero__beam { position: absolute; top: 0; bottom: 0; z-index: 0; width: 1px; opacity: 0.18; background: linear-gradient(to bottom, transparent, #e85d04 30%, #f59e0b 60%, transparent); }
.cc-mb-hero__beam--l { left: 22%; } .cc-mb-hero__beam--r { right: 22%; }
.cc-mb-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 420px; gap: 3rem; padding: 4.5rem 0; align-items: start; }
@media (max-width: 1024px) { .cc-mb-hero__inner { grid-template-columns: 1fr; } }
.cc-mb-hero__badges { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.cc-mb-hero__badge { display: inline-flex; align-items: center; gap: 0.375rem; padding: 0.3rem 0.75rem; border-radius: 999px; font-size: 0.7rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
.cc-mb-hero__badge-pulse { width: 6px; height: 6px; border-radius: 50%; background: #e85d04; box-shadow: 0 0 0 0 rgba(232,93,4,0.6); animation: cc-pulse 2s infinite; }
.cc-mb-hero__badge--mbll { background: rgba(232,93,4,0.12); color: #e85d04; border: 1px solid rgba(232,93,4,0.25); }
.cc-mb-hero__badge--age  { background: rgba(255,255,255,0.05); color: var(--text-secondary); border: 1px solid var(--border-subtle); }
.cc-mb-hero__title { font-size: clamp(2rem,4.5vw,3.2rem); font-weight: 900; line-height: 1.06; margin-bottom: 1rem; color: var(--text-primary); }
.cc-mb-hero__title em { color: #e85d04; font-style: italic; }
.cc-mb-hero__desc { font-size: 0.975rem; color: var(--text-secondary); line-height: 1.7; max-width: 540px; margin-bottom: 1.5rem; }
.cc-mb-hero__info-bar { background: rgba(232,93,4,0.07); border: 1px solid rgba(232,93,4,0.18); border-radius: 10px; padding: 0.875rem 1.125rem; margin-bottom: 1.5rem; }
.cc-mb-hero__info-bar-inner { display: flex; flex-wrap: wrap; }
.cc-mb-hero__info-fact { flex: 1; min-width: 80px; padding: 0 0.75rem; }
.cc-mb-hero__info-fact:first-child { padding-left: 0; }
.cc-mb-hero__info-label { font-size: 0.65rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 0.2rem; }
.cc-mb-hero__info-val { font-size: 0.85rem; font-weight: 700; color: #e85d04; }
.cc-mb-hero__info-sep { width: 1px; background: rgba(232,93,4,0.18); margin: 0.25rem 0; }
.cc-mb-hero__timeline { display: flex; align-items: flex-start; margin-bottom: 1.5rem; flex-wrap: wrap; }
.cc-mb-hero__tl-item { display: flex; flex-direction: column; align-items: center; position: relative; min-width: 70px; }
.cc-mb-hero__tl-dot { width: 10px; height: 10px; border-radius: 50%; margin-bottom: 0.375rem; flex-shrink: 0; }
.cc-mb-hero__tl-line { position: absolute; top: 4px; left: calc(50% + 5px); width: calc(100% - 10px); height: 2px; }
.cc-mb-hero__tl-label { font-size: 0.65rem; font-weight: 700; letter-spacing: 0.04em; text-align: center; margin-bottom: 0.2rem; }
.cc-mb-hero__tl-desc { font-size: 0.6rem; color: var(--text-muted); text-align: center; line-height: 1.3; max-width: 72px; }
.cc-mb-hero__chips { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 1.75rem; }
.cc-mb-hero__chip { display: inline-flex; align-items: center; gap: 0.375rem; padding: 0.3rem 0.7rem; border-radius: 999px; font-size: 0.7rem; color: var(--text-secondary); background: rgba(255,255,255,0.04); border: 1px solid var(--border-subtle); }
.cc-mb-hero__ctas { display: flex; gap: 0.875rem; flex-wrap: wrap; }
.cc-mb-hero__right { display: flex; flex-direction: column; gap: 1rem; }
.cc-mb-hero__panel { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 14px; overflow: hidden; }
.cc-mb-hero__panel-hdr { display: flex; align-items: center; gap: 0.5rem; padding: 0.875rem 1rem; border-bottom: 1px solid var(--border-subtle); font-size: 0.75rem; font-weight: 600; color: var(--text-secondary); }
.cc-mb-hero__panel-dot { width: 8px; height: 8px; border-radius: 50%; background: #e85d04; box-shadow: 0 0 6px rgba(232,93,4,0.6); animation: cc-pulse 2s infinite; flex-shrink: 0; }
.cc-mb-hero__panel-updated { margin-left: auto; font-size: 0.65rem; color: var(--text-muted); }
.cc-mb-hero__pick { display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 1rem; text-decoration: none; transition: background 0.15s; border-bottom: 1px solid var(--border-subtle); }
.cc-mb-hero__pick:last-of-type { border-bottom: none; }
.cc-mb-hero__pick:hover { background: rgba(255,255,255,0.03); }
.cc-mb-hero__pick--top { background: rgba(232,93,4,0.05); }
.cc-mb-hero__pick-rank { width: 20px; height: 20px; border-radius: 50%; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 0.65rem; font-weight: 700; background: rgba(232,93,4,0.15); color: #e85d04; }
.cc-mb-hero__pick-logo { width: 32px; height: 32px; border-radius: 6px; object-fit: contain; background: rgba(255,255,255,0.06); flex-shrink: 0; }
.cc-mb-hero__pick-logo--fb { display: flex; align-items: center; justify-content: center; font-size: 0.85rem; font-weight: 700; color: var(--text-secondary); }
.cc-mb-hero__pick-info { flex: 1; min-width: 0; }
.cc-mb-hero__pick-name { font-size: 0.78rem; font-weight: 600; color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cc-mb-hero__pick-row { display: flex; align-items: center; gap: 0.25rem; margin-top: 0.2rem; flex-wrap: wrap; }
.cc-mb-hero__pick-score { font-size: 0.68rem; font-weight: 700; color: var(--gold); }
.cc-mb-hero__pick-badge { font-size: 0.6rem; padding: 0.1rem 0.45rem; border-radius: 4px; background: rgba(232,93,4,0.12); color: #e85d04; }
.cc-mb-hero__pick-bonus { font-size: 0.65rem; color: var(--text-muted); margin-top: 0.2rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cc-mb-hero__pick-arrow { color: var(--text-muted); flex-shrink: 0; }
.cc-mb-hero__see-all { display: flex; align-items: center; gap: 0.4rem; justify-content: center; padding: 0.7rem 1rem; font-size: 0.72rem; font-weight: 600; color: #e85d04; text-decoration: none; border-top: 1px solid var(--border-subtle); transition: background 0.15s; }
.cc-mb-hero__see-all:hover { background: rgba(232,93,4,0.06); }
.cc-mb-hero__stat-chips { display: grid; grid-template-columns: repeat(4,1fr); gap: 0.5rem; }
.cc-mb-hero__stat-chip { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 10px; padding: 0.75rem 0.5rem; text-align: center; }
.cc-mb-hero__stat-icon { width: 30px; height: 30px; border-radius: 8px; display: flex; align-items: center; justify-content: center; margin: 0 auto 0.4rem; }
.cc-mb-hero__stat-num { font-size: 1.15rem; font-weight: 800; color: var(--text-primary); line-height: 1.1; }
.cc-mb-hero__stat-label { font-size: 0.6rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.05em; margin-top: 0.15rem; }
.cc-mb-hero__mbll-card { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 14px; padding: 1rem 1.125rem; }
.cc-mb-hero__mbll-hdr { display: flex; align-items: center; gap: 0.5rem; font-size: 0.75rem; font-weight: 600; color: var(--text-secondary); margin-bottom: 0.625rem; }
.cc-mb-hero__mbll-tag { margin-left: auto; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; padding: 0.15rem 0.55rem; border-radius: 999px; background: rgba(232,93,4,0.12); color: #e85d04; border: 1px solid rgba(232,93,4,0.25); }
.cc-mb-hero__mbll-body { font-size: 0.75rem; color: var(--text-secondary); line-height: 1.6; margin-bottom: 0.875rem; }
.cc-mb-hero__rg-hdr { display: flex; align-items: center; gap: 0.4rem; font-size: 0.7rem; font-weight: 600; color: var(--text-secondary); margin-bottom: 0.5rem; }
.cc-mb-hero__rg-item { display: flex; align-items: flex-start; gap: 0.625rem; padding: 0.375rem 0.25rem; border-radius: 6px; transition: background 0.15s; }
.cc-mb-hero__rg-item:hover { background: rgba(255,255,255,0.03); }
.cc-mb-hero__rg-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; margin-top: 4px; }
.cc-mb-hero__rg-name { font-size: 0.72rem; font-weight: 600; color: var(--text-primary); }
.cc-mb-hero__rg-desc { font-size: 0.65rem; color: var(--text-muted); }
.cc-mb-hero__rg-footer { display: flex; align-items: center; gap: 0.35rem; font-size: 0.68rem; color: var(--text-muted); text-decoration: none; padding-top: 0.625rem; margin-top: 0.375rem; border-top: 1px solid var(--border-subtle); transition: color 0.15s; }
.cc-mb-hero__rg-footer:hover { color: #e85d04; }
:root.light .cc-mb-hero,
:root.light .cc-mb-hero__bg,
:root.light .cc-mb-hero__panel,
:root.light .cc-mb-hero__mbll-card,
:root.light .cc-mb-hero__stat-chip { background: #07090f; }
:root.light .cc-mb-hero {
  --bg-main:#07090f; --bg-card:#0d1117; --bg-elevated:#111827;
  --text-primary:#ffffff; --text-secondary:#94a3b8; --text-muted:#64748b;
  --border-subtle:rgba(255,255,255,0.06); --border-mid:rgba(255,255,255,0.10);
  --gold:#F5C842; --gold-dim:rgba(245,200,66,0.12); --gold-border:rgba(245,200,66,0.22);
}

/* ═══════════════════════════════════════════════════════════
   AFFILIATE DISCLOSURE PAGE
   Restrained legal hero + document layout with sticky ToC
═══════════════════════════════════════════════════════════ */

/* Hero — muted, professional */
.cc-aff-hero {
  position: relative;
  background: var(--bg-main);
  overflow: hidden;
  padding: 3.5rem 0 2.75rem;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-aff-hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 50% 80% at 0% 50%, rgba(245,200,66,0.04) 0%, transparent 60%),
    radial-gradient(ellipse 30% 50% at 100% 0%, rgba(245,200,66,0.03) 0%, transparent 55%);
  pointer-events: none;
}
.cc-aff-hero__grid {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.02) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
}
.cc-aff-hero__inner { position: relative; z-index: 2; max-width: 760px; }
.cc-aff-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.3rem 0.875rem;
  margin-bottom: 1rem;
}
.cc-aff-hero__title {
  font-size: clamp(1.75rem, 3.5vw, 2.75rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: var(--text-primary);
  line-height: 1.1;
  margin-bottom: 0.875rem;
}
.cc-aff-hero__desc {
  font-size: 1rem;
  color: var(--text-secondary);
  line-height: 1.65;
  max-width: 600px;
  margin-bottom: 1.5rem;
}
.cc-aff-hero__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem 0;
}
.cc-aff-hero__meta-item {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  color: var(--text-muted);
  padding: 0 1rem;
}
.cc-aff-hero__meta-item:first-child { padding-left: 0; }
.cc-aff-hero__meta-item strong { color: var(--text-secondary); font-weight: 700; }
.cc-aff-hero__meta-sep { width: 1px; height: 14px; background: var(--border-subtle); }

/* Body layout — doc + sticky sidebar */
.cc-aff-body { background: var(--bg-main); padding: 3rem 0 5rem; }
.cc-aff-layout {
  display: grid;
  grid-template-columns: 1fr 240px;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 900px) {
  .cc-aff-layout { grid-template-columns: 1fr; }
  .cc-aff-toc { display: none; }
}

/* Document */
.cc-aff-doc { min-width: 0; }

/* Summary card */
.cc-aff-summary {
  display: flex;
  gap: 1rem;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-left: 3px solid var(--gold);
  border-radius: 14px;
  padding: 1.25rem 1.5rem;
  margin-bottom: 2.5rem;
  align-items: flex-start;
}
.cc-aff-summary__icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(245,200,66,0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-aff-summary__title {
  font-size: 0.8125rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 0.375rem;
}
.cc-aff-summary__text {
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.65;
  margin: 0;
}
.cc-aff-summary__text strong { color: var(--text-primary); }

/* Section blocks */
.cc-aff-section {
  padding: 2rem 0;
  border-bottom: 1px solid var(--border-subtle);
  scroll-margin-top: 80px;
}
.cc-aff-section:last-child { border-bottom: none; }
.cc-aff-section__num {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--gold);
  margin-bottom: 0.375rem;
}
.cc-aff-section__title {
  font-family: var(--font-display);
  font-size: 1.1875rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 1rem;
  line-height: 1.25;
}
.cc-aff-section__body p {
  font-size: 0.9375rem;
  color: var(--text-secondary);
  line-height: 1.75;
  margin-bottom: 0.875rem;
}
.cc-aff-section__body p:last-child { margin-bottom: 0; }
.cc-aff-section__body a {
  color: var(--gold);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.cc-aff-section__body a:hover { color: var(--gold); opacity: 0.8; }

/* How it works steps */
.cc-aff-how {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin: 1.25rem 0;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 1.125rem 1.25rem;
}
.cc-aff-how__step {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  flex: 1;
  min-width: 140px;
}
.cc-aff-how__num {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  color: var(--gold);
  font-size: 0.6875rem;
  font-weight: 900;
  font-family: var(--font-mono);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-aff-how__text {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.4;
}
.cc-aff-how__arrow { color: var(--text-faint); flex-shrink: 0; }

/* Link types list */
.cc-aff-link-types {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin: 1rem 0 1.25rem;
}
.cc-aff-link-type {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  padding: 0.75rem 1rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
}
.cc-aff-link-type__icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-aff-link-type__name {
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.2rem;
}
.cc-aff-link-type__desc {
  font-size: 0.75rem;
  color: var(--text-muted);
  line-height: 1.45;
}

/* Compensation grid */
.cc-aff-comp-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
  margin: 1rem 0 1.25rem;
}
@media (max-width: 640px) { .cc-aff-comp-grid { grid-template-columns: 1fr; } }
.cc-aff-comp-card {
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-top: 2px solid var(--gold-border);
  border-radius: 12px;
  padding: 1rem;
}
.cc-aff-comp-card__label {
  font-size: 0.75rem;
  font-weight: 800;
  color: var(--gold);
  margin-bottom: 0.5rem;
}
.cc-aff-comp-card__desc {
  font-size: 0.75rem;
  color: var(--text-muted);
  line-height: 1.55;
}

/* Bullet list */
.cc-aff-list {
  margin: 0.875rem 0;
  padding-left: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.cc-aff-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.6;
  padding-left: 0;
}
.cc-aff-list li::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--gold);
  margin-top: 8px;
  flex-shrink: 0;
}
.cc-aff-list li strong { color: var(--text-primary); }

/* Definition variant — two-column label + description alignment */
.cc-aff-list--definition li {
  display: grid;
  grid-template-columns: 220px 1fr;
  align-items: baseline;
  gap: 0 1.25rem;
}
.cc-aff-list--definition li::before {
  grid-column: 1;
  grid-row: 1;
  margin-top: 0;
  align-self: center;
  position: relative;
  top: 1px;
}
.cc-aff-list--definition li strong {
  grid-column: 1;
  padding-left: 0.75rem;
}
.cc-aff-list--definition li span {
  grid-column: 2;
  color: var(--text-secondary);
}
@media (max-width: 640px) {
  .cc-aff-list--definition li {
    grid-template-columns: 1fr;
  }
  .cc-aff-list--definition li span {
    grid-column: 1;
    padding-left: 1.25rem;
  }
}

/* Independence guarantees */
.cc-aff-guarantees {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin: 1rem 0;
}
.cc-aff-guarantee {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  padding: 0.875rem 1rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  transition: var(--transition);
}
.cc-aff-guarantee:hover { border-color: var(--border-mid); }
.cc-aff-guarantee__icon {
  width: 34px;
  height: 34px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cc-aff-guarantee__title {
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.25rem;
}
.cc-aff-guarantee__desc {
  font-size: 0.75rem;
  color: var(--text-muted);
  line-height: 1.55;
}

/* Scoring framework */
.cc-aff-scoring {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin: 1rem 0;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 1.125rem 1.25rem;
}
.cc-aff-scoring__row {
  display: flex;
  align-items: center;
  gap: 0.875rem;
}
.cc-aff-scoring__cat {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text-secondary);
  width: 160px;
  flex-shrink: 0;
}
.cc-aff-scoring__bar-wrap {
  flex: 1;
  height: 6px;
  background: rgba(255,255,255,0.06);
  border-radius: 100px;
  overflow: hidden;
}
.cc-aff-scoring__bar {
  height: 100%;
  background: linear-gradient(90deg, var(--gold) 0%, rgba(245,200,66,0.6) 100%);
  border-radius: 100px;
}
.cc-aff-scoring__pct {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--gold);
  width: 36px;
  text-align: right;
  flex-shrink: 0;
}

/* Notice callouts */
.cc-aff-notice {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  border-radius: 12px;
  padding: 1rem 1.125rem;
  margin-bottom: 1.125rem;
  font-size: 0.8125rem;
  line-height: 1.6;
}
.cc-aff-notice strong { display: block; font-size: 0.875rem; margin-bottom: 0.25rem; }
.cc-aff-notice--gold {
  background: rgba(245,200,66,0.07);
  border: 1px solid rgba(245,200,66,0.2);
  color: var(--text-secondary);
}
.cc-aff-notice--gold strong { color: var(--gold); }
.cc-aff-notice--emerald {
  background: rgba(16,185,129,0.07);
  border: 1px solid rgba(16,185,129,0.2);
  color: var(--text-secondary);
}
.cc-aff-notice--emerald strong { color: #10b981; }

/* RG resources */
.cc-aff-rg-resources {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 1rem 0;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 1rem 1.25rem;
}
.cc-aff-rg-resource {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-aff-rg-resource:last-child { border-bottom: none; padding-bottom: 0; }
.cc-aff-rg-name { font-size: 0.8125rem; font-weight: 700; color: var(--text-primary); }
.cc-aff-rg-contact { font-size: 0.8125rem; color: #10b981; font-family: var(--font-mono); }
.cc-aff-rg-desc { font-size: 0.6875rem; color: var(--text-muted); margin-top: 0.15rem; }

/* Sticky ToC */
.cc-aff-toc { position: sticky; top: 88px; align-self: start; }
.cc-aff-toc__inner {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 16px;
  overflow: hidden;
}
.cc-aff-toc__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--text-muted);
  padding: 0.875rem 1rem 0.625rem;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-aff-toc__link {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.475rem 1rem;
  font-size: 0.6875rem;
  color: var(--text-muted);
  text-decoration: none;
  transition: var(--transition);
  border-left: 2px solid transparent;
}
.cc-aff-toc__link:hover { color: var(--text-secondary); background: var(--bg-elevated); }
.cc-aff-toc__link--active {
  color: var(--gold);
  background: var(--gold-dim);
  border-left-color: var(--gold);
}
.cc-aff-toc__num {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 700;
  color: var(--text-faint);
  width: 18px;
  flex-shrink: 0;
}
.cc-aff-toc__link--active .cc-aff-toc__num { color: var(--gold); opacity: 0.6; }
.cc-aff-toc__badges {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  padding: 0.75rem 1rem;
  border-top: 1px solid var(--border-subtle);
}
.cc-aff-toc__badge {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 700;
  color: var(--text-muted);
}
.cc-aff-toc__rg {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 800;
  color: #10b981;
  text-decoration: none;
  padding: 0.6rem 1rem;
  background: rgba(16,185,129,0.07);
  border-top: 1px solid rgba(16,185,129,0.15);
  transition: var(--transition);
}
.cc-aff-toc__rg:hover { background: rgba(16,185,129,0.12); }

/* Light mode */
:root.light .cc-aff-summary { background: rgba(201,146,14,0.06); }
:root.light .cc-aff-how,
:root.light .cc-aff-link-type,
:root.light .cc-aff-comp-card,
:root.light .cc-aff-guarantee,
:root.light .cc-aff-scoring,
:root.light .cc-aff-rg-resources { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-aff-toc__inner { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-aff-toc__link:hover { background: rgba(0,0,0,0.03); }
:root.light .cc-aff-toc__link--active { background: rgba(201,146,14,0.08); }

/* ═══════════════════════════════════════════════════════════
   TERMS OF USE PAGE
   Extends cc-aff-* design system with ToU-specific components
═══════════════════════════════════════════════════════════ */

/* Hero brand lock-up */
.cc-tou-brand {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  margin-bottom: 0.25rem;
}
.cc-tou-brand__logo {
  height: 22px;
  width: auto;
  object-fit: contain;
}
.cc-tou-brand__logo--light { display: none; }
:root.light .cc-tou-brand__logo--dark  { display: none; }
:root.light .cc-tou-brand__logo--light { display: block; }
.cc-tou-brand__sep {
  width: 1px;
  height: 16px;
  background: var(--border-mid);
}
.cc-tou-brand__label {
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--text-muted);
}

/* Nature of site 2x2 callout grid */
.cc-tou-callout-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin: 1rem 0 1.25rem;
}
@media (max-width: 640px) { .cc-tou-callout-grid { grid-template-columns: 1fr; } }
.cc-tou-callout {
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 1rem;
}
.cc-tou-callout__icon {
  width: 32px;
  height: 32px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.625rem;
}
.cc-tou-callout__title {
  font-size: 0.8125rem;
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 0.35rem;
}
.cc-tou-callout__desc {
  font-size: 0.75rem;
  color: var(--text-muted);
  line-height: 1.55;
}

/* IP permissions grid */
.cc-tou-permission-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin: 1rem 0 1.25rem;
}
@media (max-width: 640px) { .cc-tou-permission-grid { grid-template-columns: 1fr; } }
.cc-tou-permission {
  border-radius: 12px;
  padding: 1rem;
  border: 1px solid;
}
.cc-tou-permission--yes {
  background: rgba(16,185,129,0.06);
  border-color: rgba(16,185,129,0.18);
}
.cc-tou-permission--no {
  background: rgba(239,68,68,0.06);
  border-color: rgba(239,68,68,0.18);
}
.cc-tou-permission__hdr {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
}
.cc-tou-permission--yes .cc-tou-permission__hdr { color: #10b981; }
.cc-tou-permission--no  .cc-tou-permission__hdr { color: #ef4444; }
.cc-tou-permission__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
.cc-tou-permission__list li {
  font-size: 0.75rem;
  color: var(--text-secondary);
  line-height: 1.45;
  padding-left: 0.875rem;
  position: relative;
}
.cc-tou-permission--yes .cc-tou-permission__list li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #10b981;
  font-size: 0.625rem;
  font-weight: 700;
  top: 1px;
}
.cc-tou-permission--no .cc-tou-permission__list li::before {
  content: '×';
  position: absolute;
  left: 0;
  color: #ef4444;
  font-size: 0.75rem;
  font-weight: 700;
  top: 0;
}

/* Sidebar Kernel Media brand */
.cc-tou-sidebar-brand {
  padding: 0.875rem 1rem;
  border-top: 1px solid var(--border-subtle);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
}
.cc-tou-sidebar-logo {
  height: 18px;
  width: auto;
  object-fit: contain;
  opacity: 0.7;
}
.cc-tou-sidebar-logo--light { display: none; }
:root.light .cc-tou-sidebar-logo--dark  { display: none; }
:root.light .cc-tou-sidebar-logo--light { display: block; }
.cc-tou-sidebar-brand__text {
  font-size: 0.5rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-faint);
}

/* Light mode overrides for ToU-specific components */
:root.light .cc-tou-callout,
:root.light .cc-tou-permission { background: #ffffff; }

/* ═══════════════════════════════════════════════════════════
   BONUS DISCLAIMER PAGE
   Accent: Gold — informational, not legal-heavy
   Atmosphere: light beams, warm editorial tone
═══════════════════════════════════════════════════════════ */

/* Hero */
.cc-bd-hero {
  position: relative;
  background: var(--bg-main);
  min-height: 580px;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.cc-bd-hero__bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 55% 70% at 5%  30%, rgba(245,200,66,0.07) 0%, transparent 60%),
    radial-gradient(ellipse 40% 50% at 90% 20%, rgba(99,102,241,0.05) 0%, transparent 55%),
    radial-gradient(ellipse 30% 40% at 50% 90%, rgba(16,185,129,0.04) 0%, transparent 50%),
    var(--bg-main);
  pointer-events: none;
}
.cc-bd-hero__grid {
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 30px 30px;
  pointer-events: none;
}
.cc-bd-hero__beam {
  position: absolute; top: -5%; width: 1px; height: 120%;
  pointer-events: none; filter: blur(24px); opacity: 0.5;
}
.cc-bd-hero__beam--l {
  left: 20%;
  background: linear-gradient(180deg, rgba(245,200,66,0.15) 0%, transparent 75%);
  transform: rotate(-6deg); transform-origin: top center;
}
.cc-bd-hero__beam--r {
  right: 25%;
  background: linear-gradient(180deg, rgba(245,200,66,0.10) 0%, transparent 70%);
  transform: rotate(5deg); transform-origin: top center;
}

.cc-bd-hero__inner {
  position: relative; z-index: 2;
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 4rem;
  align-items: start;
  padding: 4rem 0;
}
@media (max-width: 1024px) {
  .cc-bd-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .cc-bd-hero { min-height: auto; }
}

.cc-bd-hero__eyebrow {
  display: inline-flex; align-items: center; gap: 0.4rem;
  font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--gold);
  background: var(--gold-dim); border: 1px solid var(--gold-border);
  border-radius: 100px; padding: 0.3rem 0.875rem; margin-bottom: 1rem;
}
.cc-bd-hero__title {
  font-size: clamp(2rem, 4.5vw, 3.25rem); font-weight: 900;
  letter-spacing: -0.02em; color: #ffffff; line-height: 1.08; margin-bottom: 1rem;
}
.cc-bd-hero__title em { color: var(--gold); font-style: italic; }
.cc-bd-hero__desc {
  font-size: 1rem; color: var(--text-secondary);
  line-height: 1.65; max-width: 520px; margin-bottom: 1.5rem;
}
.cc-bd-hero__chips {
  display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.5rem;
}
.cc-bd-hero__chip {
  display: inline-flex; align-items: center; gap: 0.35rem;
  font-size: 0.625rem; font-weight: 700; color: var(--text-secondary);
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08);
  border-radius: 100px; padding: 0.3rem 0.75rem;
}
.cc-bd-hero__ctas { display: flex; gap: 0.75rem; flex-wrap: wrap; }

/* Right Q&A panel */
.cc-bd-panel {
  background: rgba(10,14,22,0.92);
  backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.08);
  border-top: 2px solid var(--gold);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.45);
}
.cc-bd-panel__hdr {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.875rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  font-size: 0.625rem; font-weight: 800; letter-spacing: 0.10em;
  text-transform: uppercase; color: var(--gold);
}
.cc-bd-panel__qa {
  padding: 0.875rem 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}
.cc-bd-panel__qa--last { border-bottom: none; }
.cc-bd-panel__q {
  font-size: 0.75rem; font-weight: 700; color: var(--text-primary);
  font-style: italic; margin-bottom: 0.4rem; line-height: 1.4;
}
.cc-bd-panel__a {
  font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.6;
}
.cc-bd-panel__a strong { color: var(--text-primary); }

/* Body layout */
.cc-bd-body { background: var(--bg-main); padding: 3rem 0 5rem; }
.cc-bd-layout {
  display: grid;
  grid-template-columns: 1fr 260px;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 960px) {
  .cc-bd-layout { grid-template-columns: 1fr; }
  .cc-bd-sidebar { display: none; }
}

.cc-bd-doc { min-width: 0; }

/* Sections */
.cc-bd-section {
  padding: 2rem 0;
  border-bottom: 1px solid var(--border-subtle);
  scroll-margin-top: 80px;
}
.cc-bd-section:last-child { border-bottom: none; }
.cc-bd-section--cta { background: transparent; }
.cc-bd-section__title {
  font-family: var(--font-display);
  font-size: 1.1875rem; font-weight: 800;
  color: var(--text-primary); margin-bottom: 1rem; line-height: 1.25;
}
.cc-bd-section p {
  font-size: 0.9375rem; color: var(--text-secondary);
  line-height: 1.75; margin-bottom: 0.875rem;
}
.cc-bd-section p:last-child { margin-bottom: 0; }
.cc-bd-section a { color: var(--gold); text-decoration: underline; text-underline-offset: 3px; }

/* Law citation card */
.cc-bd-law-card {
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-left: 3px solid var(--gold);
  border-radius: 12px;
  margin: 1.25rem 0;
  overflow: hidden;
}
.cc-bd-law-card__hdr {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.625rem 1rem;
  background: var(--gold-dim);
  border-bottom: 1px solid var(--gold-border);
  font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.09em;
  text-transform: uppercase; color: var(--gold);
}
.cc-bd-law-card__quote {
  font-size: 0.9375rem; color: var(--text-primary);
  line-height: 1.7; padding: 1.125rem 1.25rem 0.75rem;
  margin: 0; font-style: italic; border: none;
}
.cc-bd-law-card__src {
  font-size: 0.6875rem; color: var(--text-muted);
  padding: 0 1.25rem 0.875rem;
}
.cc-bd-law-card__src a { color: var(--gold); text-decoration: underline; }

/* Province status grid */
.cc-bd-province-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 0.625rem;
  margin: 1.25rem 0;
}
.cc-bd-province {
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 12px; padding: 0.875rem;
  transition: var(--transition);
}
.cc-bd-province--suppressed {
  border-color: rgba(245,200,66,0.2);
  background: rgba(245,200,66,0.04);
}
.cc-bd-province__top {
  display: flex; align-items: center; gap: 0.625rem; margin-bottom: 0.5rem;
}
.cc-bd-province__icon {
  width: 28px; height: 28px; border-radius: 7px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.cc-bd-province__name {
  font-size: 0.8125rem; font-weight: 700; color: var(--text-primary);
  line-height: 1.2;
}
.cc-bd-province__reg {
  font-size: 0.5625rem; font-weight: 700; letter-spacing: 0.07em;
  text-transform: uppercase; color: var(--text-muted);
}
.cc-bd-province__tag {
  margin-left: auto; flex-shrink: 0;
  font-size: 0.5rem; font-weight: 800; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--gold);
  background: var(--gold-dim); border: 1px solid var(--gold-border);
  border-radius: 100px; padding: 0.15rem 0.5rem;
}
.cc-bd-province__desc {
  font-size: 0.6875rem; color: var(--text-muted); line-height: 1.5;
}

/* Notice boxes */
.cc-bd-notice {
  display: flex; align-items: flex-start; gap: 0.875rem;
  border-radius: 12px; padding: 1rem 1.125rem;
  margin: 1.25rem 0;
  font-size: 0.8125rem; line-height: 1.6;
}
.cc-bd-notice strong { display: block; font-size: 0.875rem; margin-bottom: 0.25rem; }
.cc-bd-notice a { color: inherit; text-decoration: underline; }
.cc-bd-notice--neutral {
  background: rgba(245,200,66,0.06); border: 1px solid rgba(245,200,66,0.18);
  color: var(--text-secondary);
}
.cc-bd-notice--neutral strong { color: var(--gold); }
.cc-bd-notice--emerald {
  background: rgba(16,185,129,0.07); border: 1px solid rgba(16,185,129,0.2);
  color: var(--text-secondary);
}
.cc-bd-notice--emerald strong { color: #10b981; }

/* Bonus type list */
.cc-bd-bonus-types {
  display: flex; flex-direction: column; gap: 0.625rem; margin: 1.25rem 0;
}
.cc-bd-bonus-type {
  display: flex; align-items: flex-start; gap: 0.875rem;
  padding: 0.875rem 1rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 12px; transition: var(--transition);
}
.cc-bd-bonus-type:hover { border-color: var(--border-mid); }
.cc-bd-bonus-type__icon {
  width: 36px; height: 36px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.cc-bd-bonus-type__title {
  font-size: 0.8125rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.3rem;
}
.cc-bd-bonus-type__desc {
  font-size: 0.75rem; color: var(--text-muted); line-height: 1.55;
}

/* Step-by-step flow */
.cc-bd-steps {
  display: flex; flex-direction: column; gap: 0; margin: 1.25rem 0;
}
.cc-bd-step {
  display: flex; align-items: flex-start; gap: 1rem;
  padding: 1.125rem 0; position: relative;
}
.cc-bd-step__num {
  width: 28px; height: 28px; border-radius: 50%;
  border: 2px solid;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-mono); font-size: 0.75rem; font-weight: 900;
  flex-shrink: 0; z-index: 1;
}
.cc-bd-step__line {
  position: absolute; left: 13px; top: calc(28px + 1.125rem);
  width: 2px; height: calc(100% - 28px + 1.125rem);
  background: var(--border-subtle);
}
.cc-bd-step__icon {
  width: 34px; height: 34px; border-radius: 9px;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.cc-bd-step__body { flex: 1; min-width: 0; padding-top: 4px; }
.cc-bd-step__title {
  font-size: 0.9375rem; font-weight: 800; color: var(--text-primary); margin-bottom: 0.35rem;
}
.cc-bd-step__desc { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.65; }

/* Bonus evaluation grid */
.cc-bd-eval-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 0.75rem; margin: 1.25rem 0;
}
.cc-bd-eval {
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 12px; padding: 1rem;
}
.cc-bd-eval__icon {
  width: 30px; height: 30px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center; margin-bottom: 0.625rem;
}
.cc-bd-eval__title {
  font-size: 0.8125rem; font-weight: 800; color: var(--text-primary); margin-bottom: 0.375rem;
}
.cc-bd-eval__desc { font-size: 0.75rem; color: var(--text-muted); line-height: 1.55; }

/* Casino strip */
.cc-bd-casino-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem; margin: 1.25rem 0;
}
@media (max-width: 700px) { .cc-bd-casino-strip { grid-template-columns: 1fr; } }
.cc-bd-casino-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 16px; padding: 1.125rem;
  position: relative;
  transition: var(--transition);
}
.cc-bd-casino-card:hover { border-color: var(--gold-border); }
.cc-bd-casino-card__badge {
  position: absolute; top: -1px; left: 50%; transform: translateX(-50%);
  font-size: 0.5rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--bg-main); background: var(--gold);
  border-radius: 0 0 8px 8px; padding: 0.2rem 0.75rem;
  white-space: nowrap;
}
.cc-bd-casino-card__top {
  display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 0.875rem;
}
.cc-bd-casino-card__logo {
  width: 40px; height: 40px; border-radius: 10px;
  object-fit: contain; background: var(--bg-elevated); padding: 4px; flex-shrink: 0;
}
.cc-bd-casino-card__logo--fb {
  display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 10px;
  background: var(--gold-dim); color: var(--gold); font-weight: 900; font-size: 1.125rem;
  flex-shrink: 0;
}
.cc-bd-casino-card__info { flex: 1; min-width: 0; }
.cc-bd-casino-card__name {
  font-size: 0.8125rem; font-weight: 800; color: var(--text-primary);
  margin-bottom: 0.25rem; line-height: 1.3;
}
.cc-bd-casino-card__stars {
  display: flex; align-items: center; gap: 2px; margin-bottom: 0.35rem;
}
.cc-bd-casino-card__rating {
  font-family: var(--font-mono); font-size: 0.625rem; font-weight: 700;
  color: var(--gold); margin-left: 4px;
}
.cc-bd-casino-card__best {
  font-size: 0.5rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase;
  color: var(--gold); background: var(--gold-dim); border: 1px solid var(--gold-border);
  border-radius: 100px; padding: 0.1rem 0.4rem; margin-left: 4px;
}
.cc-bd-casino-card__meta {
  display: flex; flex-wrap: wrap; gap: 0.5rem;
}
.cc-bd-casino-card__meta span {
  display: flex; align-items: center; gap: 3px;
  font-size: 0.625rem; color: var(--text-muted);
}
.cc-bd-casino-card__bonus-note {
  display: flex; align-items: center; gap: 0.375rem;
  font-size: 0.625rem; color: var(--text-muted);
  background: var(--gold-dim); border: 1px solid var(--gold-border);
  border-radius: 8px; padding: 0.35rem 0.625rem; margin-bottom: 0.75rem;
}
.cc-bd-casino-card__actions { display: flex; gap: 0.5rem; }

/* Sidebar */
.cc-bd-sidebar { position: sticky; top: 88px; align-self: start; }
.cc-bd-sidebar__inner { display: flex; flex-direction: column; gap: 0.875rem; }
.cc-bd-sidebar__card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 14px; overflow: hidden;
}
.cc-bd-sidebar__card--gold { border-top: 2px solid var(--gold); }
.cc-bd-sidebar__card-title {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.10em;
  text-transform: uppercase; color: var(--text-muted);
}
.cc-bd-sidebar__list {
  list-style: none; padding: 0.75rem 1rem; margin: 0;
  display: flex; flex-direction: column; gap: 0.5rem;
}
.cc-bd-sidebar__list li {
  display: flex; align-items: flex-start; gap: 0.5rem;
  font-size: 0.75rem; color: var(--text-secondary); line-height: 1.45;
}
.cc-bd-sidebar__legal-items { padding: 0.75rem 1rem; display: flex; flex-direction: column; gap: 0.5rem; }
.cc-bd-sidebar__legal-item {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 0.6875rem;
}
.cc-bd-sidebar__legal-label { color: var(--text-muted); }
.cc-bd-sidebar__legal-val { color: var(--gold); font-weight: 700; font-family: var(--font-mono); font-size: 0.625rem; }
.cc-bd-sidebar__link {
  display: flex; align-items: center; justify-content: center; gap: 0.4rem;
  font-size: 0.5625rem; font-weight: 700; color: var(--text-muted);
  text-decoration: none; padding: 0.6rem 1rem;
  border-top: 1px solid var(--border-subtle); transition: var(--transition);
}
.cc-bd-sidebar__link:hover { color: var(--gold); }
.cc-bd-sidebar__nav-link {
  display: block; padding: 0.45rem 1rem;
  font-size: 0.6875rem; color: var(--text-muted);
  text-decoration: none; border-bottom: 1px solid var(--border-subtle);
  transition: var(--transition);
}
.cc-bd-sidebar__nav-link:last-child { border-bottom: none; }
.cc-bd-sidebar__nav-link:hover { color: var(--gold); background: var(--gold-dim); }
.cc-bd-sidebar__tool {
  display: flex; align-items: flex-start; gap: 0.75rem;
  padding: 0.75rem 1rem; text-decoration: none;
  border-bottom: 1px solid var(--border-subtle); transition: var(--transition);
}
.cc-bd-sidebar__tool:last-child { border-bottom: none; }
.cc-bd-sidebar__tool:hover { background: var(--bg-elevated); }
.cc-bd-sidebar__tool-name { font-size: 0.75rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.15rem; }
.cc-bd-sidebar__tool-desc { font-size: 0.625rem; color: var(--text-muted); line-height: 1.4; }

/* Light mode */
:root.light .cc-bd-hero { background: #07090f; }
:root.light .cc-bd-hero {
  --bg-main: #07090f; --bg-card: #0d1117; --bg-elevated: #111827;
  --text-primary: #ffffff; --text-secondary: #94a3b8; --text-muted: #64748b;
  --border-subtle: rgba(255,255,255,0.06); --gold: #F5C842;
  --gold-dim: rgba(245,200,66,0.12); --gold-border: rgba(245,200,66,0.22);
}
:root.light .cc-bd-panel { background: #07090f; }
:root.light .cc-bd-bonus-type,
:root.light .cc-bd-eval,
:root.light .cc-bd-province,
:root.light .cc-bd-law-card { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-bd-casino-card,
:root.light .cc-bd-sidebar__card { background: #ffffff; border-color: rgba(0,0,0,0.08); }

/* ═══════════════════════════════════════════════════════════
   HOMEPAGE SECTION POLISH — Rankings + News
   Dark mode only: glow field + dot grid + gradient fade
   Light mode: unchanged (white bg handled by existing rules)
═══════════════════════════════════════════════════════════ */

/* ── Rankings section ── */
.cc-hp-rankings-section {
  position: relative;
  background: var(--bg-elevated);
  padding: 4rem 0;
  border-top: none;
  border-bottom: none;
  overflow: hidden;
}
:root.light .cc-hp-rankings-section {
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
}

/* Dark mode enhancements — glow field */
html:not(.light) .cc-hp-rankings-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 55% 80% at 2%   10%, rgba(245,200,66,0.045) 0%, transparent 60%),
    radial-gradient(ellipse 40% 60% at 85%  35%, rgba(99,102,241,0.04)  0%, transparent 55%),
    radial-gradient(ellipse 30% 40% at 50% 100%, rgba(16,185,129,0.025) 0%, transparent 50%);
  pointer-events: none;
  z-index: 0;
}

/* Rankings: transparent — inherits body circuit-lines canvas */
html:not(.light) .cc-hp-rankings-section {
  background: transparent;
}

/* Ensure content sits above pseudo-elements */
.cc-hp-rankings-section > * { position: relative; z-index: 1; }
.cc-hp-rankings-section > .cc-container { position: relative; z-index: 1; }

/* ── News section ── */
/* Transparent — inherits body circuit-lines canvas */
html:not(.light) .cc-hp-news-section {
  background: transparent;
  position: relative;
  overflow: hidden;
}

/* Keep the gold/cyan glow field on top of the circuit lines */
html:not(.light) .cc-hp-news-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 50% 70% at 0%   20%, rgba(245,200,66,0.04)  0%, transparent 60%),
    radial-gradient(ellipse 35% 55% at 90%  10%, rgba(6,182,212,0.035)  0%, transparent 55%),
    radial-gradient(ellipse 25% 35% at 45%  90%, rgba(245,200,66,0.025) 0%, transparent 50%);
  pointer-events: none;
  z-index: 0;
}

.cc-hp-news-section > .cc-container { position: relative; z-index: 1; }

/* ═══════════════════════════════════════════════════════════
   UNIFIED BOTTOM SECTION — CTA + Province strip
   Replaces three separate slabs with one seamless canvas
═══════════════════════════════════════════════════════════ */

.cc-hp-bottom {
  background: var(--bg-main);
  padding: 4rem 0 3rem;
}

/* CTA banner — lifted card style, same as before but now floating on bg-main */
.cc-hp-bottom__cta-wrap {
  margin-bottom: 3.5rem;
}
.cc-hp-bottom__cta {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(245,200,66,0.10) 0%, rgba(245,200,66,0.04) 50%, transparent 100%);
  border: 1px solid var(--gold-border);
  border-radius: 24px;
  padding: 3rem 2.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.cc-hp-bottom__cta-glow {
  position: absolute;
  right: -4rem; top: -4rem;
  width: 16rem; height: 16rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245,200,66,0.08) 0%, transparent 70%);
  pointer-events: none;
}
.cc-hp-bottom__cta-left {
  position: relative; z-index: 1; max-width: 540px;
}
.cc-hp-bottom__cta-right {
  position: relative; z-index: 1;
  display: flex; flex-direction: column; gap: 0.75rem;
}

/* Province strip — sits below CTA with a gentle divider */
.cc-hp-bottom__province-wrap {
  border-top: 1px solid var(--border-subtle);
  padding-top: 2.5rem;
}

/* Light mode: restore sensible borders */
:root.light .cc-hp-bottom {
  background: var(--bg-main);
}
:root.light .cc-hp-bottom__province-wrap {
  border-top-color: var(--border-subtle);
}

/* ═══════════════════════════════════════════════════════════
   PROVINCE HUB — Command Centre v2
   Live intelligence panel + 7-province selector strip
═══════════════════════════════════════════════════════════ */

.cc-province-hub {
  position: relative;
  background:
    linear-gradient(155deg,
      color-mix(in srgb, var(--badge-color, var(--gold)) 4%, var(--bg-card)) 0%,
      var(--bg-card) 45%,
      var(--bg-elevated) 100%);
  border: 1px solid var(--border-subtle);
  border-radius: 20px;
  overflow: hidden;
  box-shadow:
    0 1px 2px rgba(0,0,0,0.4),
    0 18px 40px -24px color-mix(in srgb, var(--badge-color, var(--gold)) 22%, transparent),
    inset 0 1px 0 rgba(255,255,255,0.04);
}
/* Subtle grid + noise texture overlay — anchors the card in the same visual
   vocabulary as the hero / explorer headers on the site. */
.cc-province-hub::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.35) 30%, rgba(0,0,0,0.35) 70%, transparent 100%);
}
/* Warm gold glow anchored bottom-right — guarantees a secondary colour
   even when the active province's accent is a cool tone (blue/indigo/purple),
   so the card no longer reads as a single flat hue. */
.cc-province-hub::after {
  content: '';
  position: absolute;
  right: -8rem;
  bottom: -8rem;
  width: 22rem;
  height: 22rem;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(circle, rgba(245,200,66,0.10) 0%, transparent 60%);
}
/* Hairline accent line across the top edge — gold on the left, fading
   into the active province colour on the right. */
.cc-province-hub > *:not(.cc-province-hub__picker):not(script) {
  position: relative;
  z-index: 1;
}
:root.light .cc-province-hub {
  background:
    linear-gradient(155deg,
      color-mix(in srgb, var(--badge-color, var(--gold)) 6%, #ffffff) 0%,
      #ffffff 55%,
      #f4f6f9 100%);
  box-shadow:
    0 1px 2px rgba(15,23,42,0.06),
    0 18px 40px -24px color-mix(in srgb, var(--badge-color, var(--gold)) 26%, transparent),
    inset 0 1px 0 rgba(255,255,255,0.8);
}
:root.light .cc-province-hub::before {
  background-image:
    linear-gradient(rgba(15,23,42,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,23,42,0.04) 1px, transparent 1px);
}
:root.light .cc-province-hub::after {
  background: radial-gradient(circle, rgba(232,106,23,0.10) 0%, transparent 60%);
}

/* ── Command Centre info panel ── */
.cc-province-hub__panel {
  display: flex;
  align-items: stretch;
  min-height: 110px;
  position: relative;
  overflow: hidden;
}

/* Ambient radial glow — accent from the left, subtle gold from the right.
   The dual-source approach keeps the panel from reading as a single hue
   even when the active province's accent is cool. */
.cc-province-hub__panel::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 55% 130% at 0% 50%, color-mix(in srgb, var(--badge-color, #10b981) 18%, transparent), transparent 62%),
    radial-gradient(ellipse 40% 100% at 100% 50%, rgba(245,200,66,0.06), transparent 60%);
  pointer-events: none;
  z-index: 0;
  transition: background 0.4s ease;
}

/* 4px left accent bar */
.cc-province-hub__bar {
  width: 4px;
  flex-shrink: 0;
  align-self: stretch;
  position: relative;
  z-index: 1;
  transition: background 0.35s, box-shadow 0.35s;
}

/* Left: large province code + province name */
.cc-province-hub__code-col {
  width: 170px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px 20px 20px 24px;
  position: relative;
  z-index: 1;
}
.cc-province-hub__big-code {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 3.5rem;
  line-height: 0.9;
  color: var(--badge-color, #10b981);
  letter-spacing: -0.03em;
  transition: color 0.35s;
  display: inline-block;
}
.cc-province-hub__prov-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text-muted);
  margin-top: 8px;
}

/* Centre: status row + headline + subline */
.cc-province-hub__center {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  padding: 20px 16px 20px 4px;
  position: relative;
  z-index: 1;
}
.cc-province-hub__status-row {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}
.cc-province-hub__tag {
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.175rem 0.55rem;
  border-radius: 100px;
  background: color-mix(in srgb, var(--hub-color, #10b981) 15%, transparent);
  color: var(--hub-color, #10b981);
  white-space: nowrap;
  flex-shrink: 0;
}
.cc-province-hub__sep {
  font-size: 0.5rem;
  color: var(--text-faint);
  flex-shrink: 0;
  line-height: 1;
}
.cc-province-hub__meta {
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--text-muted);
  white-space: nowrap;
}
.cc-province-hub__headline {
  font-size: 0.9375rem;
  font-weight: 800;
  font-style: italic;
  color: var(--text-primary);
  line-height: 1.25;
  letter-spacing: -0.015em;
}
.cc-province-hub__subline {
  font-size: 0.75rem;
  color: var(--text-secondary);
  line-height: 1.45;
}

/* Right: CTA + "Not X?" change button */
.cc-province-hub__right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  padding: 20px 24px 20px 16px;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}
.cc-province-hub__change {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--text-muted);
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
  border-radius: 6px;
  transition: var(--transition);
  white-space: nowrap;
  font-family: inherit;
}
.cc-province-hub__change:hover,
.cc-province-hub__change.active { color: var(--gold); background: var(--gold-dim); }

/* ── Province selector strip — 7 provinces ── */
.cc-province-hub__cards {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0;
  border-top: 1px solid var(--border-subtle);
}
@media (max-width: 700px) {
  .cc-province-hub__cards { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 440px) {
  .cc-province-hub__cards { grid-template-columns: repeat(3, 1fr); }
}

.cc-province-hub__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 14px 8px;
  background: none;
  border: none;
  border-right: 1px solid var(--border-subtle);
  cursor: pointer;
  font-family: inherit;
  text-align: center;
  text-decoration: none;
  color: inherit;
  position: relative;
  overflow: hidden;
  transition: background 0.2s;
}
.cc-province-hub__card:last-child { border-right: none; }
.cc-province-hub__card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--prov-color, var(--gold));
  opacity: 0;
  transition: opacity 0.2s;
}
.cc-province-hub__card:hover::before { opacity: 0.08; }
.cc-province-hub__card--active::before { opacity: 0.14; }
.cc-province-hub__card--active {
  border-top: 2px solid var(--prov-color, var(--gold));
  border-bottom: 2px solid var(--prov-color, var(--gold));
  box-shadow: inset 0 -2px 0 var(--prov-color, var(--gold)),
              0 4px 14px -8px color-mix(in srgb, var(--prov-color, var(--gold)) 40%, transparent);
}

.cc-province-hub__card-code {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 900;
  color: var(--text-faint);
  line-height: 1;
  margin-bottom: 4px;
  transition: color 0.2s;
  position: relative; z-index: 1;
}
.cc-province-hub__card:hover .cc-province-hub__card-code,
.cc-province-hub__card--active .cc-province-hub__card-code { color: var(--prov-color, var(--gold)); }

.cc-province-hub__card-name {
  font-size: 0.625rem;
  font-weight: 700;
  color: var(--text-secondary);
  margin-bottom: 3px;
  position: relative; z-index: 1;
  white-space: nowrap;
}
.cc-province-hub__card-status {
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-faint);
  position: relative; z-index: 1;
}
.cc-province-hub__card--active .cc-province-hub__card-status { color: var(--prov-color, var(--gold)); }

/* Picker drawer */
.cc-province-hub__picker {
  padding: 0.875rem 1.5rem 1rem;
  border-top: 1px solid var(--border-subtle);
  background: rgba(255,255,255,0.015);
  animation: ccHeroFadeUp 0.25s cubic-bezier(0.16,1,0.3,1);
}
.cc-province-hub__picker-label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.625rem;
}
.cc-province-hub__picker-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}

/* Responsive */
@media (max-width: 767px) {
  .cc-province-hub__panel { flex-wrap: wrap; }
  .cc-province-hub__code-col { padding-bottom: 0; }
  .cc-province-hub__center { padding: 12px 16px; }
  .cc-province-hub__right {
    width: 100%;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0 16px 16px;
  }
  .cc-province-hub__subline { display: none; }
  .cc-province-hub__cta { flex: 1; text-align: center; justify-content: center; }
}

/* Light mode */
:root.light .cc-province-hub { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-province-hub__panel::before {
  background: radial-gradient(ellipse 55% 130% at 0% 50%, color-mix(in srgb, var(--badge-color, #10b981) 7%, transparent), transparent 68%);
}
:root.light .cc-province-hub__bar { box-shadow: 2px 0 8px var(--badge-color, #10b981) !important; }
/* Darken badge-color-derived elements so bright accents (gold/yellow) read on white */
:root.light .cc-province-hub__big-code { filter: brightness(0.72); }
:root.light .cc-province-hub__tag     { filter: brightness(0.82); }
/* Boost small meta text contrast on white */
:root.light .cc-province-hub__meta   { color: rgba(0,0,0,0.48); }
:root.light .cc-province-hub__sep    { color: rgba(0,0,0,0.2); }
:root.light .cc-province-hub__prov-label { color: rgba(0,0,0,0.42); }
:root.light .cc-province-hub__change  { color: rgba(0,0,0,0.45); }
:root.light .cc-province-hub__card--active .cc-province-hub__card-code { filter: brightness(0.8); }
:root.light .cc-province-hub__cards { border-top-color: rgba(0,0,0,0.08); }
:root.light .cc-province-hub__card { border-right-color: rgba(0,0,0,0.08); }
:root.light .cc-province-hub__picker { background: rgba(0,0,0,0.02); border-top-color: rgba(0,0,0,0.08); }

/* ═══════════════════════════════════════════════════════════
   ARTICLE TEMPLATE v2 — Split hero + editorial layout
═══════════════════════════════════════════════════════════ */

/* Reading progress bar */
.cc-art-progress {
  position: fixed; top: 0; left: 0; right: 0;
  height: 3px; z-index: 9999; pointer-events: none;
  background: rgba(245,200,66,0.12);
}
.cc-art-progress__fill {
  height: 100%; width: 0;
  background: linear-gradient(90deg, var(--gold) 0%, rgba(245,200,66,0.55) 100%);
  transition: width 0.1s linear;
  border-radius: 0 2px 2px 0;
}

/* ── SPLIT HERO ── */
/* ── ARTICLE HERO — Full-bleed directional veil (mirrors cc-news-hero) ── */
.cc-art-hero {
  position: relative;
  min-height: 500px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--bg-main);
}
.cc-art-hero__img-wrap {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.cc-art-hero__img {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center 30%;
  filter: grayscale(0.15);
}
/* Directional veil: dark-left safe zone, image bleeds right */
.cc-art-hero__dissolve {
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg,
      rgba(7,9,15,0.97) 0%,
      rgba(7,9,15,0.93) 30%,
      rgba(7,9,15,0.72) 55%,
      rgba(7,9,15,0.35) 78%,
      rgba(7,9,15,0.12) 100%
    ),
    linear-gradient(0deg,
      rgba(7,9,15,0.82) 0%,
      rgba(7,9,15,0.30) 40%,
      transparent 72%
    );
}
/* Editorial scan-line texture */
.cc-art-hero__img-wrap::after {
  content: '';
  position: absolute; inset: 0;
  background-image: repeating-linear-gradient(
    0deg,
    transparent 0px, transparent 3px,
    rgba(255,255,255,0.010) 3px, rgba(255,255,255,0.010) 4px
  );
  pointer-events: none;
}
/* Content: IS the cc-container — z-index + padding only, width from cc-container */
.cc-art-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  padding-top: 4.5rem;
  padding-bottom: 3.5rem;
}
.cc-art-hero__cat {
  display: inline-flex; align-items: center;
  font-size: 0.5625rem; font-weight: 800;
  letter-spacing: 0.13em; text-transform: uppercase;
  color: var(--gold); background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px; padding: 0.3rem 0.875rem;
  text-decoration: none; margin-bottom: 1rem;
}
.cc-art-hero__title {
  font-size: clamp(2rem, 3.5vw, 3rem);
  font-weight: 900; color: #ffffff;
  line-height: 1.1; letter-spacing: -0.025em;
  margin-bottom: 0.875rem;
  max-width: 680px;
}
.cc-art-hero__deck {
  font-size: 1rem; color: rgba(255,255,255,0.65);
  line-height: 1.65; max-width: 560px; margin-bottom: 1.75rem;
}
.cc-art-hero__byline {
  display: inline-flex; align-items: center;
  flex-wrap: nowrap; gap: 0;
  background: rgba(7,9,15,0.75);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px; padding: 0.75rem 1.125rem;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.cc-art-hero__byline-author {
  display: flex; align-items: center;
  gap: 0.5rem; flex-shrink: 0; padding-right: 1rem;
}
.cc-art-hero__byline-avatar {
  width: 34px; height: 34px; border-radius: 50%;
  object-fit: cover; border: 2px solid rgba(245,200,66,0.4);
  flex-shrink: 0;
}
.cc-art-hero__byline-avatar--fb {
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--gold-dim); border: 2px solid var(--gold-border);
  color: var(--gold); font-weight: 900; font-size: 0.875rem;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.cc-art-hero__byline-name {
  font-size: 0.8125rem; font-weight: 800; color: #ffffff;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  max-width: 180px; line-height: 1.2;
}
.cc-art-hero__byline-role {
  font-size: 0.5rem; font-weight: 700;
  letter-spacing: 0.09em; text-transform: uppercase; color: var(--gold);
}
.cc-art-hero__byline-sep {
  width: 1px; height: 22px;
  background: rgba(255,255,255,0.15);
  margin: 0 0.875rem; flex-shrink: 0;
}
.cc-art-hero__byline-stat {
  display: flex; flex-direction: column; align-items: center;
  flex-shrink: 0; white-space: nowrap;
}
.cc-art-hero__byline-stat-val {
  font-family: var(--font-mono); font-size: 0.875rem;
  font-weight: 800; color: #ffffff;
  line-height: 1.2; white-space: nowrap;
}
.cc-art-hero__byline-stat-label {
  font-size: 0.4375rem; font-weight: 700;
  letter-spacing: 0.09em; text-transform: uppercase;
  color: rgba(255,255,255,0.4); margin-top: 0.1rem; white-space: nowrap;
}
/* Light mode */
:root.light .cc-art-hero__dissolve {
  background:
    linear-gradient(90deg,
      #f4f6f9 0%,
      rgba(244,246,249,0.97) 25%,
      rgba(244,246,249,0.82) 50%,
      rgba(244,246,249,0.42) 72%,
      rgba(244,246,249,0.12) 100%
    ),
    linear-gradient(0deg,
      rgba(244,246,249,0.92) 0%,
      rgba(244,246,249,0.42) 35%,
      transparent 65%
    );
}
:root.light .cc-art-hero { background: var(--bg-main); }
:root.light .cc-art-hero__title { color: var(--text-primary); }
:root.light .cc-art-hero__deck  { color: var(--text-secondary); }
:root.light .cc-art-hero__byline { background: rgba(255,255,255,0.90); border-color: rgba(0,0,0,0.10); }
:root.light .cc-art-hero__byline-name { color: var(--text-primary); }
:root.light .cc-art-hero__byline-stat-val { color: var(--text-primary); }
:root.light .cc-art-hero__byline-stat-label { color: var(--text-muted); }
:root.light .cc-art-hero__byline-sep { background: rgba(0,0,0,0.12); }
/* Mobile */
@media (max-width: 900px) {
  .cc-art-hero { min-height: auto; }
  .cc-art-hero__content { max-width: 100%; padding-top: 3rem; padding-bottom: 2.5rem; }
  .cc-art-hero__title { font-size: clamp(1.75rem, 5vw, 2.5rem); }
  .cc-art-hero__byline { flex-wrap: wrap; }
}


/* ── Classic editor heading fallback: <p><strong>heading</strong></p> ── */
/* When <strong> is the sole content of a <p>, treat it as a section heading */
.cc-art-content p > strong:only-child,
.cc-art-content.cc-prose p > strong:only-child {
  display: block;
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--gold) !important;
  font-family: var(--font-display);
  letter-spacing: -0.01em;
  line-height: 1.3;
  margin-bottom: -0.25rem;
}

/* ════════════════════════════════════════════════════════════
   ARTICLE BODY — Complete reimagination
   Layout: 200px ToC | 1fr prose | 280px sidebar
════════════════════════════════════════════════════════════ */

/* ── Wrapper & grid ── */
.cc-art-body {
  background: var(--bg-main);
  padding: 3.5rem 0 2rem;
  border-top: 1px solid var(--border-subtle);
}
.cc-art-layout {
  display: grid;
  grid-template-columns: 196px 1fr 272px;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 1200px) {
  .cc-art-layout { grid-template-columns: 1fr 260px; }
  .cc-art-toc-col { display: none; }
}
@media (max-width: 860px) {
  .cc-art-layout { grid-template-columns: 1fr; gap: 2rem; }
  .cc-art-sidebar { display: none; }
}

/* ── Left: Table of Contents ── */
.cc-art-toc-col { position: sticky; top: 88px; align-self: start; }
.cc-art-toc {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
  overflow: hidden;
}
.cc-art-toc__hd {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.5625rem; font-weight: 800;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--text-muted);
}
.cc-art-toc__loading {
  padding: 0.75rem 1rem;
  font-size: 0.6875rem; color: var(--text-muted);
}
.cc-art-toc__nav { padding: 0.375rem 0; }
.cc-art-toc__link {
  display: block;
  padding: 0.35rem 1rem;
  font-size: 0.6875rem; line-height: 1.45;
  color: var(--text-muted);
  text-decoration: none;
  border-left: 2px solid transparent;
  transition: color 0.15s, background 0.15s, border-color 0.15s;
}
.cc-art-toc__link--sub { padding-left: 1.625rem; font-size: 0.625rem; }
.cc-art-toc__link:hover { color: var(--text-secondary); background: var(--bg-elevated); }
.cc-art-toc__link--active {
  color: var(--gold);
  border-left-color: var(--gold);
  background: var(--gold-dim);
  font-weight: 600;
}

/* ── Centre: Prose ── */
.cc-art-main { min-width: 0; }

/* Lede / excerpt callout */
.cc-art-lede {
  position: relative;
  padding: 1.25rem 1.5rem 1.25rem 1.75rem;
  margin-bottom: 2rem;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-left: 3px solid var(--gold);
  border-radius: 0 12px 12px 0;
  font-size: 1rem; font-style: italic;
  color: var(--text-secondary); line-height: 1.7;
}

/* ── PROSE — rich theme-consistent typography ── */
.cc-art-content {
  font-size: 1.0625rem;
  line-height: 1.85;
  color: var(--text-secondary);
}

/* H1 in content — rare but handle it */
.cc-art-content h1 {
  font-family: var(--font-display);
  font-size: 2rem; font-weight: 900;
  color: var(--gold);
  letter-spacing: -0.025em; line-height: 1.1;
  margin: 2.5rem 0 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--gold-border);
  scroll-margin-top: 88px;
}

/* H2 — gold, full width rule underneath */
.cc-art-content h2 {
  font-family: var(--font-display);
  font-size: 1.5rem; font-weight: 800;
  color: var(--gold);
  letter-spacing: -0.02em; line-height: 1.2;
  margin: 2.75rem 0 0.875rem;
  padding-bottom: 0.625rem;
  border-bottom: 1px solid var(--gold-border);
  scroll-margin-top: 88px;
}

/* H3 — white with gold left accent */
.cc-art-content h3 {
  font-family: var(--font-display);
  font-size: 1.125rem; font-weight: 700;
  color: var(--text-primary);
  line-height: 1.3;
  margin: 2rem 0 0.625rem;
  padding-left: 0.875rem;
  border-left: 3px solid var(--gold);
  scroll-margin-top: 88px;
}

/* H4 — small gold caps label */
.cc-art-content h4 {
  font-size: 0.6875rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--gold);
  margin: 1.75rem 0 0.5rem;
  scroll-margin-top: 88px;
}

.cc-art-content p { margin-bottom: 1.375rem; }
.cc-art-content p:last-child { margin-bottom: 0; }
.cc-art-content strong { color: var(--text-primary); font-weight: 700; }
.cc-art-content em { font-style: italic; color: var(--text-secondary); }
.cc-art-content a {
  color: var(--gold);
  text-decoration: underline;
  text-decoration-color: var(--gold-border);
  text-underline-offset: 3px;
  transition: text-decoration-color 0.15s;
}
.cc-art-content a:hover { text-decoration-color: var(--gold); }

/* Blockquote — editorial pull-quote style */
.cc-art-content blockquote {
  position: relative;
  margin: 2rem 0;
  padding: 1.5rem 1.5rem 1.5rem 2rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-left: 4px solid var(--gold);
  border-radius: 0 12px 12px 0;
  font-size: 1.0625rem; font-style: italic;
  color: var(--text-secondary); line-height: 1.75;
}
.cc-art-content blockquote::before {
  content: '\201C';
  position: absolute;
  top: -0.25rem; left: 0.75rem;
  font-size: 4rem; line-height: 1;
  color: var(--gold);
  opacity: 0.25;
  font-family: Georgia, serif;
}
.cc-art-content blockquote p { margin: 0; }

/* Unordered list — gold dot markers */
.cc-art-content ul {
  list-style: none;
  padding: 0;
  margin: 0 0 1.375rem;
}
.cc-art-content ul li {
  position: relative;
  padding: 0.3rem 0 0.3rem 1.375rem;
  color: var(--text-secondary);
}
.cc-art-content ul li::before {
  content: '';
  position: absolute; left: 0; top: 0.75em;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--gold);
  flex-shrink: 0;
}

/* Ordered list — gold mono numbers */
.cc-art-content ol {
  list-style: none;
  counter-reset: art-ol;
  padding: 0; margin: 0 0 1.375rem;
}
.cc-art-content ol li {
  counter-increment: art-ol;
  position: relative;
  padding: 0.3rem 0 0.3rem 2rem;
  color: var(--text-secondary);
}
.cc-art-content ol li::before {
  content: counter(art-ol);
  position: absolute; left: 0; top: 0.3rem;
  width: 1.375rem; height: 1.375rem;
  border-radius: 50%;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  color: var(--gold);
  font-family: var(--font-mono);
  font-size: 0.625rem; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
}

/* Nested lists */
.cc-art-content ul ul,
.cc-art-content ol ul { margin: 0.25rem 0 0.25rem 1rem; }
.cc-art-content li li::before { width: 4px; height: 4px; top: 0.8em; opacity: 0.6; }

/* Table */
.cc-art-content table {
  width: 100%; border-collapse: collapse;
  margin: 2rem 0; font-size: 0.9375rem;
  border: 1px solid var(--border-subtle);
  border-radius: 12px; overflow: hidden;
}
.cc-art-content th {
  background: var(--bg-elevated);
  padding: 0.75rem 1rem;
  text-align: left; font-size: 0.625rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.09em;
  color: var(--gold); border-bottom: 1px solid var(--border-subtle);
}
.cc-art-content td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  color: var(--text-secondary);
}
.cc-art-content tr:last-child td { border-bottom: none; }
.cc-art-content tr:nth-child(even) td { background: var(--bg-elevated); }

/* Images */
.cc-art-content img {
  border-radius: 12px; margin: 1.75rem 0;
  max-width: 100%; height: auto;
  border: 1px solid var(--border-subtle);
}
.cc-art-content figure { margin: 1.75rem 0; }
.cc-art-content figcaption {
  font-size: 0.75rem; color: var(--text-muted);
  text-align: center; margin-top: 0.5rem; font-style: italic;
}

/* Horizontal rule */
.cc-art-content hr {
  border: none;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--gold-border), transparent);
  margin: 2.5rem 0;
}

/* Code inline */
.cc-art-content code {
  font-family: var(--font-mono);
  font-size: 0.875em;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  padding: 0.1em 0.4em;
  color: var(--gold);
}

/* Classic editor <p><strong>heading</strong></p> — gold treatment */
.cc-art-content p > strong:only-child {
  display: block;
  font-family: var(--font-display);
  font-size: 1.25rem; font-weight: 800;
  color: var(--gold) !important;
  letter-spacing: -0.01em; line-height: 1.3;
  margin-bottom: -0.5rem;
}

/* ── Tags ── */
.cc-art-tags {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem;
  margin-top: 2.5rem; padding-top: 1.5rem;
  border-top: 1px solid var(--border-subtle);
}
.cc-art-tags__label {
  display: inline-flex; align-items: center; gap: 0.3rem;
  font-size: 0.5625rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--text-muted);
}
.cc-art-tag {
  display: inline-block;
  font-size: 0.6875rem; font-weight: 600;
  padding: 0.25rem 0.75rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 100px;
  color: var(--text-secondary);
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.cc-art-tag:hover {
  background: var(--gold-dim);
  border-color: var(--gold-border);
  color: var(--gold);
}

/* ── End-of-article bar: share + back link ── */
.cc-art-end {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 1rem;
  margin-top: 2rem; padding: 1.125rem 1.5rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
}
.cc-art-end__share {
  display: flex; align-items: center; gap: 0.5rem;
}
.cc-art-end__share-label {
  font-size: 0.625rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--text-muted); margin-right: 0.25rem;
}
.cc-art-end__share-ico {
  width: 34px; height: 34px;
  border-radius: 9px;
  border: 1px solid var(--border-subtle);
  background: var(--bg-card);
  color: var(--text-muted);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: all 0.15s;
}
.cc-art-end__share-ico svg { width: 14px; height: 14px; }
.cc-art-end__share-ico:hover { transform: translateY(-1px); }
.cc-art-end__share-ico--x:hover    { background: #000; color: #fff; border-color: #333; }
.cc-art-end__share-ico--fb:hover   { background: rgba(24,119,242,0.15); color: #60a5fa; border-color: rgba(24,119,242,0.3); }
.cc-art-end__share-ico--li:hover   { background: rgba(10,102,194,0.15); color: #60a5fa; border-color: rgba(10,102,194,0.3); }
.cc-art-end__share-ico--cp:hover   { background: var(--gold-dim); color: var(--gold); border-color: var(--gold-border); }
.cc-art-end__all {
  display: inline-flex; align-items: center; gap: 0.375rem;
  font-size: 0.75rem; font-weight: 700;
  color: var(--text-muted); text-decoration: none;
  transition: color 0.15s;
}
.cc-art-end__all:hover { color: var(--gold); }

/* ── Right Sidebar ── */
.cc-art-sidebar {
  position: sticky; top: 88px;
  align-self: start;
  display: flex; flex-direction: column; gap: 0.875rem;
}

/* Base widget */
.cc-art-sw {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
  overflow: hidden;
}
.cc-art-sw__hd {
  display: flex; align-items: center; gap: 0.45rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.5rem; font-weight: 800;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--text-muted);
}

/* Reading progress widget */
.cc-art-sw--progress {
  padding: 1rem 1.125rem;
  border-top: 2px solid var(--gold);
}
.cc-art-sw__progress-label {
  display: flex; align-items: baseline; gap: 0.3rem;
  margin-bottom: 0.625rem;
}
.cc-art-sw__progress-pct {
  font-family: var(--font-mono); font-size: 1.5rem; font-weight: 800;
  color: var(--gold); line-height: 1;
}
.cc-art-sw__progress-text {
  font-size: 0.5625rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.09em;
  color: var(--text-muted);
}
.cc-art-sw__progress-track {
  height: 4px; background: var(--bg-elevated);
  border-radius: 2px; overflow: hidden; margin-bottom: 0.625rem;
}
.cc-art-sw__progress-fill {
  height: 100%; width: 0%;
  background: linear-gradient(90deg, var(--gold) 0%, rgba(245,200,66,0.6) 100%);
  border-radius: 2px; transition: width 0.2s linear;
}
.cc-art-sw__progress-meta {
  display: flex; justify-content: space-between;
  font-size: 0.5625rem; color: var(--text-muted);
}
.cc-art-sw__progress-meta span {
  display: inline-flex; align-items: center; gap: 0.25rem;
}

/* Article facts widget */
.cc-art-sw--facts {}
.cc-art-sw__dl { margin: 0; padding: 0.25rem 0; }
.cc-art-sw__dl-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 0.45rem 1rem; gap: 0.5rem;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.6875rem;
}
.cc-art-sw__dl-row:last-child { border-bottom: none; }
.cc-art-sw__dl-row dt { color: var(--text-muted); font-weight: 500; }
.cc-art-sw__dl-row dd { color: var(--text-secondary); font-weight: 700; text-align: right; margin: 0; }
.cc-art-sw__dl-link { color: var(--gold); text-decoration: none; font-weight: 700; }
.cc-art-sw__dl-link:hover { text-decoration: underline; }

/* CTA widget */
.cc-art-sw--cta {
  background: linear-gradient(135deg, rgba(245,200,66,0.08) 0%, rgba(245,200,66,0.03) 100%);
  border-color: var(--gold-border);
  padding: 1.125rem;
}
.cc-art-sw__cta-badge {
  display: inline-flex; align-items: center; gap: 0.3rem;
  font-size: 0.4375rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  border-radius: 100px;
  padding: 0.25rem 0.625rem;
  margin-bottom: 0.75rem;
}
.cc-art-sw__cta-heading {
  font-family: var(--font-display);
  font-size: 1.0625rem; font-weight: 900;
  color: var(--text-primary); line-height: 1.2;
  margin-bottom: 0.5rem; letter-spacing: -0.01em;
}
.cc-art-sw__cta-heading em { color: var(--gold); font-style: normal; }
.cc-art-sw__cta-sub {
  font-size: 0.75rem; color: var(--text-muted);
  line-height: 1.55; margin-bottom: 1rem;
}

/* Related articles widget */
.cc-art-sw--related {}
.cc-art-sw__rel {
  display: flex; align-items: flex-start; gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  text-decoration: none;
  transition: background 0.15s;
}
.cc-art-sw__rel:hover { background: var(--bg-elevated); }
.cc-art-sw__rel-num {
  font-family: var(--font-mono); font-size: 0.875rem; font-weight: 800;
  color: var(--gold); opacity: 0.5; min-width: 1.25rem; flex-shrink: 0; line-height: 1.4;
}
.cc-art-sw__rel-body { flex: 1; min-width: 0; }
.cc-art-sw__rel-cat {
  font-size: 0.4375rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--gold); margin-bottom: 0.2rem;
}
.cc-art-sw__rel-title {
  font-size: 0.6875rem; font-weight: 700;
  color: var(--text-primary); line-height: 1.4; margin-bottom: 0.2rem;
}
.cc-art-sw__rel-meta {
  font-size: 0.5625rem; color: var(--text-muted);
}
.cc-art-sw__rel-all {
  display: flex; align-items: center; justify-content: center; gap: 0.375rem;
  padding: 0.625rem 1rem;
  font-size: 0.625rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--text-muted); text-decoration: none;
  transition: color 0.15s;
}
.cc-art-sw__rel-all:hover { color: var(--gold); }

/* Related section full-width */
.cc-art-related-section {
  background: var(--bg-elevated);
  padding: 3.5rem 0 4rem;
  border-top: 1px solid var(--border-subtle);
}

/* ── Light mode ── */
:root.light .cc-art-body { background: var(--bg-main); border-top-color: rgba(0,0,0,0.07); }
:root.light .cc-art-lede { background: rgba(201,146,14,0.07); }
:root.light .cc-art-content h2 { border-bottom-color: var(--gold-border); }
:root.light .cc-art-content h3 { color: var(--text-primary); }
:root.light .cc-art-content blockquote { background: #ffffff; border-color: rgba(0,0,0,0.07); }
:root.light .cc-art-content table { border-color: rgba(0,0,0,0.08); }
:root.light .cc-art-content th { background: rgba(0,0,0,0.03); border-bottom-color: rgba(0,0,0,0.08); }
:root.light .cc-art-content td { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-art-content tr:nth-child(even) td { background: rgba(0,0,0,0.02); }
:root.light .cc-art-content code { background: rgba(0,0,0,0.05); border-color: rgba(0,0,0,0.1); }
:root.light .cc-art-toc { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-art-toc__hd { border-bottom-color: rgba(0,0,0,0.07); }
:root.light .cc-art-toc__link:hover { background: rgba(0,0,0,0.03); }
:root.light .cc-art-toc__link--active { background: rgba(201,146,14,0.08); }
:root.light .cc-art-end { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-art-end__share-ico { background: #f4f6f9; border-color: rgba(0,0,0,0.10); }
:root.light .cc-art-sw { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-art-sw--cta { background: rgba(201,146,14,0.05); }
:root.light .cc-art-sw--progress { background: #ffffff; }
:root.light .cc-art-sw__progress-track { background: rgba(0,0,0,0.08); }
:root.light .cc-art-sw__dl-row { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-art-sw__rel { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-art-sw__rel:hover { background: rgba(0,0,0,0.02); }
:root.light .cc-art-tags { border-top-color: rgba(0,0,0,0.07); }
:root.light .cc-art-tag { background: #f4f6f9; border-color: rgba(0,0,0,0.10); }
:root.light .cc-art-related-section { background: #f4f6f9; }

/* ════════════════════════════════════════════════════════════
   PRIVACY CONSENT BANNER
   Canadian compliance — PIPA BC, PIPEDA, QC Law 25, PIPA AB
════════════════════════════════════════════════════════════ */

.cc-consent-banner {
  position: fixed;
  bottom: 1.5rem;
  z-index: 99999;
  max-width: 780px;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 3rem);
  animation: cc-consent-slide-up 0.4s cubic-bezier(0.16,1,0.3,1) both;
}
@keyframes cc-consent-slide-up {
  from { opacity: 0; transform: translateX(-50%) translateY(1.5rem); }
  to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}
.cc-consent-banner[hidden] { display: none; }

.cc-consent-banner__inner {
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-top: 3px solid var(--gold);
  border-radius: 18px;
  padding: 1.25rem 1.375rem 1rem;
  box-shadow:
    0 24px 64px rgba(0,0,0,0.55),
    0 4px 16px rgba(0,0,0,0.35),
    inset 0 1px 0 rgba(255,255,255,0.05);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
}

/* Top row — icon + title */
.cc-consent-banner__top {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.875rem;
}
.cc-consent-banner__icon {
  width: 36px; height: 36px;
  border-radius: 10px;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  color: var(--gold);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.cc-consent-banner__icon svg { width: 16px; height: 16px; }
.cc-consent-banner__title {
  font-size: 0.9375rem;
  font-weight: 800;
  color: var(--text-primary);
  line-height: 1.2;
  font-family: var(--font-display);
}
.cc-consent-banner__subtitle {
  font-size: 0.5625rem;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-top: 0.1rem;
}

/* Body text */
.cc-consent-banner__body {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.6;
  margin-bottom: 0.875rem;
}
.cc-consent-banner__body strong { color: var(--text-primary); }
.cc-consent-banner__link {
  color: var(--gold);
  text-decoration: none;
  font-weight: 600;
  white-space: nowrap;
}
.cc-consent-banner__link:hover { text-decoration: underline; }

/* Law tags */
.cc-consent-banner__law-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-bottom: 0.875rem;
}
.cc-consent-banner__law-tag {
  font-size: 0.4375rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  padding: 0.2rem 0.5rem;
}

/* Detail panel */
.cc-consent-banner__detail {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 1rem;
}
.cc-consent-banner__detail[hidden] { display: none; }
.cc-consent-banner__detail-grid { display: flex; flex-direction: column; }

.cc-consent-banner__row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.875rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-consent-banner__row:last-child { border-bottom: none; }
.cc-consent-banner__row--required { opacity: 0.7; }
.cc-consent-banner__row-info { flex: 1; min-width: 0; }
.cc-consent-banner__row-name {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0.3rem;
}
.cc-consent-banner__row-desc {
  font-size: 0.625rem;
  color: var(--text-muted);
  line-height: 1.55;
}
.cc-consent-banner__row-desc code {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 3px;
  padding: 0.05rem 0.3rem;
  color: var(--gold);
}

/* Toggle switch */
.cc-consent-banner__toggle {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  flex-shrink: 0;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  min-width: 44px;
}
.cc-consent-banner__toggle--locked {
  font-size: 0.4375rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--text-muted);
  cursor: default;
  padding-top: 0.25rem;
}
.cc-consent-banner__toggle-track {
  width: 36px; height: 20px;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 100px;
  position: relative;
  transition: background 0.2s, border-color 0.2s;
  display: block;
}
.cc-consent-banner__toggle[aria-checked="true"] .cc-consent-banner__toggle-track {
  background: var(--gold);
  border-color: var(--gold);
}
.cc-consent-banner__toggle-thumb {
  position: absolute;
  top: 2px; left: 2px;
  width: 14px; height: 14px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.3);
  transition: transform 0.2s cubic-bezier(0.16,1,0.3,1);
  display: block;
}
.cc-consent-banner__toggle[aria-checked="true"] .cc-consent-banner__toggle-thumb {
  transform: translateX(16px);
}
.cc-consent-banner__toggle-label {
  font-size: 0.4375rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--text-muted);
}
.cc-consent-banner__toggle[aria-checked="true"] .cc-consent-banner__toggle-label {
  color: var(--gold);
}

/* Action buttons */
.cc-consent-banner__actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 0.75rem;
}
.cc-consent-banner__btn {
  flex: 1;
  min-width: 0;
  padding: 0.6rem 0.875rem;
  border-radius: 10px;
  font-size: 0.75rem;
  font-weight: 700;
  cursor: pointer;
  border: 1px solid var(--border-subtle);
  transition: all 0.15s;
  white-space: nowrap;
}
.cc-consent-banner__btn--secondary {
  background: var(--bg-card);
  color: var(--text-secondary);
}
.cc-consent-banner__btn--secondary:hover {
  background: var(--bg-elevated);
  color: var(--text-primary);
  border-color: var(--border-mid);
}
.cc-consent-banner__btn--primary {
  background: var(--gold);
  color: #07090f;
  border-color: var(--gold);
  font-weight: 800;
}
.cc-consent-banner__btn--primary:hover {
  background: #f0c040;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(245,200,66,0.35);
}

/* Footer note */
.cc-consent-banner__footer {
  font-size: 0.625rem;
  color: var(--text-muted);
  line-height: 1.55;
  text-align: center;
}
.cc-consent-banner__withdraw-link {
  background: none;
  border: none;
  padding: 0;
  color: var(--gold);
  cursor: pointer;
  font-size: inherit;
  text-decoration: underline;
  font-weight: 600;
}

/* Persistent footer privacy button */
.cc-consent-footer-btn {
  position: fixed;
  bottom: 1.25rem;
  left: 1.25rem;
  z-index: 9998;
  display: none; /* shown via JS once consent recorded */
  align-items: center;
  gap: 0.375rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 100px;
  padding: 0.4rem 0.75rem 0.4rem 0.5rem;
  font-size: 0.5625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  cursor: pointer;
  transition: all 0.15s;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
.cc-consent-footer-btn:hover {
  border-color: var(--gold-border);
  color: var(--gold);
  background: var(--gold-dim);
}

/* Light mode */
:root.light .cc-consent-banner__inner {
  background: #ffffff;
  border-color: rgba(0,0,0,0.10);
  box-shadow: 0 24px 64px rgba(0,0,0,0.18), 0 4px 16px rgba(0,0,0,0.10);
}
:root.light .cc-consent-banner__detail { background: #f8f9fa; border-color: rgba(0,0,0,0.08); }
:root.light .cc-consent-banner__row { border-bottom-color: rgba(0,0,0,0.07); }
:root.light .cc-consent-banner__law-tag { background: #f4f6f9; border-color: rgba(0,0,0,0.10); }
:root.light .cc-consent-banner__toggle-track { background: rgba(0,0,0,0.10); border-color: rgba(0,0,0,0.15); }
:root.light .cc-consent-banner__btn--secondary { background: #f4f6f9; border-color: rgba(0,0,0,0.10); }
:root.light .cc-consent-banner__btn--secondary:hover { background: #ececec; }
:root.light .cc-consent-footer-btn { background: #ffffff; border-color: rgba(0,0,0,0.12); box-shadow: 0 2px 8px rgba(0,0,0,0.12); }
:root.light .cc-consent-banner__row-desc code { background: rgba(0,0,0,0.05); border-color: rgba(0,0,0,0.1); }

/* Mobile — widened breakpoint from 540→640px; uses separate keyframe so the
   translateX(-50%) desktop animation doesn't push the modal off-screen left */
@media (max-width: 640px) {
  .cc-consent-banner {
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    transform: none;
    max-width: 100%;
    animation-name: cc-consent-slide-up-mobile;
  }
  .cc-consent-banner__inner {
    border-radius: 18px 18px 0 0;
  }
  .cc-consent-banner__actions { flex-direction: column; }
  .cc-consent-banner__btn { flex: none; width: 100%; }
}

/* ════════════════════════════════════════════════════════════
   PRIVACY POLICY PAGE — Component CSS
════════════════════════════════════════════════════════════ */

/* Hero law strip */
.cc-pp-law-strip {
  display: flex; flex-wrap: wrap; gap: 0.5rem;
  margin-top: 1.25rem;
}
.cc-pp-law-badge {
  font-size: 0.4375rem; font-weight: 800;
  letter-spacing: 0.12em; text-transform: uppercase;
  padding: 0.3rem 0.75rem;
  background: var(--bg-glass);
  border: 1px solid var(--border-subtle);
  border-radius: 100px;
  color: var(--text-muted);
  display: inline-flex; align-items: center; gap: 0.3rem;
}
.cc-pp-law-badge--primary { border-color: var(--gold-border); color: var(--gold); background: var(--gold-dim); }
.cc-pp-law-badge--alert   { border-color: rgba(239,68,68,0.3); color: #f87171; background: rgba(239,68,68,0.07); }

/* Applicable law table */
.cc-pp-law-table {
  border: 1px solid var(--border-subtle);
  border-radius: 14px; overflow: hidden;
  margin: 1.25rem 0;
}
.cc-pp-law-row {
  display: grid;
  grid-template-columns: 64px 1fr 120px;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.8125rem;
  align-items: start;
}
.cc-pp-law-row:last-child { border-bottom: none; }
.cc-pp-law-row--primary { background: var(--gold-dim); }
.cc-pp-law-row--alert   { background: rgba(239,68,68,0.04); }
.cc-pp-law-row__badge {
  font-size: 0.4375rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.1em;
  padding: 0.25rem 0.5rem;
  border-radius: 6px;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  color: var(--text-muted);
  text-align: center; white-space: nowrap;
  align-self: start; margin-top: 0.15rem;
}
.cc-pp-law-row--primary .cc-pp-law-row__badge { background: var(--gold); color: #07090f; border-color: var(--gold); }
.cc-pp-law-row__badge--fed { background: rgba(59,130,246,0.15); color: #60a5fa; border-color: rgba(59,130,246,0.3); }
.cc-pp-law-row__badge--qc  { background: rgba(239,68,68,0.12); color: #f87171; border-color: rgba(239,68,68,0.3); }
.cc-pp-law-row__badge--ab  { background: rgba(251,146,60,0.12); color: #fb923c; border-color: rgba(251,146,60,0.3); }
.cc-pp-law-row__name { color: var(--text-primary); font-weight: 600; font-size: 0.8125rem; }
.cc-pp-law-row__name em { font-style: italic; color: var(--text-secondary); }
.cc-pp-law-row__cite { font-family: var(--font-mono); font-size: 0.625rem; color: var(--text-muted); }
.cc-pp-law-row__scope { color: var(--text-secondary); font-size: 0.75rem; grid-column: 2 / -1; }
@media (max-width: 700px) {
  .cc-pp-law-row { grid-template-columns: 1fr; gap: 0.5rem; }
  .cc-pp-law-row__scope { grid-column: auto; }
}

/* Data collection table */
.cc-pp-data-table {
  border: 1px solid var(--border-subtle);
  border-radius: 14px; overflow: hidden; margin: 1.25rem 0;
}
.cc-pp-data-table__head {
  display: grid; grid-template-columns: 1.5fr 2fr 1fr 1fr;
  padding: 0.625rem 1rem; gap: 0.75rem;
  background: var(--bg-elevated);
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.5625rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--text-muted);
}
.cc-pp-data-row {
  display: grid; grid-template-columns: 1.5fr 2fr 1fr 1fr;
  padding: 0.875rem 1rem; gap: 0.75rem;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.75rem; color: var(--text-secondary);
  align-items: start;
}
.cc-pp-data-row:last-child { border-bottom: none; }
.cc-pp-data-row:nth-child(even) { background: var(--bg-elevated); }
.cc-pp-data-row__name { display: flex; flex-direction: column; gap: 0.2rem; }
.cc-pp-data-row__name strong { color: var(--text-primary); font-size: 0.8125rem; }
.cc-pp-data-row__tech { font-family: var(--font-mono); font-size: 0.5625rem; color: var(--text-muted); }
.cc-pp-badge {
  display: inline-block; font-size: 0.5rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.08em;
  padding: 0.2rem 0.5rem; border-radius: 4px;
}
.cc-pp-badge--yellow { background: rgba(245,200,66,0.12); color: var(--gold); border: 1px solid var(--gold-border); }
.cc-pp-badge--green  { background: rgba(16,185,129,0.10); color: #34d399; border: 1px solid rgba(16,185,129,0.25); }
.cc-pp-badge--red    { background: rgba(239,68,68,0.10); color: #f87171; border: 1px solid rgba(239,68,68,0.25); }
.cc-pp-badge--blue   { background: rgba(59,130,246,0.10); color: #60a5fa; border: 1px solid rgba(59,130,246,0.25); }
@media (max-width: 800px) {
  .cc-pp-data-table__head, .cc-pp-data-row { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 540px) {
  .cc-pp-data-table__head { display: none; }
  .cc-pp-data-row { grid-template-columns: 1fr; }
}

/* Contact card */
.cc-pp-contact-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-top: 2px solid var(--gold);
  border-radius: 14px; overflow: hidden;
}
.cc-pp-contact-card__hd {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.5625rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--text-muted);
}
.cc-pp-contact-card__body { padding: 0; }
.cc-pp-contact-card__row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 0.5rem 1rem; gap: 1rem;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.8125rem;
}
.cc-pp-contact-card__row:last-child { border-bottom: none; }
.cc-pp-contact-card__label { color: var(--text-muted); flex-shrink: 0; }
.cc-pp-contact-card__row a { color: var(--gold); text-decoration: none; }
.cc-pp-contact-card__row a:hover { text-decoration: underline; }

/* Purpose grid */
.cc-pp-purpose-grid { display: flex; flex-direction: column; gap: 1rem; margin-top: 1.25rem; }
.cc-pp-purpose {
  display: flex; gap: 1rem; align-items: flex-start;
  padding: 1.25rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
}
.cc-pp-purpose__icon {
  width: 38px; height: 38px; border-radius: 10px;
  background: var(--gold-dim); border: 1px solid var(--gold-border);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.cc-pp-purpose__title { font-weight: 700; color: var(--text-primary); margin-bottom: 0.375rem; font-size: 0.9375rem; }
.cc-pp-purpose__desc  { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.65; margin-bottom: 0.5rem; }
.cc-pp-purpose__data  { font-size: 0.625rem; color: var(--text-muted); font-family: var(--font-mono); margin-bottom: 0.25rem; }
.cc-pp-purpose__basis { font-size: 0.625rem; color: var(--gold); font-style: italic; }

/* Third party list */
.cc-pp-tp-list { display: flex; flex-direction: column; gap: 1rem; margin: 1.25rem 0; }
.cc-pp-tp {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 14px; overflow: hidden;
}
.cc-pp-tp__hd {
  display: flex; align-items: center; flex-wrap: wrap; gap: 0.75rem;
  padding: 0.875rem 1.125rem;
  background: var(--bg-elevated);
  border-bottom: 1px solid var(--border-subtle);
}
.cc-pp-tp__name { font-weight: 800; color: var(--text-primary); font-size: 0.9375rem; }
.cc-pp-tp__role { font-size: 0.625rem; font-weight: 600; color: var(--text-muted); background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 6px; padding: 0.2rem 0.5rem; }
.cc-pp-tp__location { display: flex; align-items: center; gap: 0.25rem; font-size: 0.625rem; color: var(--text-muted); margin-left: auto; }
.cc-pp-tp__body { padding: 1rem 1.125rem; }
.cc-pp-tp__body p { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.65; margin-bottom: 0.5rem; }
.cc-pp-tp__body p:last-child { margin-bottom: 0; }
.cc-pp-tp__body a { color: var(--gold); }

/* Automated decision grid */
.cc-pp-auto-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1.25rem 0; }
@media (max-width: 700px) { .cc-pp-auto-grid { grid-template-columns: 1fr; } }
.cc-pp-auto {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 14px; overflow: hidden;
}
.cc-pp-auto__title {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.875rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  font-weight: 700; font-size: 0.875rem; color: var(--text-primary);
  background: var(--bg-elevated);
}
.cc-pp-auto__dl { padding: 1rem; margin: 0; }
.cc-pp-auto__dl dt { font-size: 0.5625rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.09em; color: var(--gold); margin: 0.75rem 0 0.25rem; }
.cc-pp-auto__dl dt:first-child { margin-top: 0; }
.cc-pp-auto__dl dd { font-size: 0.75rem; color: var(--text-secondary); line-height: 1.6; margin: 0; }
.cc-pp-auto__dl dd code { font-family: var(--font-mono); font-size: 0.625rem; background: var(--bg-elevated); border: 1px solid var(--border-subtle); border-radius: 3px; padding: 0.05rem 0.3rem; color: var(--gold); }

/* Cookie table */
.cc-pp-cookie-table {
  border: 1px solid var(--border-subtle);
  border-radius: 14px; overflow: hidden; margin: 1.25rem 0;
}
.cc-pp-cookie-table__head {
  display: grid; grid-template-columns: 1.5fr 0.75fr 0.75fr 0.85fr 2fr;
  padding: 0.625rem 1rem; gap: 0.625rem;
  background: var(--bg-elevated);
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.5rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.1em; color: var(--text-muted);
}
.cc-pp-cookie-row {
  display: grid; grid-template-columns: 1.5fr 0.75fr 0.75fr 0.85fr 2fr;
  padding: 0.75rem 1rem; gap: 0.625rem;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 0.75rem; color: var(--text-secondary);
  align-items: start;
}
.cc-pp-cookie-row:last-child { border-bottom: none; }
.cc-pp-cookie-row:nth-child(even) { background: var(--bg-elevated); }
.cc-pp-cookie-row code { font-family: var(--font-mono); font-size: 0.625rem; background: var(--bg-elevated); border: 1px solid var(--border-subtle); border-radius: 3px; padding: 0.1rem 0.35rem; color: var(--gold); }
.cc-pp-cat { font-size: 0.4375rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.09em; padding: 0.2rem 0.5rem; border-radius: 4px; font-style: normal; }
.cc-pp-cat--necessary   { background: rgba(59,130,246,0.12); color: #60a5fa; }
.cc-pp-cat--functional  { background: rgba(16,185,129,0.10); color: #34d399; }
.cc-pp-cat--personal    { background: rgba(245,200,66,0.12); color: var(--gold); }
@media (max-width: 900px) {
  .cc-pp-cookie-table__head, .cc-pp-cookie-row { grid-template-columns: 1.5fr 1fr 1fr; }
  .cc-pp-cookie-table__head span:nth-child(n+4),
  .cc-pp-cookie-row span:nth-child(n+4) { display: none; }
}

/* Rights grid */
.cc-pp-rights-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 1rem; margin: 1.25rem 0;
}
@media (max-width: 640px) { .cc-pp-rights-grid { grid-template-columns: 1fr; } }
.cc-pp-right {
  padding: 1.125rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
}
.cc-pp-right__icon { margin-bottom: 0.625rem; }
.cc-pp-right__title { font-weight: 700; color: var(--text-primary); font-size: 0.9375rem; margin-bottom: 0.5rem; }
.cc-pp-right__desc  { font-size: 0.75rem; color: var(--text-secondary); line-height: 1.65; margin: 0; }
.cc-pp-right__desc em { font-style: normal; font-size: 0.6875rem; color: var(--text-muted); display: block; margin-top: 0.5rem; }

/* Regulator grid */
.cc-pp-regulator-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 1rem; margin: 1.25rem 0;
}
@media (max-width: 640px) { .cc-pp-regulator-grid { grid-template-columns: 1fr; } }
.cc-pp-regulator {
  padding: 1.125rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
}
.cc-pp-regulator--qc { border-color: rgba(239,68,68,0.3); }
.cc-pp-regulator__name { font-weight: 700; color: var(--text-primary); font-size: 0.875rem; line-height: 1.35; margin-bottom: 0.375rem; }
.cc-pp-regulator__law  { font-size: 0.5625rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.09em; color: var(--gold); margin-bottom: 0.5rem; }
.cc-pp-regulator__url  { display: block; font-size: 0.75rem; color: var(--gold); text-decoration: none; margin-bottom: 0.25rem; }
.cc-pp-regulator__url:hover { text-decoration: underline; }
.cc-pp-regulator__tel  { font-size: 0.75rem; color: var(--text-secondary); }

/* ToC law list */
.cc-aff-toc__law-list { padding: 1rem; border-top: 1px solid var(--border-subtle); display: flex; flex-direction: column; gap: 0.625rem; }
.cc-aff-toc__law-item { display: flex; align-items: flex-start; gap: 0.5rem; }
.cc-aff-toc__law-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--border-mid); flex-shrink: 0; margin-top: 0.2rem;
}
.cc-aff-toc__law-item--primary .cc-aff-toc__law-dot { background: var(--gold); }
.cc-aff-toc__law-item--qc .cc-aff-toc__law-dot { background: #f87171; }
.cc-aff-toc__law-name { font-size: 0.6875rem; font-weight: 700; color: var(--text-primary); }
.cc-aff-toc__law-desc { font-size: 0.5rem; color: var(--text-muted); }
.cc-aff-toc__link--special { color: #f87171 !important; }
.cc-aff-toc__link--special:hover { color: #f87171 !important; }

/* ToC actions */
.cc-aff-toc__actions { padding: 0.75rem 1rem; border-top: 1px solid var(--border-subtle); }

/* Light mode */
:root.light .cc-pp-purpose { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-pp-tp { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-pp-tp__hd { background: #f8f9fa; border-bottom-color: rgba(0,0,0,0.07); }
:root.light .cc-pp-auto { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-pp-auto__title { background: #f8f9fa; }
:root.light .cc-pp-auto__dl code { background: rgba(0,0,0,0.05); border-color: rgba(0,0,0,0.10); }
:root.light .cc-pp-right { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-pp-regulator { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-pp-contact-card { background: #ffffff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-pp-contact-card__hd { border-bottom-color: rgba(0,0,0,0.07); }
:root.light .cc-pp-contact-card__row { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-pp-law-table { border-color: rgba(0,0,0,0.08); }
:root.light .cc-pp-law-row { border-bottom-color: rgba(0,0,0,0.07); }
:root.light .cc-pp-law-row--primary { background: rgba(201,146,14,0.06); }
:root.light .cc-pp-law-row--alert { background: rgba(239,68,68,0.03); }
:root.light .cc-pp-data-table { border-color: rgba(0,0,0,0.08); }
:root.light .cc-pp-data-row { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-pp-data-row:nth-child(even) { background: rgba(0,0,0,0.02); }
:root.light .cc-pp-cookie-table { border-color: rgba(0,0,0,0.08); }
:root.light .cc-pp-cookie-row { border-bottom-color: rgba(0,0,0,0.06); }
:root.light .cc-pp-cookie-row:nth-child(even) { background: rgba(0,0,0,0.02); }
:root.light .cc-pp-cookie-row code { background: rgba(0,0,0,0.05); border-color: rgba(0,0,0,0.10); }

/* ════════════════════════════════════════════════════════════
   PRIORITY 2 — 404, SEARCH, ACCESSIBILITY
════════════════════════════════════════════════════════════ */

/* ── Skip to content link (2c) ── */
.cc-skip-link {
  position: absolute;
  top: -100%;
  left: 1.5rem;
  z-index: 100000;
  background: var(--gold);
  color: #07090f;
  font-size: 0.875rem;
  font-weight: 800;
  padding: 0.625rem 1.25rem;
  border-radius: 0 0 10px 10px;
  text-decoration: none;
  transition: top 0.15s;
  white-space: nowrap;
}
.cc-skip-link:focus {
  top: 0;
  outline: 3px solid #07090f;
  outline-offset: 2px;
}

/* ── 404 PAGE ── */
.cc-404-hero {
  position: relative;
  min-height: 420px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--bg-main);
}
.cc-404-hero__bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 60% 50% at 50% 100%, rgba(245,200,66,0.06) 0%, transparent 70%),
    repeating-linear-gradient(0deg, transparent 0px, transparent 3px, rgba(255,255,255,0.008) 3px, rgba(255,255,255,0.008) 4px);
  pointer-events: none;
}
.cc-404-hero__inner {
  position: relative; z-index: 2;
  padding: 4rem 0;
  text-align: center;
  display: flex; flex-direction: column; align-items: center;
}
.cc-404-hero__number {
  font-family: var(--font-display);
  font-size: clamp(6rem, 16vw, 10rem);
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
  opacity: 0.15;
  letter-spacing: -0.04em;
  margin-bottom: -2rem;
  pointer-events: none;
  user-select: none;
}
.cc-404-hero__title {
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  margin-bottom: 0.875rem;
  position: relative;
}
.cc-404-hero__desc {
  font-size: 1rem;
  color: var(--text-secondary);
  max-width: 460px;
  line-height: 1.65;
  margin-bottom: 2rem;
}

/* Search bar on 404 */
.cc-404-search { width: 100%; max-width: 540px; }
.cc-404-search__wrap {
  display: flex; align-items: center;
  background: var(--bg-elevated);
  border: 1px solid var(--border-mid);
  border-radius: 14px;
  padding: 0.25rem 0.25rem 0.25rem 1rem;
  gap: 0.5rem;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.cc-404-search__wrap:focus-within {
  border-color: var(--gold-border);
  box-shadow: 0 0 0 3px rgba(245,200,66,0.12);
}
.cc-404-search__icon { color: var(--text-muted); flex-shrink: 0; }
.cc-404-search__input {
  flex: 1; background: none; border: none; outline: none;
  font-size: 0.9375rem; color: var(--text-primary);
  font-family: var(--font-sans);
  padding: 0.5rem 0;
}
.cc-404-search__input::placeholder { color: var(--text-muted); }
.cc-404-search__btn { flex-shrink: 0; }

/* Quick links nav on 404 */
.cc-404-quicklinks {
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: 0.5rem; margin-top: 1.5rem;
}
.cc-404-quicklink {
  display: inline-flex; align-items: center; gap: 0.375rem;
  font-size: 0.75rem; font-weight: 700;
  padding: 0.45rem 0.875rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 100px;
  color: var(--text-secondary);
  text-decoration: none;
  transition: all 0.15s;
}
.cc-404-quicklink:hover {
  border-color: var(--gold-border);
  color: var(--gold); background: var(--gold-dim);
}

/* 404 sections */
.cc-404-section { padding: 3rem 0; background: var(--bg-main); }
.cc-404-section--alt { background: var(--bg-elevated); border-top: 1px solid var(--border-subtle); }
.cc-404-section__hd {
  display: flex; justify-content: space-between; align-items: flex-end;
  margin-bottom: 1.75rem; flex-wrap: wrap; gap: 1rem;
}

/* 404 casino grid */
.cc-404-casino-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
@media (max-width: 900px) { .cc-404-casino-grid { grid-template-columns: 1fr; } }

.cc-404-casino {
  display: flex; flex-direction: column;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 16px;
  overflow: hidden;
  transition: border-color 0.15s, transform 0.15s;
}
.cc-404-casino:hover { border-color: var(--gold-border); transform: translateY(-2px); }
.cc-404-casino__logo-wrap {
  display: flex; align-items: center; justify-content: center;
  height: 80px; padding: 1rem;
  text-decoration: none;
}
.cc-404-casino__logo { max-height: 44px; max-width: 120px; object-fit: contain; }
.cc-404-casino__logo-txt {
  font-weight: 800; font-size: 0.875rem; color: #fff; text-align: center;
}
.cc-404-casino__body { flex: 1; padding: 0.875rem 1rem; }
.cc-404-casino__name { font-weight: 800; font-size: 0.9375rem; color: var(--text-primary); margin-bottom: 0.375rem; }
.cc-404-casino__name a { color: inherit; text-decoration: none; }
.cc-404-casino__name a:hover { color: var(--gold); }
.cc-404-casino__stars { display: flex; align-items: center; gap: 0.125rem; margin-bottom: 0.375rem; }
.cc-404-casino__star { font-size: 0.875rem; color: var(--border-mid); }
.cc-404-casino__star--on { color: var(--gold); }
.cc-404-casino__rating { font-family: var(--font-mono); font-size: 0.75rem; font-weight: 700; color: var(--gold); margin-left: 0.25rem; }
.cc-404-casino__bonus {
  font-size: 0.6875rem; font-weight: 700;
  color: #10b981; background: rgba(16,185,129,0.1);
  border: 1px solid rgba(16,185,129,0.2);
  border-radius: 6px; padding: 0.2rem 0.5rem;
  display: inline-block; margin-bottom: 0.375rem;
}
.cc-404-casino__bestfor {
  display: flex; align-items: center; gap: 0.3rem;
  font-size: 0.625rem; color: var(--text-muted);
}
.cc-404-casino__actions {
  display: flex; gap: 0.5rem; padding: 0.75rem 1rem;
  border-top: 1px solid var(--border-subtle);
}
.cc-404-casino__actions .cc-btn { flex: 1; justify-content: center; }

/* Light mode 404 */
:root.light .cc-404-casino { background: #fff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-404-casino:hover { border-color: var(--gold-border); }
:root.light .cc-404-search__wrap { background: #fff; border-color: rgba(0,0,0,0.15); }
:root.light .cc-404-quicklink { background: #fff; border-color: rgba(0,0,0,0.10); }
:root.light .cc-404-section--alt { background: #f4f6f9; }

/* ── SEARCH PAGE ── */
.cc-search-hero {
  background: var(--bg-main);
  border-bottom: 1px solid var(--border-subtle);
  padding: 3rem 0 2.5rem;
}
.cc-search-hero__inner { max-width: 760px; }
.cc-search-hero__title {
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  font-weight: 900; color: var(--text-primary);
  letter-spacing: -0.02em;
  line-height: 1.15; margin-bottom: 0.5rem;
}
.cc-search-hero__title em { color: var(--gold); font-style: normal; }
.cc-search-hero__count {
  font-size: 0.875rem; color: var(--text-secondary);
  margin-bottom: 1.5rem;
}
.cc-search-hero__count strong { color: var(--gold); }

/* Search refine form */
.cc-search-hero__form { max-width: 600px; }
.cc-search-hero__form-wrap {
  display: flex; align-items: center;
  background: var(--bg-elevated);
  border: 1px solid var(--border-mid);
  border-radius: 14px;
  padding: 0.25rem 0.25rem 0.25rem 1rem;
  gap: 0.5rem;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.cc-search-hero__form-wrap:focus-within {
  border-color: var(--gold-border);
  box-shadow: 0 0 0 3px rgba(245,200,66,0.12);
}
.cc-search-hero__form-icon { color: var(--text-muted); flex-shrink: 0; }
.cc-search-hero__input {
  flex: 1; background: none; border: none; outline: none;
  font-size: 0.9375rem; color: var(--text-primary);
  font-family: var(--font-sans); padding: 0.5rem 0;
}
.cc-search-hero__input::placeholder { color: var(--text-muted); }

/* Search body */
.cc-search-body { background: var(--bg-main); padding: 2.5rem 0 4rem; }

/* Result groups */
.cc-search-group { margin-bottom: 3rem; }
.cc-search-group__hd {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 1.25rem; flex-wrap: wrap; gap: 0.75rem;
}
.cc-search-group__title {
  display: flex; align-items: center; gap: 0.625rem;
  font-size: 1.125rem; font-weight: 800; color: var(--text-primary);
}
.cc-search-group__icon {
  width: 30px; height: 30px; border-radius: 8px;
  background: var(--gold-dim); border: 1px solid var(--gold-border);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.cc-search-group__count {
  font-size: 0.6875rem; font-weight: 800;
  padding: 0.2rem 0.625rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 100px; color: var(--text-muted);
}

/* Casino search results */
.cc-search-casino-list { display: flex; flex-direction: column; gap: 0.75rem; }
.cc-search-casino {
  display: flex; align-items: center; gap: 1rem;
  padding: 1rem 1.25rem;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
  transition: border-color 0.15s, transform 0.15s;
}
.cc-search-casino:hover { border-color: var(--gold-border); transform: translateX(2px); }
.cc-search-casino__logo-wrap {
  width: 64px; height: 48px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; overflow: hidden;
}
.cc-search-casino__logo { max-height: 32px; max-width: 56px; object-fit: contain; }
.cc-search-casino__body { flex: 1; min-width: 0; }
.cc-search-casino__name {
  font-size: 1rem; font-weight: 800; color: var(--text-primary);
  text-decoration: none; display: block; margin-bottom: 0.25rem;
}
.cc-search-casino__name:hover { color: var(--gold); }
.cc-search-casino__stars {
  display: flex; align-items: center; gap: 0.1rem; margin-bottom: 0.375rem;
}
.cc-search-casino__star { font-size: 0.75rem; color: var(--border-mid); }
.cc-search-casino__star--on { color: var(--gold); }
.cc-search-casino__rating-num {
  font-family: var(--font-mono); font-size: 0.6875rem;
  font-weight: 700; color: var(--gold); margin-left: 0.25rem;
}
.cc-search-casino__chips { display: flex; flex-wrap: wrap; gap: 0.375rem; margin-bottom: 0.375rem; }
.cc-search-casino__chip {
  display: inline-flex; align-items: center; gap: 0.25rem;
  font-size: 0.5625rem; font-weight: 700;
  padding: 0.2rem 0.5rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 100px; color: var(--text-muted);
}
.cc-search-casino__bonus {
  font-size: 0.6875rem; font-weight: 700;
  color: #10b981; background: rgba(16,185,129,0.08);
  border: 1px solid rgba(16,185,129,0.2);
  border-radius: 6px; padding: 0.15rem 0.5rem;
  display: inline-block;
}
.cc-search-casino__actions { display: flex; gap: 0.5rem; flex-shrink: 0; }
@media (max-width: 600px) {
  .cc-search-casino { flex-wrap: wrap; }
  .cc-search-casino__actions { width: 100%; }
  .cc-search-casino__actions .cc-btn { flex: 1; justify-content: center; }
}

/* No results state */
.cc-search-empty {
  text-align: center; padding: 4rem 1.5rem;
  max-width: 500px; margin: 0 auto;
}
.cc-search-empty__icon { margin-bottom: 1.25rem; }
.cc-search-empty__title {
  font-size: 1.375rem; font-weight: 800;
  color: var(--text-primary); margin-bottom: 0.75rem;
}
.cc-search-empty__desc {
  font-size: 0.9375rem; color: var(--text-secondary);
  line-height: 1.65; margin-bottom: 1.75rem;
}
.cc-search-empty__suggest { margin-bottom: 1.75rem; }
.cc-search-empty__suggest-label {
  font-size: 0.6875rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.09em;
  color: var(--text-muted); margin-bottom: 0.625rem;
}
.cc-search-empty__suggest-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; }
.cc-search-empty__suggest-item {
  display: inline-flex; align-items: center; gap: 0.375rem;
  font-size: 0.8125rem; font-weight: 600;
  padding: 0.45rem 0.875rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 100px;
  color: var(--text-secondary); text-decoration: none;
  transition: all 0.15s;
}
.cc-search-empty__suggest-item:hover {
  border-color: var(--gold-border); color: var(--gold); background: var(--gold-dim);
}
.cc-search-empty__nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; }

/* Pagination */
.cc-search-pagination {
  display: flex; justify-content: center; align-items: center;
  gap: 0.375rem; margin-top: 2.5rem; flex-wrap: wrap;
}
.cc-search-page {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 38px; height: 38px; padding: 0 0.625rem;
  font-size: 0.8125rem; font-weight: 600;
  border-radius: 10px;
  background: var(--bg-elevated);
  border: 1px solid var(--border-subtle);
  color: var(--text-secondary); text-decoration: none;
  transition: all 0.15s;
}
.cc-search-page:hover { border-color: var(--gold-border); color: var(--gold); background: var(--gold-dim); }
.cc-search-page--active {
  background: var(--gold); color: #07090f !important;
  border-color: var(--gold); font-weight: 800;
}

/* Light mode search */
:root.light .cc-search-hero { background: #f4f6f9; border-bottom-color: rgba(0,0,0,0.08); }
:root.light .cc-search-hero__form-wrap { background: #fff; border-color: rgba(0,0,0,0.15); }
:root.light .cc-search-casino { background: #fff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-search-casino:hover { border-color: var(--gold-border); }
:root.light .cc-search-empty__suggest-item { background: #fff; border-color: rgba(0,0,0,0.10); }
:root.light .cc-search-page { background: #fff; border-color: rgba(0,0,0,0.10); }

/* ── ARIA / Focus improvements (2c) ── */
/* Visible focus ring on all interactive elements */
:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 4px;
}
/* Province picker pills keyboard focus */
.cc-geo-picker__pill:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
/* QM option buttons — show selected state clearly for keyboard users */
.cc-qm-option:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
.cc-qm-option[aria-pressed="true"] {
  background: var(--gold);
  color: #07090f;
  border-color: var(--gold);
}
/* Comparison modal focus trap indicator */
.cc-compare-modal:focus-visible { outline: none; }
.cc-compare-modal__panel:focus-visible { outline: 2px solid var(--gold); outline-offset: -2px; }

/* ════════════════════════════════════════════════════════════
   LUCIDE ICON FLASH PREVENTION
   Icons are hidden until lucide.createIcons() completes.
   The 'lucide-ready' class is added to <html> by JS.
   Transition is fast enough to be imperceptible but eliminates
   the blank-box flash on first load.
════════════════════════════════════════════════════════════ */

/* Hide all lucide icon placeholders before JS runs */
[data-lucide] {
  visibility: hidden;
  display: inline-flex;
}

/* Reveal instantly once Lucide has replaced them with SVGs */
.lucide-ready [data-lucide],
.lucide-ready i > svg,
.lucide-ready [data-lucide] > svg {
  visibility: visible;
}

/* Any SVG that Lucide injects — also hidden until ready */
:not(.lucide-ready) i[data-lucide] svg {
  visibility: hidden;
}

/* ════════════════════════════════════════════════════════════
   PRIORITY 5 — UX POLISH
════════════════════════════════════════════════════════════ */

/* ── 5a: Mobile nav active state ── */
.cc-mobile-nav-link--active {
  color: var(--gold) !important;
  background: var(--gold-dim);
  border-left: 2px solid var(--gold);
  padding-left: calc(0.75rem - 2px); /* compensate for border */
}
.cc-mobile-nav-link--active:hover {
  color: var(--gold) !important;
  background: var(--gold-dim);
}

/* ── 5b: Skeleton shimmer loader ── */
/* Applied to province hub headline/subline on first load */
@keyframes cc-skel-shimmer {
  0%   { background-position: -400px 0; }
  100% { background-position: 400px 0; }
}
.cc-skel {
  position: relative;
  color: transparent !important;
  border-radius: 6px;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
  min-height: 1.2em;
  min-width: 120px;
}
.cc-skel::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    var(--bg-elevated) 0%,
    var(--border-subtle) 40%,
    var(--bg-elevated) 80%
  );
  background-size: 400px 100%;
  animation: cc-skel-shimmer 1.4s ease-in-out infinite;
  border-radius: inherit;
}

/* Light mode skeleton */
:root.light .cc-skel::after {
  background: linear-gradient(
    90deg,
    rgba(0,0,0,0.06) 0%,
    rgba(0,0,0,0.12) 40%,
    rgba(0,0,0,0.06) 80%
  );
  background-size: 400px 100%;
}

/* ── 5b: QuickMatch empty/guided state ── */
.cc-qm-empty-state {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.875rem 1rem;
  border: 1px dashed var(--border-subtle);
  border-radius: 10px;
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-top: 0.5rem;
  font-style: italic;
}

/* ════════════════════════════════════════════════════════════
   CASINO REVIEW — EDITORIAL RAIL LAYOUT v2
   Three-column: left sticky nav · main content · right conviction
════════════════════════════════════════════════════════════ */

/* ── Hero ── */
.cc-sr-hero {
  position: relative;
  overflow: hidden;
  min-height: 600px;
  display: flex;
  align-items: flex-end;
  background: #03040a;
}
.cc-sr-hero__bg {
  position: absolute; inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.03);
  will-change: transform;
}
.cc-sr-hero__veil {
  position: absolute; inset: 0;
  background:
    linear-gradient(105deg, rgba(3,4,10,0.98) 0%, rgba(3,4,10,0.88) 38%, rgba(3,4,10,0.55) 70%, rgba(3,4,10,0.22) 100%),
    linear-gradient(to top, rgba(3,4,10,0.95) 0%, transparent 45%),
    linear-gradient(to bottom, rgba(3,4,10,0.6) 0%, transparent 22%);
}
.cc-sr-hero__grain {
  position: absolute; inset: 0; opacity: 0.025; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 200px;
}
.cc-sr-hero__inner {
  position: relative; z-index: 2;
  width: 100%; max-width: 1280px; margin: 0 auto;
  padding: 6rem 2.5rem 4rem;
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 3rem;
  align-items: end;
}
@media (max-width: 1023px) { .cc-sr-hero__inner { grid-template-columns: 1fr; padding: 5rem 1.5rem 3rem; } }

.cc-sr-hero__identity { display: flex; flex-direction: column; gap: 0; }

.cc-sr-hero__logo-row {
  display: flex; align-items: center; gap: 1.25rem;
  margin-bottom: 1.25rem;
}
.cc-sr-hero__logo-wrap {
  width: 80px; height: 80px; border-radius: 16px;
  overflow: hidden; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
}
.cc-sr-hero__logo {
  max-width: 75%; max-height: 70%;
  object-fit: contain; display: block;
}
.cc-sr-hero__licence-badge {
  display: inline-flex; align-items: center; gap: 0.35rem;
  font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.09em;
  text-transform: uppercase; color: #10b981;
  background: rgba(16,185,129,0.1); border: 1px solid rgba(16,185,129,0.22);
  border-radius: 100px; padding: 0.2rem 0.625rem; margin-bottom: 0.5rem;
}
.cc-sr-hero__h1 {
  font-size: clamp(1.875rem, 4.5vw, 3.25rem);
  font-weight: 900; color: #fff;
  letter-spacing: -0.025em; line-height: 1.05;
  margin-bottom: 0.625rem;
}
.cc-sr-hero__meta-row {
  display: flex; align-items: center; flex-wrap: wrap; gap: 0.625rem;
  margin-bottom: 1rem;
}
.cc-sr-hero__rating-num {
  font-family: var(--font-mono); font-size: 1rem;
  font-weight: 800; color: var(--gold);
}
.cc-sr-hero__best-for {
  display: inline-flex; align-items: center; gap: 0.3rem;
  font-size: 0.625rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--gold); background: var(--gold-dim);
  border: 1px solid var(--gold-border); border-radius: 100px;
  padding: 0.2rem 0.625rem;
}
.cc-sr-hero__overview {
  font-size: 0.9375rem; color: rgba(255,255,255,0.65);
  max-width: 560px; line-height: 1.7;
  margin-bottom: 1.5rem;
}
.cc-sr-hero__ctas {
  display: flex; flex-wrap: wrap; gap: 0.625rem;
  margin-bottom: 1.25rem;
}
.cc-btn--hero-cta { font-size: 0.9375rem; padding: 0.8rem 1.625rem; }

.cc-sr-hero__bonus-strip {
  display: inline-flex; align-items: center; gap: 0.75rem;
  background: rgba(245,200,66,0.08);
  border: 1px solid var(--gold-border);
  border-radius: 12px; padding: 0.75rem 1rem;
  max-width: 520px;
}
.cc-sr-hero__bonus-label {
  font-size: 0.5rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--gold); margin-bottom: 0.15rem;
}
.cc-sr-hero__bonus-val {
  font-size: 0.875rem; font-weight: 700; color: #fff;
}
.cc-sr-hero__bonus-rollover {
  font-size: 0.625rem; color: var(--text-muted);
  border-left: 1px solid var(--border-subtle);
  padding-left: 0.75rem; white-space: nowrap;
}
.cc-sr-hero__bonus-tc {
  font-size: 0.5625rem; color: var(--text-muted);
  white-space: nowrap; margin-left: auto;
}

/* ── Hero bonus banner (BC / offshore — prominent promotional display) ── */
.cc-sr-hero__bonus-banner {
  position: relative;
  margin-top: 1.5rem;
  padding: 1.25rem 1.5rem;
  border-radius: 12px;
  border: 1px solid rgba(245,200,66,0.3);
  background: linear-gradient(135deg, rgba(245,200,66,0.1) 0%, rgba(245,200,66,0.02) 100%);
  overflow: hidden;
}
.cc-sr-hero__bonus-banner-glow {
  position: absolute; inset: -1px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(245,200,66,0.18), transparent 60%);
  pointer-events: none;
}
.cc-sr-hero__bonus-banner-content {
  position: relative; z-index: 1;
}
.cc-sr-hero__bonus-banner-badge {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 0.7rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--gold);
  margin-bottom: 0.5rem;
}
.cc-sr-hero__bonus-banner-offer {
  font-size: 1.5rem; font-weight: 700; color: #fff;
  line-height: 1.25; margin-bottom: 0.5rem;
}
.cc-sr-hero__bonus-banner-terms {
  font-size: 0.8rem; color: var(--text-muted); margin-bottom: 0.875rem;
}
.cc-sr-hero__bonus-banner-cta {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 0.9375rem; padding: 0.7rem 1.5rem;
}
@media (min-width: 768px) {
  .cc-sr-hero__bonus-banner { padding: 1.5rem 2rem; }
  .cc-sr-hero__bonus-banner-offer { font-size: 1.75rem; }
}

/* ── Hero verdict panel ── */
.cc-sr-verdict-panel {
  background: var(--bg-main);
  border: 1px solid var(--gold-border);
  border-radius: 20px;
  padding: 1.75rem;
  display: flex; flex-direction: column; gap: 1.125rem;
}
.cc-sr-vp__header { border-bottom: 1px solid var(--border-subtle); padding-bottom: 0.875rem; }
.cc-sr-vp__label {
  font-size: 0.5rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--gold); margin-bottom: 0.2rem;
}
.cc-sr-vp__operator {
  font-family: var(--font-display); font-size: 1rem;
  font-weight: 800; color: var(--text-primary);
}
.cc-sr-vp__score-row {
  display: flex; align-items: center; gap: 1rem;
}
.cc-sr-vp__score-text {}
.cc-sr-vp__verdict-word {
  font-family: var(--font-display); font-size: 1.25rem;
  font-weight: 900; color: var(--gold); line-height: 1;
  margin-bottom: 0.2rem;
}
.cc-sr-vp__score-sub {
  font-size: 0.6rem; color: var(--text-muted);
  text-transform: uppercase; letter-spacing: 0.08em;
}
.cc-sr-vp__bars { display: flex; flex-direction: column; gap: 0.625rem; }
.cc-sr-vp__bar-row {
  display: flex; align-items: center; gap: 0.5rem; font-size: 0.6875rem;
}
.cc-sr-vp__bar-label { color: var(--text-secondary); min-width: 130px; font-size: 0.6875rem; }
.cc-sr-vp__bar-track {
  flex: 1; height: 4px; background: rgba(255,255,255,0.07);
  border-radius: 100px; overflow: hidden;
}
.cc-sr-vp__bar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--gold), var(--gold-hover));
  border-radius: 100px; width: 0%;
  transition: width 1.1s cubic-bezier(0.4,0,0.2,1);
}
.cc-sr-vp__bar-val {
  font-family: var(--font-mono); font-size: 0.625rem;
  font-weight: 700; color: var(--gold); min-width: 1.75rem; text-align: right;
}
.cc-sr-vp__stats {
  display: grid; grid-template-columns: repeat(3,1fr);
  gap: 0.5rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--border-subtle);
}
.cc-sr-vp__stat {
  display: flex; align-items: flex-start; gap: 0.375rem;
  font-size: 0.625rem;
}
.cc-sr-vp__stat-label { color: var(--text-muted); margin-bottom: 0.1rem; }
.cc-sr-vp__stat-val { font-weight: 700; color: var(--text-primary); font-family: var(--font-mono); }
.cc-sr-vp__cta {
  width: 100%; justify-content: center;
  font-size: 0.875rem; padding: 0.75rem;
  letter-spacing: 0.04em;
}
.cc-sr-vp__disclaimer {
  font-size: 0.5rem; color: var(--text-muted);
  text-align: center; text-transform: uppercase;
  letter-spacing: 0.07em;
}

/* ════════════════════════════════════════════════════════════
   CASINO GAME REVIEW — Split Hero v3
   Left: identity + verdict · Right: contained game art frame
════════════════════════════════════════════════════════════ */

/* ── Hero shell ── */
.cc-cg-hero {
  position: relative;
  background: #05060f;
  overflow: hidden;
  min-height: 520px;
  display: flex; align-items: center;
}

/* Atmospheric backdrop — blurred, very dark, pure mood */
.cc-cg-hero__atmos {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  filter: blur(60px) saturate(1.4) brightness(0.22);
  transform: scale(1.12);
}
.cc-cg-hero__atmos-veil {
  position: absolute; inset: 0;
  background: linear-gradient(
    105deg,
    rgba(5,6,15,0.96) 0%,
    rgba(5,6,15,0.88) 45%,
    rgba(5,6,15,0.55) 72%,
    rgba(5,6,15,0.1)  100%
  );
}
.cc-cg-hero__grain {
  position: absolute; inset: 0; opacity: 0.025; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 180px;
}

/* ── Split grid ── */
.cc-cg-hero__split {
  position: relative; z-index: 2;
  width: 100%; max-width: 1280px; margin: 0 auto;
  padding: 5rem 2.5rem 4.5rem;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 4rem;
  align-items: center;
}
@media (max-width: 1100px) {
  .cc-cg-hero__split { grid-template-columns: 1fr 360px; gap: 3rem; padding: 4rem 1.5rem 3.5rem; }
}
@media (max-width: 860px) {
  .cc-cg-hero__split { grid-template-columns: 1fr; padding: 3.5rem 1.5rem 3rem; }
  .cc-cg-hero__right { display: none; }
}

/* ── Left column ── */
.cc-cg-hero__left {
  display: flex; flex-direction: column;
  gap: 0;
}

.cc-cg-hero__provider {
  display: flex; align-items: center; gap: 0.6rem;
  font-size: 0.5625rem; font-weight: 800;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 0.75rem;
}
.cc-cg-hero__provider::before {
  content: '';
  display: block; width: 22px; height: 1.5px;
  background: linear-gradient(90deg, var(--gold), transparent);
}

.cc-cg-hero__h1 {
  font-size: clamp(2.25rem, 5vw, 3.5rem);
  font-weight: 900; color: #fff;
  letter-spacing: -0.03em; line-height: 1.02;
  margin-bottom: 1.125rem;
  text-shadow: 0 4px 32px rgba(0,0,0,0.5);
}

.cc-cg-hero__badges {
  display: flex; flex-wrap: wrap; gap: 0.5rem;
  margin-bottom: 1.25rem;
}
.cc-cg-hero__badge {
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.13);
  color: rgba(255,255,255,0.65);
  font-size: 0.625rem; font-weight: 700;
  padding: 0.25rem 0.75rem; border-radius: 100px;
  text-transform: uppercase; letter-spacing: 0.08em;
  backdrop-filter: blur(8px);
}

.cc-cg-hero__excerpt {
  font-size: 0.9375rem; color: rgba(255,255,255,0.55);
  max-width: 520px; line-height: 1.75; margin: 0 0 1.75rem;
}

/* Trust strip — attached below verdict bar */
.cc-cg-hero__trust {
  display: flex; align-items: center;
  flex-wrap: wrap; gap: 0;
  margin-top: 0.875rem;
  padding: 0.625rem 1rem;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  backdrop-filter: blur(8px);
  max-width: 520px;
}
.cc-cg-hero__trust-item {
  display: flex; align-items: center; gap: 0.375rem;
  color: rgba(255,255,255,0.5);
  padding: 0 0.75rem;
  flex-shrink: 0;
}
.cc-cg-hero__trust-item:first-child { padding-left: 0; }
.cc-cg-hero__trust-label {
  color: rgba(255,255,255,0.35);
  text-transform: uppercase; letter-spacing: 0.06em;
  font-size: 0.5rem; font-weight: 700;
}
.cc-cg-hero__trust-val {
  font-size: 0.625rem;
  color: rgba(255,255,255,0.8); font-weight: 600;
}
.cc-cg-hero__trust-sep {
  width: 1px; height: 20px;
  background: rgba(255,255,255,0.1);
  flex-shrink: 0;
}
.cc-cg-hero__trust-item--disclosure {
  padding: 0.4rem 0 0 0;
  flex: 1; min-width: 100%;
  border-top: 1px solid rgba(255,255,255,0.07);
  margin-top: 0.375rem;
  font-size: 0.5rem;
  color: rgba(255,255,255,0.3);
  line-height: 1.55; gap: 0.375rem;
}
:root.light .cc-cg-hero__trust { background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.08); }
:root.light .cc-cg-hero__trust-val { color: var(--text-primary); }
:root.light .cc-cg-hero__trust-sep { background: rgba(0,0,0,0.1); }
:root.light .cc-cg-hero__trust-item--disclosure { color: var(--text-muted); border-color: rgba(0,0,0,0.06); }

/* Verdict bar */
.cc-cg-hero__verdict {
  display: flex; align-items: center; gap: 1.125rem;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 14px;
  padding: 0.875rem 1.25rem;
  backdrop-filter: blur(12px);
  max-width: 520px;
}
.cc-cg-hero__verdict-text { display: flex; flex-direction: column; gap: 0.15rem; }
.cc-cg-hero__verdict-word {
  font-family: var(--font-display); font-size: 1rem;
  font-weight: 900; color: var(--text-primary); letter-spacing: -0.01em;
}
.cc-cg-hero__verdict-sub {
  font-size: 0.5rem; font-weight: 700; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--text-muted);
}
.cc-cg-hero__verdict-divider {
  width: 1px; height: 32px;
  background: rgba(255,255,255,0.1);
  flex-shrink: 0; margin: 0 0.25rem;
}
.cc-cg-hero__kstat {
  display: flex; flex-direction: column; align-items: center; gap: 0.15rem;
}
.cc-cg-hero__kstat-val {
  font-size: 0.875rem; font-weight: 800;
  color: var(--text-primary); white-space: nowrap;
}
.cc-cg-hero__kstat-label {
  font-size: 0.4375rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--text-muted);
}

/* ── Right column — game art frame ── */
.cc-cg-hero__right {
  display: flex; align-items: center; justify-content: center;
  perspective: 900px;
}

.cc-cg-hero__frame {
  position: relative;
  border-radius: 18px;
  transform: rotateY(-6deg) rotateX(2deg);
  transform-style: preserve-3d;
  transition: transform 0.6s cubic-bezier(0.23,1,0.32,1);
  box-shadow:
    -12px 24px 60px rgba(0,0,0,0.7),
    -4px 8px 20px rgba(0,0,0,0.5),
    0 0 0 1px rgba(255,255,255,0.06),
    inset 0 0 0 1px rgba(255,255,255,0.04);
}
.cc-cg-hero:hover .cc-cg-hero__frame {
  transform: rotateY(-2deg) rotateX(1deg) translateY(-4px);
}

/* Outer glow — gold halo behind the frame */
.cc-cg-hero__frame-glow {
  position: absolute;
  inset: -20px; border-radius: 28px;
  background: radial-gradient(ellipse at center, rgba(212,175,55,0.18) 0%, transparent 70%);
  filter: blur(16px);
  z-index: -1;
}

.cc-cg-hero__frame-img {
  display: block;
  width: 100%; height: auto;
  max-height: 420px;
  object-fit: contain;
  border-radius: 18px;
  position: relative; z-index: 1;
}

/* Shine overlay — subtle specular highlight top-left */
.cc-cg-hero__frame-shine {
  position: absolute; inset: 0; border-radius: 18px;
  background: linear-gradient(
    135deg,
    rgba(255,255,255,0.08) 0%,
    rgba(255,255,255,0.02) 30%,
    transparent 60%
  );
  pointer-events: none; z-index: 2;
}

/* ── Two-column body (unchanged) ── */
.cc-cg-body {
  background: var(--bg-main);
  border-top: 1px solid var(--border-subtle);
}
.cc-cg-body__inner {
  max-width: 1280px; margin: 0 auto;
  padding: 0 2.5rem;
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 0; align-items: start;
}
@media (max-width: 900px) {
  .cc-cg-body__inner { grid-template-columns: 1fr; padding: 0 1.5rem; }
  .cc-cg-rail { display: none; }
}

/* ── Main column ── */
.cc-cg-main {
  padding: 2.5rem 2.5rem 4rem;
  min-width: 0;
  overflow-wrap: break-word; word-break: break-word;
}

/* Casino list */
.cc-cg-casino-list { display: flex; flex-direction: column; gap: 0.75rem; }
.cc-cg-casino-row {
  display: flex; align-items: center; gap: 1rem;
  padding: 0.875rem 1.25rem;
  background: var(--bg-card); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.cc-cg-casino-row:hover {
  border-color: var(--gold-border);
  box-shadow: 0 0 0 1px var(--gold-border), 0 4px 20px rgba(0,0,0,0.2);
}
.cc-cg-casino-row__logo {
  width: 52px; height: 52px; border-radius: 10px;
  overflow: hidden; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
}
.cc-cg-casino-row__info { flex: 1; min-width: 0; }
.cc-cg-casino-row__name {
  font-weight: 700; font-size: 0.9375rem;
  color: var(--text-primary); margin-bottom: 0.15rem;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* Casino row mobile — keep it single row but shrink gracefully */
@media (max-width: 480px) {
  .cc-cg-casino-row { gap: 0.625rem; padding: 0.75rem; }
  .cc-cg-casino-row__logo { width: 40px; height: 40px; }
  .cc-cg-casino-row__name { font-size: 0.8125rem; }
  .cc-cg-casino-row__bonus { font-size: 0.625rem; }
  .cc-cg-casino-row__rating { font-size: 0.75rem; }
  .cc-cg-casino-row .cc-btn--sm { font-size: 0.625rem; padding: 0.35rem 0.625rem; }
}
.cc-cg-casino-row__bonus {
  font-size: 0.75rem; color: var(--text-secondary);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.cc-cg-casino-row__rating {
  font-size: 0.875rem; font-weight: 800;
  color: var(--gold); flex-shrink: 0;
}

/* ── Right rail ── */
.cc-cg-rail {
  position: sticky; top: 2rem;
  padding: 2rem 0 2rem 1.75rem;
  display: flex; flex-direction: column; gap: 1rem;
  border-left: 1px solid var(--border-subtle);
  /* No max-height, no overflow — rail flows at natural height.
     The grid container bottom acts as the sticky stop point,
     so rail content is never clipped or double-scrolled. */
  align-self: start;
}

.cc-cg-rail__card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 14px; padding: 0.875rem 1rem;
  transition: border-color 0.2s;
}
.cc-cg-rail__card:hover { border-color: rgba(255,255,255,0.12); }
.cc-cg-rail__card--cons { border-color: rgba(245,158,11,0.2); }
.cc-cg-rail__card--cons:hover { border-color: rgba(245,158,11,0.35); }

.cc-cg-rail__card-hd {
  display: flex; align-items: center; gap: 0.4rem;
  font-size: 0.4375rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: 0.14em;
  color: var(--text-muted); margin-bottom: 0.75rem;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-cg-rail__card-hd--pros { color: #10b981; }
.cc-cg-rail__card-hd--cons { color: #f59e0b; }

.cc-cg-rail__feature {
  display: flex; align-items: flex-start; gap: 0.5rem;
  font-size: 0.6875rem; color: var(--text-secondary);
  line-height: 1.45; padding: 0.3rem 0;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-cg-rail__feature:last-child { border-bottom: none; }
.cc-cg-rail__feature-icon {
  width: 20px; height: 20px; flex-shrink: 0;
  background: var(--gold-dim); border: 1px solid var(--gold-border);
  border-radius: 5px;
  display: flex; align-items: center; justify-content: center;
  margin-top: 1px;
}

.cc-cg-rail__pc-item {
  display: flex; align-items: flex-start; gap: 0.5rem;
  font-size: 0.6875rem; color: var(--text-secondary);
  line-height: 1.45; padding: 0.275rem 0;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-cg-rail__pc-item:last-child { border-bottom: none; }

.cc-cg-rail__fact {
  display: flex; align-items: center; gap: 0.4rem;
  font-size: 0.625rem; padding: 0.35rem 0;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-cg-rail__fact:last-child { border-bottom: none; }
.cc-cg-rail__fact-label { color: var(--text-muted); flex: 1; }
.cc-cg-rail__fact-val {
  font-weight: 700; color: var(--text-primary);
  text-align: right; font-size: 0.625rem;
}

/* VP stats (no longer in hero but kept for any other use) */
.cc-cg-vp-stats {
  display: flex; flex-direction: column; gap: 0;
  padding-top: 0.875rem; border-top: 1px solid var(--border-subtle);
}
.cc-cg-vp-stat {
  display: flex; align-items: center; justify-content: space-between;
  font-size: 0.75rem; padding: 0.4rem 0;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-cg-vp-stat:last-child { border-bottom: none; }
.cc-cg-vp-stat__label { color: var(--text-muted); display: flex; align-items: center; gap: 0.375rem; }
.cc-cg-vp-stat__val { font-weight: 700; color: var(--text-primary); }

/* ── Light mode ── */
:root.light .cc-cg-hero { background: #f0f2f6; }
:root.light .cc-cg-hero__atmos { filter: blur(60px) saturate(0.8) brightness(0.85); }
:root.light .cc-cg-hero__atmos-veil {
  background: linear-gradient(105deg,
    rgba(240,242,246,0.97) 0%,
    rgba(240,242,246,0.92) 45%,
    rgba(240,242,246,0.65) 72%,
    rgba(240,242,246,0.2)  100%);
}
:root.light .cc-cg-hero__h1 { color: var(--text-primary); text-shadow: none; }
:root.light .cc-cg-hero__excerpt { color: var(--text-secondary); }
:root.light .cc-cg-hero__badge { background: rgba(0,0,0,0.06); border-color: rgba(0,0,0,0.1); color: var(--text-secondary); }
:root.light .cc-cg-hero__verdict { background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.08); }
:root.light .cc-cg-hero__frame { box-shadow: -8px 16px 40px rgba(0,0,0,0.25), 0 0 0 1px rgba(0,0,0,0.08); }
:root.light .cc-cg-hero__frame-shine { background: linear-gradient(135deg, rgba(255,255,255,0.5) 0%, rgba(255,255,255,0.1) 30%, transparent 60%); }
:root.light .cc-cg-rail__card { background: #fff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-cg-rail__card:hover { border-color: rgba(0,0,0,0.15); }
:root.light .cc-cg-rail__card--cons { border-color: rgba(245,158,11,0.2); }
:root.light .cc-cg-casino-row { background: #fff; border-color: rgba(0,0,0,0.08); }

/* ════════════════════════════════════════════════════════════
   GAME CARD — CINEMATIC STYLE (Option D)
════════════════════════════════════════════════════════════ */
.cc-game-card--cinematic { border-radius: var(--radius-card); overflow: hidden; background: var(--bg-card); border: 1px solid var(--border-subtle); transition: transform 0.2s, box-shadow 0.2s; }
.cc-game-card--cinematic:hover { transform: translateY(-2px); box-shadow: 0 8px 32px rgba(0,0,0,0.5); }
.cc-gcard-cin__wrap { display: block; position: relative; aspect-ratio: 16/10; overflow: hidden; text-decoration: none; }
.cc-gcard-cin__img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; transition: transform 0.5s ease; display: block; }
.cc-game-card--cinematic:hover .cc-gcard-cin__img { transform: scale(1.06); }
.cc-gcard-cin__veil {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(3,4,10,0.96) 0%, rgba(3,4,10,0.7) 35%, rgba(3,4,10,0.15) 65%, transparent 100%),
              linear-gradient(to right, rgba(3,4,10,0.3) 0%, transparent 50%);
}
.cc-gcard-cin__body { position: absolute; bottom: 0; left: 0; right: 0; padding: 0.875rem 1rem; z-index: 2; }
.cc-gcard-cin__provider { font-size: 0.5rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold); margin-bottom: 0.2rem; opacity: 0.9; }
.cc-gcard-cin__title { font-family: var(--font-display); font-size: 0.9375rem; font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 0.5rem; text-shadow: 0 1px 8px rgba(0,0,0,0.6); }
.cc-gcard-cin__meta { display: flex; flex-wrap: wrap; gap: 0.375rem; align-items: center; }
.cc-gcard-cin__rating { margin-left: auto; font-size: 0.6875rem; font-weight: 800; color: var(--gold); }
.cc-gcard-cin__play {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  width: 44px; height: 44px; border-radius: 50%;
  background: rgba(255,255,255,0.15); backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.25);
  display: flex; align-items: center; justify-content: center;
  color: #fff; opacity: 0; transition: opacity 0.25s, transform 0.25s;
  z-index: 3;
}
.cc-game-card--cinematic:hover .cc-gcard-cin__play { opacity: 1; transform: translate(-50%,-50%) scale(1.08); }

/* ════════════════════════════════════════════════════════════
   GAME CARD — HORIZONTAL STYLE (Option B)
════════════════════════════════════════════════════════════ */
.cc-game-card--horizontal {
  display: flex; align-items: stretch;
  background: var(--bg-card); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card); overflow: hidden;
  transition: border-color 0.2s, box-shadow 0.2s; height: 100%;
}
.cc-game-card--horizontal:hover { border-color: var(--gold-border); box-shadow: 0 4px 20px rgba(0,0,0,0.3); }
.cc-gcard-hz__thumb {
  display: block; position: relative; flex-shrink: 0;
  width: 120px; min-height: 120px; overflow: hidden;
  background: var(--bg-elevated);
}
.cc-gcard-hz__thumb img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; transition: transform 0.4s; }
.cc-game-card--horizontal:hover .cc-gcard-hz__thumb img { transform: scale(1.06); }
.cc-gcard-hz__rtp {
  position: absolute; bottom: 0.375rem; left: 0.375rem;
  font-size: 0.5rem; font-weight: 800; letter-spacing: 0.04em;
  background: rgba(3,4,10,0.85); color: var(--gold);
  padding: 0.15rem 0.4rem; border-radius: 4px;
  backdrop-filter: blur(4px);
}
.cc-gcard-hz__body { flex: 1; min-width: 0; padding: 0.75rem 1rem; display: flex; flex-direction: column; gap: 0.25rem; }
.cc-gcard-hz__title { font-family: var(--font-display); font-size: 0.9375rem; font-weight: 800; color: var(--text-primary); line-height: 1.2; }
.cc-gcard-hz__title a { color: inherit; text-decoration: none; }
.cc-gcard-hz__title a:hover { color: var(--gold); }
.cc-gcard-hz__theme { font-size: 0.625rem; color: var(--text-muted); }
.cc-gcard-hz__chips { display: flex; flex-wrap: wrap; gap: 0.3rem; margin-top: auto; padding-top: 0.375rem; }
.cc-gcard-hz__paylines { font-size: 0.625rem; color: var(--text-muted); display: flex; align-items: center; }
.cc-gcard-hz__rating { font-size: 0.75rem; font-weight: 800; color: var(--gold); margin-top: 0.25rem; }

/* Horizontal grid — 1 column on mobile, 2 on tablet, stays at 3 */
.cc-game-grid:has(.cc-game-card--horizontal) { grid-template-columns: 1fr; }
@media (min-width: 640px) { .cc-game-grid:has(.cc-game-card--horizontal) { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .cc-game-grid:has(.cc-game-card--horizontal) { grid-template-columns: repeat(3, 1fr); } }

/* ════════════════════════════════════════════════════════════
   A-Z JUMP BAR
════════════════════════════════════════════════════════════ */
.cc-az-bar {
  display: flex; flex-wrap: wrap; gap: 0.25rem;
  padding: 0.75rem 0; align-items: center;
}
.cc-az-btn {
  min-width: 28px; height: 28px; padding: 0 0.375rem;
  display: flex; align-items: center; justify-content: center;
  font-size: 0.6875rem; font-weight: 700;
  color: var(--text-muted); background: var(--bg-elevated);
  border: 1px solid var(--border-subtle); border-radius: 6px;
  cursor: pointer; transition: all 0.15s; user-select: none;
}
.cc-az-btn:hover { color: var(--text-primary); border-color: var(--border-mid); background: var(--bg-glass); }
.cc-az-btn.active { background: var(--gold-dim); border-color: var(--gold-border); color: var(--gold); font-weight: 800; }
.cc-az-btn--all { font-size: 0.5625rem; letter-spacing: 0.06em; text-transform: uppercase; min-width: 36px; }

/* ════════════════════════════════════════════════════════════
   TAXONOMY HUB HERO — game_type + game_provider
   Split layout: identity left · decorative icon right
════════════════════════════════════════════════════════════ */

.cc-tax-hero {
  position: relative; overflow: hidden;
  background: #05060f;
  min-height: 380px;
  display: flex; align-items: center;
}

/* Geometric dot-grid pattern as background texture */
.cc-tax-hero__bg-pattern {
  position: absolute; inset: 0;
  background-image:
    radial-gradient(circle, rgba(212,175,55,0.12) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 20%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 20%, transparent 100%);
}

.cc-tax-hero__grain {
  position: absolute; inset: 0; opacity: 0.022; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 180px;
}

/* Inner split grid */
.cc-tax-hero__inner {
  position: relative; z-index: 2;
  width: 100%; max-width: 1280px; margin: 0 auto;
  padding: 5rem 2.5rem 4rem;
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 4rem; align-items: center;
}
@media (max-width: 1023px) {
  .cc-tax-hero__inner { grid-template-columns: 1fr; padding: 4rem 1.5rem 3rem; }
  .cc-tax-hero__icon-wrap { display: none; }
}

/* Left column */
.cc-tax-hero__left { display: flex; flex-direction: column; gap: 0; }

.cc-tax-hero__eyebrow {
  display: flex; align-items: center; gap: 0.5rem;
  font-size: 0.5625rem; font-weight: 800;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 0.75rem;
}

.cc-tax-hero__h1 {
  font-size: clamp(2.25rem, 5vw, 3.75rem);
  font-weight: 900; color: #fff;
  letter-spacing: -0.03em; line-height: 1.02;
  margin-bottom: 1rem;
  text-shadow: 0 2px 24px rgba(0,0,0,0.4);
}

.cc-tax-hero__desc {
  font-size: 0.9375rem; color: rgba(255,255,255,0.55);
  max-width: 560px; line-height: 1.75;
  margin: 0 0 1.75rem;
}

/* Stat chips row */
.cc-tax-hero__chips {
  display: flex; align-items: center;
  gap: 0;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 14px;
  padding: 0.75rem 1.25rem;
  backdrop-filter: blur(12px);
  max-width: 560px;
  flex-wrap: wrap;
}
.cc-tax-hero__chip {
  display: flex; flex-direction: column;
  align-items: center; gap: 0.15rem;
  padding: 0 1rem;
}
.cc-tax-hero__chip:first-child { padding-left: 0; }
.cc-tax-hero__chip-val {
  font-size: 1.125rem; font-weight: 800;
  color: var(--text-primary); line-height: 1;
  white-space: nowrap;
}
.cc-tax-hero__chip-val--gold { color: var(--gold); }
.cc-tax-hero__chip-label {
  font-size: 0.4375rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--text-muted); white-space: nowrap;
}
.cc-tax-hero__chip-divider {
  width: 1px; height: 36px;
  background: rgba(255,255,255,0.1);
  flex-shrink: 0;
}

/* Right decorative icon */
.cc-tax-hero__icon-wrap {
  position: relative;
  display: flex; align-items: center; justify-content: center;
  width: 240px; height: 240px;
  margin: 0 auto;
}
.cc-tax-hero__icon-ring {
  position: absolute; border-radius: 50%;
  border: 1px solid rgba(212,175,55,0.2);
}
.cc-tax-hero__icon-ring--outer {
  width: 100%; height: 100%;
  animation: ccTaxRingPulse 4s ease-in-out infinite;
}
.cc-tax-hero__icon-ring--inner {
  width: 70%; height: 70%;
  border-color: rgba(212,175,55,0.15);
  animation: ccTaxRingPulse 4s ease-in-out infinite 1s;
}
@keyframes ccTaxRingPulse {
  0%, 100% { transform: scale(1);   opacity: 0.6; }
  50%       { transform: scale(1.04); opacity: 1;   }
}
.cc-tax-hero__icon-glow {
  position: absolute; inset: 20%;
  background: radial-gradient(circle, rgba(212,175,55,0.2) 0%, transparent 70%);
  filter: blur(20px);
  animation: ccTaxGlowPulse 3s ease-in-out infinite;
}
@keyframes ccTaxGlowPulse {
  0%, 100% { opacity: 0.6; transform: scale(1);   }
  50%       { opacity: 1;   transform: scale(1.15); }
}
.cc-tax-hero__icon-svg {
  width: 80px; height: 80px;
  color: var(--gold); opacity: 0.9;
  position: relative; z-index: 1;
  filter: drop-shadow(0 0 20px rgba(212,175,55,0.4));
}

/* Provider monogram */
.cc-tax-hero__monogram {
  position: relative; z-index: 1;
  font-family: var(--font-display);
  font-size: 4.5rem; font-weight: 900;
  color: var(--gold); opacity: 0.9; line-height: 1;
  letter-spacing: -0.04em;
  text-shadow: 0 0 40px rgba(212,175,55,0.4);
}

/* ── Filter / sort bar ── */
.cc-tax-bar {
  background: var(--bg-main);
  border-bottom: 1px solid var(--border-subtle);
  position: sticky; top: 68px; z-index: 40;
}
.cc-tax-bar__inner {
  display: flex; align-items: center; gap: 1rem;
  padding-top: 0.875rem; padding-bottom: 0.875rem;
}
.cc-tax-bar__count {
  font-size: 0.8125rem; color: var(--text-muted);
}
.cc-tax-bar__count strong { color: var(--text-primary); font-weight: 700; }
.cc-tax-bar__controls { margin-left: auto; display: flex; gap: 0.5rem; align-items: center; }

/* ── Game grid wrapper ── */
.cc-tax-grid-wrap {
  background: var(--bg-main);
  padding: 2rem 0 4rem;
}

/* ── Light mode ── */
:root.light .cc-tax-hero { background: #f0f2f6; }
:root.light .cc-tax-hero__bg-pattern {
  background-image: radial-gradient(circle, rgba(212,175,55,0.18) 1px, transparent 1px);
}
:root.light .cc-tax-hero__h1 { color: var(--text-primary); text-shadow: none; }
:root.light .cc-tax-hero__desc { color: var(--text-secondary); }
:root.light .cc-tax-hero__chips { background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.08); }
:root.light .cc-tax-hero__chip-divider { background: rgba(0,0,0,0.1); }

/* ════════════════════════════════════════════════════════════
   VAULT HERO — game_type taxonomy (replaces cc-tax-hero)
   Split: editorial left · perspective mosaic right
════════════════════════════════════════════════════════════ */

.cc-vault-hero {
  position: relative;
  overflow: hidden;
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #06060c;
}

/* Subtle grid-line texture on left half */
.cc-vault-hero::before {
  content: '';
  position: absolute; inset: 0; z-index: 0;
  background-image:
    linear-gradient(rgba(245,200,66,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(245,200,66,0.04) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse 65% 80% at 18% 50%, black 15%, transparent 72%);
  -webkit-mask-image: radial-gradient(ellipse 65% 80% at 18% 50%, black 15%, transparent 72%);
  pointer-events: none;
}

/* ── Left: editorial panel ── */
.cc-vault-left {
  position: relative;
  z-index: 10;
  padding: 7rem 4rem 5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: linear-gradient(to right, #06060c 55%, transparent);
}

/* Ghost watermark number */
.cc-vault-ghost {
  position: absolute;
  bottom: -12%; left: -6%;
  font-size: 40vw;
  font-weight: 900;
  letter-spacing: -0.07em;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px rgba(245,200,66,0.055);
  pointer-events: none;
  user-select: none;
  z-index: 0;
  white-space: nowrap;
}

.cc-vault-breadcrumb {
  position: relative; z-index: 2;
  display: flex; align-items: center; gap: 0.5rem;
  font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.1em;
  text-transform: uppercase; color: rgba(255,255,255,0.28);
  margin-bottom: 2.5rem;
}
.cc-vault-breadcrumb a { color: inherit; text-decoration: none; }
.cc-vault-breadcrumb a:hover { color: rgba(255,255,255,0.55); }
.cc-vault-breadcrumb__sep { color: rgba(255,255,255,0.14); }

/* Category eyebrow */
.cc-vault-cat-tag {
  position: relative; z-index: 2;
  display: inline-flex; align-items: center; gap: 0.75rem;
  font-size: 0.5875rem; font-weight: 800; letter-spacing: 0.22em;
  text-transform: uppercase; color: var(--gold);
  margin-bottom: 1.375rem;
}
.cc-vault-cat-tag::before {
  content: '';
  width: 28px; height: 1px;
  background: var(--gold); opacity: 0.6;
}

/* Main heading */
.cc-vault-h1 {
  position: relative; z-index: 2;
  font-size: clamp(4rem, 9vw, 8.5rem);
  font-weight: 900;
  letter-spacing: -0.05em;
  line-height: 0.88;
  text-transform: uppercase;
  margin-bottom: 2.25rem;
}
.cc-vault-h1__word {
  display: block;
  background: linear-gradient(145deg, #fff 50%, rgba(255,255,255,0.45) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.cc-vault-h1__highlight {
  display: block;
  background: linear-gradient(135deg, var(--gold) 0%, #ffda6a 55%, rgba(255,255,255,0.88) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  filter: drop-shadow(0 0 40px rgba(245,200,66,0.32));
}

/* Data journalism stats */
.cc-vault-data {
  position: relative; z-index: 2;
  margin-bottom: 2.75rem;
}
.cc-vault-data__row {
  display: flex; align-items: center; gap: 1.5rem;
  border-top: 1px solid rgba(255,255,255,0.07);
  padding: 0.9rem 0;
}
.cc-vault-data__row:last-child { border-bottom: 1px solid rgba(255,255,255,0.07); }
.cc-vault-data__num {
  font-size: 2.375rem; font-weight: 900;
  font-family: var(--font-mono);
  letter-spacing: -0.04em; line-height: 1;
  min-width: 112px; flex-shrink: 0;
  color: var(--text-primary);
}
.cc-vault-data__num--gold { color: var(--gold); }
.cc-vault-data__num--teal { color: var(--emerald); }
.cc-vault-data__meta { display: flex; flex-direction: column; gap: 0.2rem; }
.cc-vault-data__label {
  font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.16em;
  text-transform: uppercase; color: rgba(255,255,255,0.3);
}
.cc-vault-data__desc {
  font-size: 0.8125rem; color: rgba(255,255,255,0.55); line-height: 1.4;
}

/* CTA row */
.cc-vault-ctas {
  position: relative; z-index: 2;
  display: flex; gap: 0.875rem; flex-wrap: wrap;
}
.cc-vault-btn {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.875rem 1.75rem;
  background: var(--gold); color: #000;
  font-size: 0.875rem; font-weight: 800;
  border-radius: 8px; border: none; cursor: pointer;
  font-family: inherit; text-decoration: none;
  transition: background 0.2s, box-shadow 0.2s, transform 0.2s;
}
.cc-vault-btn:hover {
  background: #ffda6a;
  box-shadow: 0 8px 32px rgba(245,200,66,0.35), 0 0 0 4px rgba(245,200,66,0.14);
  transform: translateY(-1px);
}
.cc-vault-btn--ghost {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.14);
  color: rgba(255,255,255,0.65);
}
.cc-vault-btn--ghost:hover {
  background: rgba(255,255,255,0.09);
  color: #fff; border-color: rgba(255,255,255,0.28);
  box-shadow: none; transform: none;
}

/* ── Right: perspective mosaic ── */
.cc-vault-right {
  position: relative;
  z-index: 5;
  overflow: hidden;
}

/* Fade edges inward so mosaic bleeds into the left panel */
.cc-vault-right::before {
  content: '';
  position: absolute; inset: 0; z-index: 10; pointer-events: none;
  background:
    linear-gradient(to right, #06060c 0%, transparent 22%),
    linear-gradient(to bottom, #06060c 0%, transparent 12%),
    linear-gradient(to top, #06060c 0%, transparent 12%),
    linear-gradient(to left, rgba(6,6,12,0.5) 0%, transparent 28%);
}

/* The mosaic grid itself — tilted in perspective */
.cc-vault-mosaic {
  position: absolute; inset: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(4, 1fr);
  gap: 3px;
  transform: perspective(900px) rotateY(-8deg) rotateX(3deg) scale(1.1);
  transform-origin: center center;
}

/* Explicit placement:
   cells 1 & 6 span 2 rows in col 1 (tall panels)
   remaining cells auto-flow into cols 2-3 */
.cc-vault-cell:nth-child(1) { grid-column: 1; grid-row: 1 / 3; }
.cc-vault-cell:nth-child(2) { grid-column: 2; grid-row: 1; }
.cc-vault-cell:nth-child(3) { grid-column: 2; grid-row: 2; }
.cc-vault-cell:nth-child(4) { grid-column: 3; grid-row: 1; }
.cc-vault-cell:nth-child(5) { grid-column: 3; grid-row: 2; }
.cc-vault-cell:nth-child(6) { grid-column: 1; grid-row: 3 / 5; }
.cc-vault-cell:nth-child(7) { grid-column: 2; grid-row: 3; }
.cc-vault-cell:nth-child(8) { grid-column: 2; grid-row: 4; }
.cc-vault-cell:nth-child(9) { grid-column: 3; grid-row: 3; }
.cc-vault-cell:nth-child(10){ grid-column: 3; grid-row: 4; }

.cc-vault-cell {
  position: relative; overflow: hidden; cursor: pointer;
}
.cc-vault-cell__bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  transition: transform 0.5s ease, filter 0.35s;
  filter: saturate(1.35) brightness(0.65);
}
.cc-vault-cell:hover .cc-vault-cell__bg {
  transform: scale(1.09);
  filter: saturate(1.6) brightness(0.8);
}
.cc-vault-cell__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.06) 60%, transparent 100%);
}
/* Info label — visible on tall cells, hover-revealed on small cells */
.cc-vault-cell__info {
  position: absolute; bottom: 0.625rem; left: 0.75rem; right: 0.75rem;
  opacity: 0; transform: translateY(5px);
  transition: opacity 0.3s, transform 0.3s;
}
.cc-vault-cell:hover .cc-vault-cell__info,
.cc-vault-cell:nth-child(1) .cc-vault-cell__info,
.cc-vault-cell:nth-child(6) .cc-vault-cell__info { opacity: 1; transform: none; }
.cc-vault-cell__name {
  font-size: 0.6875rem; font-weight: 800; color: #fff; line-height: 1.2;
}
.cc-vault-cell__rtp {
  font-size: 0.5625rem; font-weight: 700; color: var(--gold);
  margin-top: 0.15rem;
}

/* Entrance animation for left panel */
@keyframes ccVaultSlideIn {
  from { opacity: 0; transform: translateX(-28px); }
  to   { opacity: 1; transform: translateX(0); }
}
.cc-vault-left > * {
  animation: ccVaultSlideIn 0.65s cubic-bezier(0.22,1,0.36,1) both;
}
.cc-vault-left > *:nth-child(1) { animation-delay: 0.00s; }
.cc-vault-left > *:nth-child(2) { animation-delay: 0.07s; }
.cc-vault-left > *:nth-child(3) { animation-delay: 0.14s; }
.cc-vault-left > *:nth-child(4) { animation-delay: 0.21s; }
.cc-vault-left > *:nth-child(5) { animation-delay: 0.28s; }

/* ── Responsive ── */
@media (max-width: 1023px) {
  .cc-vault-hero { grid-template-columns: 1fr; min-height: auto; }
  .cc-vault-right { display: none; }
  .cc-vault-left { padding: 7rem 1.75rem 3.5rem; background: #06060c; }
  .cc-vault-ghost { font-size: 55vw; }
}
@media (max-width: 599px) {
  .cc-vault-left { padding: 6.5rem 1.25rem 3rem; }
  .cc-vault-data__num { font-size: 1.875rem; min-width: 90px; }
  .cc-vault-data__desc { font-size: 0.75rem; }
}

/* ── Light mode ── */
:root.light .cc-vault-hero { background: #f2f3f8; }
:root.light .cc-vault-hero::before {
  background-image:
    linear-gradient(rgba(0,0,0,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,0.05) 1px, transparent 1px);
}
:root.light .cc-vault-left { background: linear-gradient(to right, #f2f3f8 55%, transparent); }
:root.light .cc-vault-right::before {
  background:
    linear-gradient(to right, #f2f3f8 0%, transparent 22%),
    linear-gradient(to bottom, #f2f3f8 0%, transparent 12%),
    linear-gradient(to top, #f2f3f8 0%, transparent 12%),
    linear-gradient(to left, rgba(242,243,248,0.5) 0%, transparent 28%);
}
:root.light .cc-vault-h1__word {
  background: linear-gradient(145deg, #0f172a 50%, rgba(15,23,42,0.5) 100%);
  -webkit-background-clip: text; background-clip: text;
}
:root.light .cc-vault-data__row { border-color: rgba(0,0,0,0.08); }
:root.light .cc-vault-data__desc { color: rgba(0,0,0,0.55); }
:root.light .cc-vault-data__label { color: rgba(0,0,0,0.35); }
:root.light .cc-vault-data__num { color: #0f172a; }
:root.light .cc-vault-breadcrumb { color: rgba(0,0,0,0.3); }
:root.light .cc-vault-ghost { -webkit-text-stroke-color: rgba(0,0,0,0.04); }
:root.light .cc-vault-btn--ghost {
  background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.14);
  color: rgba(0,0,0,0.6);
}
:root.light .cc-vault-btn--ghost:hover { background: rgba(0,0,0,0.08); color: #0f172a; }

/* ── Sign-up CTA hero button ── */
.cc-btn--signup {
  font-size: 0.9375rem;
  padding: 0.875rem 1.75rem;
  letter-spacing: 0.01em;
  box-shadow: 0 4px 20px rgba(212,175,55,0.35), 0 0 0 1px rgba(212,175,55,0.2);
}
.cc-btn--signup:hover {
  box-shadow: 0 6px 28px rgba(212,175,55,0.5), 0 0 0 1px rgba(212,175,55,0.35);
  transform: translateY(-1px);
}

/* ── Verdict panel deposit method icons ── */
.cc-sr-vp__pay-methods {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--border-subtle);
  margin-top: 0.25rem;
}
.cc-sr-vp__pay-icon {
  width: 52px; height: 34px;
  border-radius: 6px;
  overflow: hidden;
  flex-shrink: 0;
  opacity: 0.9;
  transition: opacity 0.2s, transform 0.2s;
}
.cc-sr-vp__pay-icon:hover { opacity: 1; transform: scale(1.06); }
.cc-sr-vp__pay-icon svg { width: 100%; height: 100%; display: block; }


/* ══════════════════════════════════════════════════════════════════
   GAME HERO STYLE SYSTEM — v3.15.71
   Three hero variants for casino_game single template.
   Controlled via Appearance → CanadaCasinos → Game Review Hero Style.

   1. .cc-cg-hero--cinematic-stage  (default, split layout)
   2. .cc-cg-hero--arcade-marquee   (full-width marquee strip)
   3. .cc-cg-hero--data-terminal    (intelligence report)
══════════════════════════════════════════════════════════════════ */


/* ─────────────────────────────────────────────────
   SHARED UTILITIES across all three variants
───────────────────────────────────────────────── */
.cc-gh-provider-eyebrow {
  display: flex; align-items: center; gap: 0.5rem;
  font-size: 0.5rem; font-weight: 800; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--gold);
}
.cc-gh-provider-eyebrow::before {
  content: ''; display: block; width: 18px; height: 1.5px;
  background: linear-gradient(90deg, var(--gold), transparent);
  flex-shrink: 0;
}
.cc-gh-title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4.5vw, 3rem);
  font-weight: 900; letter-spacing: -0.03em; line-height: 1.0;
  color: var(--text-primary);
}
.cc-gh-badges { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.cc-gh-badge-type {
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.13);
  color: rgba(255,255,255,0.65);
  font-size: 0.5625rem; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; padding: 0.2rem 0.625rem;
  border-radius: 100px;
}
:root.light .cc-gh-badge-type {
  background: rgba(0,0,0,0.05); border-color: rgba(0,0,0,0.1);
  color: var(--text-secondary);
}
.cc-gh-excerpt {
  font-size: 0.9375rem; color: var(--text-secondary);
  line-height: 1.72; margin: 0;
}
/* Verdict bar — shared across C-Stage and D-Terminal */
/* ── Verdict bar — redesigned v3.15.75 ── */
.cc-gh-verdict {
  display: flex; align-items: stretch; gap: 0;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 16px; overflow: hidden;
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
:root.light .cc-gh-verdict {
  background: rgba(0,0,0,0.03); border-color: rgba(0,0,0,0.08);
}
/* Score block — gold left accent panel */
.cc-gh-verdict__score-block {
  display: flex; align-items: center; gap: 0.875rem;
  padding: 1rem 1.25rem 1rem 1.125rem;
  border-right: 1px solid rgba(255,255,255,0.08);
  background: rgba(245,200,66,0.04);
  flex-shrink: 0;
}
:root.light .cc-gh-verdict__score-block { background: rgba(245,200,66,0.06); }
.cc-gh-verdict__ring { position: relative; flex-shrink: 0; }
.cc-gh-verdict__ring svg { transform: rotate(-90deg); display: block; }
.cc-gh-verdict__ring-label {
  position: absolute; inset: 0; display: flex;
  align-items: center; justify-content: center;
  font-size: 0.875rem; font-weight: 900; color: var(--gold); line-height: 1;
}
.cc-gh-verdict__text { display: flex; flex-direction: column; gap: 3px; }
.cc-gh-verdict__word {
  font-family: var(--font-display); font-size: 1.0625rem;
  font-weight: 900; color: var(--text-primary); line-height: 1;
}
.cc-gh-verdict__sub {
  font-size: 0.5rem; font-weight: 700; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--text-muted);
}
/* Stats grid — fills remaining space */
.cc-gh-verdict__stats {
  display: flex; align-items: stretch; flex: 1; flex-wrap: wrap;
}
.cc-gh-verdict__divider {
  width: 1px; background: rgba(255,255,255,0.07); flex-shrink: 0; align-self: stretch;
}
/* Individual stat cell */
.cc-gh-kstat {
  display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: 4px;
  padding: 0.875rem 1.125rem;
  position: relative; flex: 1; min-width: 0;
}
.cc-gh-kstat + .cc-gh-kstat {
  border-left: 1px solid rgba(255,255,255,0.07);
}
/* Coloured top accent bar per stat */
.cc-gh-kstat::before {
  content: ''; position: absolute; top: 0; left: 50%;
  transform: translateX(-50%);
  width: 24px; height: 2px; border-radius: 0 0 2px 2px;
  background: var(--gold); opacity: 0;
}
.cc-gh-kstat--rtp::before    { background: var(--gold);   opacity: 1; }
.cc-gh-kstat--vol::before    { background: #f59e0b;        opacity: 1; }
.cc-gh-kstat--ways::before   { background: #60a5fa;        opacity: 1; }
.cc-gh-kstat--minbet::before { background: #10b981;        opacity: 1; }
.cc-gh-kstat--maxbet::before { background: #a78bfa;        opacity: 1; }
.cc-gh-kstat__val {
  font-size: 1rem; font-weight: 900;
  color: var(--text-primary); white-space: nowrap; line-height: 1;
}
.cc-gh-kstat__val--gold  { color: var(--gold); }
.cc-gh-kstat__val--amber { color: #f59e0b; }
.cc-gh-kstat__val--blue  { color: #60a5fa; }
.cc-gh-kstat__val--green { color: #10b981; }
.cc-gh-kstat__val--purple{ color: #a78bfa; }
.cc-gh-kstat__lbl {
  font-size: 0.5625rem; font-weight: 700; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--text-muted); white-space: nowrap;
}
/* Trust strip — shared */
.cc-gh-trust {
  display: flex; align-items: center; flex-wrap: wrap; gap: 0;
  padding: 0.55rem 0.875rem;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 10px; backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
:root.light .cc-gh-trust {
  background: rgba(0,0,0,0.03); border-color: rgba(0,0,0,0.07);
}
.cc-gh-trust__item {
  display: flex; align-items: center; gap: 0.4rem;
  color: var(--text-muted); padding: 0 0.875rem; flex-shrink: 0;
}
.cc-gh-trust__item:first-child { padding-left: 0; }
.cc-gh-trust__lbl {
  color: var(--text-muted); text-transform: uppercase;
  letter-spacing: 0.07em; font-size: 0.625rem; font-weight: 700;
}
.cc-gh-trust__val {
  font-size: 0.8125rem; color: var(--text-primary); font-weight: 600;
}
.cc-gh-trust__sep {
  width: 1px; height: 18px; background: var(--border-subtle); flex-shrink: 0;
}
.cc-gh-trust__disclosure {
  padding: 0.4rem 0 0; flex: 1; min-width: 100%;
  border-top: 1px solid var(--border-subtle); margin-top: 0.35rem;
  font-size: 0.6875rem; color: rgba(255,255,255,0.38); line-height: 1.55;
  display: flex; align-items: flex-start; gap: 0.4rem;
}
:root.light .cc-gh-trust__disclosure { color: var(--text-muted); }


/* ══════════════════════════════════════════════════════════════
   HERO 1 — CINEMATIC STAGE
   Split: identity left · 16:9 framed game art right
   image always works via object-fit:cover in fixed-ratio container
══════════════════════════════════════════════════════════════ */
.cc-cg-hero--cinematic-stage {
  position: relative; overflow: hidden;
  background: var(--bg-main);
  min-height: 520px;
}
/* Full-bleed atmospheric backdrop — CSS-only, no image quality dependency */
.cc-cg-hero--cinematic-stage .csh-atmos {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse at 68% 40%, rgba(100,60,0,0.2) 0%, transparent 55%),
    radial-gradient(ellipse at 15% 85%, rgba(5,20,60,0.2) 0%, transparent 50%);
  pointer-events: none;
}
.cc-cg-hero--cinematic-stage .csh-grid {
  position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(var(--gold-border) 1px, transparent 1px),
    linear-gradient(90deg, var(--gold-border) 1px, transparent 1px);
  background-size: 40px 40px; opacity: 0.1;
}
.cc-cg-hero--cinematic-stage .csh-grain {
  position: absolute; inset: 0; opacity: 0.02; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 180px;
}
.cc-cg-hero--cinematic-stage .csh-inner {
  position: relative; z-index: 2;
  width: 100%; max-width: 1280px; margin: 0 auto;
  padding: 3.5rem 2.5rem 3.5rem;
  display: grid; grid-template-columns: 1fr 480px;
  gap: 3.5rem; align-items: center;
  box-sizing: border-box;
}
@media (max-width: 1100px) {
  .cc-cg-hero--cinematic-stage .csh-inner {
    grid-template-columns: 1fr 340px; gap: 2.5rem;
    padding: 4rem 1.5rem 3.5rem;
  }
}
@media (max-width: 860px) {
  .cc-cg-hero--cinematic-stage .csh-inner {
    grid-template-columns: 1fr; padding: 3.5rem 1.5rem 3rem;
  }
  .cc-cg-hero--cinematic-stage .csh-right { display: none; }
}
.cc-cg-hero--cinematic-stage .csh-left {
  display: flex; flex-direction: column; gap: 1rem;
  min-width: 0;
}
/* ── Image stage: fixed 16:9 ratio, always covers ── */
.cc-cg-hero--cinematic-stage .csh-right {
  display: flex; align-items: center; justify-content: center;
  min-width: 0; overflow: hidden;
}
.cc-cg-hero--cinematic-stage .csh-stage {
  position: relative; width: 100%; border-radius: 16px; overflow: hidden;
  aspect-ratio: 16 / 9;
  box-shadow:
    -10px 20px 50px rgba(0,0,0,0.6),
    0 0 0 1px rgba(255,255,255,0.08);
}
.cc-cg-hero--cinematic-stage .csh-stage img {
  display: block; width: 100%; height: 100%;
  object-fit: cover; object-position: center top;
  border-radius: 16px;
}
/* No-image fallback */
.cc-cg-hero--cinematic-stage .csh-stage-fallback {
  width: 100%; height: 100%; display: flex;
  align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--bg-card) 0%, rgba(245,200,66,0.04) 100%);
}
.cc-cg-hero--cinematic-stage .csh-stage-fallback svg {
  width: 48px; height: 48px; opacity: 0.2; color: var(--gold);
}
/* Left-side vignette bleeds from content into stage */
.cc-cg-hero--cinematic-stage .csh-stage-veil {
  position: absolute; inset: 0; pointer-events: none; border-radius: 16px;
  background: linear-gradient(
    to right,
    rgba(7,9,15,0.25) 0%,
    transparent 25%,
    transparent 75%,
    rgba(7,9,15,0.15) 100%
  );
}
:root.light .cc-cg-hero--cinematic-stage .csh-stage-veil {
  background: linear-gradient(to right, rgba(244,246,249,0.18) 0%, transparent 25%);
}
/* Gold bracket corners — editorial production mark */
.cc-cg-hero--cinematic-stage .csh-bracket {
  position: absolute; width: 18px; height: 18px;
  border-color: var(--gold); border-style: solid; border-width: 0; opacity: 0.5;
}
.cc-cg-hero--cinematic-stage .csh-bracket--tl { top: 10px; left: 10px; border-top-width: 2px; border-left-width: 2px; border-radius: 2px 0 0 0; }
.cc-cg-hero--cinematic-stage .csh-bracket--tr { top: 10px; right: 10px; border-top-width: 2px; border-right-width: 2px; border-radius: 0 2px 0 0; }
.cc-cg-hero--cinematic-stage .csh-bracket--bl { bottom: 10px; left: 10px; border-bottom-width: 2px; border-left-width: 2px; border-radius: 0 0 0 2px; }
.cc-cg-hero--cinematic-stage .csh-bracket--br { bottom: 10px; right: 10px; border-bottom-width: 2px; border-right-width: 2px; border-radius: 0 0 2px 0; }
/* Hover: subtle lift */
.cc-cg-hero--cinematic-stage .csh-stage {
  transition: transform 0.5s cubic-bezier(0.23,1,0.32,1), box-shadow 0.5s;
}
.cc-cg-hero--cinematic-stage:hover .csh-stage {
  transform: translateY(-4px);
  box-shadow: -14px 28px 60px rgba(0,0,0,0.75), 0 0 0 1px rgba(255,255,255,0.1);
}
/* Light mode */
:root.light .cc-cg-hero--cinematic-stage { background: var(--bg-main); }
:root.light .cc-cg-hero--cinematic-stage .csh-grid { opacity: 0.15; }
:root.light .cc-cg-hero--cinematic-stage .cc-gh-title { color: var(--text-primary); }


/* ══════════════════════════════════════════════════════════════
   HERO 2 — ARCADE MARQUEE
   Full-width cinematic banner (fixed height, cover crop).
   Title always overlaid via CSS — independent of image quality.
   Score pill fixed bottom-right. Stat bezel below.
══════════════════════════════════════════════════════════════ */
.cc-cg-hero--arcade-marquee {
  background: var(--bg-main);
  overflow: hidden;
}
/* ── Full-width image strip ── */
.cc-cg-hero--arcade-marquee .amh-strip {
  position: relative; height: 280px; overflow: hidden;
  background: #020309;
}
@media (min-width: 768px) {
  .cc-cg-hero--arcade-marquee .amh-strip { height: 340px; }
}
.cc-cg-hero--arcade-marquee .amh-strip img {
  display: block; width: 100%; height: 100%;
  object-fit: cover; object-position: center top;
  filter: brightness(0.7) saturate(1.1);
  transition: transform 8s ease;
}
/* No-image fallback for marquee strip */
.cc-cg-hero--arcade-marquee .amh-strip-fallback {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, #020309 0%, #0a0520 50%, #020309 100%);
  display: flex; align-items: center; justify-content: center;
}
.cc-cg-hero--arcade-marquee .amh-strip-fallback svg {
  width: 56px; height: 56px; opacity: 0.15; color: var(--gold);
}
/* Fade system — left/right/bottom edges dissolve to bg */
.cc-cg-hero--arcade-marquee .amh-fade-bottom {
  position: absolute; bottom: 0; left: 0; right: 0; height: 60%;
  background: linear-gradient(to bottom, transparent 0%, var(--bg-main) 100%);
  pointer-events: none; z-index: 2;
}
.cc-cg-hero--arcade-marquee .amh-fade-left {
  position: absolute; top: 0; bottom: 0; left: 0; width: 140px;
  background: linear-gradient(to right, var(--bg-main) 0%, transparent 100%);
  pointer-events: none; z-index: 2;
}
.cc-cg-hero--arcade-marquee .amh-fade-right {
  position: absolute; top: 0; bottom: 0; right: 0; width: 140px;
  background: linear-gradient(to left, var(--bg-main) 0%, transparent 100%);
  pointer-events: none; z-index: 2;
}
/* Scanline texture */
.cc-cg-hero--arcade-marquee .amh-scan {
  position: absolute; inset: 0; pointer-events: none; z-index: 1;
  background-image: repeating-linear-gradient(
    0deg, transparent, transparent 2px,
    rgba(0,0,0,0.1) 2px, rgba(0,0,0,0.1) 3px
  );
}
/* Title overlay — always rendered via CSS */
.cc-cg-hero--arcade-marquee .amh-overlay {
  position: absolute; bottom: 0; left: 0; right: 0; z-index: 3;
  padding: 0 1.75rem 1.5rem;
  display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem;
}
@media (max-width: 600px) {
  .cc-cg-hero--arcade-marquee .amh-overlay { padding: 0 1.25rem 1.25rem; }
}
.cc-cg-hero--arcade-marquee .amh-overlay-left { min-width: 0; }
.cc-cg-hero--arcade-marquee .amh-overlay-right { flex-shrink: 0; }
/* Score pill — frosted, always readable over image */
.cc-cg-hero--arcade-marquee .amh-score-pill {
  display: flex; align-items: center; gap: 0.625rem;
  background: rgba(0,0,0,0.6);
  border: 1px solid var(--gold-border);
  border-radius: 12px; padding: 0.6rem 1rem;
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
.cc-cg-hero--arcade-marquee .amh-score-num {
  font-family: var(--font-display); font-size: 1.625rem;
  font-weight: 900; color: var(--gold); line-height: 1;
}
.cc-cg-hero--arcade-marquee .amh-score-meta {
  display: flex; flex-direction: column; gap: 2px;
}
.cc-cg-hero--arcade-marquee .amh-score-word {
  font-size: 0.6875rem; font-weight: 800; color: #fff; line-height: 1;
}
.cc-cg-hero--arcade-marquee .amh-score-sub {
  font-size: 0.4375rem; font-weight: 700; letter-spacing: 0.1em;
  text-transform: uppercase; color: rgba(255,255,255,0.4);
}
/* ── Bezel — stat row below the strip ── */
.cc-cg-hero--arcade-marquee .amh-bezel {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
}
.cc-cg-hero--arcade-marquee .amh-stat {
  display: flex; flex-direction: column; align-items: center;
  padding: 1.125rem 0.5rem;
  border-right: 1px solid var(--border-subtle);
  position: relative;
}
.cc-cg-hero--arcade-marquee .amh-stat:last-child { border-right: none; }
.cc-cg-hero--arcade-marquee .amh-stat svg {
  display: block; margin-bottom: 6px; opacity: 0.4;
}
.cc-cg-hero--arcade-marquee .amh-stat-val {
  font-family: var(--font-display); font-size: 1.0625rem;
  font-weight: 900; color: var(--text-primary); line-height: 1;
}
.cc-cg-hero--arcade-marquee .amh-stat-val--gold { color: var(--gold); }
.cc-cg-hero--arcade-marquee .amh-stat-lbl {
  font-size: 0.4375rem; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-muted); margin-top: 4px;
}
/* Gold underline on first stat (score) */
.cc-cg-hero--arcade-marquee .amh-stat--featured::after {
  content: ''; position: absolute; bottom: 0; left: 50%;
  transform: translateX(-50%); width: 28px; height: 2px;
  background: var(--gold); border-radius: 1px;
}
/* ── Info row — excerpt + trust ── */
.cc-cg-hero--arcade-marquee .amh-info {
  display: flex; align-items: flex-start;
  justify-content: space-between; gap: 1.5rem;
  padding: 1.125rem 1.5rem 1.5rem; flex-wrap: wrap;
}
@media (max-width: 600px) {
  .cc-cg-hero--arcade-marquee .amh-info { padding: 1rem 1.25rem 1.25rem; }
}
.cc-cg-hero--arcade-marquee .amh-info-excerpt {
  font-size: 0.875rem; color: var(--text-secondary);
  line-height: 1.68; max-width: 540px;
}
.cc-cg-hero--arcade-marquee .amh-info-trust {
  flex-shrink: 0; display: flex; flex-direction: column; gap: 3px; align-items: flex-end;
}
.cc-cg-hero--arcade-marquee .amh-trust-row {
  display: flex; align-items: center; gap: 0.375rem;
  font-size: 0.4375rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
}
.cc-cg-hero--arcade-marquee .amh-trust-key { color: var(--text-muted); }
.cc-cg-hero--arcade-marquee .amh-trust-val { color: var(--text-secondary); }
.cc-cg-hero--arcade-marquee .amh-disclosure {
  font-size: 0.4375rem; color: var(--text-muted); line-height: 1.55;
  text-align: right; max-width: 280px; padding-top: 4px;
  border-top: 1px solid var(--border-subtle); margin-top: 2px;
}
/* Light mode */
:root.light .cc-cg-hero--arcade-marquee { background: var(--bg-main); }
:root.light .cc-cg-hero--arcade-marquee .amh-fade-bottom {
  background: linear-gradient(to bottom, transparent 0%, var(--bg-main) 100%);
}
:root.light .cc-cg-hero--arcade-marquee .amh-fade-left {
  background: linear-gradient(to right, var(--bg-main) 0%, transparent 100%);
}
:root.light .cc-cg-hero--arcade-marquee .amh-fade-right {
  background: linear-gradient(to left, var(--bg-main) 0%, transparent 100%);
}
:root.light .cc-cg-hero--arcade-marquee .amh-score-pill {
  background: rgba(255,255,255,0.88); border-color: var(--gold-border);
}
:root.light .cc-cg-hero--arcade-marquee .amh-score-word { color: var(--text-primary); }
:root.light .cc-cg-hero--arcade-marquee .amh-score-sub { color: var(--text-muted); }


/* ══════════════════════════════════════════════════════════════
   HERO 3 — DATA TERMINAL
   Intelligence-report aesthetic. Image is a small accent panel.
   All authority comes from structured data, not image quality.
══════════════════════════════════════════════════════════════ */
.cc-cg-hero--data-terminal {
  background: var(--bg-main); overflow: hidden; position: relative;
}
/* Gold grid — very faint, atmospheric only */
.cc-cg-hero--data-terminal .dth-grid {
  position: absolute; inset: 0; pointer-events: none; opacity: 0.12;
  background-image:
    linear-gradient(var(--gold-border) 1px, transparent 1px),
    linear-gradient(90deg, var(--gold-border) 1px, transparent 1px);
  background-size: 32px 32px;
}
/* Inner wrapper — max-width container so layout doesn't stretch full viewport */
.cc-cg-hero--data-terminal .dth-inner {
  position: relative; z-index: 2;
  max-width: 1280px; margin: 0 auto;
  border-left: 1px solid var(--border-subtle);
  border-right: 1px solid var(--border-subtle);
}
@media (max-width: 1280px) {
  .cc-cg-hero--data-terminal .dth-inner { border-left: none; border-right: none; }
}
/* Terminal chrome bar */
.cc-cg-hero--data-terminal .dth-chrome {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0.5rem 1.25rem;
  background: rgba(0,0,0,0.3);
  border-bottom: 1px solid var(--border-subtle);
}
:root.light .cc-cg-hero--data-terminal .dth-chrome {
  background: rgba(0,0,0,0.04); border-color: var(--border-subtle);
}
.cc-cg-hero--data-terminal .dth-chrome-left { display: flex; align-items: center; gap: 5px; }
.cc-cg-hero--data-terminal .dth-dot {
  width: 7px; height: 7px; border-radius: 50%;
}
.cc-cg-hero--data-terminal .dth-dot--r { background: rgba(239,68,68,0.55); }
.cc-cg-hero--data-terminal .dth-dot--y { background: rgba(251,191,36,0.55); }
.cc-cg-hero--data-terminal .dth-dot--g { background: rgba(16,185,129,0.55); }
.cc-cg-hero--data-terminal .dth-chrome-path {
  font-family: 'Courier New', Courier, monospace;
  font-size: 0.4375rem; font-weight: 700; letter-spacing: 0.1em;
  color: var(--text-muted); margin-left: 0.75rem;
}
.cc-cg-hero--data-terminal .dth-chrome-path em {
  color: var(--gold); font-style: normal;
}
.cc-cg-hero--data-terminal .dth-chrome-right {
  font-family: 'Courier New', Courier, monospace;
  font-size: 0.4375rem; font-weight: 700; letter-spacing: 0.08em;
  color: rgba(255,255,255,0.18);
}
:root.light .cc-cg-hero--data-terminal .dth-chrome-right { color: var(--text-muted); }
/* Body grid — contained within dth-inner max-width */
.cc-cg-hero--data-terminal .dth-body {
  display: grid; grid-template-columns: 1fr 260px; min-height: 380px;
}
@media (max-width: 900px) {
  .cc-cg-hero--data-terminal .dth-body { grid-template-columns: 1fr; }
  .cc-cg-hero--data-terminal .dth-side { display: none; }
}
/* Left: main content */
.cc-cg-hero--data-terminal .dth-main {
  padding: 2rem 2rem 2rem;
  border-right: 1px solid var(--border-subtle);
  display: flex; flex-direction: column; gap: 1rem;
}
.cc-cg-hero--data-terminal .dth-crumb {
  font-family: 'Courier New', Courier, monospace;
  font-size: 0.4375rem; font-weight: 700; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--text-muted);
}
.cc-cg-hero--data-terminal .dth-crumb em {
  color: var(--gold); font-style: normal;
}
.cc-cg-hero--data-terminal .cc-gh-title {
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
}
/* Verdict row */
.cc-cg-hero--data-terminal .dth-verdict-row {
  display: flex; align-items: center; gap: 1rem;
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--border-subtle);
  border-radius: 12px; padding: 0.875rem 1rem;
}
:root.light .cc-cg-hero--data-terminal .dth-verdict-row {
  background: rgba(0,0,0,0.02);
}
/* Right: image + data table panel */
.cc-cg-hero--data-terminal .dth-side {
  display: flex; flex-direction: column;
  border-left: 1px solid var(--border-subtle);
  overflow: hidden; min-width: 0;
}
/* Image accent — fixed height, cover crop */
.cc-cg-hero--data-terminal .dth-img-frame {
  position: relative; overflow: hidden;
  background: var(--bg-card);
  height: 160px; flex-shrink: 0;
  border-bottom: 1px solid var(--border-subtle);
}
.cc-cg-hero--data-terminal .dth-img-frame img {
  display: block; width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  filter: brightness(0.82) saturate(0.9);
}
.cc-cg-hero--data-terminal .dth-img-frame-fallback {
  width: 100%; height: 100%; display: flex;
  align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--bg-card) 0%, rgba(245,200,66,0.03) 100%);
}
.cc-cg-hero--data-terminal .dth-img-frame-fallback svg {
  width: 32px; height: 32px; opacity: 0.15; color: var(--gold);
}
.cc-cg-hero--data-terminal .dth-img-veil {
  position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(to bottom, transparent 40%, rgba(7,9,15,0.65) 100%);
}
:root.light .cc-cg-hero--data-terminal .dth-img-veil {
  background: linear-gradient(to bottom, transparent 40%, rgba(244,246,249,0.6) 100%);
}
.cc-cg-hero--data-terminal .dth-img-corner {
  position: absolute; width: 10px; height: 10px;
  border-color: var(--gold); border-style: solid; border-width: 0; opacity: 0.45;
}
.cc-cg-hero--data-terminal .dth-img-corner--tl { top: 7px; left: 7px; border-top-width: 1.5px; border-left-width: 1.5px; border-radius: 1px 0 0 0; }
.cc-cg-hero--data-terminal .dth-img-corner--tr { top: 7px; right: 7px; border-top-width: 1.5px; border-right-width: 1.5px; border-radius: 0 1px 0 0; }
.cc-cg-hero--data-terminal .dth-img-corner--bl { bottom: 7px; left: 7px; border-bottom-width: 1.5px; border-left-width: 1.5px; border-radius: 0 0 0 1px; }
.cc-cg-hero--data-terminal .dth-img-corner--br { bottom: 7px; right: 7px; border-bottom-width: 1.5px; border-right-width: 1.5px; border-radius: 0 0 1px 0; }
/* Data table */
.cc-cg-hero--data-terminal .dth-data { flex: 1; }
.cc-cg-hero--data-terminal .dth-row {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0.5rem 0.875rem; border-bottom: 1px solid var(--border-subtle); gap: 0.5rem;
}
.cc-cg-hero--data-terminal .dth-row:last-child { border-bottom: none; }
.cc-cg-hero--data-terminal .dth-row-key {
  font-family: 'Courier New', Courier, monospace;
  font-size: 0.4375rem; font-weight: 700; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--text-muted); flex-shrink: 0;
}
.cc-cg-hero--data-terminal .dth-row-val {
  font-family: 'Courier New', Courier, monospace;
  font-size: 0.5625rem; font-weight: 700;
  color: var(--text-secondary); text-align: right;
}
.cc-cg-hero--data-terminal .dth-row-val--gold { color: var(--gold); }
.cc-cg-hero--data-terminal .dth-row-val--em { color: #10b981; }
/* Status footer */
.cc-cg-hero--data-terminal .dth-data-footer {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0.4rem 0.875rem;
  background: rgba(0,0,0,0.25);
  border-top: 1px solid var(--border-subtle);
  font-family: 'Courier New', Courier, monospace;
  font-size: 0.375rem; font-weight: 700; letter-spacing: 0.1em;
  text-transform: uppercase; color: rgba(255,255,255,0.2);
}
:root.light .cc-cg-hero--data-terminal .dth-data-footer {
  background: rgba(0,0,0,0.03); color: var(--text-muted);
}
.cc-cg-hero--data-terminal .dth-status-dot {
  width: 5px; height: 5px; border-radius: 50%; background: #10b981;
  display: inline-block; margin-right: 4px; flex-shrink: 0;
}

/* ── Light mode overrides (terminal) ── */
:root.light .cc-cg-hero--data-terminal .dth-grid { opacity: 0.08; }



/* ══════════════════════════════════════════════════════════════
   SLOTSLAUNCH DEMO PLAYER — v3.15.76
   cc-sl-demo: inline launch screen (no quota until click)
   cc-sl-modal: full-screen game modal with iframe
══════════════════════════════════════════════════════════════ */

/* ── Demo section wrapper ── */
.cc-sl-demo {
  margin: 0 0 2.5rem;
}
.cc-sl-demo__eyebrow {
  font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--gold);
  margin-bottom: 0.375rem;
}
.cc-sl-demo__title {
  font-family: var(--font-display); font-size: 1.375rem;
  font-weight: 900; color: var(--text-primary);
  letter-spacing: -0.02em; margin-bottom: 0.25rem; line-height: 1.1;
}
.cc-sl-demo__disclaimer {
  font-size: 0.6875rem; color: var(--text-muted); margin-bottom: 1rem;
}

/* ── Launch card — solid gradient, no image bleed ── */
.cc-sl-demo__launcher {
  position: relative; overflow: hidden;
  border-radius: 16px; cursor: pointer;
  aspect-ratio: 16 / 7;
  background: linear-gradient(160deg, #100c00 0%, #0a0700 35%, #000000 60%, #0d0a00 100%);
  border: 1px solid rgba(245,200,66,0.25);
  display: flex; flex-direction: column;
  align-items: stretch; justify-content: space-between;
  transition: transform 0.3s cubic-bezier(0.23,1,0.32,1),
              box-shadow 0.3s cubic-bezier(0.23,1,0.32,1),
              border-color 0.3s;
  outline: none;
}
.cc-sl-demo__launcher:hover {
  transform: translateY(-2px);
  border-color: rgba(245,200,66,0.5);
  box-shadow: 0 16px 50px rgba(0,0,0,0.7),
              0 0 0 1px rgba(245,200,66,0.35),
              0 0 80px rgba(245,200,66,0.08);
}
.cc-sl-demo__launcher:focus-visible {
  box-shadow: 0 0 0 3px rgba(245,200,66,0.5);
}

/* Ember canvas — full bleed, JS-driven particles */
.cc-sl-demo__ember-canvas {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  pointer-events: none; z-index: 1;
}

/* Heat bloom — central radial glow, animated */
.cc-sl-demo__heat {
  position: absolute; inset: 0; pointer-events: none; z-index: 2;
  background: radial-gradient(ellipse at 50% 50%, rgba(245,200,66,0.07) 0%, transparent 55%);
  animation: cc-heat-pulse 4s ease-in-out infinite;
}
@keyframes cc-heat-pulse {
  0%, 100% { opacity: 0.6; }
  50%       { opacity: 1; }
}

/* Vignette */
.cc-sl-demo__vignette {
  position: absolute; inset: 0; pointer-events: none; z-index: 2;
  background: radial-gradient(ellipse at 50% 60%, transparent 25%, rgba(0,0,0,0.72) 100%);
}

/* Molten gold seam — bottom edge */
.cc-sl-demo__seam {
  position: absolute; bottom: 0; left: 0; right: 0; z-index: 3;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, #F5C842 25%, #fff8dc 50%, #F5C842 75%, transparent 100%);
  animation: cc-seam-pulse 3s ease-in-out infinite;
}
.cc-sl-demo__seam2 {
  position: absolute; bottom: 3px; left: 0; right: 0; z-index: 3;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(245,200,66,0.3) 30%, rgba(245,200,66,0.6) 50%, rgba(245,200,66,0.3) 70%, transparent 100%);
  animation: cc-seam-pulse 3s ease-in-out infinite;
  animation-delay: 0.4s;
}
@keyframes cc-seam-pulse {
  0%, 100% { opacity: 0.5; }
  50%       { opacity: 1; }
}

/* ── Top bar: logo + badge ── */
.cc-sl-demo__topbar {
  position: relative; z-index: 4;
  display: flex; align-items: center; justify-content: space-between;
  padding: 1rem 1.25rem 0;
  pointer-events: none;
}
.cc-sl-demo__logo {
  height: 28px; width: auto; object-fit: contain;
  filter: brightness(1.1) drop-shadow(0 1px 8px rgba(0,0,0,0.6));
}
.cc-sl-demo__logo-fallback {
  display: flex; align-items: center; gap: 6px;
}
.cc-sl-demo__free-badge {
  display: flex; align-items: center; gap: 4px;
  background: rgba(245,200,66,0.12);
  border: 1px solid rgba(245,200,66,0.35);
  border-radius: 100px; padding: 0.25rem 0.625rem;
  font-size: 0.5rem; font-weight: 800;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--gold);
}

/* ── Centre: play button ── */
.cc-sl-demo__centre {
  position: relative; z-index: 4;
  display: flex; align-items: center; justify-content: center;
  flex: 1; padding: 0.5rem 0;
}
.cc-sl-demo__btn {
  display: flex; flex-direction: column; align-items: center; gap: 0.5rem;
  background: none; border: none; cursor: pointer; padding: 0;
  pointer-events: none;
  transition: transform 0.3s cubic-bezier(0.23,1,0.32,1);
}
.cc-sl-demo__launcher:hover .cc-sl-demo__btn { transform: scale(1.06); }

/* Concentric ring system */
.cc-sl-demo__btn-rings {
  position: relative;
  width: 104px; height: 104px;
  display: flex; align-items: center; justify-content: center;
}
.cc-sl-demo__btn-ring {
  position: absolute; border-radius: 50%;
  border: 1.5px solid rgba(245,200,66,0.18);
  transition: all 0.4s cubic-bezier(0.23,1,0.32,1);
  animation: cc-ring-breathe 2.8s ease-in-out infinite;
}
@keyframes cc-ring-breathe {
  0%, 100% { transform: scale(1); opacity: 0.7; }
  50%       { transform: scale(1.05); opacity: 1; }
}
.cc-sl-demo__btn-ring--outer {
  inset: 0;
  background: rgba(245,200,66,0.04);
}
.cc-sl-demo__btn-ring--inner {
  inset: 14px;
  background: rgba(245,200,66,0.06);
  border-color: rgba(245,200,66,0.35);
  animation-delay: 0.15s;
}
.cc-sl-demo__launcher:hover .cc-sl-demo__btn-ring--outer {
  border-color: rgba(245,200,66,0.4);
}
.cc-sl-demo__launcher:hover .cc-sl-demo__btn-ring--inner {
  border-color: rgba(245,200,66,0.7);
}
.cc-sl-demo__btn-core {
  position: relative; z-index: 2;
  width: 56px; height: 56px; border-radius: 50%;
  background: linear-gradient(135deg, #ffdd44, #F5C842, #e6a800);
  display: flex; align-items: center; justify-content: center;
  color: #07090f;
  animation: cc-core-glow 2.8s ease-in-out infinite;
}
@keyframes cc-core-glow {
  0%, 100% { box-shadow: 0 0 20px rgba(245,200,66,0.4), 0 0 40px rgba(245,200,66,0.15); }
  50%       { box-shadow: 0 0 40px rgba(245,200,66,0.75), 0 0 80px rgba(245,200,66,0.3), 0 0 120px rgba(245,200,66,0.08); }
}
.cc-sl-demo__launcher:hover .cc-sl-demo__btn-core {
  box-shadow: 0 0 50px rgba(245,200,66,0.9), 0 0 100px rgba(245,200,66,0.4);
}

.cc-sl-demo__btn-label {
  font-size: 0.9375rem; font-weight: 900; letter-spacing: 0.03em;
  color: #fff;
}
.cc-sl-demo__btn-sub {
  font-size: 0.5rem; font-weight: 700; letter-spacing: 0.14em;
  color: rgba(245,200,66,0.45); text-transform: uppercase;
}

/* ── Bottom: identity + stat pills ── */
.cc-sl-demo__identity {
  position: relative; z-index: 4;
  display: flex; align-items: flex-end;
  justify-content: space-between; gap: 1rem;
  padding: 0 1.25rem 1.125rem;
  pointer-events: none;
  background: linear-gradient(to top, rgba(0,0,0,0.97) 0%, transparent 100%);
}
.cc-sl-demo__identity-left { display: flex; flex-direction: column; gap: 2px; }
.cc-sl-demo__provider {
  font-size: 0.4375rem; font-weight: 800; letter-spacing: 0.2em;
  text-transform: uppercase; color: rgba(245,200,66,0.5);
  display: flex; align-items: center; gap: 5px;
}
.cc-sl-demo__provider::before {
  content: ''; display: block; width: 10px; height: 1px;
  background: rgba(245,200,66,0.5);
}
.cc-sl-demo__game-name {
  font-family: var(--font-display); font-size: 1.25rem;
  font-weight: 900; color: #fff; letter-spacing: -0.025em; line-height: 1;
}
.cc-sl-demo__identity-stats {
  display: flex; flex-wrap: wrap; gap: 0.375rem; justify-content: flex-end;
}
.cc-sl-demo__stat-pill {
  display: flex; align-items: center; gap: 4px;
  font-size: 0.5rem; font-weight: 800; letter-spacing: 0.08em;
  text-transform: uppercase; padding: 0.25rem 0.625rem;
  border-radius: 100px;
}
.cc-sl-demo__stat-pill--gold {
  background: rgba(245,200,66,0.12); border: 1px solid rgba(245,200,66,0.3);
  color: var(--gold);
}
.cc-sl-demo__stat-pill--red {
  background: rgba(248,113,113,0.12); border: 1px solid rgba(248,113,113,0.3);
  color: #f87171;
}
.cc-sl-demo__stat-pill--blue {
  background: rgba(96,165,250,0.12); border: 1px solid rgba(96,165,250,0.3);
  color: #93c5fd;
}

/* Light mode — keep dark, it's a game player */
:root.light .cc-sl-demo__launcher {
  background: linear-gradient(160deg, #100c00 0%, #0a0700 35%, #000000 60%, #0d0a00 100%);
  border-color: rgba(245,200,66,0.3);
}

/* ── Modal overlay ── */
/* !important used deliberately — modal must escape ANY parent stacking context */
.cc-sl-modal {
  position: fixed !important; inset: 0 !important; z-index: 999999 !important;
  display: none;
  align-items: center; justify-content: center;
  padding: 0.75rem;
  top: 0 !important; left: 0 !important;
  width: 100vw !important; height: 100vh !important;
}
.cc-sl-modal.is-open {
  display: flex !important;
}
/* Scroll lock */
body.cc-sl-open { overflow: hidden !important; }

.cc-sl-modal__backdrop {
  position: fixed !important; inset: 0 !important;
  top: 0 !important; left: 0 !important;
  width: 100vw !important; height: 100vh !important;
  background: rgba(3,4,10,0.92);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  cursor: pointer; z-index: 0;
}

/* Modal window */
.cc-sl-modal__window {
  position: relative; z-index: 1;
  width: 94vw; max-width: 1400px;
  background: #0d1117;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 18px; overflow: hidden;
  display: flex; flex-direction: column;
  box-shadow: 0 40px 120px rgba(0,0,0,0.95), 0 0 0 1px rgba(245,200,66,0.12);
  max-height: calc(100vh - 1.5rem);
}

/* Header bar */
.cc-sl-modal__header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0.75rem 1.125rem;
  background: rgba(0,0,0,0.4);
  border-bottom: 1px solid rgba(255,255,255,0.07);
  flex-shrink: 0;
}
.cc-sl-modal__header-left {
  display: flex; align-items: center; gap: 0.5rem;
  min-width: 0; overflow: hidden;
}
.cc-sl-modal__provider {
  font-size: 0.5rem; font-weight: 800; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--gold); flex-shrink: 0;
}
.cc-sl-modal__sep {
  color: rgba(255,255,255,0.2); font-size: 0.75rem; flex-shrink: 0;
}
.cc-sl-modal__game {
  font-size: 0.8125rem; font-weight: 700; color: var(--text-primary);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.cc-sl-modal__close {
  flex-shrink: 0; background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 8px; padding: 0.375rem; cursor: pointer;
  color: rgba(255,255,255,0.6); display: flex;
  transition: background 0.15s, color 0.15s;
  margin-left: 0.75rem;
}
.cc-sl-modal__close:hover { background: rgba(239,68,68,0.2); color: #f87171; border-color: rgba(239,68,68,0.3); }
.cc-sl-modal__close:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }

/* iframe wrapper */
.cc-sl-modal__frame-wrap {
  position: relative; flex: 1;
  /* No max-height cap — let it fill all available space in the modal */
  min-height: 0;
  background: #000; overflow: hidden;
}
.cc-sl-modal__iframe {
  display: block; width: 100%;
  /* Fill the frame-wrap height; header ~52px + footer ~52px */
  height: calc(94vh - 1.5rem - 52px - 52px);
  min-height: 480px;
  border: none;
}

/* Loading spinner */
.cc-sl-modal__loading {
  position: absolute; inset: 0;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 0.875rem;
  background: #020309; color: var(--text-muted); font-size: 0.8125rem;
}
.cc-sl-modal__spinner {
  width: 40px; height: 40px; border-radius: 50%;
  border: 3px solid rgba(255,255,255,0.08);
  border-top-color: var(--gold);
  animation: cc-sl-spin 0.7s linear infinite;
}
@keyframes cc-sl-spin {
  to { transform: rotate(360deg); }
}

/* Footer */
.cc-sl-modal__footer {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0.625rem 1.125rem;
  background: rgba(0,0,0,0.35);
  border-top: 1px solid rgba(255,255,255,0.07);
  flex-shrink: 0; gap: 1rem; flex-wrap: wrap;
}
.cc-sl-modal__disclaimer {
  font-size: 0.5625rem; color: rgba(255,255,255,0.3);
  display: flex; align-items: center; gap: 0.3rem; line-height: 1.4;
}
.cc-sl-modal__cta {
  font-size: 0.6875rem; font-weight: 800; letter-spacing: 0.06em;
  text-transform: uppercase; padding: 0.45rem 1rem;
  background: var(--gold); color: #07090f; border-radius: 8px;
  text-decoration: none; white-space: nowrap; flex-shrink: 0;
  transition: background 0.15s, transform 0.15s;
}
.cc-sl-modal__cta:hover { background: var(--gold-hover); transform: translateY(-1px); }

/* Responsive */
@media (max-width: 640px) {
  .cc-sl-modal { padding: 0; align-items: flex-end; }
  .cc-sl-modal__window {
    width: 100%; max-width: 100%; border-radius: 18px 18px 0 0;
    max-height: 94vh;
  }
  .cc-sl-demo__launcher { aspect-ratio: 4 / 3; }
  .cc-sl-demo__btn-icon { width: 60px; height: 60px; }
  .cc-sl-modal__footer { justify-content: center; }
}



/* ══════════════════════════════════════════════════════════════
   GAME STAT CARD — v3.15.87
   Replaces the clinical Quick Facts rows with a 2-col stat grid.
   Each cell has a coloured icon badge + large value + label.
   Hover brightens both icon and text.
══════════════════════════════════════════════════════════════ */

/* ── Card wrapper ── */
.cc-stat-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 16px;
  overflow: hidden;
  transition: border-color 0.2s;
}
.cc-stat-card:hover { border-color: rgba(255,255,255,0.13); }

/* ── Card header ── */
.cc-stat-card__hd {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.75rem 1rem;
  background: rgba(255,255,255,0.025);
  border-bottom: 1px solid var(--border-subtle);
}
.cc-stat-card__hd-icon {
  width: 26px; height: 26px; border-radius: 8px;
  background: linear-gradient(135deg, var(--gold) 0%, #f0a500 100%);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.cc-stat-card__hd-title {
  font-size: 0.625rem; font-weight: 800;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--text-primary);
}
.cc-stat-card__hd-sub {
  font-size: 0.4375rem; font-weight: 600;
  letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--text-muted); margin-left: auto;
  white-space: nowrap; overflow: hidden;
  text-overflow: ellipsis; max-width: 90px;
}

/* ── 2-column stat grid ── */
.cc-stat-card__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

/* ── Individual stat cell ── */
.cc-stat-cell {
  display: flex; flex-direction: column; align-items: center;
  padding: 0.875rem 0.875rem 0.75rem;
  border-right: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  position: relative;
  transition: background 0.18s;
  cursor: default;
}
.cc-stat-cell:hover { background: rgba(255,255,255,0.03); }
.cc-stat-cell:nth-child(2n) { border-right: none; }
/* Remove bottom border only on the full-width last cell */
.cc-stat-cell--full:last-child { border-bottom: none; }
/* Remove bottom border on paired cells only when they are the last pair
   i.e. when neither is followed by any more siblings */
.cc-stat-cell:not(.cc-stat-cell--full):nth-last-child(-n+2):not(:nth-last-child(-n+1) ~ *) { border-bottom: none; }

/* Full-width cell (provider) */
.cc-stat-cell--full {
  grid-column: 1 / -1;
  border-right: none;
}

/* ── Icon badge ── */
.cc-stat-cell__icon {
  width: 32px; height: 32px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 0.625rem; flex-shrink: 0;
  transition: filter 0.18s, transform 0.18s;
}
.cc-stat-cell:hover .cc-stat-cell__icon {
  filter: brightness(1.3) saturate(1.2);
  transform: scale(1.08);
}

/* ── Value ── */
.cc-stat-cell__val {
  font-family: var(--font-display);
  font-size: 1rem; font-weight: 900;
  line-height: 1; letter-spacing: -0.02em;
  color: var(--text-primary); margin-bottom: 3px;
  text-align: center;
  transition: color 0.18s, filter 0.18s;
}
.cc-stat-cell--full .cc-stat-cell__val { font-size: 0.9375rem; }
.cc-stat-cell:hover .cc-stat-cell__val { filter: brightness(1.25); }

/* ── Label ── */
.cc-stat-cell__lbl {
  font-size: 0.4375rem; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--text-muted); text-align: center;
  transition: color 0.18s;
}
.cc-stat-cell:hover .cc-stat-cell__lbl { color: rgba(255,255,255,0.5); }

/* ── Icon colour themes ── */
.cc-stat-cell__icon--rtp     { background: rgba(245,200,66,0.14);  border: 1px solid rgba(245,200,66,0.25); }
.cc-stat-cell__icon--vol     { background: rgba(239,68,68,0.13);   border: 1px solid rgba(239,68,68,0.25); }
.cc-stat-cell__icon--ways    { background: rgba(96,165,250,0.13);  border: 1px solid rgba(96,165,250,0.25); }
.cc-stat-cell__icon--maxwin  { background: rgba(167,139,250,0.13); border: 1px solid rgba(167,139,250,0.25); }
.cc-stat-cell__icon--minbet  { background: rgba(16,185,129,0.13);  border: 1px solid rgba(16,185,129,0.25); }
.cc-stat-cell__icon--maxbet  { background: rgba(167,139,250,0.13); border: 1px solid rgba(167,139,250,0.25); }
.cc-stat-cell__icon--theme   { background: rgba(244,114,182,0.13); border: 1px solid rgba(244,114,182,0.25); }
.cc-stat-cell__icon--release { background: rgba(16,185,129,0.13);  border: 1px solid rgba(16,185,129,0.25); }
.cc-stat-cell__icon--provider{ background: rgba(14,165,233,0.13);  border: 1px solid rgba(14,165,233,0.25); }
.cc-stat-cell__icon--reels   { background: rgba(251,191,36,0.13);  border: 1px solid rgba(251,191,36,0.25); }

/* ── Value colour accents ── */
.cc-stat-cell__val--gold   { color: #F5C842; }
.cc-stat-cell__val--red    { color: #f87171; }
.cc-stat-cell__val--blue   { color: #93c5fd; }
.cc-stat-cell__val--purple { color: #c4b5fd; }
.cc-stat-cell__val--green  { color: #34d399; }
.cc-stat-cell__val--pink   { color: #f9a8d4; }
.cc-stat-cell__val--sky    { color: #7dd3fc; }
.cc-stat-cell__val--amber  { color: #fbbf24; }

/* ── Light mode ── */
:root.light .cc-stat-card { background: #fff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-stat-card:hover { border-color: rgba(0,0,0,0.15); }
:root.light .cc-stat-card__hd { background: rgba(0,0,0,0.02); border-color: rgba(0,0,0,0.07); }
:root.light .cc-stat-cell { border-color: rgba(0,0,0,0.06); }
:root.light .cc-stat-cell:hover { background: rgba(0,0,0,0.02); }
:root.light .cc-stat-cell__lbl { color: var(--text-muted); }
:root.light .cc-stat-cell:hover .cc-stat-cell__lbl { color: var(--text-secondary); }


/* ══════════════════════════════════════════════════════════════
   FUN RAIL CARDS — v3.15.88
   Redesigned Key Features, Why We Rate It, Room to Improve.
   Colourful header icons, accent bullets, item hover states.
══════════════════════════════════════════════════════════════ */

.cc-fun-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: 16px;
  overflow: hidden;
  transition: border-color 0.2s;
}
.cc-fun-card:hover { border-color: rgba(255,255,255,0.13); }
.cc-fun-card--pros { border-color: rgba(16,185,129,0.18); }
.cc-fun-card--pros:hover { border-color: rgba(16,185,129,0.35); }
.cc-fun-card--cons { border-color: rgba(245,158,11,0.18); }
.cc-fun-card--cons:hover { border-color: rgba(245,158,11,0.35); }

/* ── Card header ── */
.cc-fun-card__hd {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.75rem 1rem;
  background: rgba(255,255,255,0.025);
  border-bottom: 1px solid var(--border-subtle);
}
.cc-fun-card--pros .cc-fun-card__hd { background: rgba(16,185,129,0.06); border-color: rgba(16,185,129,0.12); }
.cc-fun-card--cons .cc-fun-card__hd { background: rgba(245,158,11,0.06); border-color: rgba(245,158,11,0.12); }

/* Header icon badge */
.cc-fun-card__hd-icon {
  width: 26px; height: 26px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.cc-fun-card__hd-icon--amber {
  background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
}
.cc-fun-card__hd-icon--green {
  background: linear-gradient(135deg, #34d399 0%, #10b981 100%);
}

/* Header title */
.cc-fun-card__hd-title {
  font-size: 0.625rem; font-weight: 800;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--text-primary); flex: 1;
}

/* Item count pill */
.cc-fun-card__hd-count {
  font-size: 0.5rem; font-weight: 900;
  padding: 2px 7px; border-radius: 100px;
  background: rgba(255,255,255,0.07);
  color: var(--text-muted);
  letter-spacing: 0.05em;
}
.cc-fun-card__hd-count--green {
  background: rgba(16,185,129,0.15);
  color: #34d399;
}
.cc-fun-card__hd-count--amber {
  background: rgba(245,158,11,0.15);
  color: #fbbf24;
}

/* ── List container ── */
.cc-fun-card__list {
  padding: 0.25rem 0;
}

/* ── Feature items (Key Features) ── */
.cc-fun-card__feat-item {
  display: flex; align-items: flex-start; gap: 0.625rem;
  padding: 0.625rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  transition: background 0.15s;
  cursor: default;
}
.cc-fun-card__feat-item:last-child { border-bottom: none; }
.cc-fun-card__feat-item:hover { background: rgba(255,255,255,0.025); }

.cc-fun-card__feat-bullet {
  width: 24px; height: 24px; border-radius: 7px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; margin-top: 1px;
  transition: filter 0.15s, transform 0.15s;
}
.cc-fun-card__feat-item:hover .cc-fun-card__feat-bullet {
  filter: brightness(1.3) saturate(1.2);
  transform: scale(1.1);
}

.cc-fun-card__feat-text {
  font-size: 0.6875rem; color: var(--text-secondary);
  line-height: 1.5; padding-top: 3px;
  transition: color 0.15s;
}
.cc-fun-card__feat-item:hover .cc-fun-card__feat-text {
  color: var(--text-primary);
}

/* ── Pro / Con items ── */
.cc-fun-card__pc-item {
  display: flex; align-items: flex-start; gap: 0.625rem;
  padding: 0.625rem 1rem;
  border-bottom: 1px solid var(--border-subtle);
  transition: background 0.15s;
  cursor: default;
}
.cc-fun-card__pc-item:last-child { border-bottom: none; }
.cc-fun-card__pc-item:hover { background: rgba(255,255,255,0.025); }
.cc-fun-card__pc-item--pro:hover { background: rgba(16,185,129,0.04); }
.cc-fun-card__pc-item--con:hover { background: rgba(245,158,11,0.04); }

.cc-fun-card__pc-item span {
  font-size: 0.6875rem; color: var(--text-secondary);
  line-height: 1.5; padding-top: 2px;
  transition: color 0.15s;
}
.cc-fun-card__pc-item:hover span { color: var(--text-primary); }

/* Bullet icon */
.cc-fun-card__pc-bullet {
  width: 22px; height: 22px; border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; margin-top: 2px;
  transition: filter 0.15s, transform 0.15s;
}
.cc-fun-card__pc-item:hover .cc-fun-card__pc-bullet {
  filter: brightness(1.3);
  transform: scale(1.08);
}
.cc-fun-card__pc-bullet--pro {
  background: rgba(16,185,129,0.15);
  border: 1px solid rgba(16,185,129,0.3);
}
.cc-fun-card__pc-bullet--con {
  background: rgba(245,158,11,0.15);
  border: 1px solid rgba(245,158,11,0.3);
}

/* ── Light mode ── */
:root.light .cc-fun-card { background: #fff; border-color: rgba(0,0,0,0.08); }
:root.light .cc-fun-card:hover { border-color: rgba(0,0,0,0.15); }
:root.light .cc-fun-card__hd { background: rgba(0,0,0,0.02); border-color: rgba(0,0,0,0.07); }
:root.light .cc-fun-card--pros .cc-fun-card__hd { background: rgba(16,185,129,0.05); }
:root.light .cc-fun-card--cons .cc-fun-card__hd { background: rgba(245,158,11,0.05); }
:root.light .cc-fun-card__feat-item,
:root.light .cc-fun-card__pc-item { border-color: rgba(0,0,0,0.05); }
:root.light .cc-fun-card__feat-item:hover,
:root.light .cc-fun-card__pc-item:hover { background: rgba(0,0,0,0.02); }



/* ── Provider logo in stat cell ── */
.cc-stat-cell--provider {
  align-items: center;
  justify-content: center;
  padding: 1rem 0.875rem 0.75rem;
}
.cc-stat-cell__provider-logo {
  display: block;
  max-height: 68px;
  width: auto;
  max-width: 92%;
  object-fit: contain;
  object-position: center;
  /* No invert — render logo in its natural colours */
  filter: none;
  opacity: 0.92;
  margin-bottom: 0.375rem;
  transition: opacity 0.2s, transform 0.2s;
}
.cc-stat-cell--provider:hover .cc-stat-cell__provider-logo {
  opacity: 1;
  transform: scale(1.04);
}
:root.light .cc-stat-cell__provider-logo {
  opacity: 0.85;
  filter: brightness(0);
}
:root.light .cc-stat-cell--provider:hover .cc-stat-cell__provider-logo {
  filter: brightness(0);
}

/* ── Stat cell border fix — ensure cells above full-width provider row keep bottom border ── */
/* Targets the two paired cells immediately before .cc-stat-cell--full */
.cc-stat-cell + .cc-stat-cell--full,
.cc-stat-cell--full + .cc-stat-cell--full {
  /* full-width row itself — no action needed */
}
/* Explicit restore for rating+theme row that sits above provider full-width cell */
.cc-stat-card__grid .cc-stat-cell:not(.cc-stat-cell--full):nth-last-child(3),
.cc-stat-card__grid .cc-stat-cell:not(.cc-stat-cell--full):nth-last-child(2):not(:last-child) {
  border-bottom: 1px solid var(--border-subtle) !important;
}

/* ══════════════════════════════════════════════════════════
   MANDARIN LANGUAGE TOGGLE
   v3.16.47 — header button + optional floating pill
   ────────────────────────────────────────────────────────
   .cc-lang-toggle  — inherits .cc-icon-btn sizing (36 × 36)
                      but renders text instead of a lucide icon.
   Appears in the header controls group between the theme
   toggle and the mobile menu button.
══════════════════════════════════════════════════════════ */

/* ── Header toggle ─────────────────────────────────────── */
.cc-lang-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 36px;
  height: 36px;
  padding: 0 0.5rem;
  border-radius: 10px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--text-secondary);
  text-decoration: none;
  transition: var(--transition);
  white-space: nowrap;
  flex-shrink: 0;
}
.cc-lang-toggle:hover {
  color: var(--text-primary);
  background: var(--bg-glass);
}

/* Active state when currently viewing Chinese */
[lang="zh-Hans"] .cc-lang-toggle,
.cc-lang-toggle--active {
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
}
[lang="zh-Hans"] .cc-lang-toggle:hover {
  color: var(--gold);
  background: rgba(var(--gold-rgb, 212,175,55), 0.18);
}

/* ── Chinese body font stack ───────────────────────────── */
/* PingFang SC (macOS/iOS), Microsoft YaHei (Windows),
   Noto Sans SC (Android/Linux) — all system fonts, zero FOUT */
[lang="zh-Hans"] body {
  font-family:
    "PingFang SC",
    "Microsoft YaHei",
    "Noto Sans SC",
    var(--font-sans, system-ui, sans-serif);
}

/* ── Mobile: keep toggle visible alongside menu button ─── */
@media (max-width: 640px) {
  .cc-lang-toggle {
    font-size: 0.6875rem;
    padding: 0 0.375rem;
    min-width: 30px;
    height: 30px;
  }
}


/* ═══════════════════════════════════════════════════════════════
   GAMES ARCHIVE — EDITORIAL LAYOUT
   Full-width override + editorial card system
═══════════════════════════════════════════════════════════════ */

/* ── Single-column layout for games pages (no sidebar, same max-width) ── */
.cc-archive-layout.cc-archive-layout--games {
  grid-template-columns: 1fr;
}

/* ── Shelves (curated horizontal rows) ── */
.cc-ed-shelves {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  margin-bottom: 3rem;
}

.cc-ed-shelf {}

.cc-ed-shelf__header {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.cc-ed-shelf__title {
  font-family: var(--font-display);
  font-size: 1.0625rem;
  font-weight: 800;
  color: var(--text-primary);
  letter-spacing: -0.01em;
}

.cc-ed-shelf__tag {
  font-size: 0.625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  color: var(--gold);
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  padding: 0.1875rem 0.5rem;
  border-radius: 100px;
}

.cc-ed-shelf__more {
  margin-left: auto;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--text-muted);
  text-decoration: none;
  transition: color 0.2s;
}
.cc-ed-shelf__more:hover { color: var(--gold); }

.cc-ed-shelf__row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.875rem;
}

/* ── Section break dividers ── */
.cc-ed-section-break {
  display: flex;
  align-items: stretch;
  gap: 1.5rem;
  padding: 1.5rem 1.75rem;
  border-radius: 12px;
  background: var(--sb-bg, rgba(245,200,66,0.05));
  border: 1px solid color-mix(in srgb, var(--sb-color, #F5C842) 20%, transparent);
  box-shadow: 0 0 32px var(--sb-glow, rgba(245,200,66,0.05));
  margin-bottom: 1.5rem;
  overflow: hidden;
  position: relative;
}

.cc-ed-section-break::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--sb-bg, rgba(245,200,66,0.06)) 0%, transparent 60%);
  pointer-events: none;
}

.cc-ed-sb__icon {
  font-size: 2rem;
  flex-shrink: 0;
  align-self: center;
  filter: drop-shadow(0 0 8px var(--sb-color, #F5C842));
}

.cc-ed-sb__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.25rem;
  flex: 1;
  min-width: 0;
}

.cc-ed-sb__label {
  font-size: 0.625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--sb-color, #F5C842);
}

.cc-ed-sb__title {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.cc-ed-sb__desc {
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.5;
}

.cc-ed-sb__stats {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  flex-shrink: 0;
  border-left: 1px solid color-mix(in srgb, var(--sb-color, #F5C842) 20%, transparent);
  padding-left: 1.5rem;
}

.cc-ed-sb__stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}

.cc-ed-sb__stat-val {
  font-family: var(--font-mono, 'DM Mono', monospace);
  font-size: 1rem;
  font-weight: 700;
  color: var(--text-primary);
}

.cc-ed-sb__stat-lbl {
  font-size: 0.6rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  white-space: nowrap;
}

.cc-ed-sb__thumbs {
  display: flex;
  gap: 0.375rem;
  align-items: center;
  flex-shrink: 0;
}

.cc-ed-sb__thumb {
  width: 56px;
  height: 42px;
  border-radius: 6px;
  object-fit: cover;
  opacity: 0.7;
  transition: opacity 0.2s;
}
.cc-ed-sb__thumb:hover { opacity: 1; }

/* ── Chapter catalog layout ── */
.cc-ed-catalog {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 0 2rem;
  /* NO align-items:start — default stretch keeps nav-rail column as tall
     as catalog-body so position:sticky on the inner rail actually works */
}

.cc-ed-chapter-rail {
  position: relative;
  width: 112px;
}

.cc-ed-chapter-rail__sticky {
  position: sticky;
  /* header (68px) + filter bar (padding 2×1.25rem + ~40px controls ≈ 80px) = 148px.
     Add 14px breathing room = 162px. Admin-bar overridden below. */
  top: 162px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 0.25rem 0;
}
/* WordPress admin bar adds 32px to the top offset */
.admin-bar .cc-ed-chapter-rail__sticky { top: 194px; }

/* Connecting track line running behind the dots */
.cc-ed-chapter-rail__track {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 24px;
  bottom: 24px;
  width: 1px;
  background: linear-gradient(
    to bottom,
    transparent,
    rgba(255,255,255,0.07) 15%,
    rgba(255,255,255,0.07) 85%,
    transparent
  );
  pointer-events: none;
  z-index: 0;
}

.cc-ed-chapter-link {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
  padding: 0.75rem 0.5rem 0.625rem;
  border-radius: 12px;
  text-decoration: none;
  color: var(--text-muted);
  border: 1px solid transparent;
  transition: background 0.25s, border-color 0.25s, color 0.25s;
  z-index: 1;
  text-align: center;
}

/* Dot marker — sits above emoji on the track */
.cc-ed-chapter-link__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(255,255,255,0.1);
  border: 1.5px solid rgba(255,255,255,0.15);
  flex-shrink: 0;
  transition:
    background 0.25s,
    border-color 0.25s,
    box-shadow 0.25s,
    transform 0.25s;
  display: block;
}

.cc-ed-chapter-link__icon {
  font-size: 1.5rem;
  line-height: 1;
  transition: transform 0.25s, filter 0.25s;
  filter: saturate(0.5) brightness(0.8);
}

.cc-ed-chapter-link__label {
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  line-height: 1.25;
  color: inherit;
  transition: color 0.25s;
}

/* Hover */
.cc-ed-chapter-link:hover {
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.07);
  color: var(--text-secondary);
}
.cc-ed-chapter-link:hover .cc-ed-chapter-link__dot {
  background: rgba(255,255,255,0.25);
  border-color: rgba(255,255,255,0.35);
  transform: scale(1.2);
}
.cc-ed-chapter-link:hover .cc-ed-chapter-link__icon {
  filter: saturate(0.8) brightness(1);
  transform: scale(1.1) translateY(-1px);
}

/* Active — per-chapter accent colour via --lc custom property */
.cc-ed-chapter-link.active {
  background: color-mix(in srgb, var(--lc, #F5C842) 13%, transparent);
  border-color: color-mix(in srgb, var(--lc, #F5C842) 22%, transparent);
  color: var(--text-primary);
}

.cc-ed-chapter-link.active .cc-ed-chapter-link__dot {
  background: var(--lc, #F5C842);
  border-color: var(--lc, #F5C842);
  box-shadow:
    0 0 0 3px color-mix(in srgb, var(--lc, #F5C842) 20%, transparent),
    0 0 10px color-mix(in srgb, var(--lc, #F5C842) 40%, transparent);
  transform: scale(1.35);
}

.cc-ed-chapter-link.active .cc-ed-chapter-link__icon {
  filter: saturate(1.1) brightness(1.1);
  transform: scale(1.15) translateY(-1px);
}

.cc-ed-chapter-link.active .cc-ed-chapter-link__label {
  color: var(--lc, #F5C842);
}

.cc-ed-catalog-body {
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
}

.cc-ed-chapter {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* ── Editorial Card ── */
.cc-ed-card {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  background: var(--surface-1, #0f1117);
}

.cc-ed-card__inner {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

.cc-ed-card__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 16/9;
  transition: transform 0.4s ease, filter 0.3s ease;
}

/* Featured card overrides aspect-ratio — fills grid area */
.cc-ed-card--featured .cc-ed-card__img {
  aspect-ratio: auto;
  height: 100%;
  min-height: 100%;
}

.cc-ed-card__veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(5,8,15,0.9) 0%, rgba(5,8,15,0.3) 50%, transparent 100%);
  pointer-events: none;
  z-index: 1;
  transition: opacity 0.3s;
}

.cc-ed-card__hover-veil {
  position: absolute;
  inset: 0;
  background: rgba(245,200,66,0.04);
  opacity: 0;
  pointer-events: none;
  z-index: 2;
  transition: opacity 0.3s;
}

.cc-ed-card:hover .cc-ed-card__img    { transform: scale(1.04); filter: brightness(1.05); }
.cc-ed-card:hover .cc-ed-card__hover-veil { opacity: 1; }

.cc-ed-card__provider {
  position: absolute;
  top: 0.625rem;
  left: 0.625rem;
  z-index: 3;
  font-size: 0.5875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: rgba(255,255,255,0.7);
  background: rgba(5,8,15,0.65);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  border: 1px solid rgba(255,255,255,0.08);
}

.cc-ed-card__foot {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 3;
  padding: 0.625rem 0.75rem 0.625rem;
}

.cc-ed-card__name {
  font-family: var(--font-display);
  font-size: 0.875rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.2;
  letter-spacing: -0.01em;
  margin-bottom: 0.3rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cc-ed-card--featured .cc-ed-card__name {
  font-size: 1.1875rem;
  white-space: normal;
  text-overflow: clip;
}

.cc-ed-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.375rem;
}

.cc-ed-card__badges {
  display: flex;
  gap: 0.3rem;
  flex-wrap: wrap;
}

.cc-ed-badge {
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  padding: 0.15rem 0.4rem;
  border-radius: 3px;
  line-height: 1.4;
}

.cc-ed-badge--vol {
  background: rgba(239,68,68,0.2);
  color: #fca5a5;
  border: 1px solid rgba(239,68,68,0.3);
}

.cc-ed-badge--rtp {
  background: rgba(16,185,129,0.2);
  color: #6ee7b7;
  border: 1px solid rgba(16,185,129,0.3);
}

.cc-ed-card__stars {
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--gold);
  white-space: nowrap;
  flex-shrink: 0;
}

/* ── Feature Sets — 3-col subgrid ── */
/*
  3-col grid. Featured spans 2 cols × 2 rows ≈ 16:9. All variants:
    TL: child 1 = featured, col 1-2 × row 1-2
        auto: c2→col3/r1, c3→col3/r2, c4→col1/r3, c5→col2/r3, c6→col3/r3
    TR: child 1 = featured, col 2-3 × row 1-2
        auto: c2→col1/r1, c3→col1/r2, c4-6→row3
    BL: child 4 = featured, col 1-2 × row 2-3
        c1-3 top row, c5→col3/r2, c6→col3/r3
    BR: child 6 = featured, col 2-3 × row 2-3
        c1-3 top row, c4→col1/r2, c5→col1/r3
*/

.cc-ed-feature-set {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

/* ─ TL: featured top-left (2 wide × 2 tall) ─ */
.cc-ed-fs--tl > :nth-child(1) { grid-column: 1 / 3; grid-row: 1 / 3; }
/* children 2–6 auto-place: col3/r1, col3/r2, col1/r3, col2/r3, col3/r3 */

/* ─ TR: featured top-right (2 wide × 2 tall) ─ */
.cc-ed-fs--tr > :nth-child(1) { grid-column: 2 / 4; grid-row: 1 / 3; }
/* children 2–6 auto-place: col1/r1, col1/r2, col1/r3, col2/r3, col3/r3 */

/* ─ BL: featured bottom-left (2 wide × 2 tall) — child 4 ─ */
.cc-ed-fs--bl > :nth-child(4) { grid-column: 1 / 3; grid-row: 2 / 4; }
/* children 1–3 → row1; child 5→col3/r2, child 6→col3/r3 */

/* ─ BR: featured bottom-right (2 wide × 2 tall) — child 6 ─ */
.cc-ed-fs--br > :nth-child(6) { grid-column: 2 / 4; grid-row: 2 / 4; }
/* children 1–3 → row1; child 4→col1/r2, child 5→col1/r3 */

/* Featured card fills its grid area */
.cc-ed-card--featured {
  position: relative;
}
.cc-ed-card--featured .cc-ed-card__inner {
  position: absolute;
  inset: 0;
}
.cc-ed-feature-set .cc-ed-card--featured {
  /* Ensure the card fills the entire grid cell area */
}

/* Fix: for featured card, the inner link must fill 100% */
.cc-ed-card--featured {
  display: flex;
}
.cc-ed-card--featured .cc-ed-card__inner {
  flex: 1;
  position: relative;
  min-height: 0;
}
.cc-ed-card--featured .cc-ed-card__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: auto;
}

/* ── 3-column overflow grid (rows 3+) ── */
.cc-ed-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

/* ── Provider Spotlight — redesigned ── */
.cc-ed-psp {
  position: relative;
  display: flex;
  align-items: stretch;
  border-radius: 14px;
  overflow: hidden;
  background: var(--bg-card, #0d1117);
  border: 1px solid color-mix(in srgb, var(--psc, #6366f1) 22%, transparent);
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.03),
    0 8px 32px rgba(0,0,0,0.35),
    0 0 48px color-mix(in srgb, var(--psc, #6366f1) 6%, transparent);
  margin-bottom: 2.5rem;
  padding-bottom: 2.125rem; /* space for absolute CTA */
  min-height: 100px;
  /* Left accent gradient */
  background-image: linear-gradient(
    to right,
    color-mix(in srgb, var(--psc, #6366f1) 10%, transparent) 0%,
    color-mix(in srgb, var(--psc, #6366f1) 3%, transparent) 30%,
    transparent 55%
  );
  transition: box-shadow 0.3s;
}
.cc-ed-psp:hover {
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.05),
    0 12px 40px rgba(0,0,0,0.45),
    0 0 64px color-mix(in srgb, var(--psc, #6366f1) 10%, transparent);
}

/* Bottom-edge glint — sweeps left→right on hover */
.cc-ed-psp::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 40%;
  height: 2px;
  background: linear-gradient(
    to right,
    transparent 0%,
    color-mix(in srgb, var(--psc, #6366f1) 55%, transparent) 25%,
    var(--psc, #6366f1) 44%,
    rgba(255, 255, 255, 0.92) 50%,
    var(--psc, #6366f1) 56%,
    color-mix(in srgb, var(--psc, #6366f1) 55%, transparent) 75%,
    transparent 100%
  );
  box-shadow:
    0 0 8px 2px color-mix(in srgb, var(--psc, #6366f1) 55%, transparent),
    0 -2px 14px color-mix(in srgb, var(--psc, #6366f1) 30%, transparent);
  transform: translateX(-150%);
  pointer-events: none;
  opacity: 0;
  will-change: transform;
}
.cc-ed-psp:hover::after {
  animation: cc-psp-glint 0.82s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

@keyframes cc-psp-glint {
  0%   { transform: translateX(-150%); opacity: 0; }
  6%   { opacity: 1; }
  94%  { opacity: 1; }
  100% { transform: translateX(350%);  opacity: 0; }
}

/* Left accent stripe */
.cc-ed-psp::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: linear-gradient(to bottom, var(--psc, #6366f1), color-mix(in srgb, var(--psc, #6366f1) 40%, transparent));
  border-radius: 3px 0 0 3px;
  z-index: 1;
}

/* ── Left zone ── */
.cc-ed-psp__left {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 1.375rem 1.5rem 1.375rem 1.875rem;
  flex-shrink: 0;
  width: 300px;
}

/* Logo tile */
.cc-ed-psp__logo-tile {
  width: 80px;
  height: 60px;
  border-radius: 11px;
  background: color-mix(in srgb, var(--psc, #6366f1) 10%, rgba(255,255,255,0.03));
  border: 1px solid color-mix(in srgb, var(--psc, #6366f1) 28%, transparent);
  box-shadow: 0 0 18px color-mix(in srgb, var(--psc, #6366f1) 15%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
  padding: 8px;
}

.cc-ed-psp__logo-img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

/* Monogram fallback */
.cc-ed-psp__mono {
  font-family: var(--font-display);
  font-size: 1.375rem;
  font-weight: 900;
  color: var(--psc, #6366f1);
  letter-spacing: -0.03em;
  line-height: 1;
}

/* Info column */
.cc-ed-psp__info {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  flex: 1;
  min-width: 0;
}

.cc-ed-psp__eyebrow {
  font-size: 0.5625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--psc, #6366f1);
  opacity: 0.85;
}

.cc-ed-psp__name {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 900;
  color: var(--text-primary);
  letter-spacing: -0.025em;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 0.625rem; /* breathing room above chips */
}

.cc-ed-psp__chips {
  display: flex;
  flex-direction: row;
  gap: 0.4rem;
  flex-wrap: nowrap;
  align-items: center;
  margin-top: 0;
}

.cc-ed-psp__chip {
  font-size: 0.5875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  padding: 0.22rem 0.6rem;
  border-radius: 100px;
  background: rgba(255,255,255,0.05);
  color: var(--text-muted);
  border: 1px solid rgba(255,255,255,0.07);
  line-height: 1.5;
  white-space: nowrap; /* never break text inside a pill */
  flex-shrink: 0;
}

.cc-ed-psp__chip--rtp {
  background: color-mix(in srgb, var(--psc, #6366f1) 14%, transparent);
  color: var(--psc, #6366f1);
  border-color: color-mix(in srgb, var(--psc, #6366f1) 28%, transparent);
}

/* CTA anchored to bottom-right of card */
.cc-ed-psp__cta {
  position: absolute;
  bottom: 1rem;
  right: 1.375rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--psc, #6366f1);
  text-decoration: none;
  white-space: nowrap;
  transition: opacity 0.18s, gap 0.18s;
  letter-spacing: 0.01em;
}
.cc-ed-psp__cta:hover {
  opacity: 0.75;
  gap: 0.5rem; /* subtle arrow drift on hover */
}

/* ── Games zone ── */
.cc-ed-psp__games {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1.125rem 1.375rem 1.125rem 0.25rem;
  position: relative;
  overflow: hidden;
  min-width: 0;
}

/* Watermark — faint provider name behind tiles */
.cc-ed-psp__wm {
  position: absolute;
  right: -0.75rem;
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--font-display);
  font-size: 4.5rem;
  font-weight: 900;
  letter-spacing: -0.05em;
  white-space: nowrap;
  color: var(--psc, #6366f1);
  opacity: 0.055;
  pointer-events: none;
  user-select: none;
  z-index: 0;
}

/* Game tile — uniform 16:9 */
.cc-ed-psp__game {
  position: relative;
  flex: 1;
  min-width: 0;
  aspect-ratio: 16 / 9;
  border-radius: 9px;
  overflow: hidden;
  display: block;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.07);
  z-index: 1;
  transition: transform 0.22s ease, border-color 0.22s, box-shadow 0.22s;
}

.cc-ed-psp__game img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}

/* Play overlay */
.cc-ed-psp__play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(5,8,15,0.52);
  opacity: 0;
  transition: opacity 0.2s;
}

.cc-ed-psp__play svg {
  width: 22px;
  height: 22px;
  color: #fff;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,0.5));
}

.cc-ed-psp__game:hover {
  transform: translateY(-4px) scale(1.03);
  border-color: color-mix(in srgb, var(--psc, #6366f1) 55%, transparent);
  box-shadow:
    0 10px 24px rgba(0,0,0,0.5),
    0 0 14px color-mix(in srgb, var(--psc, #6366f1) 22%, transparent);
}
.cc-ed-psp__game:hover img { transform: scale(1.06); }
.cc-ed-psp__game:hover .cc-ed-psp__play { opacity: 1; }

/* Responsive */
@media (max-width: 1024px) {
  .cc-ed-psp__left { width: 240px; }
  .cc-ed-psp__games { gap: 0.375rem; padding-right: 1rem; }
}

@media (max-width: 768px) {
  .cc-ed-psp {
    flex-direction: column;
    background-image: linear-gradient(to bottom,
      color-mix(in srgb, var(--psc, #6366f1) 10%, transparent) 0%,
      transparent 40%
    );
  }
  .cc-ed-psp__left {
    width: 100%;
    padding: 1.25rem 1.25rem 0.75rem 1.5rem;
    border-bottom: 1px solid color-mix(in srgb, var(--psc, #6366f1) 12%, transparent);
  }
  .cc-ed-psp__games {
    padding: 0.875rem 1rem;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .cc-ed-psp__game { flex: 0 0 calc(50% - 0.25rem); }
  .cc-ed-psp__wm { font-size: 3rem; }
}

/* ── All Games header divider ── */
.cc-ed-all-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 3rem 0 1.75rem;
}

.cc-ed-all-header__line {
  flex: 1;
  height: 1px;
  background: var(--border-subtle, rgba(255,255,255,0.08));
}

.cc-ed-all-header__text {
  flex-shrink: 0;
}

.cc-ed-all-header__label {
  font-size: 0.6875rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--text-muted);
}

/* ── Responsive adjustments ── */
@media (max-width: 1024px) {
  .cc-ed-catalog {
    grid-template-columns: 90px 1fr;
    gap: 0 1.25rem;
  }
  .cc-ed-chapter-rail { width: 90px; }
  .cc-ed-chapter-link__label { display: none; }
  .cc-ed-chapter-link { padding: 0.625rem 0.25rem; }
  .cc-ed-chapter-link__icon { font-size: 1.375rem; }
}

@media (max-width: 768px) {
  .cc-ed-catalog {
    grid-template-columns: 1fr;
  }
  .cc-ed-chapter-rail {
    display: none; /* hidden on mobile — scroll is enough */
  }
  .cc-ed-shelf__row {
    grid-template-columns: repeat(2, 1fr);
  }
  /* On tablet/mobile flatten feature-set to 2-col equal grid */
  .cc-ed-feature-set {
    grid-template-columns: repeat(2, 1fr);
  }
  .cc-ed-fs--tl > *,
  .cc-ed-fs--tr > *,
  .cc-ed-fs--bl > *,
  .cc-ed-fs--br > * {
    grid-column: auto !important;
    grid-row: auto !important;
  }
  .cc-ed-card--featured .cc-ed-card__inner {
    position: relative;
    inset: auto;
  }
  .cc-ed-card--featured .cc-ed-card__img {
    position: static;
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
  }
  .cc-ed-card--featured {
    display: block;
  }
  .cc-ed-grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
  .cc-ed-prov-spotlight__inner {
    grid-template-columns: auto 1fr;
    gap: 1rem 1.25rem;
    padding: 1rem 1.25rem;
  }
  .cc-ed-prov-spotlight__games { display: none; }
  .cc-ed-prov-spotlight__cta { grid-column: 1 / -1; }
  .cc-ed-section-break {
    flex-direction: column;
    gap: 1rem;
  }
  .cc-ed-sb__stats {
    border-left: none;
    padding-left: 0;
    border-top: 1px solid rgba(255,255,255,0.08);
    padding-top: 1rem;
    gap: 1.25rem;
    justify-content: space-between;
    width: 100%;
  }
  .cc-ed-sb__thumbs { display: none; }
}

@media (max-width: 480px) {
  .cc-ed-shelf__row {
    grid-template-columns: repeat(2, 1fr);
    overflow-x: auto;
  }
  .cc-ed-feature-set {
    grid-template-columns: 1fr;
  }
  .cc-ed-grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ============================================================
   CC EMBER SECTION — v3.16.57
   Homepage casino ranking list — "Ember" design
   ============================================================ */

/* ── Section shell ─────────────────────────────────────────── */
.cc-ember-section {
  --ember-card-bg:    var(--bg-card);
  --ember-hover-bg:   var(--bg-elevated);
  --ember-border:     rgba(255,255,255,0.055);
  --ember-accent:     #F97316;
  --ember-bar-track:  rgba(255,255,255,0.08);
  --ember-text-muted: rgba(255,255,255,0.42);
  --ember-text-dim:   rgba(255,255,255,0.28);
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}

/* ── Tier divider ──────────────────────────────────────────── */
.cc-ember-tier-div {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  margin: 0.625rem 0;
}
.cc-ember-tier-line {
  flex: 1;
  height: 1px;
  background: rgba(255,255,255,0.06);
}
.cc-ember-tier-label {
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.25);
  white-space: nowrap;
}

/* ── Shared row base ───────────────────────────────────────── */
.cc-ember-hero,
.cc-ember-runner,
.cc-ember-compact {
  position: relative;
  background: var(--ember-card-bg);
  border: 1px solid var(--ember-border);
  border-radius: 14px;
  overflow: hidden;
  transition: background 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}
.cc-ember-hero:hover,
.cc-ember-runner:hover,
.cc-ember-compact:hover {
  background: var(--ember-hover-bg);
  border-color: rgba(255,255,255,0.1);
  box-shadow: 0 4px 28px rgba(0,0,0,0.28);
}

/* ── Left accent bars ──────────────────────────────────────── */
.cc-ember-hero__bar,
.cc-ember-runner__bar,
.cc-ember-compact__bar {
  width: 4px;
  border-radius: 14px 0 0 14px;
  align-self: stretch;
  flex-shrink: 0;
  transition: filter 0.22s ease;
}
.cc-ember-hero:hover .cc-ember-hero__bar,
.cc-ember-runner:hover .cc-ember-runner__bar,
.cc-ember-compact:hover .cc-ember-compact__bar {
  filter: brightness(1.35);
}

/* ═══════════════════ HERO (rank 1) ════════════════════════ */
.cc-ember-hero {
  display: flex;
  align-items: stretch;
  min-height: 188px;
  margin-bottom: 0.75rem;
}
/* Brand colour ambient sweep */
.cc-ember-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 100% at 0% 50%, rgba(249,115,22,0.05), transparent 65%);
  pointer-events: none;
  z-index: 0;
}
.cc-ember-hero__inner {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 24px 20px 24px 16px;
  min-width: 0;
  position: relative;
  z-index: 1;
}
.cc-ember-hero__logo-col {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ═══════════════════ RUNNERS (ranks 2–3) ══════════════════ */
.cc-ember-runners {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.625rem;
  margin-bottom: 0.625rem;
}
.cc-ember-runner {
  display: grid;
  grid-template-columns: 4px 1fr;
  grid-template-rows: 1fr auto;
  min-height: 152px;
}
.cc-ember-runner__bar {
  grid-column: 1;
  grid-row: 1 / -1;
}
.cc-ember-runner__top {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 14px 8px 12px;
}
.cc-ember-runner__bottom {
  grid-column: 2;
  grid-row: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px 14px 12px;
}
.cc-ember-runner__info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.cc-ember-runner__name a {
  font-size: 0.9375rem;
  font-weight: 700;
  color: rgba(255,255,255,0.9);
  text-decoration: none;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.18s ease;
}
.cc-ember-runner:hover .cc-ember-runner__name a { color: #fff; }
.cc-ember-runner__meta {
  font-size: 0.72rem;
  color: var(--ember-text-muted);
}
.cc-ember-runner__score-wrap {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
}
.cc-ember-runner__score-num {
  font-size: 1.625rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
  transition: transform 0.18s ease;
}
.cc-ember-runner:hover .cc-ember-runner__score-num { transform: scale(1.06); }
.cc-ember-runner__stats {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.cc-ember-runner__ctas {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.cc-ember-runner__review-btn {
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--ember-text-muted);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.15);
  padding-bottom: 1px;
  white-space: nowrap;
  transition: color 0.18s ease, border-color 0.18s ease;
}
.cc-ember-runner__review-btn:hover {
  color: rgba(255,255,255,0.7);
  border-color: rgba(255,255,255,0.3);
}
.cc-ember-runner__join-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.3em;
  background: var(--ember-accent);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  text-decoration: none;
  padding: 6px 14px;
  border-radius: 100px;
  white-space: nowrap;
  transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.14s ease;
  box-shadow: 0 2px 10px rgba(249,115,22,0.25);
}
.cc-ember-runner__join-btn:hover {
  background: #FB923C;
  box-shadow: 0 3px 16px rgba(249,115,22,0.38);
  transform: translateY(-1px);
}

/* ═══════════════════ COMPACT ROWS (rank 4+) ════════════════ */
.cc-ember-compact-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.cc-ember-compact {
  display: grid;
  grid-template-columns: 4px 72px 1fr 100px 80px 108px;
  align-items: center;
  height: 84px;
}
.cc-ember-compact__logo-col {
  display: flex;
  align-items: center;
  justify-content: center;
}
.cc-ember-compact__info {
  padding: 0 8px 0 4px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.cc-ember-compact__name a {
  font-size: 0.9rem;
  font-weight: 700;
  color: rgba(255,255,255,0.88);
  text-decoration: none;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.18s ease;
}
.cc-ember-compact:hover .cc-ember-compact__name a { color: #fff; }
.cc-ember-compact__meta {
  font-size: 0.7rem;
  color: var(--ember-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cc-ember-compact__score {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
}
.cc-ember-compact__score-num {
  font-size: 1.4rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
  transition: transform 0.18s ease;
}
.cc-ember-compact:hover .cc-ember-compact__score-num { transform: scale(1.06); }
.cc-ember-compact__review {
  display: flex;
  align-items: center;
  justify-content: center;
}
.cc-ember-compact__review-btn {
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--ember-text-muted);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.15);
  padding-bottom: 1px;
  white-space: nowrap;
  transition: color 0.18s ease, border-color 0.18s ease;
}
.cc-ember-compact__review-btn:hover {
  color: rgba(255,255,255,0.7);
  border-color: rgba(255,255,255,0.3);
}
.cc-ember-compact__join {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-right: 12px;
}
.cc-ember-compact__join-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.3em;
  background: var(--ember-accent);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  text-decoration: none;
  padding: 7px 16px;
  border-radius: 100px;
  white-space: nowrap;
  transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.14s ease;
  box-shadow: 0 2px 10px rgba(249,115,22,0.25);
}
.cc-ember-compact__join-btn:hover {
  background: #FB923C;
  box-shadow: 0 3px 16px rgba(249,115,22,0.38);
  transform: translateY(-1px);
}

/* ── Shared logo box ───────────────────────────────────────── */
.cc-ember-logo {
  width: 76px;
  height: 76px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
  transition: transform 0.22s ease;
}
.cc-ember-logo--sm { width: 58px; height: 58px; border-radius: 13px; }
.cc-ember-logo--xs { width: 50px; height: 50px; border-radius: 11px; }
.cc-ember-hero:hover .cc-ember-logo,
.cc-ember-runner:hover .cc-ember-logo,
.cc-ember-compact:hover .cc-ember-logo { transform: scale(1.04); }
.cc-ember-logo__img {
  width: 88%;
  height: 88%;
  object-fit: contain;
  display: block;
}

/* ── Shared casino info (hero) ─────────────────────────────── */
.cc-ember-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.cc-ember-name a {
  font-size: 1.125rem;
  font-weight: 700;
  color: #FFD580;
  text-decoration: none;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.2;
  transition: color 0.18s ease;
}
.cc-ember-hero:hover .cc-ember-name a { color: #FFE8A3; }
.cc-ember-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}
.cc-ember-badge {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 4px;
  background: rgba(255,255,255,0.07);
  color: var(--ember-text-muted);
  border: 1px solid rgba(255,255,255,0.1);
  white-space: nowrap;
}
.cc-ember-badge--live {
  background: rgba(74,222,128,0.1);
  color: #4ADE80;
  border-color: rgba(74,222,128,0.2);
}
.cc-ember-badge--app {
  background: rgba(99,102,241,0.12);
  color: #818CF8;
  border-color: rgba(99,102,241,0.2);
}
.cc-ember-badge--for {
  background: rgba(249,115,22,0.1);
  color: #FB923C;
  border-color: rgba(249,115,22,0.2);
}
.cc-ember-stats {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
}
.cc-ember-stat {
  font-size: 0.75rem;
  color: var(--ember-text-muted);
  display: flex;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
}
.cc-ember-stat__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.cc-ember-stat--sm { font-size: 0.7rem; }

/* ── Shared score widget (hero) ────────────────────────────── */
.cc-ember-score {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  min-width: 90px;
}
.cc-ember-score__num {
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
  transition: transform 0.18s ease;
}
.cc-ember-hero:hover .cc-ember-score__num { transform: scale(1.06); }
.cc-ember-score__label {
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ember-text-dim);
}

/* ── Shared score bar track ────────────────────────────────── */
.cc-ember-score__bar-track {
  width: 52px;
  height: 4px;
  background: var(--ember-bar-track);
  border-radius: 100px;
  overflow: hidden;
  flex-shrink: 0;
}
.cc-ember-score__bar-fill {
  height: 100%;
  border-radius: 100px;
  transition: width 0.8s cubic-bezier(0.34,1.56,0.64,1) 0.25s;
}

/* ── Hero CTA block ────────────────────────────────────────── */
.cc-ember-ctas {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.55rem;
  min-width: 130px;
}
.cc-ember-btn-join {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35em;
  background: var(--ember-accent);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
  padding: 10px 22px;
  border-radius: 100px;
  white-space: nowrap;
  transition: background 0.18s ease, box-shadow 0.18s ease, transform 0.14s ease;
  box-shadow: 0 2px 14px rgba(249,115,22,0.3);
  position: relative;
  overflow: hidden;
  width: 100%;
  text-align: center;
}
.cc-ember-btn-join::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, rgba(255,255,255,0.16) 0%, transparent 55%);
  border-radius: inherit;
  pointer-events: none;
}
.cc-ember-btn-join:hover {
  background: #FB923C;
  box-shadow: 0 4px 22px rgba(249,115,22,0.44);
  transform: translateY(-1px);
}
.cc-ember-btn-join:active { transform: translateY(0); }
.cc-ember-btn-review {
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--ember-text-muted);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.15);
  padding-bottom: 1px;
  white-space: nowrap;
  transition: color 0.18s ease, border-color 0.18s ease;
}
.cc-ember-btn-review:hover {
  color: rgba(255,255,255,0.7);
  border-color: rgba(255,255,255,0.3);
}

/* ── Entrance animations ───────────────────────────────────── */
.cc-ember-hero,
.cc-ember-runner,
.cc-ember-compact {
  opacity: 0;
  transform: translateX(-10px);
  transition:
    opacity 0.42s ease,
    transform 0.42s ease,
    background 0.22s ease,
    border-color 0.22s ease,
    box-shadow 0.22s ease;
}
.cc-ember-hero.cc-visible,
.cc-ember-runner.cc-visible,
.cc-ember-compact.cc-visible {
  opacity: 1;
  transform: translateX(0);
}

/* ── Light mode ────────────────────────────────────────────── */
:root.light .cc-ember-tier-line { background: rgba(0,0,0,0.08); }
:root.light .cc-ember-tier-label { color: rgba(0,0,0,0.3); }
:root.light .cc-ember-badge {
  background: rgba(0,0,0,0.05);
  color: rgba(0,0,0,0.5);
  border-color: rgba(0,0,0,0.1);
}
:root.light .cc-ember-name a { color: #B45309; }
:root.light .cc-ember-runner__name a,
:root.light .cc-ember-compact__name a { color: var(--text-primary); }
:root.light .cc-ember-hero::before {
  background: radial-gradient(ellipse 60% 100% at 0% 50%, rgba(249,115,22,0.04), transparent 65%);
}

/* ── Responsive ────────────────────────────────────────────── */
@media (max-width: 900px) {
  .cc-ember-hero__inner { gap: 16px; padding: 20px 16px 20px 12px; }
  .cc-ember-logo { width: 64px; height: 64px; border-radius: 13px; }
  .cc-ember-logo--sm { width: 52px; height: 52px; border-radius: 11px; }
  .cc-ember-logo--xs { width: 44px; height: 44px; border-radius: 9px; }
  .cc-ember-score { min-width: 76px; }
  .cc-ember-ctas { min-width: 116px; }
  .cc-ember-compact {
    grid-template-columns: 4px 62px 1fr 88px 72px 96px;
  }
}

@media (max-width: 680px) {
  .cc-ember-runners { grid-template-columns: 1fr; }
  .cc-ember-compact {
    grid-template-columns: 4px 56px 1fr 80px 96px;
  }
  .cc-ember-compact__review { display: none; }
  .cc-ember-hero .cc-ember-stats { display: none; }
}

@media (max-width: 480px) {
  .cc-ember-hero__inner { gap: 12px; padding: 16px 12px; }
  .cc-ember-logo { width: 56px; height: 56px; border-radius: 11px; }
  .cc-ember-ctas { min-width: 100px; }
  .cc-ember-name a { font-size: 0.9375rem; }
  .cc-ember-badges { display: none; }
  .cc-ember-compact { grid-template-columns: 4px 50px 1fr 76px 90px; }
}

/* ═══════════════════════════════════════════════════════════
   LANDING PAGES — Shared (no header/footer chrome)
═══════════════════════════════════════════════════════════ */
body.cc-landing .cc-header,
body.cc-landing #cc-mobile-nav,
body.cc-landing footer,
body.cc-landing .cc-footer { display: none !important; }
body.cc-landing { background: var(--bg-main); }

/* ═══════════════════════════════════════════════════════════
   LANDING PAGE A — Cinematic Diagonal Grid
═══════════════════════════════════════════════════════════ */
.cc-lp-a { position: relative; min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; background: var(--bg-main); }
.cc-lp-a__grid { position: absolute; inset: 0; z-index: 0; }
.cc-lp-a__wrap { transform: rotate(-15deg) scale(1.35); transform-origin: center center; position: absolute; inset: -30% -20%; display: flex; flex-direction: column; gap: 12px; }
.cc-lp-a__row { display: flex; gap: 12px; white-space: nowrap; animation: cc-lp-scroll-left 60s linear infinite; }
.cc-lp-a__row--1 { animation-name: cc-lp-scroll-right; animation-duration: 55s; }
.cc-lp-a__row--2 { animation-duration: 65s; }
.cc-lp-a__row--3 { animation-name: cc-lp-scroll-right; animation-duration: 50s; }
.cc-lp-a__row--4 { animation-duration: 70s; }
.cc-lp-a__row--5 { animation-name: cc-lp-scroll-right; animation-duration: 58s; }
.cc-lp-a__row--6 { animation-duration: 62s; }
@keyframes cc-lp-scroll-left { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
@keyframes cc-lp-scroll-right { 0% { transform: translateX(-50%); } 100% { transform: translateX(0); } }
.cc-lp-a__card { width: 200px; height: 130px; border-radius: 10px; overflow: hidden; flex-shrink: 0; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.06); }
.cc-lp-a__card img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: 0.75; }
.cc-lp-a__veil { position: absolute; inset: 0; z-index: 1; background: radial-gradient(ellipse 60% 50% at 50% 50%, rgba(7,9,15,0.55) 0%, rgba(7,9,15,0.85) 70%, rgba(7,9,15,0.97) 100%), linear-gradient(to bottom, rgba(7,9,15,0.3) 0%, rgba(7,9,15,0.1) 30%, rgba(7,9,15,0.1) 60%, rgba(7,9,15,0.95) 100%); pointer-events: none; }
.cc-lp-a__veil-top { position: absolute; top: 0; left: 0; right: 0; height: 200px; z-index: 2; background: linear-gradient(to bottom, var(--bg-main) 0%, transparent 100%); pointer-events: none; }
.cc-lp-a__veil-bot { position: absolute; bottom: 0; left: 0; right: 0; height: 300px; z-index: 2; background: linear-gradient(to top, var(--bg-main) 0%, transparent 100%); pointer-events: none; }
.cc-lp-a__nav { position: absolute; top: 0; left: 0; right: 0; z-index: 20; padding: 1.25rem 2.5rem; }
.cc-lp-a__nav-logo img { height: 48px; width: auto; }
.cc-lp-a__content { position: relative; z-index: 10; text-align: center; max-width: 780px; padding: 0 1.5rem; }
.cc-lp-a__title { font-size: clamp(2.5rem, 5.5vw, 4.25rem); font-weight: 900; line-height: 1.08; letter-spacing: -0.02em; margin-bottom: 1.25rem; color: #ffffff; }
.cc-lp-a__title em { color: var(--gold); font-style: italic; }
.cc-lp-a__sub { font-size: 1.25rem; font-weight: 500; color: rgba(255,255,255,0.7); margin-bottom: 2.5rem; line-height: 1.5; }
.cc-lp-a__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.75rem; max-width: 580px; margin: 0 auto; }
.cc-lp-a__input-wrap { flex: 1; min-width: 260px; position: relative; }
.cc-lp-a__input { width: 100%; padding: 0.9375rem 1.25rem; border-radius: 6px; border: 1px solid rgba(255,255,255,0.15); background: rgba(0,0,0,0.6); backdrop-filter: blur(8px); color: #fff; font-size: 0.9375rem; font-family: inherit; outline: none; transition: border-color .2s; }
.cc-lp-a__input::placeholder { color: rgba(255,255,255,0.35); }
.cc-lp-a__input:focus { border-color: var(--gold); }
.cc-lp-a__input-label { position: absolute; top: -0.5rem; left: 0.75rem; font-size: 0.625rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(255,255,255,0.4); background: rgba(7,9,15,0.9); padding: 0.1rem 0.4rem; z-index: 1; line-height: 1; }
.cc-lp-a__btn { padding: 0.9375rem 2rem; border-radius: 6px; border: none; cursor: pointer; font-family: inherit; font-size: 0.9375rem; font-weight: 800; display: flex; align-items: center; gap: 0.5rem; transition: all .2s; text-decoration: none; }
.cc-lp-a__btn--gold { background: var(--gold); color: #000; }
.cc-lp-a__btn--gold:hover { background: #f7d04c; transform: translateY(-1px); box-shadow: 0 8px 24px rgba(245,200,66,0.25); }
.cc-lp-a__btn--ghost { background: rgba(255,255,255,0.08); color: #fff; border: 1px solid rgba(255,255,255,0.15); }
.cc-lp-a__btn--ghost:hover { background: rgba(255,255,255,0.12); border-color: rgba(255,255,255,0.25); }
.cc-lp-a__trust { margin-top: 2.5rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1.25rem; }
.cc-lp-a__trust-item { display: flex; align-items: center; gap: 0.4rem; font-size: 0.6875rem; font-weight: 600; color: rgba(255,255,255,0.45); }
.cc-lp-a__trust-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
@media (max-width: 640px) {
  .cc-lp-a__actions { flex-direction: column; }
  .cc-lp-a__input-wrap { min-width: 100%; }
  .cc-lp-a__btn { width: 100%; justify-content: center; }
  .cc-lp-a__card { width: 150px; height: 100px; }
}

/* ═══════════════════════════════════════════════════════════
   LANDING PAGE B — 3D Perspective Wall
═══════════════════════════════════════════════════════════ */
.cc-lp-b { position: relative; min-height: 100vh; display: flex; flex-direction: column; overflow: hidden; background: var(--bg-main); }
.cc-lp-b__wall { position: absolute; inset: 0; z-index: 0; perspective: 1200px; perspective-origin: 50% 40%; }
.cc-lp-b__plane { position: absolute; top: -15%; left: -10%; width: 120%; height: 130%; display: grid; grid-template-columns: repeat(8, 1fr); grid-template-rows: repeat(6, 1fr); gap: 10px; padding: 10px; transform: rotateX(25deg) rotateZ(-8deg); transform-style: preserve-3d; }
.cc-lp-b__tile { border-radius: 8px; overflow: hidden; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.04); position: relative; }
.cc-lp-b__tile img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: 0.6; transition: opacity .5s, transform .5s; }
.cc-lp-b__tile:hover img { opacity: 0.9; transform: scale(1.05); }
.cc-lp-b__tile::after { content: ''; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 40%, rgba(245,200,66,0.06) 45%, rgba(245,200,66,0.12) 50%, rgba(245,200,66,0.06) 55%, transparent 60%); background-size: 200% 100%; animation: cc-lp-tile-shimmer 8s ease-in-out infinite; pointer-events: none; }
.cc-lp-b__tile:nth-child(even)::after { animation-delay: -4s; }
.cc-lp-b__tile:nth-child(3n)::after { animation-delay: -2s; animation-duration: 10s; }
@keyframes cc-lp-tile-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
.cc-lp-b__veil { position: absolute; inset: 0; z-index: 1; background: radial-gradient(ellipse 55% 45% at 50% 55%, rgba(7,9,15,0.45) 0%, rgba(7,9,15,0.8) 65%, rgba(7,9,15,0.98) 100%); pointer-events: none; }
.cc-lp-b__grad-top { position: absolute; top: 0; left: 0; right: 0; height: 250px; z-index: 2; background: linear-gradient(to bottom, var(--bg-main) 0%, transparent 100%); pointer-events: none; }
.cc-lp-b__grad-bot { position: absolute; bottom: 0; left: 0; right: 0; height: 350px; z-index: 2; background: linear-gradient(to top, var(--bg-main) 0%, rgba(7,9,15,0.6) 50%, transparent 100%); pointer-events: none; }
.cc-lp-b__horizon { position: absolute; bottom: 28%; left: 0; right: 0; height: 1px; z-index: 3; background: linear-gradient(90deg, transparent 5%, rgba(245,200,66,0.15) 30%, rgba(245,200,66,0.35) 50%, rgba(245,200,66,0.15) 70%, transparent 95%); pointer-events: none; }
.cc-lp-b__horizon::after { content: ''; position: absolute; inset: -15px 0; background: linear-gradient(90deg, transparent 10%, rgba(245,200,66,0.04) 40%, rgba(245,200,66,0.08) 50%, rgba(245,200,66,0.04) 60%, transparent 90%); filter: blur(12px); }
.cc-lp-b__nav { position: relative; z-index: 20; display: flex; align-items: center; justify-content: space-between; padding: 1.25rem 2.5rem; }
.cc-lp-b__nav-logo img { height: 48px; width: auto; }
.cc-lp-b__nav-links { display: flex; align-items: center; gap: 1.5rem; }
.cc-lp-b__nav-link { font-size: 0.8125rem; font-weight: 600; color: rgba(255,255,255,0.6); text-decoration: none; transition: color .15s; }
.cc-lp-b__nav-link:hover { color: #fff; }
.cc-lp-b__nav-cta { padding: 0.5rem 1.25rem; border-radius: 6px; background: var(--gold); color: #000; font-weight: 800; font-size: 0.8125rem; text-decoration: none; transition: all .2s; }
.cc-lp-b__nav-cta:hover { background: #f7d04c; box-shadow: 0 4px 16px rgba(245,200,66,0.3); }
.cc-lp-b__content { position: relative; z-index: 10; flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 0 1.5rem; }
.cc-lp-b__eyebrow { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.625rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold); margin-bottom: 1.5rem; background: rgba(245,200,66,0.08); border: 1px solid rgba(245,200,66,0.2); padding: 0.35rem 1rem; border-radius: 100px; }
.cc-lp-b__eyebrow-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 8px rgba(245,200,66,0.6); animation: cc-lp-pulse-dot 2s ease-out infinite; flex-shrink: 0; }
@keyframes cc-lp-pulse-dot { 0% { box-shadow: 0 0 0 0 rgba(245,200,66,0.5); } 70% { box-shadow: 0 0 0 6px rgba(245,200,66,0); } 100% { box-shadow: 0 0 0 0 rgba(245,200,66,0); } }
.cc-lp-b__title { font-size: clamp(2.75rem, 6vw, 5rem); font-weight: 900; line-height: 1.04; letter-spacing: -0.025em; max-width: 900px; margin-bottom: 1.25rem; color: #ffffff; }
.cc-lp-b__title em { color: var(--gold); font-style: italic; }
.cc-lp-b__sub { font-size: 1.125rem; font-weight: 500; color: rgba(255,255,255,0.55); max-width: 520px; line-height: 1.6; margin-bottom: 2.5rem; }
.cc-lp-b__card { background: rgba(255,255,255,0.04); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid rgba(255,255,255,0.08); border-radius: 16px; padding: 2rem; max-width: 520px; width: 100%; }
.cc-lp-b__card-label { font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.35); margin-bottom: 0.75rem; }
.cc-lp-b__card-row { display: flex; gap: 0.625rem; margin-bottom: 1rem; }
.cc-lp-b__card-input { flex: 1; padding: 0.8125rem 1rem; border-radius: 8px; border: 1px solid rgba(255,255,255,0.12); background: rgba(0,0,0,0.5); color: #fff; font-size: 0.875rem; font-family: inherit; outline: none; transition: border-color .2s; }
.cc-lp-b__card-input::placeholder { color: rgba(255,255,255,0.3); }
.cc-lp-b__card-input:focus { border-color: var(--gold); }
.cc-lp-b__card-btn { padding: 0.8125rem 1.75rem; border-radius: 8px; border: none; cursor: pointer; background: var(--gold); color: #000; font-weight: 800; font-size: 0.875rem; font-family: inherit; display: flex; align-items: center; gap: 0.4rem; transition: all .2s; white-space: nowrap; }
.cc-lp-b__card-btn:hover { background: #f7d04c; box-shadow: 0 6px 20px rgba(245,200,66,0.25); }
.cc-lp-b__card-divider { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem; }
.cc-lp-b__card-divider-line { flex: 1; height: 1px; background: rgba(255,255,255,0.08); }
.cc-lp-b__card-divider-text { font-size: 0.625rem; font-weight: 700; color: rgba(255,255,255,0.25); text-transform: uppercase; letter-spacing: 0.08em; }
.cc-lp-b__card-visit { display: flex; align-items: center; justify-content: center; gap: 0.625rem; padding: 0.75rem; border-radius: 8px; border: 1px solid rgba(255,255,255,0.1); background: rgba(255,255,255,0.03); color: #fff; font-size: 0.875rem; font-weight: 700; text-decoration: none; transition: all .2s; width: 100%; }
.cc-lp-b__card-visit:hover { background: rgba(255,255,255,0.07); border-color: rgba(255,255,255,0.18); }
.cc-lp-b__trust { position: relative; z-index: 10; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 2rem; padding: 2rem 1.5rem; }
.cc-lp-b__trust-item { display: flex; align-items: center; gap: 0.4rem; font-size: 0.6875rem; font-weight: 600; color: rgba(255,255,255,0.35); }
.cc-lp-b__trust-sep { width: 1px; height: 14px; background: rgba(255,255,255,0.08); }
@media (max-width: 768px) {
  .cc-lp-b__nav { padding: 1rem 1.25rem; }
  .cc-lp-b__nav-links { display: none; }
  .cc-lp-b__plane { grid-template-columns: repeat(5, 1fr); grid-template-rows: repeat(8, 1fr); }
  .cc-lp-b__card-row { flex-direction: column; }
  .cc-lp-b__card { padding: 1.5rem; }
}

/* ═══════════════════════════════════════════════════════════
   MARKET INTELLIGENCE — Charts & Visualizations
═══════════════════════════════════════════════════════════ */
/* Trend Velocity Chart */
.cc-mi-velocity { display: flex; flex-direction: column; gap: 0.75rem; }
.cc-mi-vel-row { display: grid; grid-template-columns: 140px 1fr 70px; gap: 0.75rem; align-items: center; }
.cc-mi-vel-row__label { font-size: 0.75rem; font-weight: 700; color: var(--text-secondary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cc-mi-vel-row__bar-wrap { height: 28px; background: rgba(255,255,255,0.04); border: 1px solid var(--border-subtle); border-radius: 6px; overflow: hidden; }
.cc-mi-vel-row__bar { height: 100%; border-radius: 6px; transition: width 1s ease-out; min-width: 4px; opacity: 0.85; }
.cc-mi-vel-row__val { font-family: var(--font-mono); font-size: 0.875rem; font-weight: 800; text-align: right; }
@media (max-width: 640px) { .cc-mi-vel-row { grid-template-columns: 100px 1fr 60px; } }
/* Market Momentum Gauge */
.cc-mi-momentum { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; align-items: center; background: rgba(255,255,255,0.03); border: 1px solid var(--border-subtle); border-radius: 16px; padding: 1.5rem; }
.cc-mi-momentum__gauge { text-align: center; }
.cc-mi-momentum__score { font-family: var(--font-mono); font-size: 3rem; font-weight: 900; line-height: 1; margin-bottom: 0.25rem; }
.cc-mi-momentum__label { font-size: 0.75rem; font-weight: 800; letter-spacing: 0.10em; text-transform: uppercase; margin-bottom: 1rem; }
.cc-mi-momentum__track { height: 8px; background: rgba(255,255,255,0.06); border-radius: 100px; overflow: hidden; }
.cc-mi-momentum__fill { height: 100%; border-radius: 100px; transition: width 1.2s ease-out; }
.cc-mi-momentum__scale { display: flex; justify-content: space-between; margin-top: 0.375rem; font-size: 0.5rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); }
.cc-mi-momentum__breakdown { display: flex; flex-direction: column; gap: 1rem; }
.cc-mi-momentum__stat { text-align: center; padding: 0.75rem; background: rgba(255,255,255,0.03); border: 1px solid var(--border-subtle); border-radius: 12px; }
.cc-mi-momentum__stat-num { font-family: var(--font-mono); font-size: 1.5rem; font-weight: 900; line-height: 1; }
.cc-mi-momentum__stat-label { font-size: 0.5rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); margin-top: 0.2rem; }
.cc-mi-momentum__stat-avg { font-family: var(--font-mono); font-size: 0.625rem; font-weight: 700; color: var(--text-muted); margin-top: 0.15rem; }
@media (max-width: 640px) { .cc-mi-momentum { grid-template-columns: 1fr; } }
/* Metric Stat Cards */
.cc-mi-metrics-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
.cc-mi-metric-card { border: 1px solid var(--border-subtle); border-radius: 14px; padding: 1.25rem; display: flex; flex-direction: column; gap: 0.375rem; transition: border-color .15s, transform .15s; }
.cc-mi-metric-card:hover { transform: translateY(-2px); }
.cc-mi-metric-card__icon { margin-bottom: 0.25rem; }
.cc-mi-metric-card__num { font-family: var(--font-mono); font-size: 2rem; font-weight: 900; line-height: 1; }
.cc-mi-metric-card__name { font-size: 0.8125rem; font-weight: 700; color: var(--text-primary); }
.cc-mi-metric-card__evidence { font-size: 0.6875rem; color: var(--text-muted); line-height: 1.5; margin-top: 0.25rem; }
@media (max-width: 480px) { .cc-mi-metrics-grid { grid-template-columns: 1fr; } }
/* Market Signals */
.cc-mi-signals { display: flex; flex-direction: column; gap: 0.5rem; }
.cc-mi-signal { display: flex; align-items: center; gap: 0.875rem; padding: 1rem 1.25rem; background: rgba(255,255,255,0.03); border: 1px solid var(--border-subtle); border-radius: 12px; transition: all .15s; }
.cc-mi-signal:hover { background: rgba(255,255,255,0.05); border-color: rgba(255,255,255,0.12); }
.cc-mi-signal--opp { border-left: 3px solid var(--emerald); }
.cc-mi-signal--risk { border-left: 3px solid var(--red); }
.cc-mi-signal__icon { width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.cc-mi-signal__body { flex: 1; min-width: 0; }
.cc-mi-signal__title { font-size: 0.875rem; font-weight: 700; color: var(--text-primary); margin-bottom: 0.2rem; }
.cc-mi-signal__meta { display: flex; align-items: center; gap: 0.5rem; }
.cc-mi-signal__type { font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.cc-mi-signal__priority { font-size: 0.5rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 0.1rem 0.4rem; border-radius: 4px; background: rgba(255,255,255,0.06); color: var(--text-muted); }
.cc-mi-signal__priority--high { background: rgba(245,200,66,0.12); color: var(--gold); }
.cc-mi-signal__priority--medium { background: rgba(99,102,241,0.12); color: #818cf8; }
.cc-mi-signal__priority--low { background: rgba(255,255,255,0.06); color: var(--text-muted); }
/* Light mode */
:root.light .cc-mi-momentum { background: #ffffff; border-color: rgba(0,0,0,0.08); box-shadow: 0 4px 20px rgba(0,0,0,0.06); }
:root.light .cc-mi-momentum__stat { background: #f8fafc; border-color: rgba(0,0,0,0.06); }
:root.light .cc-mi-momentum__track { background: rgba(0,0,0,0.06); }
:root.light .cc-mi-vel-row__bar-wrap { background: rgba(0,0,0,0.03); border-color: rgba(0,0,0,0.08); }
:root.light .cc-mi-metric-card { box-shadow: 0 2px 12px rgba(0,0,0,0.05); }
:root.light .cc-mi-signal { background: #ffffff; border-color: rgba(0,0,0,0.08); box-shadow: 0 2px 8px rgba(0,0,0,0.04); }
:root.light .cc-mi-signal:hover { background: #f8fafc; }


/* ═══════════════════════════════════════════════════════════════
   COMPARE MEGA PANEL — Versus Arena
   Scoped under .cc-mega-panel-d--compare / classes prefix .cc-mega-cmp-*
═══════════════════════════════════════════════════════════════ */

.cc-mega-panel-d--compare {
  background:
    radial-gradient(80% 100% at 50% 0%, rgba(245,200,66,0.04), transparent 55%),
    rgba(9,10,18,0.98);
}
:root.light .cc-mega-panel-d--compare {
  background:
    radial-gradient(80% 100% at 50% 0%, rgba(232,106,23,0.05), transparent 55%),
    rgba(244,246,249,0.99);
}
.cc-mega-cmp-inner { gap: 1.75rem; }

/* ── Col 1: Build-a-matchup ───────────────────────────────── */
.cc-mega-cmp-build {
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01));
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 12px;
  padding: 0.875rem;
  position: relative;
  overflow: hidden;
}
.cc-mega-cmp-build::before {
  content: ''; position: absolute; top: -1px; left: -1px; right: -1px; height: 2px;
  background: linear-gradient(90deg, transparent, var(--c-compare), transparent);
  opacity: 0.5;
}
:root.light .cc-mega-cmp-build {
  background: linear-gradient(180deg, rgba(0,0,0,0.025), rgba(0,0,0,0.01));
  border-color: rgba(0,0,0,0.07);
}

.cc-mega-cmp-slot {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.55rem 0.625rem;
  border: 1px dashed rgba(245,200,66,0.28);
  background: rgba(245,200,66,0.04);
  border-radius: 9px;
  text-decoration: none;
  transition: all 0.15s;
  position: relative;
}
.cc-mega-cmp-slot.is-filled {
  border: 1px solid rgba(255,255,255,0.09);
  background: var(--bg-card);
  border-style: solid;
}
:root.light .cc-mega-cmp-slot.is-filled {
  border-color: rgba(0,0,0,0.09);
  background: #fff;
}
.cc-mega-cmp-slot:hover {
  border-color: var(--c-compare);
  background: rgba(245,200,66,0.08);
}
.cc-mega-cmp-slot__bullet {
  width: 20px; height: 20px;
  border-radius: 5px;
  background: var(--gold-dim);
  border: 1px solid var(--gold-border);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-mono);
  font-size: 0.55rem; font-weight: 800;
  color: var(--c-compare);
  flex-shrink: 0;
}
.cc-mega-cmp-slot.is-filled .cc-mega-cmp-slot__bullet {
  background: var(--slot-color, var(--c-compare));
  border-color: var(--slot-color, var(--c-compare));
  color: #07090F;
}
.cc-mega-cmp-slot__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.cc-mega-cmp-slot__name {
  font-size: 0.75rem; font-weight: 800; letter-spacing: -0.015em;
  color: var(--text-primary); line-height: 1.1;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.cc-mega-cmp-slot.is-filled .cc-mega-cmp-slot__name { color: var(--slot-color, var(--c-compare)); }
.cc-mega-cmp-slot__placeholder { font-size: 0.6875rem; font-weight: 500; color: var(--text-muted); font-style: italic; }
.cc-mega-cmp-slot__sub { font-size: 0.5625rem; font-weight: 500; color: var(--text-muted); line-height: 1.2; }

.cc-mega-cmp-vs-div {
  display: flex; align-items: center; justify-content: center;
  padding: 0.35rem 0;
}
.cc-mega-cmp-vs-div::before,
.cc-mega-cmp-vs-div::after {
  content: ''; flex: 1; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(245,200,66,0.22));
}
.cc-mega-cmp-vs-div::after { background: linear-gradient(90deg, rgba(245,200,66,0.22), transparent); }
.cc-mega-cmp-vs-div span {
  font-family: var(--font-mono);
  font-size: 0.55rem; font-weight: 800; letter-spacing: 0.18em;
  color: var(--c-compare);
  padding: 0 0.5rem;
}
.cc-mega-cmp-vs-div--add span { color: var(--text-muted); }

.cc-mega-cmp-build-cta {
  margin-top: 0.625rem; width: 100%;
  display: flex; align-items: center; justify-content: center; gap: 0.4rem;
  padding: 0.6rem 0.75rem;
  background: linear-gradient(135deg, var(--c-compare) 0%, #E8A800 100%);
  color: #07090F;
  font-size: 0.75rem; font-weight: 800; letter-spacing: -0.005em;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.15s;
  box-shadow: 0 4px 14px rgba(245,200,66,0.22);
}
.cc-mega-cmp-build-cta:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(245,200,66,0.35); }
:root.light .cc-mega-cmp-build-cta { color: #fff; box-shadow: 0 4px 14px rgba(232,106,23,0.22); }
:root.light .cc-mega-cmp-build-cta:hover { box-shadow: 0 6px 18px rgba(232,106,23,0.35); }

/* ── Col 2: Arena stage ───────────────────────────────────── */
.cc-mega-cmp-arena {
  background:
    radial-gradient(60% 100% at 50% 50%, rgba(245,200,66,0.06), transparent 70%),
    linear-gradient(180deg, #0b0e17 0%, #0a0c12 100%);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  padding: 1.125rem 1.25rem 1rem;
  position: relative;
  overflow: hidden;
}
:root.light .cc-mega-cmp-arena {
  background:
    radial-gradient(60% 100% at 50% 50%, rgba(232,106,23,0.05), transparent 70%),
    linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border-color: rgba(0,0,0,0.07);
}
.cc-mega-cmp-arena::before {
  content: ''; position: absolute; inset: 0;
  background:
    radial-gradient(30% 60% at 15% 50%, rgba(0,177,64,0.06), transparent 70%),
    radial-gradient(30% 60% at 85% 50%, rgba(217,43,58,0.06), transparent 70%);
  pointer-events: none;
}
.cc-mega-cmp-arena__top {
  display: flex; align-items: center; justify-content: space-between;
  gap: 0.75rem; margin-bottom: 0.625rem;
  position: relative; z-index: 1;
}
.cc-mega-cmp-arena__eyebrow {
  font-family: var(--font-mono);
  font-size: 0.475rem; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--c-compare);
  display: flex; align-items: center; gap: 0.4rem;
}
.cc-mega-cmp-arena__dot {
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--c-compare);
  box-shadow: 0 0 8px rgba(245,200,66,0.5);
  animation: cc-cmp-pulse 2.2s ease-in-out infinite;
}
@keyframes cc-cmp-pulse {
  0%,100% { opacity: 1; }
  50%     { opacity: 0.3; }
}
.cc-mega-cmp-arena__pill {
  font-family: var(--font-mono);
  font-size: 0.5rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--text-secondary);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  padding: 0.22rem 0.5rem;
  border-radius: 4px;
  white-space: nowrap;
}
:root.light .cc-mega-cmp-arena__pill { background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.08); }

/* Versus row */
.cc-mega-cmp-versus {
  display: grid; grid-template-columns: 1fr auto 1fr;
  align-items: center; gap: 1rem;
  padding: 0.5rem 0 0.875rem;
  position: relative; z-index: 1;
}
.cc-mega-cmp-side {
  display: flex; flex-direction: column; gap: 0.5rem;
  text-decoration: none;
  min-width: 0;
}
.cc-mega-cmp-side--right { align-items: flex-end; text-align: right; }
.cc-mega-cmp-side__rank {
  font-family: var(--font-mono);
  font-size: 0.475rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--text-muted);
}
.cc-mega-cmp-side__rank-num { color: var(--c-compare); margin-right: 0.25rem; }

.cc-mega-cmp-logo-tile {
  display: flex; align-items: center; justify-content: center;
  width: 100%; max-width: 240px; height: 78px;
  padding: 0.75rem 1.125rem;
  background:
    radial-gradient(120% 140% at 0% 0%, color-mix(in srgb, var(--side-color) 18%, transparent), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.01));
  border: 1px solid color-mix(in srgb, var(--side-color) 28%, rgba(255,255,255,0.06));
  border-radius: 11px;
  position: relative; overflow: hidden;
  transition: transform 0.2s ease, border-color 0.2s;
}
.cc-mega-cmp-side--right .cc-mega-cmp-logo-tile {
  background:
    radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--side-color) 18%, transparent), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.01));
}
.cc-mega-cmp-logo-tile::before {
  content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 1px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--side-color) 40%, transparent), transparent);
}
.cc-mega-cmp-side:hover .cc-mega-cmp-logo-tile {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--side-color) 44%, rgba(255,255,255,0.06));
}
:root.light .cc-mega-cmp-logo-tile {
  background:
    radial-gradient(120% 140% at 0% 0%, color-mix(in srgb, var(--side-color) 16%, transparent), transparent 70%),
    linear-gradient(180deg, rgba(0,0,0,0.025), rgba(0,0,0,0.005));
  border-color: color-mix(in srgb, var(--side-color) 26%, rgba(0,0,0,0.08));
}
:root.light .cc-mega-cmp-side--right .cc-mega-cmp-logo-tile {
  background:
    radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--side-color) 16%, transparent), transparent 70%),
    linear-gradient(180deg, rgba(0,0,0,0.025), rgba(0,0,0,0.005));
}
.cc-mega-cmp-logo-tile__img {
  max-height: 52px; max-width: 100%;
  width: auto; height: auto; object-fit: contain;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,0.45));
}
:root.light .cc-mega-cmp-logo-tile__img { filter: drop-shadow(0 2px 6px rgba(0,0,0,0.12)); }
.cc-mega-cmp-logo-tile__fallback {
  font-size: 0.9375rem; font-weight: 900; letter-spacing: -0.02em;
  color: var(--side-color);
}

.cc-mega-cmp-side__footer { display: flex; align-items: baseline; gap: 0.5rem; }
.cc-mega-cmp-side--right .cc-mega-cmp-side__footer { flex-direction: row-reverse; }
.cc-mega-cmp-side__wordmark {
  font-weight: 800; font-size: 0.9375rem; letter-spacing: -0.02em;
  color: var(--side-color); line-height: 1;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  max-width: 100%;
}
.cc-mega-cmp-side__score {
  display: inline-flex; align-items: baseline; gap: 0.2rem;
  font-family: var(--font-mono);
  font-size: 0.7rem; font-weight: 800; letter-spacing: -0.01em;
  color: var(--text-primary);
}
.cc-mega-cmp-side__score small {
  font-size: 0.525rem; font-weight: 600; color: var(--text-muted); letter-spacing: 0.08em;
}

/* VS badge */
.cc-mega-cmp-vs {
  position: relative; width: 60px; height: 60px;
  border-radius: 50%;
  background: linear-gradient(135deg, #FFD95A 0%, #E8A800 100%);
  display: flex; align-items: center; justify-content: center;
  font-style: italic; font-weight: 900; font-size: 1.375rem;
  color: #07090F; letter-spacing: -0.05em;
  flex-shrink: 0;
  box-shadow:
    0 0 0 4px rgba(245,200,66,0.12),
    0 0 0 8px rgba(245,200,66,0.04),
    0 10px 30px rgba(245,200,66,0.25);
}
.cc-mega-cmp-vs::before {
  content: ''; position: absolute; inset: -14px;
  border-radius: 50%;
  border: 1px dashed rgba(245,200,66,0.22);
  animation: cc-cmp-spin 22s linear infinite;
}
@keyframes cc-cmp-spin { to { transform: rotate(360deg); } }
:root.light .cc-mega-cmp-vs {
  background: linear-gradient(135deg, #FFB24A 0%, #E86A17 100%);
  color: #fff;
  box-shadow: 0 0 0 4px rgba(232,106,23,0.14), 0 0 0 8px rgba(232,106,23,0.05), 0 10px 30px rgba(232,106,23,0.28);
}

/* Stat rows */
.cc-mega-cmp-stats {
  display: grid; grid-template-columns: 1fr; gap: 0.15rem;
  padding-top: 0.75rem;
  border-top: 1px dashed rgba(255,255,255,0.08);
  position: relative; z-index: 1;
}
:root.light .cc-mega-cmp-stats { border-top-color: rgba(0,0,0,0.08); }
.cc-mega-cmp-stat-row {
  display: grid; grid-template-columns: 1fr 118px 1fr;
  align-items: center; gap: 0.75rem;
  padding: 0.375rem 0.25rem;
  border-radius: 6px;
  transition: background 0.12s;
}
.cc-mega-cmp-stat-row:hover { background: rgba(255,255,255,0.025); }
:root.light .cc-mega-cmp-stat-row:hover { background: rgba(0,0,0,0.025); }
.cc-mega-cmp-stat-val {
  font-family: var(--font-mono);
  font-size: 0.7rem; font-weight: 700; letter-spacing: -0.005em;
  color: var(--text-secondary); white-space: nowrap;
}
.cc-mega-cmp-stat-val--left  { text-align: right; }
.cc-mega-cmp-stat-val--right { text-align: left; }
.cc-mega-cmp-stat-val.is-winner { color: var(--c-compare); font-weight: 800; }
.cc-mega-cmp-win-mark {
  display: inline-block; margin-right: 0.3rem;
  color: #22C55E; font-size: 0.55rem; vertical-align: 1px;
}
.cc-mega-cmp-stat-val--right .cc-mega-cmp-win-mark { margin-right: 0; margin-left: 0.3rem; }
.cc-mega-cmp-stat-label {
  text-align: center;
  font-family: var(--font-mono);
  font-size: 0.475rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--text-muted);
}

.cc-mega-cmp-arena__foot {
  margin-top: 0.875rem;
  display: flex; align-items: center; justify-content: space-between; gap: 0.875rem;
  position: relative; z-index: 1;
}
.cc-mega-cmp-arena__verdict {
  font-size: 0.7rem; font-weight: 500; color: var(--text-muted);
  line-height: 1.45; flex: 1; margin: 0;
}
.cc-mega-cmp-arena__cta {
  display: inline-flex; align-items: center; gap: 0.35rem;
  padding: 0.5rem 0.8rem;
  background: rgba(245,200,66,0.1);
  border: 1px solid var(--gold-border);
  color: var(--c-compare);
  font-size: 0.7rem; font-weight: 800; letter-spacing: -0.005em;
  border-radius: 7px;
  text-decoration: none;
  transition: all 0.14s;
  white-space: nowrap;
}
.cc-mega-cmp-arena__cta:hover {
  background: var(--c-compare);
  color: #07090F;
  transform: translateY(-1px);
}
:root.light .cc-mega-cmp-arena__cta:hover { color: #fff; }

/* ── Col 3: Popular matchups ──────────────────────────────── */
.cc-mega-cmp-match-row {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.55rem 0.625rem;
  background: var(--bg-card);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 9px;
  text-decoration: none;
  margin-bottom: 3px;
  transition: all 0.15s;
  position: relative;
  overflow: hidden;
}
.cc-mega-cmp-match-row::before {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0;
  width: 2px;
  background: linear-gradient(180deg, var(--mu-left), var(--mu-right));
  opacity: 0;
  transition: opacity 0.15s;
}
.cc-mega-cmp-match-row:hover {
  background: var(--bg-elevated);
  border-color: rgba(245,200,66,0.18);
  transform: translateX(2px);
}
.cc-mega-cmp-match-row:hover::before { opacity: 1; }
:root.light .cc-mega-cmp-match-row { border-color: rgba(0,0,0,0.07); }
:root.light .cc-mega-cmp-match-row:hover { border-color: rgba(232,106,23,0.22); }

.cc-mega-cmp-match-row__names {
  flex: 1; display: flex; align-items: center; gap: 0.35rem;
  min-width: 0;
  font-weight: 800; font-size: 0.7rem; letter-spacing: -0.012em;
  white-space: nowrap; overflow: hidden;
}
.cc-mega-cmp-match-row__names .n-left,
.cc-mega-cmp-match-row__names .n-right {
  overflow: hidden; text-overflow: ellipsis; min-width: 0;
}
.cc-mega-cmp-match-row__names .n-left  { color: var(--mu-left); }
.cc-mega-cmp-match-row__names .n-right { color: var(--mu-right); }
.cc-mega-cmp-match-row__vs {
  font-family: var(--font-mono);
  font-size: 0.5rem; font-weight: 800; letter-spacing: 0.08em;
  color: var(--text-muted); flex-shrink: 0;
}

.cc-mega-cmp-chips { display: flex; flex-wrap: wrap; gap: 4px; }
.cc-mega-cmp-chip {
  display: inline-flex; align-items: center; gap: 0.3rem;
  padding: 0.3rem 0.55rem;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 6px;
  font-family: var(--font-mono);
  font-size: 0.5rem; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase;
  color: var(--text-secondary);
  text-decoration: none;
  transition: all 0.14s;
}
.cc-mega-cmp-chip:hover {
  border-color: var(--gold-border);
  background: var(--gold-dim);
  color: var(--c-compare);
}
:root.light .cc-mega-cmp-chip { background: rgba(0,0,0,0.03); border-color: rgba(0,0,0,0.07); }

/* ── Col 4: Feature card ──────────────────────────────────── */
.cc-mega-cmp-feat {
  display: flex; flex-direction: column;
  height: 100%;
  position: relative;
}
.cc-mega-cmp-feat::after {
  content: ''; position: absolute; top: -24px; right: -24px;
  width: 140px; height: 140px;
  background: radial-gradient(circle, rgba(245,200,66,0.12), transparent 70%);
  pointer-events: none;
}
:root.light .cc-mega-cmp-feat::after { background: radial-gradient(circle, rgba(232,106,23,0.12), transparent 70%); }

.cc-mega-cmp-feat__eyebrow {
  font-family: var(--font-mono);
  font-size: 0.475rem; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--c-compare);
  margin-bottom: 0.5rem;
  opacity: 0.9;
  position: relative;
}
.cc-mega-cmp-feat__title {
  font-size: 1.0625rem; font-weight: 800; letter-spacing: -0.02em;
  color: var(--text-primary);
  line-height: 1.2;
  margin-bottom: 0.625rem;
  position: relative;
}
.cc-mega-cmp-feat__title em {
  font-style: italic; font-weight: 900;
  color: var(--c-compare);
}
.cc-mega-cmp-feat__body {
  font-size: 0.7375rem; color: var(--text-muted);
  line-height: 1.55;
  margin-bottom: 0.875rem;
  position: relative;
}

.cc-mega-cmp-metrics {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem;
  margin-bottom: 0.875rem;
  position: relative;
}
.cc-mega-cmp-metric {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 7px;
  padding: 0.5rem 0.55rem;
}
:root.light .cc-mega-cmp-metric { background: rgba(0,0,0,0.03); border-color: rgba(0,0,0,0.06); }
.cc-mega-cmp-metric__num {
  font-size: 1.0625rem; font-weight: 900; letter-spacing: -0.03em;
  color: var(--c-compare);
  line-height: 1;
  margin-bottom: 0.2rem;
}
.cc-mega-cmp-metric__label {
  font-family: var(--font-mono);
  font-size: 0.455rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--text-muted);
  line-height: 1.25;
}

.cc-mega-cmp-feat__cta {
  display: inline-flex; align-items: center; gap: 0.35rem;
  padding: 0.55rem 0.875rem;
  background: var(--c-compare);
  color: #07090F;
  font-size: 0.7375rem; font-weight: 800; letter-spacing: -0.005em;
  border-radius: 7px;
  text-decoration: none;
  transition: all 0.15s;
  align-self: flex-start;
  position: relative;
}
.cc-mega-cmp-feat__cta:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(245,200,66,0.32); }
:root.light .cc-mega-cmp-feat__cta { color: #fff; }
:root.light .cc-mega-cmp-feat__cta:hover { box-shadow: 0 6px 16px rgba(232,106,23,0.32); }

/* Narrow viewport safety — stack gracefully if the mega shell narrows */
@media (max-width: 1080px) {
  .cc-mega-cmp-versus { grid-template-columns: 1fr auto 1fr; gap: 0.75rem; }
  .cc-mega-cmp-logo-tile { height: 68px; padding: 0.5rem 0.75rem; }
  .cc-mega-cmp-logo-tile__img { max-height: 44px; }
  .cc-mega-cmp-stat-row { grid-template-columns: 1fr 96px 1fr; gap: 0.5rem; }
}

/* ═══════════════════════════════════════════════════════════════
   LIGHT-MODE READABILITY — Compare mega only
   --c-compare stays #F5C842 (yellow) globally so the section colour
   is consistent with the freq-bar swatch + nav accent. Inside the
   Compare panel, though, yellow text fails WCAG on a light surface.
   We re-scope --c-compare to the site's light-mode gold (#E86A17)
   *only within the Compare panel in light mode*, so every yellow
   text / icon / accent — headings, eyebrows, rank numbers, winner
   stats, metric numbers, CTAs — picks up the darker orange via
   custom-property inheritance. Dark mode is untouched.
═══════════════════════════════════════════════════════════════ */
:root.light .cc-mega-panel-d--compare {
  --c-compare: #E86A17;
}
/* Tinted surfaces that hard-code a yellow rgba() — flip to matching orange in light mode */
:root.light .cc-mega-cmp-arena__cta    { background: rgba(232,106,23,0.10); border-color: rgba(232,106,23,0.24); }
:root.light .cc-mega-cmp-arena__dot    { box-shadow: 0 0 8px rgba(232,106,23,0.5); }
:root.light .cc-mega-cmp-slot          { border-color: rgba(232,106,23,0.28); background: rgba(232,106,23,0.04); }
:root.light .cc-mega-cmp-slot:hover    { background: rgba(232,106,23,0.08); }
:root.light .cc-mega-cmp-vs-div::before,
:root.light .cc-mega-cmp-vs-div::after { background: linear-gradient(90deg, transparent, rgba(232,106,23,0.22)); }
:root.light .cc-mega-cmp-vs-div::after { background: linear-gradient(90deg, rgba(232,106,23,0.22), transparent); }
:root.light .cc-mega-cmp-vs::before    { border-color: rgba(232,106,23,0.28); }
:root.light .cc-mega-cmp-build-cta     { box-shadow: 0 4px 14px rgba(232,106,23,0.28); }
:root.light .cc-mega-cmp-build-cta:hover { box-shadow: 0 6px 18px rgba(232,106,23,0.42); }


/* ═══════════════════════════════════════════════════════════════
