/* ══════════════════════════════════════════════════════
   WealthPsychology — Vercel Design System (Definitive)
   ══════════════════════════════════════════════════════ */

/* ── GEIST FONT ─────────────────────────────────────────── */
@font-face {
  font-family: 'Geist';
  src: url('https://assets.vercel.com/raw/upload/v1/fonts/geist/Geist-Regular.woff2') format('woff2');
  font-weight: 400; font-display: swap;
}
@font-face {
  font-family: 'Geist';
  src: url('https://assets.vercel.com/raw/upload/v1/fonts/geist/Geist-Medium.woff2') format('woff2');
  font-weight: 500; font-display: swap;
}
@font-face {
  font-family: 'Geist';
  src: url('https://assets.vercel.com/raw/upload/v1/fonts/geist/Geist-SemiBold.woff2') format('woff2');
  font-weight: 600; font-display: swap;
}
@font-face {
  font-family: 'Geist Mono';
  src: url('https://assets.vercel.com/raw/upload/v1/fonts/geist-mono/GeistMono-Regular.woff2') format('woff2');
  font-weight: 400; font-display: swap;
}

/* ── TOKENS ─────────────────────────────────────────────── */
:root {
  --bg:       #000000;
  --bg-1:     #0a0a0a;
  --bg-2:     #111111;
  --bg-3:     #1a1a1a;
  --border:   rgba(255,255,255,0.08);
  --border-h: rgba(255,255,255,0.16);
  --text:     #ffffff;
  --text-2:   #a1a1a1;
  --text-3:   #666666;
  --blue:     #0070f3;
  --purple:   #7928ca;
  --pink:     #ff0080;
  --green:    #0cce6b;
  --radius:   8px;
  --radius-lg:12px;
  /* Legacy aliases */
  --accent:   #0070f3;
  --accent-2: #7928ca;
  --accent-3: #ff0080;
  --success:  #0cce6b;
  --muted:    #a1a1a1;
  --line:     rgba(255,255,255,0.08);
  --surface:  #111111;
  --ink:      #000000;
  --vault:    #0a0a0a;
  --smoke:    #e2e2e2;
  --slate:    #a1a1a1;
  --brass:    #0070f3;
  --current:  #0cce6b;
  --font-body:   'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono:   'Geist Mono', 'Space Mono', monospace;
  --font-rojal:  'Geist', -apple-system, sans-serif;
  --font-display:'Geist', -apple-system, sans-serif;
  --font-heading:'Geist', -apple-system, sans-serif;
  --font-ui:     'Geist', -apple-system, sans-serif;
}

/* ── RESET ──────────────────────────────────────────────── */
html, body {
  background: var(--bg) !important;
  color: var(--text) !important;
  font-family: 'Geist', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 16px;
  line-height: 1.65;
  overflow-x: hidden;
}
*, *::before, *::after { box-sizing: border-box; }

