:root {
  color-scheme: dark;
  --bg: #07101e;
  --bg-soft: #091423;
  --surface: rgba(14, 22, 38, .8);
  --surface-solid: #0b1627;
  --field: #0d1a2c;
  --field-text: #eef5ff;
  --card-a: rgba(14, 26, 44, .94);
  --card-b: rgba(9, 17, 31, .95);
  --feature-a: rgba(20, 35, 59, .84);
  --feature-b: rgba(9, 18, 32, .96);
  --soft-fill: rgba(255, 255, 255, .04);
  --shadow: rgba(0, 0, 0, .34);
  --copy: #b3bfd0;
  --copy-strong: #edf4fe;
  --button-copy: #041017;
  --subtle-copy: #aab7c8;
  --card-link: #e6eef8;
  --tag-copy: #8febdf;
  --fact-copy: #c7d2e1;
  --fact-label: #a5b2c4;
  --form-label: #aab7c8;
  --form-copy: #aab7c8;
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    color-scheme: light;
    --ink: #10203a;
    --muted: #52647d;
    --line: rgba(29, 65, 103, .16);
    --panel: rgba(255, 255, 255, .82);
    --cyan: #087f7b;
    --violet: #6654c9;
    --amber: #a76512;
    --bg: #f5f8fc;
    --bg-soft: #eaf2f8;
    --surface: rgba(255, 255, 255, .84);
    --surface-solid: #edf3f8;
    --field: #fff;
    --field-text: #10203a;
    --card-a: rgba(255, 255, 255, .98);
    --card-b: rgba(241, 247, 252, .98);
    --feature-a: rgba(236, 245, 250, .96);
    --feature-b: rgba(255, 255, 255, .98);
    --soft-fill: rgba(18, 53, 88, .05);
    --shadow: rgba(28, 56, 86, .14);
    --copy: #52647d;
    --copy-strong: #10203a;
    --button-copy: #fff;
    --subtle-copy: #52647d;
    --card-link: #075f5c;
    --tag-copy: #075f5c;
    --fact-copy: #263c56;
    --fact-label: #52647d;
    --form-label: #435a74;
    --form-copy: #435a74;
  }
}

:root[data-theme="light"] {
  color-scheme: light;
  --ink: #10203a;
  --muted: #52647d;
  --line: rgba(29, 65, 103, .16);
  --panel: rgba(255, 255, 255, .82);
  --cyan: #087f7b;
  --violet: #6654c9;
  --amber: #a76512;
  --bg: #f5f8fc;
  --bg-soft: #eaf2f8;
  --surface: rgba(255, 255, 255, .84);
  --surface-solid: #edf3f8;
  --field: #fff;
  --field-text: #10203a;
  --card-a: rgba(255, 255, 255, .98);
  --card-b: rgba(241, 247, 252, .98);
  --feature-a: rgba(236, 245, 250, .96);
  --feature-b: rgba(255, 255, 255, .98);
  --soft-fill: rgba(18, 53, 88, .05);
  --shadow: rgba(28, 56, 86, .14);
  --copy: #52647d;
  --copy-strong: #10203a;
  --button-copy: #fff;
  --subtle-copy: #52647d;
  --card-link: #075f5c;
  --tag-copy: #075f5c;
  --fact-copy: #263c56;
  --fact-label: #52647d;
  --form-label: #435a74;
  --form-copy: #435a74;
}

