:root {
  --navy: #08142d;
  --blue: #4d78cf;
  --cyan: #acd8ee;
  --sky: #e8f1f5;
  --ink: #101a2c;
  --muted: #65728d;
  --line: rgba(168, 216, 244, .25);
}

body { font-family: Manrope, system-ui, sans-serif; }
.skip-link { position: fixed; z-index: 40; top: 12px; left: 12px; padding: 10px 14px; background: #fff; color: var(--ink); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.brand, .hero h1, .section h2, .pain-card h3, .benefit-card h3, .quiz-question legend, .quiz-result h3, .program-list summary strong, .review-layout h2, .faq h3, .about-copy h2 { font-family: Newsreader, Georgia, serif; letter-spacing: -.045em; }
.brand { font-size: 28px; letter-spacing: -.08em; }
.hero { background: #08142d; }
.hero__glow { width: 460px; height: 460px; opacity: .3; filter: blur(26px); }
.hero__rings { width: 540px; height: 540px; border-color: rgba(172, 216, 238, .3); box-shadow: none; }
.floating-card { border-radius: 8px; }
.glass-card { background: rgba(255, 255, 255, .11); border-color: rgba(214, 240, 255, .4); box-shadow: none; backdrop-filter: blur(10px); }
.hero__visual img { filter: saturate(.96) contrast(.97); box-shadow: 0 24px 60px rgba(0, 0, 0, .3); }
.button { box-shadow: none; }
.button--primary { background: #9dd8f2; }
.button--primary:hover { background: #fff; box-shadow: none; }
.section-light { background: #f4f1eb; }
.section-blue { background: #31569d; }
.section-sky { background: #dceaf2; }
.results { background-color: #08142d; background-image: url("../assets/reference/96edaa7bafb05c8a2f3fbea0ee9c68e978871f3f.jpg"); background-position: right center; background-repeat: no-repeat; background-size: 520px auto; background-blend-mode: screen; }
.section-heading--split, .section-heading--center { border-bottom: 0; }
.section-heading h2 { font-size: clamp(48px, 6vw, 78px); }
.pain-card { min-height: 300px; border-radius: 10px; border-color: rgba(49, 86, 157, .24); background: #eef5f8; box-shadow: none; }
.pain-card:hover { transform: translateY(-3px); box-shadow: none; }
.pain-card--accent { background: #b7dff0; }
.pain-card h3 { font-size: 30px; }
.quiz-box { background: #f4f1eb; color: var(--ink); border: 1px solid rgba(255,255,255,.55); border-radius: 10px; }
.quiz-progress { background: #d6e1e7; }
.quiz-progress__bar { background: var(--blue); }
.quiz-step { color: #65728d; }
.quiz-question legend { font-size: 31px; }
.quiz-question label { border-color: rgba(16, 26, 44, .2); border-radius: 8px; color: #465268; }
.quiz-question label:hover { border-color: var(--blue); background: rgba(49,86,157,.06); }
.quiz-result > p:not(.eyebrow) { color: #465268; }
.benefit-card { min-height: 190px; border-radius: 8px; background: rgba(255,255,255,.04); box-shadow: none; }
.benefit-card:hover { transform: none; border-color: rgba(174,222,255,.65); }
.benefit-card h3 { font-size: 25px; }
.program-list summary strong { font-size: 25px; }
.quote-card { border-radius: 10px; box-shadow: none; }
.review-layout h2, .about-copy h2, .final-layout h2 { font-size: clamp(54px, 6vw, 78px); }
.about-portrait img { height: 430px; object-fit: cover; object-position: 50% 86%; border-radius: 10px; }
.about-portrait { max-width: 470px; }
.lead-form { border-radius: 10px; box-shadow: none; }
.site-footer { background: #050d23; }
.mobile-nav, .mobile-cta { display: none; }
:focus-visible { outline: 3px solid #f5c25b; outline-offset: 3px; }

@media (max-width: 850px) {
  .site-header { width: calc(100% - 32px); }
  .site-header > .button { display: none; }
  .mobile-nav { position: relative; display: block; }
  .mobile-nav summary { display: grid; gap: 5px; width: 34px; padding: 8px 0; list-style: none; cursor: pointer; }
  .mobile-nav summary::-webkit-details-marker { display: none; }
  .mobile-nav summary span { display: block; width: 24px; height: 1px; background: #fff; }
  .mobile-nav nav { position: absolute; top: 43px; right: 0; display: grid; min-width: 190px; padding: 14px; border: 1px solid rgba(172,216,238,.5); border-radius: 8px; background: #08142d; box-shadow: 0 12px 30px rgba(0,0,0,.25); }
  .mobile-nav nav a { padding: 10px 0; border-bottom: 1px solid rgba(172,216,238,.2); color: #fff; font-size: 13px; }
  .mobile-nav nav a:last-child { border-bottom: 0; color: var(--cyan); }
}

@media (max-width: 480px) {
  .hero__rings { width: 380px; height: 380px; }
  .floating-card--top { right: -4px; }
  .floating-card--bottom { left: -4px; }
  .mobile-cta { position: fixed; z-index: 25; right: 12px; bottom: 12px; left: 12px; display: block; }
  .mobile-cta .button { width: 100%; box-shadow: 0 8px 24px rgba(0,0,0,.22); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