/* ── TYPOGRAPHY ─────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Geist', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
  color: var(--text) !important;
  text-transform: none !important;
  line-height: 1.1 !important;
}
p { color: var(--text-2); }
code, pre, .mono, [class*="mono"], var(--font-mono) {
  font-family: 'Geist Mono', 'Space Mono', monospace !important;
}
a {
  color: var(--blue) !important;
  text-decoration: none;
  transition: color 0.15s;
}
a:hover { color: var(--text) !important; }
::selection { background: var(--blue); color: #fff; }
::placeholder { color: #444 !important; }
option { background: #111 !important; color: #fff !important; }

/* Gradient utilities */
.gradient-text {
  background: linear-gradient(135deg,#fff 0%,#a1a1a1 100%);
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}
.gradient-accent {
  background: linear-gradient(135deg,var(--blue),var(--purple),var(--pink));
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* ── LAYOUT ─────────────────────────────────────────────── */
section, .section {
  position: relative !important;
  z-index: 1 !important;
  overflow-x: hidden !important;
}
.container, [class*="container"],
[class*="content-wrap"], [class*="wrap"]:not(nav):not(.adv-mockup):not(img) {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.grid-bg {
  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) !important;
  background-size: 40px 40px !important;
}

/* ── Z-INDEX LAYER CAKE ──────────────────────────────────── */
#wp-aurora              { z-index: 0  !important; pointer-events: none !important; }
#wp-hero-prism          { z-index: 0  !important; pointer-events: none !important; }
.wp-cursor-glow         { z-index: 9  !important; pointer-events: none !important; }
nav, .nav, header       { z-index: 10000 !important; }
.nav__dropdown,
[class*="dropdown"]     { z-index: 99999 !important; }
#wp-scroll-bar          { z-index: 999999 !important; pointer-events: none !important; }

/* ── NAV ────────────────────────────────────────────────── */
nav, .nav, .site-header {
  position: fixed !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  background: rgba(0,0,0,0.88) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid var(--border) !important;
  pointer-events: auto !important;
}
nav a, .nav a { color: var(--text-2) !important; pointer-events: auto !important; }
nav a:hover, .nav a:hover { color: var(--text) !important; }

/* Kill old logo image */
nav img, .nav img, .nav__logo img { display: none !important; width: 0 !important; height: 0 !important; }
.nav__logo, .nav-logo {
  font-family: 'Geist', sans-serif !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  color: var(--text) !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
}

/* Nav CTA */
.btn.nav-cta, .nav-cta {
  background: linear-gradient(135deg,var(--blue),var(--purple)) !important;
  background-size: 200% 200% !important;
  animation: gradientShift 4s ease infinite !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--radius) !important;
}
@keyframes gradientShift {
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}

/* ── DROPDOWN — CSS + JS hybrid (most reliable) ─────────── */
.nav__item, .nav-item, .has-dropdown {
  position: relative !important;
  pointer-events: auto !important;
}
/* Default hidden */
.nav__dropdown, .nav-dropdown {
  display: none !important;
  position: absolute !important;
  top: 100% !important; left: 0 !important;
  padding-top: 8px !important;
  z-index: 99999 !important;
  pointer-events: auto !important;
  min-width: 220px !important;
}
.nav__dropdown--end { left: auto !important; right: 0 !important; }

/* Inner box */
.nav__drop-group, .nav__dropdown > div {
  background: #111111 !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: var(--radius) !important;
  box-shadow: 0 20px 50px rgba(0,0,0,0.9) !important;
  padding: 6px 0 !important;
  overflow: hidden !important;
}
/* Show on hover (CSS) */
.nav__item:hover > .nav__dropdown,
.nav__item:focus-within > .nav__dropdown {
  display: block !important;
}
/* Dropdown link group label */
.nav__drop-label {
  display: block !important;
  padding: 8px 16px 4px !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #555 !important;
  font-family: 'Geist Mono', monospace !important;
  cursor: default !important;
  user-select: none !important;
}
.nav__drop-group + .nav__drop-group {
  border-top: 1px solid rgba(255,255,255,0.07) !important;
  margin-top: 4px !important; padding-top: 4px !important;
}
/* Dropdown links */
.nav__dropdown a, .nav-dropdown a {
  display: block !important;
  padding: 10px 16px !important;
  color: var(--text-2) !important;
  font-size: 14px !important;
  font-family: 'Geist', sans-serif !important;
  white-space: nowrap !important;
  pointer-events: auto !important;
  background: transparent !important;
  text-decoration: none !important;
}
.nav__dropdown a:hover { color: var(--text) !important; background: rgba(255,255,255,0.06) !important; }

/* Mobile menu */
#mobile-menu { background: var(--bg) !important; }
#mobile-menu a, .mob__trigger {
  font-family: 'Geist', sans-serif !important;
  color: var(--text) !important;
  text-transform: none !important;
  letter-spacing: -0.01em !important;
  pointer-events: auto !important;
}
.mob__sub a { color: var(--text-2) !important; font-size: 1rem !important; }
.mob__sub a:hover { color: var(--text) !important; }
.mob__sub-label { color: var(--text-3) !important; font-family: 'Geist Mono', monospace !important; }
.nav__hamburger span { background: var(--text) !important; }

/* ── BUTTONS ─────────────────────────────────────────────── */
.btn {
  font-family: 'Geist', sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.9rem !important;
  border-radius: var(--radius) !important;
  cursor: pointer !important;
  transition: opacity 0.15s, transform 0.15s !important;
  pointer-events: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  background: var(--text) !important;
  color: var(--bg) !important;
  border: none !important;
  padding: 10px 22px !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
.btn:hover { opacity: 0.85 !important; }
.btn--outline, .btn--secondary, .btn--ghost {
  background: transparent !important;
  color: var(--text) !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
}
.btn--outline:hover, .btn--secondary:hover, .btn--ghost:hover {
  border-color: var(--text) !important;
  background: rgba(255,255,255,0.05) !important;
  opacity: 1 !important;
}
/* Buttons inside dark cards stay white/black */
[class*="card"] .btn, [class*="plan"] .btn,
[class*="card"] a.btn, [class*="plan"] a.btn {
  background: var(--text) !important;
  color: var(--bg) !important;
  border: none !important;
}
button[type=submit], input[type=submit] {
  font-family: 'Geist', sans-serif !important;
  border-radius: var(--radius) !important;
  background: var(--text) !important;
  color: var(--bg) !important;
  cursor: pointer !important;
  border: none !important;
  padding: 10px 22px !important;
  font-weight: 500 !important;
}

/* ── INPUTS ─────────────────────────────────────────────── */
input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]),
textarea, select {
  background: var(--bg-2) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  border-radius: var(--radius) !important;
  font-family: 'Geist', sans-serif !important;
  padding: 10px 14px !important;
}
input:not([type=radio]):not([type=checkbox]):focus, textarea:focus, select:focus {
  border-color: var(--blue) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(0,112,243,0.15) !important;
}
label { font-family: 'Geist', sans-serif !important; color: var(--text-2) !important; }
.field label {
  font-family: 'Geist Mono', monospace !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-size: 0.75rem !important;
  color: var(--text-2) !important;
}