html, body { max-width: 100%; overflow-x: clip; }
body { background: var(--bg); }
.brand-logo {
  position: relative;
  display: block;
  width: 149px;
  height: 40px;
  flex: 0 0 auto;
}
.brand-logo img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
}
.brand-logo-light { display: none !important; }
.brand-logo-dark { display: block !important; }
:root[data-theme="light"] .brand-logo-light { display: block !important; }
:root[data-theme="light"] .brand-logo-dark { display: none !important; }
:root[data-theme="dark"] .brand-logo-light { display: none !important; }
:root[data-theme="dark"] .brand-logo-dark { display: block !important; }
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) .brand-logo-light { display: block !important; }
  :root:not([data-theme="dark"]) .brand-logo-dark { display: none !important; }
}
.hero { isolation: isolate; overflow: hidden; }
.hero.hero--single { grid-template-columns: minmax(0, 1fr); }
.hero-video {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  opacity: .2;
  filter: saturate(.8) contrast(1.05);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.38) 22%, #000 64%, rgba(0,0,0,.55) 100%);
  pointer-events: none;
}
:root[data-theme="light"] .hero-video { opacity: .1; filter: saturate(.55) contrast(.9); mix-blend-mode: multiply; }
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) .hero-video { opacity: .1; filter: saturate(.55) contrast(.9); mix-blend-mode: multiply; }
}
.hero-copy, .advisor-card { position: relative; z-index: 1; }
.proof-strip { background: var(--bg-soft); }
.directory-toolbar { background: var(--surface-solid); }
.directory-toolbar input,
.directory-toolbar select,
.lead-form input,
.lead-form select,
.lead-form textarea,
.provider-form input,
.provider-form select,
.provider-form textarea { background: var(--field); color: var(--field-text); }
.program-card,
.guide-grid > a { background: linear-gradient(145deg, var(--card-a), var(--card-b)); }
.path-card h3,
.program-card h3,
.guide-grid h3, .guide-grid h2 { color: var(--ink); }
.path-card > p:not(.path-eyebrow),
.program-summary,
.guide-grid p { color: var(--muted); }
.path-eyebrow,
.program-provider,
.source-status,
.directory-meta,
.directory-note,
.program-footer,
.form-note,
.kicker { color: var(--subtle-copy); }
.path-card a,
.program-footer a,
.guide-grid b { color: var(--card-link); }
.program-path,
.guide-grid span { color: var(--tag-copy); }
.program-facts span { color: var(--fact-copy); background: var(--soft-fill); }
.program-facts small { color: var(--fact-label); }
.program-topics span { color: var(--subtle-copy); background: var(--soft-fill); }
.directory-toolbar label,
.lead-form label,
.provider-form label { color: var(--form-label); }
.lead-form .consent,
.provider-form .consent { color: var(--form-copy); }
.consent a,
.secondary-button { color: var(--card-link) !important; }
.method-section,
.match-section,
.status-card { background: linear-gradient(120deg, var(--feature-a), var(--feature-b)); }
.advisor-card { background: linear-gradient(145deg, var(--card-a), var(--card-b)); box-shadow: 0 36px 90px var(--shadow); }
.lead-form,
.provider-form { background: color-mix(in srgb, var(--surface) 82%, transparent); }
.nav-cta,
.advisor-options span,
.topic-list span,
.program-facts span,
.program-topics span { background: var(--soft-fill); }
.prose p,
.prose li { color: var(--copy); }
.prose strong { color: var(--copy-strong); }
.primary-button,
.prose a.primary-button,
.lead-form button,
.provider-form button { color: var(--button-copy); }

.theme-toggle {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 60;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: color-mix(in srgb, var(--bg) 88%, transparent);
  color: var(--ink);
  box-shadow: 0 10px 28px var(--shadow);
  backdrop-filter: blur(14px);
  cursor: pointer;
  font-size: 17px;
}
.theme-toggle:hover { border-color: var(--cyan); transform: translateY(-1px); }
.theme-toggle:focus-visible { outline: 3px solid color-mix(in srgb, var(--cyan) 30%, transparent); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
  .hero-video { display: none; }
}

@media (max-width: 700px) {
  .hero-video { opacity: .12; object-position: 62% 50%; }
  :root[data-theme="light"] .hero-video { opacity: .06; }
  .program-card,
  .guide-grid > a { min-height: auto; }
  .guide-grid h3, .guide-grid h2 { margin-top: 34px; }
  .program-summary { min-height: auto; }
}
