:root {
  --bg: #f7f6f3;
  --bg-deep: #eee9dd;
  --surface: #ffffffe8;
  --surface-solid: #ffffff;
  --surface-soft: #f0ece4;
  --ink: #252632;
  --ink-soft: #6f6d6a;
  --line: #25263220;
  --line-strong: #2526323d;
  --brand: #171b31;
  --brand-soft: #343a61;
  --accent: #bf8f32;
  --accent-light: #f5d67a;
  --accent-ink: #252632;
  --shadow: 0 24px 80px #2526321c;
}

body {
  background: radial-gradient(circle at 92% 8%, #b9a8d036, transparent 25rem), var(--bg);
}

.site-header {
  color: var(--brand);
  background: linear-gradient(100deg, #ffffff 0%, #f7f6f3 52%, #d8c49a2e 100%);
  border-bottom-color: #25263224;
}

.site-header::before {
  background: linear-gradient(90deg, #bf8f32 0%, #f5d67a 28%, #bf8f32 52%, #d8c49a 78%, #bf8f32 100%);
}

.logo {
  width: 76px;
  height: 60px;
  padding: 0;
  border: 1px solid #bf8f325c;
  border-radius: 15px;
  background-color: #ffffff;
  background-image: url("/assets/logo-approved.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 56px auto;
  box-shadow: inset 0 1px #ffffff, 0 8px 18px #25263214;
}

.logo-mark,
.logo-wordmark {
  display: none;
}

.nav {
  border-color: #25263224;
  background: var(--brand);
  color: #f7f6f3;
  border-color: #343a61;
  box-shadow: inset 0 1px #ffffff14, 0 8px 18px #171b3138;
}

.nav > a:not(.button) {
  color: #f7f6f3;
  font-size: .86rem;
}

.nav > a:not(.button):hover {
  color: var(--accent-light);
}

.nav {
  position: relative;
  min-height: 56px;
  justify-content: center;
  gap: clamp(24px, 3vw, 42px);
  padding-right: 7px;
}

.header-inner {
  gap: 26px;
}

.nav .nav-cta {
  position: absolute;
  top: 6px;
  right: 7px;
}

.icon-button {
  color: #f7f6f3;
  background: var(--brand);
  border-color: #343a61;
  box-shadow: inset 0 1px #ffffff14, 0 8px 18px #171b3138;
}

.icon-button:hover {
  background: var(--brand-soft);
  border-color: var(--accent-light);
}

.header-actions > .icon-button:not(.menu-button) {
  display: none;
}

.button {
  border-color: var(--accent);
  background: var(--accent);
  box-shadow: 0 12px 32px #bf8f323d;
}

.button:hover {
  border-color: var(--accent-light);
  background: var(--accent-light);
}

.eyebrow,
.text-link,
.team-role,
.neuro-label {
  color: var(--brand);
}

.hero .eyebrow {
  color: var(--accent-light);
}

.hero .text-link-light {
  color: #f7f6f3;
}

.hero .text-link-light:hover {
  color: var(--accent-light);
}

.proof-strip {
  color: #f7f6f3;
  background: var(--brand);
  border-bottom-color: #343a61;
}

.proof-grid > div,
.proof-grid > div:last-child {
  border-color: #ffffff24;
}

.proof-grid strong {
  color: #f7f6f3;
}

.proof-grid span {
  color: #d8c49a;
}

.manifesto,
.book-feature {
  background: radial-gradient(circle at 8% 18%, #f5d67a4a, transparent 22rem), linear-gradient(118deg, #ffffff 0 59%, #f0ece4 59% 100%);
}

.programs {
  color: #f7f6f3;
  background: radial-gradient(circle at 8% 0%, #b9a8d04a, transparent 28rem), linear-gradient(135deg, #343a61 0%, #171b31 62%, #171b31 100%);
  border-color: #343a61;
}

.programs .section-lead,
.program-card p,
.program-topline span {
  color: #d8c49a;
}

.programs .eyebrow,
.neurographica .eyebrow,
.quantum .eyebrow {
  color: var(--accent-light);
}

.programs h2,
.program-card h3,
.program-bottom strong {
  color: #f7f6f3;
}

.program-card,
.program-card-featured {
  background: #343a6133;
  border-color: #ffffff24;
  box-shadow: inset 0 1px #ffffff14;
}

.program-card:hover,
.program-card.is-selected {
  border-color: var(--accent-light);
  box-shadow: 0 22px 60px #0f132b80;
}

.program-bottom button {
  color: var(--accent-light);
}

.footer {
  color: #f7f6f3;
  background: var(--brand);
  border-top-color: #343a61;
}

.footer-grid > p,
.footer-links a,
.footer-meta {
  color: #d8c49a;
}

.neurographica,
.quantum {
  color: #f7f6f3;
  background: radial-gradient(circle at 88% 8%, #343a61 0%, transparent 28rem), linear-gradient(135deg, #171b31 0%, #20264b 100%);
  border-color: #343a61;
}

.neurographica h2,
.neurographica h3,
.neurographica blockquote,
.neurographica .neuro-statement,
.quantum h2 {
  color: #f7f6f3;
}

.neurographica p,
.quantum p {
  color: #d8c49a;
}

.neurographica .neuro-label {
  color: var(--accent-light);
}

.neurographica .neuro-statement,
.neurographica .neuro-questions,
.neurographica .neuro-why {
  border-color: #ffffff24;
}

.footer .logo,
.legal-header .logo {
  width: 86px;
  height: 86px;
  background-size: 78px auto;
  background-color: #ffffff;
  background-image: url("/assets/logo-approved.png") !important;
}

@media (width <= 767px) {
  .nav {
    justify-content: stretch;
    padding-right: 16px;
  }

  .nav .nav-cta {
    position: static;
    width: 100%;
    margin-top: 8px;
  }

  .logo {
    width: 58px;
    height: 58px;
    border-radius: 15px;
    background-size: 52px auto;
    box-shadow: none;
  }
}

@media (width <= 1200px) {
  .header-actions .menu-button {
    display: grid;
  }
}

@media (width <= 1200px) and (width > 767px) {
  .nav {
    top: var(--header-height);
    opacity: 0;
    pointer-events: none;
    background: var(--brand);
    border: 0;
    border-bottom: 1px solid #343a61;
    border-radius: 0;
    align-items: stretch;
    padding: 22px 24px 28px;
    transition: opacity .18s, transform .18s;
    display: grid;
    position: fixed;
    left: 0;
    right: 0;
    transform: translateY(-12px);
    box-shadow: 0 18px 26px #171b3138;
    justify-content: stretch;
  }

  .nav.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .nav > a:not(.button) {
    padding: 11px 8px;
    font-size: 1rem;
    display: block;
  }

  .nav .nav-cta {
    position: static;
    width: 100%;
    margin-top: 8px;
  }
}