/* ── BADGES ─────────────────────────────────────────────── */
.badge {
  font-family: 'Geist Mono', monospace !important;
  border-radius: 999px !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}
.badge--free {
  background: rgba(0,112,243,0.12) !important;
  color: var(--blue) !important;
  border: 1px solid rgba(0,112,243,0.25) !important;
}
.badge--paid {
  background: rgba(121,40,202,0.12) !important;
  color: var(--purple) !important;
  border: 1px solid rgba(121,40,202,0.25) !important;
}
.badge--category {
  background: rgba(255,255,255,0.05) !important;
  color: var(--text-2) !important;
  border: 1px solid var(--border-h) !important;
}
.category-badge {
  display: inline-block !important;
  padding: 0.3rem 1rem !important;
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  background: linear-gradient(var(--bg-2),var(--bg-2)) padding-box,
              linear-gradient(135deg,var(--blue),var(--purple),var(--pink)) border-box !important;
  font-family: 'Geist Mono', monospace !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--blue) !important;
}

/* ── VCARD ───────────────────────────────────────────────── */
.vcard {
  background: var(--bg-2) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-lg) !important;
  padding: 1.5rem !important;
  color: var(--text) !important;
  position: relative !important;
  overflow: hidden !important;
  transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s !important;
}
.vcard:hover {
  border-color: var(--border-h) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 20px 40px rgba(0,0,0,0.4) !important;
}

/* ── LEGACY CARD CLASSES ─────────────────────────────────── */
.card {
  background: var(--bg-2) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
}
.card:hover { border-color: var(--border-h) !important; }

/* ── INTRO FEATURE BOXES ─────────────────────────────────── */
.intro__feature, .intro__note, [class*="intro__feature"], [class*="intro__note"] {
  background: var(--bg-2) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  border-radius: var(--radius) !important;
}
.intro__feature-icon, [class*="feature-icon"] { color: var(--blue) !important; }
.intro__step { border-top-color: var(--border) !important; color: var(--text) !important; }

/* ── PRICING CARDS ───────────────────────────────────────── */
.adv-plan {
  background: var(--bg-2) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: var(--radius-lg) !important;
  padding: 2rem !important;
  color: var(--text) !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}
.adv-plan:hover { border-color: rgba(255,255,255,0.3) !important; }
.adv-plan--featured {
  background: #0d0d20 !important;
  border: 1px solid var(--purple) !important;
  box-shadow: 0 0 0 1px var(--purple), 0 0 40px rgba(121,40,202,0.22) !important;
}
.adv-plan__name {
  color: var(--text-2) !important;
  font-family: 'Geist Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}
.adv-plan__price {
  color: var(--text) !important;
  font-size: 3rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.04em !important;
  line-height: 1 !important;
  font-family: 'Geist', sans-serif !important;
  text-transform: none !important;
}
.adv-plan__cadence { color: var(--text-3) !important; font-family: 'Geist Mono', monospace !important; }
.adv-plan__qty { color: var(--blue) !important; font-weight: 500 !important; }
.adv-plan__per { color: var(--text-2) !important; font-family: 'Geist Mono', monospace !important; font-size: 0.75rem !important; }
.adv-plan__popular {
  background: var(--purple) !important;
  color: #fff !important;
  font-family: 'Geist Mono', monospace !important;
  font-size: 10px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 4px 12px !important;
  border-radius: 999px !important;
}

/* ── ADVISOR SECTION STYLES ──────────────────────────────── */
.adv-hero, .adv-section { border-color: var(--border) !important; }
.adv-section--alt { background: var(--bg-1) !important; }
.adv-section-label { color: var(--blue) !important; font-family: 'Geist Mono', monospace !important; }
.adv-section-heading { color: var(--text) !important; font-family: 'Geist', sans-serif !important; text-transform: none !important; }
.adv-hero__h1 { color: var(--text) !important; font-family: 'Geist', sans-serif !important; text-transform: none !important; }
.adv-hero__sub { color: var(--text-2) !important; }
.adv-hero__label { color: var(--blue) !important; font-family: 'Geist Mono', monospace !important; }
.adv-hero__ghost { color: var(--text-2) !important; }
.adv-hero__ghost:hover { color: var(--text) !important; }
.adv-features { border-color: var(--border) !important; }
.adv-feature { background: var(--bg-2) !important; border-right-color: var(--border) !important; }
.adv-feature__icon { color: var(--blue) !important; }
.adv-feature__title { color: var(--text) !important; font-family: 'Geist Mono', monospace !important; }
.adv-feature__body { color: var(--text-2) !important; }
.adv-mockup { background: var(--bg-2) !important; border-color: var(--border) !important; }
.adv-mockup__header { background: var(--bg-3) !important; border-bottom-color: var(--border) !important; }
.adv-mockup__dim { color: var(--text-2) !important; }
.adv-mockup__score { color: var(--blue) !important; }
.adv-pricing-sub { color: var(--text-2) !important; }
.adv-report-body { color: var(--text-2) !important; }
.adv-final { background: var(--bg-1) !important; }
.adv-final__h { color: var(--text) !important; font-family: 'Geist', sans-serif !important; text-transform: none !important; }
.adv-cred { border-color: var(--border) !important; }
.adv-cred__name { color: var(--text) !important; font-family: 'Geist', sans-serif !important; text-transform: none !important; }
.adv-cred__line { color: var(--text-2) !important; font-family: 'Geist Mono', monospace !important; }
.adv-cred__dot { color: var(--blue) !important; }

/* ── FAQ / ACCORDIONS ────────────────────────────────────── */
.adv-faq, .adv-faq__item, .adv-faq__q,
[class*="faq"], [class*="accordion"],
details, summary {
  position: relative !important;
  z-index: 20 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  color: var(--text) !important;
}
.adv-faq__item { border-color: var(--border) !important; }
.adv-faq__q { color: var(--text) !important; background: none !important; font-family: 'Geist', sans-serif !important; font-size: 0.95rem !important; }
.adv-faq__q:hover { color: var(--blue) !important; }
.adv-faq__icon { color: var(--blue) !important; }
.adv-faq__a { color: var(--text-2) !important; line-height: 1.7 !important; }

/* ── REPORT PAGES ────────────────────────────────────────── */
.report-cover {
  background: radial-gradient(ellipse 80% 60% at 30% 0%, rgba(0,112,243,0.15) 0%, var(--bg) 70%) !important;
  border-bottom-color: var(--border) !important;
}
.report-section { border-top-color: var(--border) !important; }
.report-section__title { color: var(--text) !important; font-family: 'Geist', sans-serif !important; text-transform: none !important; }
.report-section__sub { color: var(--text-2) !important; }
.section-light { background: var(--bg-1) !important; }
.section-light .report-section__title { color: var(--text) !important; }
.report-footer, .report-share-banner { background: var(--bg-1) !important; border-color: var(--border) !important; }
.arch-list li { color: var(--text) !important; }
.bias-block { background: var(--bg-2) !important; border-color: var(--border) !important; }
.bias-block__advice { border-left-color: var(--blue) !important; background: rgba(0,112,243,0.07) !important; }
.bias-block__points li::before { color: var(--blue) !important; }
.next-step { background: var(--bg-2) !important; border-color: var(--border) !important; color: var(--text) !important; }
.overview-bar__track { background: rgba(255,255,255,0.08) !important; }
.gauge__track { stroke: rgba(255,255,255,0.08) !important; }
.gauge__fill { stroke: var(--blue) !important; }
.archetype-name, .report-archetype {
  background: linear-gradient(135deg,var(--blue),var(--purple),var(--pink)) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
}

/* ── TABLES ─────────────────────────────────────────────── */
table { width: 100% !important; border-collapse: collapse !important; }
table td, table th {
  background: var(--bg-2) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
}
table th, table thead td, table thead th {
  background: var(--bg-1) !important;
  color: var(--text-2) !important;
  font-family: 'Geist Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}
table tr:nth-child(even) td { background: var(--bg-3) !important; }
table td:first-child:not(:only-child) {
  background: var(--bg-1) !important;
  color: var(--text-2) !important;
  font-family: 'Geist Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  border-right-color: var(--border) !important;
}

/* ── PROGRESS BARS ───────────────────────────────────────── */
.progress-bar, [class*="progress-track"], [class*="progress__track"] {
  background: rgba(255,255,255,0.07) !important;
  height: 3px !important;
  border-radius: 99px !important;
  overflow: hidden !important;
}
.progress-bar__fill, [class*="progress__fill"], [class*="progress-fill"] {
  background: linear-gradient(90deg,var(--blue),var(--purple)) !important;
  height: 100% !important;
  border-radius: 99px !important;
  transition: width 0.4s ease !important;
}
#wp-scroll-bar {
  position: fixed !important;
  top: 0 !important; left: 0 !important;
  height: 2px !important; width: 0 !important;
  background: linear-gradient(90deg,var(--blue),var(--purple)) !important;
  z-index: 999999 !important;
  pointer-events: none !important;
  transition: width 0.1s linear !important;
}

/* ── SCORE LABELS ────────────────────────────────────────── */
.label-very-high { color: var(--pink) !important; }
.label-high      { color: #ff8c00 !important; }
.label-above-avg { color: var(--purple) !important; }
.label-below-avg { color: var(--blue) !important; }
.label-low       { color: var(--green) !important; }
.label-very-low  { color: #5dd6ff !important; }

/* ── TEST / QUIZ PAGES ───────────────────────────────────── */
.test-header {
  background: rgba(0,0,0,0.9) !important;
  backdrop-filter: blur(16px) !important;
  border-bottom-color: var(--border) !important;
}
.question-row, .question-block { border-bottom-color: var(--border) !important; }
.question-row__num, .question-block__num { color: var(--text-3) !important; }
.question-row__text, .question-block__text {
  color: var(--text) !important;
  font-family: 'Geist', sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 500 !important;
  animation: wpQuestionIn 0.4s cubic-bezier(0.16,1,0.3,1) both !important;
}
@keyframes wpQuestionIn {
  from { opacity:0; transform:translateY(14px); }
  to   { opacity:1; transform:translateY(0); }
}
.likert__btn {
  border: 2px solid rgba(255,255,255,0.15) !important;
  background: transparent !important;
  border-radius: 50% !important;
  color: var(--text-2) !important;
  transition: border-color 0.15s, background 0.15s, box-shadow 0.15s !important;
}
.likert__opt:hover .likert__btn { border-color: rgba(255,255,255,0.4) !important; }
.likert__opt--selected .likert__btn {
  background: var(--blue) !important;
  border-color: var(--blue) !important;
  color: #fff !important;
  box-shadow: 0 0 20px rgba(0,112,243,0.4) !important;
}
.choice-opt {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  border-radius: var(--radius) !important;
  transition: border-color 0.15s, background 0.15s !important;
}
.choice-opt:hover { border-color: rgba(255,255,255,0.3) !important; background: rgba(255,255,255,0.07) !important; }
.choice-opt--selected { border-color: var(--blue) !important; background: rgba(0,112,243,0.1) !important; }
.choice-opt__letter { color: var(--blue) !important; }
.scale-legend { background: rgba(255,255,255,0.04) !important; border-color: var(--border) !important; }
.part-intro { border-bottom-color: var(--border) !important; }
.form-submit { border-top-color: var(--border) !important; }
.intro__feature, .intro__note {
  background: var(--bg-2) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}
.divider { background: var(--blue) !important; }

/* Bubble scale dark */
.bubble-scale .likert__btn {
  background: transparent !important;
  border: 2px solid rgba(255,255,255,0.2) !important;
  border-radius: 50% !important;
  font-size: 0 !important; color: transparent !important; padding: 0 !important;
}
.bubble-scale .likert__opt[data-v='5'] .likert__btn { width:101px!important;height:101px!important; }
.bubble-scale .likert__opt[data-v='4'] .likert__btn { width:78px!important;height:78px!important; }
.bubble-scale .likert__opt[data-v='3'] .likert__btn { width:50px!important;height:50px!important; }
.bubble-scale .likert__opt[data-v='2'] .likert__btn { width:78px!important;height:78px!important; }
.bubble-scale .likert__opt[data-v='1'] .likert__btn { width:101px!important;height:101px!important; }
.bubble-scale .likert__opt--selected[data-v='5'] .likert__btn,
.bubble-scale .likert__opt--selected[data-v='4'] .likert__btn {
  background: var(--blue) !important; border-color: var(--blue) !important;
  box-shadow: 0 0 20px rgba(0,112,243,0.5) !important;
}
.bubble-scale .likert__opt--selected[data-v='3'] .likert__btn {
  background: rgba(255,255,255,0.3) !important; border-color: rgba(255,255,255,0.4) !important;
}
.bubble-scale .likert__opt--selected[data-v='2'] .likert__btn,
.bubble-scale .likert__opt--selected[data-v='1'] .likert__btn {
  background: #ff4500 !important; border-color: #ff4500 !important;
  box-shadow: 0 0 20px rgba(255,69,0,0.5) !important;
}
.bubble-scale .likert__opt--selected .likert__btn { transform: scale(1.06) !important; }
.bubble-scale .likert__label { display: none !important; }
.bubble-wrap__label { color: var(--text-2) !important; font-weight: 600 !important; }
.bubble-scale .likert__opt:hover .likert__btn { border-color: rgba(255,255,255,0.4) !important; }

/* ── DISSOLVE-ON-SCROLL — DISABLED (caused layout chaos) ─── */
.dissolve-on-scroll {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
  position: static !important;
  min-height: auto !important;
  min-width: auto !important;
}
.dissolve-on-scroll canvas,
h1 canvas, h2 canvas, h3 canvas, h4 canvas {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important; height: 0 !important;
}
.dissolve-on-scroll span[style*="opacity:0"],
.dissolve-on-scroll span[style*="opacity: 0"] {
  opacity: 1 !important;
  position: static !important;
  visibility: visible !important;
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}
/* Restore gradient in hero section only */
.hero .gradient-accent, .hero .gradient-text,
section.grid-bg .gradient-accent {
  -webkit-text-fill-color: transparent !important;
}

/* ── WP-REVEAL (safe — opacity + transform only) ────────── */
.wp-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.55s ease, transform 0.55s cubic-bezier(0.16,1,0.3,1);
}
.wp-reveal.revealed { opacity: 1 !important; transform: translateY(0) !important; }

/* ── HOMEPAGE SECTIONS ───────────────────────────────────── */
.wp-hero { border-bottom-color: var(--border) !important; background: var(--bg) !important; }
.wp-hero__tagline, .wp-hero__heading { color: var(--text) !important; text-transform: none !important; letter-spacing: -0.04em !important; font-family: 'Geist', sans-serif !important; }
.wp-hero__sub { color: var(--text-2) !important; }
.wp-hero__rule { background: var(--border) !important; }
.wp-hero__stats { color: var(--text-3) !important; font-family: 'Geist Mono', monospace !important; }
.wp-measures { border-bottom-color: var(--border) !important; }
.wp-measures__col { border-top-color: var(--blue) !important; }
.wp-measures__col + .wp-measures__col { border-left-color: var(--border) !important; }
.wp-measures__label { color: var(--text) !important; font-family: 'Geist', sans-serif !important; text-transform: none !important; }
.wp-measures__desc { color: var(--text-2) !important; }
.wp-free { border-bottom-color: var(--border) !important; }
.wp-free__heading { color: var(--text) !important; font-family: 'Geist', sans-serif !important; text-transform: none !important; }
.wp-free__grid { background: var(--border) !important; border-color: var(--border) !important; }
.wp-free__card { background: var(--bg-2) !important; }
.wp-free__card:hover { background: var(--bg-3) !important; }
.wp-free__card-name { color: var(--text) !important; font-family: 'Geist', sans-serif !important; text-transform: none !important; letter-spacing: normal !important; }
.wp-free__card-desc { color: var(--text-2) !important; }
.wp-free__card-cta { color: var(--blue) !important; }
.wp-advisor { background: var(--bg-1) !important; border-color: var(--border) !important; }
.wp-advisor__label { color: var(--blue) !important; font-family: 'Geist Mono', monospace !important; }
.wp-advisor__heading { color: var(--text) !important; font-family: 'Geist', sans-serif !important; text-transform: none !important; }
.wp-advisor__body { color: var(--text-2) !important; }
.wp-advisor__tier { background: var(--bg-2) !important; border-color: var(--border) !important; }
.wp-advisor__tier-name { color: var(--text) !important; font-family: 'Geist Mono', monospace !important; }
.wp-advisor__tier-detail { color: var(--text-2) !important; }
.wp-credibility { background: var(--bg) !important; }
.wp-credibility__heading { color: var(--text) !important; font-family: 'Geist', sans-serif !important; text-transform: none !important; }
.wp-credibility__line { color: var(--text-2) !important; font-family: 'Geist Mono', monospace !important; }
.wp-credibility__sep { color: var(--border-h) !important; }

/* ── AUTH PAGES ──────────────────────────────────────────── */
.auth-panel--left { background: var(--bg-1) !important; }
.auth-panel--right { background: var(--bg-2) !important; }
.auth-bullets h2 { color: var(--text) !important; font-family: 'Geist', sans-serif !important; text-transform: none !important; }
.auth-bullets__label { color: var(--blue) !important; font-family: 'Geist Mono', monospace !important; }

/* ── FOOTER ──────────────────────────────────────────────── */
footer, .footer {
  background: var(--bg-1) !important;
  border-top: 1px solid var(--border) !important;
  color: var(--text-2) !important;
}
footer a, .footer a { color: var(--text-2) !important; }
footer a:hover, .footer a:hover { color: var(--text) !important; }
.footer__copy { color: var(--text-3) !important; font-family: 'Geist Mono', monospace !important; font-size: 0.65rem !important; }
.footer__link { color: var(--text-2) !important; }
.footer__link:hover { color: var(--text) !important; }

/* Cookie banner */
#cookie-banner {
  background: var(--bg-2) !important;
  border-top-color: var(--border) !important;
}
#cookie-banner p { color: var(--text-2) !important; font-size: 0.75rem !important; }
#cookie-banner button { background: var(--text) !important; color: var(--bg) !important; border-radius: var(--radius) !important; }

/* ── INLINE STYLE KILLERS (old palette) ──────────────────── */
[style*="#5a6e4a"], [style*="5a6e4a"] { color: var(--blue) !important; }
[style*="#f2f1ed"],[style*="f2f1ed"],[style*="#ede9e0"],
[style*="#faf9f7"],[style*="f5f5f0"] {
  background: var(--bg) !important;
}
/* White card backgrounds — context-aware kill */
[class*="card"][style*="#fff"],
[class*="plan"][style*="#fff"],
[class*="section"][style*="#fff"],
[class*="tier"][style*="#fff"],
div[style*="background:#fff"]:not(button):not(input),
div[style*="background: #fff"]:not(button):not(input),
div[style*="background:#ffffff"]:not(button):not(input),
div[style*="background-color:#fff"]:not(button):not(input) {
  background: var(--bg-2) !important;
  color: var(--text) !important;
}
[style*="color:#0a0a0a"],[style*="color: #0a0a0a"],
[style*="color:#1a1a18"],[style*="color:#333333"] {
  color: var(--text) !important;
}
[style*="color:#555"],[style*="color: #555"],
[style*="color:#666"],[style*="color: #666"],
[style*="color:#3a3a32"] {
  color: var(--text-2) !important;
}
[style*="color:#999"],[style*="color: #999"],
[style*="color:#aaa"],[style*="color: #aaa"] {
  color: var(--text-3) !important;
}
[style*="border:1px solid #e0e0d8"],
[style*="border: 1px solid #e0e0d8"],
[style*="border-bottom:1px solid #e0e0d8"],
[style*="border-top:1px solid #e0e0d8"] {
  border-color: var(--border) !important;
}

/* ── GENERAL VISIBILITY CATCH-ALL ───────────────────────── */
main, main *, section *, article *, .content * {
  pointer-events: auto;
}
canvas.wp-aurora, canvas#wp-hero-prism, .wp-cursor-glow {
  pointer-events: none !important;
  user-select: none !important;
}
canvas { display: none !important; }
canvas.wp-aurora, canvas#wp-hero-prism,
canvas.wp-cursor-canvas { display: block !important; }

/* ── SCROLLBAR ───────────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: #333; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #555; }

/* ── PAGE LOAD ANIMATION ─────────────────────────────────── */
body { animation: wpPageIn 0.35s ease both; }
@keyframes wpPageIn { from { opacity:0; } to { opacity:1; } }

/* ── REDUCED MOTION ──────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; }
  body { animation: none !important; }
  .wp-reveal { opacity: 1 !important; transform: none !important; }
}


/* ═══════════════════════════════════════════════════════════════
   NUCLEAR END — these rules win all cascade conflicts
   Last in file = highest cascade authority for !important ties
   ═══════════════════════════════════════════════════════════════ */
:root {
  --bg:   #000000;
  --bg-1: #0a0a0a;
  --bg-2: #111111;
  --bg-3: #1a1a1a;
}
html {
  background: #000000 !important;
  background-color: #000000 !important;
}
html body {
  background: #000000 !important;
  background-color: #000000 !important;
  color: #ffffff !important;
}
body, body[class], body[id],
body.test-body, body.report-body, body.intro-page {
  background: #000000 !important;
  background-color: #000000 !important;
  color: #ffffff !important;
}

/* ── TEST INTRO PAGE CONTRAST FIX ───────────────────────── */

/* Feature card titles — pure white, not muted blue */
[class*="intro__feature"] h3,
[class*="intro__feature"] h4,
[class*="feature"] h3,
[class*="feature"] h4,
[class*="feature-title"],
[class*="feature__title"],
[class*="what-you"] h3,
[class*="what-you"] h4 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  font-weight: 600 !important;
}

/* Feature card body text — readable light gray */
[class*="intro__feature"] p,
[class*="intro__feature"] li,
[class*="feature"] p,
[class*="feature"] li {
  color: #c8c8c8 !important;
  opacity: 1 !important;
}

/* "HOW THIS TEST WORKS" label — brighter */
[class*="how-it-works"] > *:first-child,
[class*="section-label"],
[class*="eyebrow"],
.section-eyebrow,
[style*="letter-spacing"][style*="text-transform"] {
  color: #4da3ff !important;
  opacity: 1 !important;
}

/* Step numbers (01, 02, 03) — bright blue accent */
[class*="step-num"],
[class*="step__num"],
[class*="step-number"],
[class*="intro__step"] > *:first-child {
  color: #4da3ff !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}

/* Step body text — clearly readable */
[class*="intro__step"] p,
[class*="intro__step"] span,
[class*="step"] p,
[class*="how-it"] p,
[class*="how-it"] li {
  color: #c8c8c8 !important;
  opacity: 1 !important;
}

/* Diamond/icon accent color — keep blue but brighter */
[class*="feature"] svg,
[class*="feature"] i,
[class*="feature__icon"],
[class*="intro__icon"] {
  color: #4da3ff !important;
  fill: #4da3ff !important;
  opacity: 1 !important;
}


/* Any heading that's rendering as semi-transparent */
h1, h2, h3, h4, h5, h6 {
  opacity: 1 !important;
}

/* Catch-all: any text with opacity < 1 inside dark containers */
[class*="dark"] *, [class*="dark-bg"] *,
[style*="background:#0"], [style*="background:#1"] {
  opacity: 1 !important;
}


/* ── TEST INTRO PAGE — HEADING + ICON BOX FIXES ─────────── */

/* Main test title (h1) — pure white, high contrast */
.intro-hero h1,
[class*="intro"] h1,
[class*="test-hero"] h1,
[class*="page-hero"] h1,
body > main h1,
body h1:first-of-type {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

/* Catch the specific gradient/muted rendering on the test name */
h1, h1 * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}
/* Exception — hero gradient text keeps its gradient */
.hero h1 .gradient-accent,
.hero h1 .gradient-text {
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

/* Icon boxes — the white rounded rectangle behind the diamond.
   These are icon wrapper divs that need dark bg + proper centering */
[class*="feature"] [class*="icon"],
[class*="feature"] [class*="Icon"],
[class*="intro__feature"] > div:first-child,
[class*="feature-icon"],
[class*="icon-wrap"],
[class*="icon_wrap"] {
  background: rgba(0, 112, 243, 0.12) !important;
  border: 1px solid rgba(0, 112, 243, 0.25) !important;
  border-radius: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  flex-shrink: 0 !important;
}

/* Ensure feature card rows are flex so icon + text align */
[class*="intro__feature"],
[class*="feature-item"],
[class*="feature-row"] {
  display: flex !important;
  align-items: flex-start !important;
  gap: 1rem !important;
  border-left: none !important;
}

/* Text block beside icon takes remaining space */
[class*="intro__feature"] > div:last-child,
[class*="feature-item"] > div:last-child,
[class*="feature-text"] {
  flex: 1 !important;
}

/* ── INTRO PAGE — OVERLAP PREVENTION ────────────────────── */

/* Feature items: ensure normal block-flow, no absolute, no float */
[class*="intro__feature"],
[class*="intro__item"],
[class*="what-item"],
[class*="feature-item"],
[class*="feature-row"] {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  float: none !important;
  clear: both !important;
  overflow: visible !important;
}

/* Feature containers: normal column flex, no children popping out */
.intro__features,
[class*="intro__features"],
[class*="intro__what"],
[class*="what-grid"],
[class*="feature-list"] {
  position: relative !important;
  overflow: visible !important;
}

/* Intro description: sits above feature list, no clip */
[class*="intro__desc"],
[class*="intro__sub"],
[class*="intro-description"] {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
}

/* Kill any negative inline margin-top that causes overlap */
[class*="intro"] [style*="margin-top:-"],
[class*="intro"] [style*="margin-top: -"] {
  margin-top: 0 !important;
}

/* ── INTRO PAGE — CONTENT ABOVE AURORA CANVAS ───────────────
   The aurora blob canvas (interactive.js) is position:fixed;z-index:0;opacity:0.38
   and paints above static block elements (the description <p>) but below
   position:relative elements (the feature cards). Making container--text
   z-index:1 moves all intro content into one stacking layer above the aurora. */
.intro-page .container--text {
  position: relative !important;
  z-index: 1 !important;
}

/* ── INTRO PAGE — EXACT FIX (based on real HTML) ────────── */

/* Override CSS custom properties used by intro pages */
main.intro-page {
  --smoke:   #ffffff !important;
  --slate:   #a1a1a1 !important;
  --brass:   #4da3ff !important;
  --current: #4da3ff !important;
  --ink:     #ffffff !important;
}

/* Force normal block flow on the features list */
main.intro-page .intro__features {
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  float: none !important;
  clear: both !important;
  margin-top: 2rem !important;
  width: 100% !important;
  gap: 0 !important;
}

/* Each feature row */
main.intro-page .intro__feature {
  display: flex !important;
  align-items: flex-start !important;
  gap: 1rem !important;
  position: relative !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  padding: 1.25rem !important;
  margin: 0 !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
}

/* Icon span */
main.intro-page .intro__feature-icon {
  flex-shrink: 0 !important;
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(0,112,243,0.12) !important;
  border: 1px solid rgba(0,112,243,0.25) !important;
  border-radius: 10px !important;
  font-size: 1.1rem !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  float: none !important;
}

/* Text div beside icon */
main.intro-page .intro__feature > div {
  flex: 1 !important;
  min-width: 0 !important;
}

/* Description paragraph — ensure it sits above the features */
main.intro-page p.t-body {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  width: 100% !important;
  float: none !important;
  clear: both !important;
}

/* Step list */
main.intro-page .intro__step-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
}
main.intro-page .intro__step {
  display: flex !important;
  gap: 1rem !important;
  align-items: flex-start !important;
  position: relative !important;
  float: none !important;
}


/* ── FEATURE CARD INTERNAL OVERLAP FIX ──────────────────── */
/* Cards overlapping each other — reset all grid/position on items */

main.intro-page .intro__features {
  display: block !important;
  position: relative !important;
  overflow: visible !important;
}

main.intro-page .intro__feature {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 1rem !important;
  position: relative !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 1.25rem !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  grid-column: auto !important;
  grid-row: auto !important;
  grid-area: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

/* Separator between cards */
main.intro-page .intro__feature + .intro__feature {
  border-top: 1px solid rgba(255,255,255,0.07) !important;
  margin-top: 0 !important;
}


/* Disable ALL animations on intro feature items */
main.intro-page .intro__feature,
main.intro-page .intro__features * {
  animation: none !important;
  transition: none !important;
  transform: none !important;
  opacity: 1 !important;
  clip-path: none !important;
  visibility: visible !important;
}

