@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

@font-face {
  font-family: 'Cal Sans';
  src: url('/assets/CalSans-Regular.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  --brand-blue: #6289FE;
  --brand-green: #01B689;
  --brand-navy: #101D3F;
  --brand-navy-deep: #101D3F;
  --brand-navy-soft: #101D3F;
  --brand-white: #F2F2F2;
  --brand-text: #F2F2F2;
  --brand-muted: #AEBBD3;
  --brand-line: rgba(98, 137, 254, .28);
  --brand-surface: rgba(255, 255, 255, .055);
  --brand-surface-strong: rgba(98, 137, 254, .11);
  --brand-gradient: linear-gradient(135deg, #6289FE, #01B689);
  --brand-heading: 'Cal Sans', 'Inter', Arial, sans-serif;
  --brand-body: 'Inter', Arial, sans-serif;
  --brand-radius-sm: 12px;
  --brand-radius: 22px;
  --brand-radius-lg: 32px;
  --brand-shadow: 0 24px 70px rgba(3, 10, 30, .32);
  --carbon: var(--brand-navy-deep);
  --petrol: var(--brand-blue);
  --teal: var(--brand-green);
  --teal-lt: var(--brand-green);
  --amber: var(--brand-green);
  --gold: var(--brand-green);
  --gold-light: var(--brand-blue);
  --indigo: var(--brand-blue);
  --warm-white: var(--brand-navy);
  --warm-white2: var(--brand-navy-deep);
  --offwhite: var(--brand-white);
  --text-primary: var(--brand-white);
  --text-secondary: var(--brand-muted);
  --text-muted: #8391AC;
  --glass-bg: rgba(255,255,255,.055);
  --glass-bg-strong: rgba(22,40,79,.94);
  --glass-border: var(--brand-line);
  --glass-shadow: var(--brand-shadow);
}

html { color-scheme: dark; scroll-behavior: smooth; }
body {
  background: var(--brand-navy) !important;
  color: var(--brand-text) !important;
  font-family: var(--brand-body) !important;
  -webkit-font-smoothing: antialiased;
}
main, section { background-color: var(--brand-navy); }
body::selection { background: var(--brand-green); color: var(--brand-navy); }

h1, h2, h3, h4, h5, h6,
.serif, .section-title, .nl-heading, .article-h1, .result-avg,
.stat-num, .stat-card-num, .about-stat-num, .fnum-val,
.book-title, .book-badge-big, .chapter-num, .chapter-content strong,
.author-card-name, .event-title, .founder-bio-name, .who-title,
.hero-form-card h1, .hero-form-card h3, .modal h3,
.ql-text-title, .why-card-title, .why-quote-text, .t-quote,
.wt-quote, .learn-text strong, .learn-quote-text {
  font-family: var(--brand-heading) !important;
  letter-spacing: .05em !important;
}
p, li, a, button, input, select, textarea, label, summary, small {
  font-family: var(--brand-body) !important;
}
h1 *, h2 *, h3 *, h4 *, h5 *, h6 * { font-family: var(--brand-heading) !important; }
svg text { font-family: var(--brand-body) !important; }

a { text-underline-offset: 3px; }
:focus-visible { outline: 3px solid var(--brand-green) !important; outline-offset: 3px; }

/* Shared chrome */
nav, #nav, .nav, .site-nav, .navbar, header.nav {
  background: rgba(16, 29, 63, .9) !important;
  border-color: var(--brand-line) !important;
  backdrop-filter: blur(18px) saturate(150%);
}
.nav-inner, .nav-container {
  background: transparent !important;
  border-color: transparent !important;
}
.nav-logo img, .footer-logo img { filter: brightness(0) invert(1); }
.nav-links a:not(.btn), .nav-link, .nav-dropdown-trigger { color: var(--brand-muted) !important; }
.nav-dropdown-trigger { border-color: transparent !important; box-shadow: none !important; }
.nav-dropdown-trigger:focus,
.nav-dropdown-trigger:focus-visible {
  outline: none !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--brand-white) !important;
  text-decoration: underline;
  text-decoration-color: var(--brand-green);
  text-underline-offset: 6px;
}
.nav-links a:not(.btn):hover, .nav-link:hover, .nav-dropdown-trigger:hover { color: var(--brand-white) !important; }
.nav-dropdown-menu, .dropdown-menu {
  background: var(--brand-navy-soft) !important;
  border: 1px solid var(--brand-line) !important;
  border-radius: var(--brand-radius-sm) !important;
  box-shadow: var(--brand-shadow) !important;
}

footer, .footer {
  background: var(--brand-navy-deep) !important;
  color: var(--brand-muted) !important;
  border-color: var(--brand-line) !important;
}
.footer-links a, footer a { color: var(--brand-muted) !important; }
.footer-links a:hover, footer a:hover { color: var(--brand-green) !important; }

/* Buttons */
.btn, button[type='submit'], input[type='submit'], .cta a, .form-submit,
.shopify-buy__btn {
  border-radius: 999px !important;
  font-family: var(--brand-body) !important;
  font-weight: 700 !important;
  letter-spacing: .04em;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}
.btn-primary, .btn-gradient, button[type='submit'], input[type='submit'], .form-submit {
  background: var(--brand-green) !important;
  color: var(--brand-navy-deep) !important;
  border-color: transparent !important;
  box-shadow: 0 12px 34px rgba(1,182,137,.2) !important;
}
.btn-amber, .btn-teal {
  background: var(--brand-green) !important;
  color: var(--brand-navy) !important;
  border-color: transparent !important;
  box-shadow: 0 12px 34px rgba(1,182,137,.18) !important;
}
.btn-primary:hover, .btn-amber:hover, .btn-teal:hover, .btn-gradient:hover,
button[type='submit']:hover, input[type='submit']:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 42px rgba(1,182,137,.28) !important;
}
.btn-hero {
  background: var(--brand-green) !important;
  color: var(--brand-navy-deep) !important;
  border-radius: 999px !important;
  box-shadow: 0 12px 34px rgba(1,182,137,.2) !important;
}
.btn-outline, .btn-secondary, .btn-ghost, .btn-glass {
  background: transparent !important;
  color: var(--brand-white) !important;
  border-color: var(--brand-line) !important;
}
.btn-outline:hover, .btn-secondary:hover, .btn-ghost:hover, .btn-glass:hover {
  border-color: var(--brand-green) !important;
  color: var(--brand-white) !important;
}

/* Surfaces and sections */
.section-alt, .section-dark, .dark-section, .hero, .blog-hero,
.article-hero, .final-cta, .bottom-cta, .wa-section, .nl-band,
.hero-section, .results, .assessment, .intro {
  background-color: var(--brand-navy-deep) !important;
}
#hero, .hero, .hero-section, .blog-hero, .article-hero {
  background: radial-gradient(circle at 82% 18%, rgba(1,182,137,.13), transparent 34%), radial-gradient(circle at 5% 100%, rgba(98,137,254,.15), transparent 36%), var(--brand-navy) !important;
}
.hero-bg {
  background: radial-gradient(circle at 82% 18%, rgba(1,182,137,.14), transparent 36%), radial-gradient(circle at 5% 100%, rgba(98,137,254,.16), transparent 38%), var(--brand-navy) !important;
}
.warm-section, .section-light, .light-section, .content-section,
.about-section, .testimonials, .events-section {
  background: var(--brand-navy) !important;
  color: var(--brand-text) !important;
}
.card, .feature-card, .why-card, .webinar-card, .testimonial-card,
.event-card, .gain-card, .reader-card, .buy-card, .author-card,
.stat-card, .chapter-card, .post-featured, .coming-soon,
.hero-form-card, .nl-form-panel, .wa-form-card, .modal,
.question-card, .result-card, .wheel-wrap, .form-card,
.learn-item, .about-card, .book-card, .event-chip {
  background: var(--brand-surface) !important;
  color: var(--brand-text) !important;
  border: 1px solid var(--brand-line) !important;
  border-radius: var(--brand-radius) !important;
  box-shadow: var(--brand-shadow);
}
.buy-card, .featured, .highlight-card, .result-card {
  background: linear-gradient(145deg, rgba(98,137,254,.14), rgba(1,182,137,.08)) !important;
}

.label, .eyebrow, .hero-eyebrow, .author-label, .part-num,
.book-eyebrow, .more-posts-label, .event-date, .category,
.section-kicker, .step-label {
  color: var(--brand-green) !important;
  font-family: var(--brand-body) !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase;
}
.text-amber, .text-teal { color: var(--brand-green) !important; }
.text-petrol { color: var(--brand-green) !important; }
.hero-headline .accent { color: var(--brand-green) !important; }
.hero-headline .amber { color: var(--brand-green) !important; }
.hero-headline .hero-key-stat { color: var(--brand-green) !important; }
h1 .accent, h2 .accent, h3 .accent { color: var(--brand-green) !important; }
.hero-pill-icon { background: var(--brand-blue) !important; }
h1 em, h2 em, h3 em { color: var(--brand-green) !important; }
.hero-badge, .webinar-eyebrow, .chip-symposium {
  background: rgba(1,182,137,.12) !important;
  border-color: rgba(1,182,137,.35) !important;
  color: var(--brand-green) !important;
}
.hero-badge .dot { background: var(--brand-green) !important; }
.nav-dropdown-menu .nd-icon { background: rgba(98,137,254,.14) !important; color: var(--brand-green) !important; }
.ql-bar-1, .ql-bar-3, .ql-bar-5 { background: linear-gradient(110deg, var(--brand-blue), var(--brand-green)) !important; }
.ql-bar-2, .ql-bar-4 { background: linear-gradient(110deg, var(--brand-green), var(--brand-blue)) !important; }
.ql-bar-1::before, .ql-bar-2::before, .ql-bar-3::before, .ql-bar-4::before, .ql-bar-5::before { background: rgba(255,255,255,.1) !important; }
.wol-segment.wol-active path { stroke: var(--brand-green) !important; }

/* Homepage newsletter: the intentional off-white brand surface. */
#newsletter .newsletter-inner {
  background: var(--brand-white) !important;
  color: var(--brand-navy) !important;
  border: 1px solid rgba(98,137,254,.32) !important;
  box-shadow: var(--brand-shadow) !important;
}
#newsletter .newsletter-inner::before,
#newsletter .newsletter-inner::after { display: none !important; }
#newsletter .nl-label { color: var(--brand-green) !important; }
#newsletter .nl-heading,
#newsletter .nl-sub,
#newsletter .nl-form-panel h3,
#newsletter .nl-form-panel p { color: var(--brand-navy) !important; }
#newsletter .nl-form-panel {
  background: #FFFFFF !important;
  border-color: rgba(98,137,254,.22) !important;
  box-shadow: none !important;
}
#newsletter .nl-form-panel .fc-wrap,
#newsletter .nl-form-panel [data-fc-seamless='true'] {
  background: #FFFFFF !important;
}

/* Normalize old light-page text */
.section-title, .section-heading, .hero h1, .hero h2, .blog-hero h1,
.article-h1, .post-featured h2, .more-posts-label, .about-title,
.learn-text strong, .chapter-content strong, .who-title, .author-card-name,
.founder-bio-name, .event-title, .nl-form-panel h3, .wa-form-card h3,
.hero-form-card h1, .hero-form-card h3, .modal h3 {
  color: var(--brand-white) !important;
}
.section-subtitle, .lede, .deck, .hero p, .article-body,
.post-featured p, .learn-text p, .chapter-content p, .bio-copy p,
.author-bio p, .t-role, .t-quote, .wt-quote, .footer-copy,
.result-msg, .question-help, .microcopy {
  color: var(--brand-muted) !important;
}
.article-body p, .article-body li { color: #DCE4F2 !important; }
.article-body h2, .article-body h3, .article-body strong { color: var(--brand-white) !important; }
.article-body a { color: var(--brand-green) !important; }
.pullquote, blockquote {
  background: var(--brand-surface-strong) !important;
  color: var(--brand-white) !important;
  border-color: var(--brand-blue) !important;
  border-radius: var(--brand-radius-sm) !important;
}
.pullquote p, blockquote p { color: var(--brand-white) !important; }

/* Inputs and embeds */
input, select, textarea {
  background: rgba(255,255,255,.07) !important;
  color: var(--brand-white) !important;
  border: 1px solid var(--brand-line) !important;
  border-radius: var(--brand-radius-sm) !important;
}
input::placeholder, textarea::placeholder { color: rgba(242,242,242,.5) !important; }
input:focus, select:focus, textarea:focus {
  border-color: var(--brand-green) !important;
  box-shadow: 0 0 0 3px rgba(1,182,137,.14) !important;
}
iframe { border-radius: var(--brand-radius-sm); }

/* Brand accents */
.stat-num, .stat-card-num, .about-stat-num, .fnum-val, .result-avg,
.price, .chapter-num { color: var(--brand-green) !important; }
.gradient-text {
  background: none !important;
  color: var(--brand-green) !important;
  -webkit-text-fill-color: var(--brand-green) !important;
}
hr, .divider { border-color: var(--brand-line) !important; }

/* Journal */
.journal-page {
  --brand-navy: #10171E;
  --brand-navy-deep: #10171E;
  --brand-navy-soft: #10171E;
}
body .hero h1 em { color: var(--brand-green) !important; }
.book-stage::before { background: radial-gradient(circle, rgba(1,182,137,.22), transparent 68%) !important; }
.book-cover { box-shadow: -7px 0 0 var(--brand-green), var(--brand-shadow) !important; }
.page-card, .reader-card, .buy-card { border-radius: var(--brand-radius) !important; }
.wheel { box-shadow: inset 0 0 0 18px var(--brand-navy), inset 0 0 0 20px var(--brand-line), var(--brand-shadow) !important; }
.wheel::before { background: var(--brand-navy-deep) !important; }
details { border-color: var(--brand-line) !important; }
summary { color: var(--brand-white) !important; }
summary::after { color: var(--brand-green) !important; }

/* Restrained display scale: Galvji is wide and needs more room than the old serif. */
#hero .hero-headline {
  max-width: 650px;
  font-size: clamp(42px, 4.15vw, 58px) !important;
  font-weight: 700 !important;
  line-height: 1.09 !important;
}
#hero .hero-headline > span:not(.hero-key-stat) { color: inherit !important; }
#hero .hero-actions .btn-primary {
  background: var(--brand-green) !important;
  color: var(--brand-navy) !important;
}
#hero .hero-actions .btn-glass {
  background: var(--brand-navy) !important;
  color: #FFFFFF !important;
  border-color: rgba(255,255,255,.28) !important;
  box-shadow: 0 12px 30px rgba(3,10,30,.16) !important;
}
#hero .hero-actions .btn-glass:hover {
  background: var(--brand-navy) !important;
  color: #FFFFFF !important;
  border-color: #FFFFFF !important;
}
#hero .hero-stats .stat-num { color: var(--brand-green) !important; }

body:has(#purchase) .hero h1 {
  max-width: 630px;
  font-size: clamp(46px, 5.4vw, 68px) !important;
  font-weight: 500 !important;
  line-height: .98 !important;
}
body:has(#purchase) h2 {
  font-size: clamp(34px, 4.2vw, 50px) !important;
  line-height: 1.08 !important;
}
body:has(#purchase) #story .author-card {
  overflow: hidden;
}
body:has(#purchase) #story .author-card > .author-meta {
  margin: 0 !important;
  padding: 18px 20px 20px !important;
}
.blog-hero h1 {
  max-width: 920px;
  font-size: clamp(42px, 5vw, 64px) !important;
  line-height: 1.08 !important;
}
.article-h1 {
  font-size: clamp(40px, 4.7vw, 58px) !important;
  line-height: 1.08 !important;
}
body:has(.hero-badge) > .hero h1,
body:has(.hero-badge) main > .hero h1 {
  max-width: 1120px;
  font-size: clamp(40px, 5vw, 60px) !important;
  line-height: 1.1 !important;
}

/* Interactive wheel pages */
.option, .choice, .rating-btn, .scale-btn {
  background: var(--brand-surface) !important;
  color: var(--brand-white) !important;
  border-color: var(--brand-line) !important;
  border-radius: var(--brand-radius-sm) !important;
}
.option:hover, .choice:hover, .rating-btn:hover, .scale-btn:hover,
.option.selected, .choice.selected, .rating-btn.active, .scale-btn.active {
  border-color: var(--brand-green) !important;
  background: rgba(1,182,137,.13) !important;
}
.progress-fill { background: var(--brand-gradient) !important; }

/* Homepage composition */
body:has(#wheel-of-life) .heading-lg {
  font-size: clamp(34px, 3.7vw, 48px) !important;
  line-height: 1.12 !important;
  text-wrap: balance;
}
body:has(#wheel-of-life) .sec-header { max-width: 720px; }
body:has(#wheel-of-life) .sec-header.center { max-width: 780px; }
body:has(#wheel-of-life) .body-lg { font-size: clamp(16px, 1.35vw, 18px) !important; }

/* Resource links use one quiet system instead of five competing gradients. */
body:has(#wheel-of-life) .ql-bar,
body:has(#wheel-of-life) .ql-bar-1,
body:has(#wheel-of-life) .ql-bar-2,
body:has(#wheel-of-life) .ql-bar-3,
body:has(#wheel-of-life) .ql-bar-4,
body:has(#wheel-of-life) .ql-bar-5 {
  background: rgba(255,255,255,.055) !important;
  border: 1px solid var(--brand-line) !important;
  box-shadow: 0 14px 34px rgba(3,10,30,.18) !important;
  color: var(--brand-white) !important;
}
body:has(#wheel-of-life) .ql-bar::before { background: rgba(1,182,137,.08) !important; }
body:has(#wheel-of-life) .ql-bar:hover {
  border-color: var(--brand-green) !important;
  box-shadow: 0 16px 38px rgba(1,182,137,.14) !important;
}
body:has(#wheel-of-life) .ql-icon {
  background: rgba(1,182,137,.12) !important;
  color: var(--brand-green) !important;
}
body:has(#wheel-of-life) .ql-text-label { color: var(--brand-green) !important; }
body:has(#wheel-of-life) .ql-text-title,
body:has(#wheel-of-life) .ql-arrow { color: var(--brand-white) !important; }

/* Give the wheel and its explanation equal visual weight. */
#wheel-of-life .wol-inner { align-items: center; gap: clamp(44px, 6vw, 76px); }
#wheel-of-life .wol-right { justify-content: center; }
#wheel-of-life .wol-card-inner,
#wheel-of-life .wol-quote { background: rgba(255,255,255,.05) !important; }
#wheel-of-life .wol-card-default p,
#wheel-of-life .wol-card-body,
#wheel-of-life .wol-quote blockquote { color: var(--brand-muted) !important; }
#wheel-of-life .wol-card-title,
#wheel-of-life .wol-card-question { color: var(--brand-white) !important; }
#wheel-of-life .wol-stat-num { color: var(--brand-blue) !important; }

/* Consistent content cards and readable supporting copy. */
body:has(#wheel-of-life) .why-card,
body:has(#wheel-of-life) .t-card,
body:has(#wheel-of-life) .event-card,
body:has(#wheel-of-life) .fnum {
  background: rgba(255,255,255,.045) !important;
  border: 1px solid var(--brand-line) !important;
  border-radius: 18px !important;
  box-shadow: 0 16px 42px rgba(3,10,30,.18) !important;
}
body:has(#wheel-of-life) .why-card-body,
body:has(#wheel-of-life) .t-quote,
body:has(#wheel-of-life) .event-meta,
body:has(#wheel-of-life) .footer-tagline,
body:has(#wheel-of-life) .footer-links a { font-size: 14px !important; }
body:has(#wheel-of-life) .t-stars { color: var(--brand-blue) !important; }
body:has(#wheel-of-life) .why-icon,
body:has(#wheel-of-life) .t-avatar { background: rgba(1,182,137,.14) !important; }
body:has(#wheel-of-life) .t-card .t-quote {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
body:has(#wheel-of-life) .t-card footer.t-author {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Lower-page spacing and two-column alignment. */
#community .wa-inner { align-items: center; gap: clamp(48px, 7vw, 88px); }
#community .wa-form-card {
  align-self: start;
  background: #FFFFFF !important;
  color: var(--brand-navy) !important;
  border-color: rgba(98,137,254,.28) !important;
}
#community .wa-form-card h3 { color: var(--brand-navy) !important; }
#community .wa-form-card > p { color: #52617D !important; }
#community .wa-form-card .fc-wrap { background: #FFFFFF !important; }
body:has(#wheel-of-life) #founder .founder-grid { align-items: center; }
body:has(#wheel-of-life) #founder .founder-nums { gap: 12px; }
body:has(#wheel-of-life) .gallery-section:last-of-type { padding-bottom: clamp(110px, 11vw, 150px); }
body:has(#wheel-of-life) footer { padding-top: 72px; }

/* Homepage rhythm: approved off-white alternates with the navy brand field. */
body:has(#wheel-of-life) #wheel-of-life,
body:has(#wheel-of-life) #quick-links,
body:has(#wheel-of-life) #why,
body:has(#wheel-of-life) .gallery-section,
body:has(#wheel-of-life) #events,
body:has(#wheel-of-life) #founder {
  background: var(--brand-white) !important;
  color: var(--brand-navy) !important;
  border-block: 1px solid rgba(98,137,254,.13);
}
body:has(#wheel-of-life) #wheel-of-life h2,
body:has(#wheel-of-life) #quick-links h2,
body:has(#wheel-of-life) #why h2,
body:has(#wheel-of-life) .gallery-section h2,
body:has(#wheel-of-life) #events h2,
body:has(#wheel-of-life) #founder h2,
body:has(#wheel-of-life) #why .why-card-title,
body:has(#wheel-of-life) #events .event-title {
  color: var(--brand-navy) !important;
}
body:has(#wheel-of-life) #wheel-of-life .body-lg,
body:has(#wheel-of-life) #why .why-card-body,
body:has(#wheel-of-life) .gallery-section .body-lg,
body:has(#wheel-of-life) #events .body-lg,
body:has(#wheel-of-life) #events .event-meta,
body:has(#wheel-of-life) #founder .founder-bio-text {
  color: #52617D !important;
}
body:has(#wheel-of-life) #why .why-testimonial {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body:has(#wheel-of-life) #why .why-testimonial-quote,
body:has(#wheel-of-life) #why .why-testimonial-name {
  color: var(--brand-navy) !important;
}
body:has(#wheel-of-life) #why .why-testimonial-role {
  color: #52617D !important;
}

/* Light-section surfaces remain crisp and use blue as their structural accent. */
body:has(#wheel-of-life) #wheel-of-life .wol-card-inner,
body:has(#wheel-of-life) #wheel-of-life .wol-quote,
body:has(#wheel-of-life) #wheel-of-life .wol-stat,
body:has(#wheel-of-life) #why .why-card,
body:has(#wheel-of-life) #events .event-card,
body:has(#wheel-of-life) #founder .fnum,
body:has(#wheel-of-life) #founder .cred-chip {
  background: #FFFFFF !important;
  border: 1px solid rgba(98,137,254,.25) !important;
  box-shadow: 0 16px 38px rgba(16,29,63,.08) !important;
}
body:has(#wheel-of-life) #wheel-of-life .wol-card-default p,
body:has(#wheel-of-life) #wheel-of-life .wol-card-body,
body:has(#wheel-of-life) #wheel-of-life .wol-quote blockquote {
  color: #52617D !important;
}
body:has(#wheel-of-life) #wheel-of-life .wol-card-title,
body:has(#wheel-of-life) #wheel-of-life .wol-card-question {
  color: var(--brand-navy) !important;
}
body:has(#wheel-of-life) #wheel-of-life .wol-stats {
  background: var(--brand-navy) !important;
  border-color: var(--brand-navy) !important;
  box-shadow: 0 16px 38px rgba(16,29,63,.14) !important;
}
body:has(#wheel-of-life) #wheel-of-life .wol-stat {
  background: var(--brand-navy) !important;
  border-color: rgba(255,255,255,.12) !important;
}
body:has(#wheel-of-life) #wheel-of-life .wol-stat-num { color: var(--brand-green) !important; }
body:has(#wheel-of-life) #wheel-of-life .wol-stat-label { color: var(--brand-white) !important; }
body:has(#wheel-of-life) #wheel-of-life .wol-quote blockquote {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Dark resource cards provide a deliberate anchor inside the light resource band. */
body:has(#wheel-of-life) #quick-links .ql-bar,
body:has(#wheel-of-life) #quick-links .ql-bar-1,
body:has(#wheel-of-life) #quick-links .ql-bar-2,
body:has(#wheel-of-life) #quick-links .ql-bar-3,
body:has(#wheel-of-life) #quick-links .ql-bar-4,
body:has(#wheel-of-life) #quick-links .ql-bar-5 {
  background: var(--brand-navy) !important;
  border-color: rgba(98,137,254,.38) !important;
}
body:has(#wheel-of-life) #quick-links .ql-video-wrap {
  border: 1px solid rgba(98,137,254,.24);
  box-shadow: 0 18px 42px rgba(16,29,63,.12);
}
body:has(#wheel-of-life) #why .why-quote-card {
  background: var(--brand-navy) !important;
  color: var(--brand-white) !important;
  border-color: rgba(98,137,254,.35) !important;
}
body:has(#wheel-of-life) #why .why-quote-text { color: var(--brand-white) !important; }
body:has(#wheel-of-life) #events .btn-outline,
body:has(#wheel-of-life) #founder .btn-glass {
  color: var(--brand-navy) !important;
  border-color: rgba(98,137,254,.5) !important;
}
body:has(#wheel-of-life) #founder .fnum-label,
body:has(#wheel-of-life) #founder .cred-chip { color: #52617D !important; }
body:has(#wheel-of-life) #founder .fnum-val { color: var(--brand-green) !important; }

/* Blog index: editorial navy introduction, off-white reading surface, quiet CTA band. */
body:has(.blog-hero) .blog-hero {
  padding-top: clamp(110px, 10vw, 140px);
  padding-bottom: clamp(72px, 8vw, 104px);
}
body:has(.blog-hero) .posts-section {
  background: var(--brand-white) !important;
  color: var(--brand-navy) !important;
  padding-block: clamp(72px, 8vw, 104px) !important;
}
body:has(.blog-hero) .featured-label,
body:has(.blog-hero) .more-posts-sub { color: #64718A !important; }
body:has(.blog-hero) .featured-label::before,
body:has(.blog-hero) .featured-label::after { background: rgba(98,137,254,.22) !important; }
body:has(.blog-hero) .post-featured,
body:has(.blog-hero) .coming-soon {
  background: #FFFFFF !important;
  color: var(--brand-navy) !important;
  border: 1px solid rgba(98,137,254,.25) !important;
  box-shadow: 0 18px 46px rgba(16,29,63,.08) !important;
}
body:has(.blog-hero) .post-featured-visual {
  background: var(--brand-blue) !important;
}
body:has(.blog-hero) .post-featured-visual::after { display: none !important; }
body:has(.blog-hero) .post-featured h2,
body:has(.blog-hero) .post-featured .post-byline-name,
body:has(.blog-hero) .more-posts-label { color: var(--brand-navy) !important; }
body:has(.blog-hero) .post-featured h2 .accent,
body:has(.blog-hero) .post-featured .read-link,
body:has(.blog-hero) .coming-soon h3 { color: var(--brand-green) !important; }
body:has(.blog-hero) .blog-hero h1 .accent { color: var(--brand-green) !important; }
body:has(.blog-hero) .post-featured p,
body:has(.blog-hero) .post-featured .post-byline-detail,
body:has(.blog-hero) .coming-soon p { color: #52617D !important; }
body:has(.blog-hero) .more-posts-label {
  font-size: clamp(28px, 3vw, 38px) !important;
  letter-spacing: -.02em !important;
  text-transform: none !important;
}
body:has(.blog-hero) .nl-band {
  background: var(--brand-navy) !important;
  border-top: 1px solid var(--brand-line);
}
body:has(.blog-hero) .nl-band::before,
body:has(.blog-hero) .nl-band::after { display: none !important; }
body:has(.blog-hero) .nl-band .eyebrow { color: var(--brand-green) !important; }
body:has(.blog-hero) .nl-band h2 { color: var(--brand-white) !important; }
body:has(.blog-hero) .nl-band p { color: var(--brand-muted) !important; }
body:has(.blog-hero) .nl-band .btn {
  background: var(--brand-green) !important;
  color: var(--brand-navy) !important;
}

/* Blog article inline emphasis follows the same green editorial language. */
body:has(.article-h1) .article-h1 .accent,
body:has(.article-h1) .article-body em,
body:has(.article-h1) .article-body a,
body:has(.article-h1) .post-nav a:hover { color: var(--brand-green) !important; }

/* Free eBook landing page */
body:has(.trust-bar):has(#inside) .hero-headline .amber,
body:has(.trust-bar):has(#inside) #download h2 span,
body:has(.trust-bar):has(#inside) .cta-band h2 span {
  color: var(--brand-green) !important;
}
body:has(.trust-bar):has(#inside) #hero .btn-glass-light {
  background: #FFFFFF !important;
  color: var(--brand-navy) !important;
  border-color: #FFFFFF !important;
}
body:has(.trust-bar):has(#inside) .trust-bar {
  background: var(--brand-white) !important;
  border-block: 1px solid rgba(98,137,254,.2);
}
body:has(.trust-bar):has(#inside) .trust-item { border-color: rgba(98,137,254,.22) !important; }
body:has(.trust-bar):has(#inside) .trust-label { color: var(--brand-navy) !important; }

body:has(.trust-bar):has(#inside) #download,
body:has(.trust-bar):has(#inside) #about,
body:has(.trust-bar):has(#inside) .cta-band {
  background: var(--brand-white) !important;
  color: var(--brand-navy) !important;
}
body:has(.trust-bar):has(#inside) #download h2,
body:has(.trust-bar):has(#inside) #download h3,
body:has(.trust-bar):has(#inside) #download strong,
body:has(.trust-bar):has(#inside) #about h2,
body:has(.trust-bar):has(#inside) #about h3,
body:has(.trust-bar):has(#inside) .cta-band h2 {
  color: var(--brand-navy) !important;
}
body:has(.trust-bar):has(#inside) #download .text-secondary,
body:has(.trust-bar):has(#inside) #download p,
body:has(.trust-bar):has(#inside) #about .about-bio,
body:has(.trust-bar):has(#inside) .cta-band p { color: #52617D !important; }
body:has(.trust-bar):has(#inside) #download blockquote {
  background: transparent !important;
  box-shadow: none !important;
  border-width: 0 0 0 3px !important;
  border-radius: 0 !important;
}
body:has(.trust-bar):has(#inside) #download blockquote p:first-child { color: var(--brand-navy) !important; }
body:has(.trust-bar):has(#inside) #download .reveal.d1 > .glass {
  background: #FFFFFF !important;
  border: 1px solid rgba(98,137,254,.25) !important;
  box-shadow: 0 18px 46px rgba(16,29,63,.08) !important;
}
body:has(.trust-bar):has(#inside) #download .fc-wrap,
body:has(.trust-bar):has(#inside) #download [data-fc-seamless='true'] { background: #FFFFFF !important; }

body:has(.trust-bar):has(#inside) #inside,
body:has(.trust-bar):has(#inside) #testimonials {
  background: var(--brand-navy) !important;
  color: var(--brand-white) !important;
}
body:has(.trust-bar):has(#inside) #inside h2,
body:has(.trust-bar):has(#inside) #inside .chapter-content strong,
body:has(.trust-bar):has(#inside) #inside .who-title,
body:has(.trust-bar):has(#inside) #testimonials h2,
body:has(.trust-bar):has(#inside) #testimonials .t-author-name { color: var(--brand-white) !important; }
body:has(.trust-bar):has(#inside) #inside .chapter-content p,
body:has(.trust-bar):has(#inside) #inside .who-item,
body:has(.trust-bar):has(#inside) #testimonials .t-quote,
body:has(.trust-bar):has(#inside) #testimonials .t-author-role { color: var(--brand-muted) !important; }
body:has(.trust-bar):has(#inside) #inside .chapter-num,
body:has(.trust-bar):has(#inside) #about .about-stat-num { color: var(--brand-green) !important; }
body:has(.trust-bar):has(#inside) #inside .stat-card,
body:has(.trust-bar):has(#inside) #inside .who-card,
body:has(.trust-bar):has(#inside) #testimonials .t-card {
  background: rgba(255,255,255,.05) !important;
  border: 1px solid var(--brand-line) !important;
  box-shadow: 0 16px 40px rgba(3,10,30,.18) !important;
}
body:has(.trust-bar):has(#inside) #testimonials .t-stars { color: var(--brand-green) !important; }
body:has(.trust-bar):has(#inside) .cta-band::before,
body:has(.trust-bar):has(#inside) .cta-band::after { display: none !important; }
body:has(.trust-bar):has(#inside) .cta-band .btn-amber {
  background: var(--brand-green) !important;
  color: var(--brand-navy) !important;
}
body:has(.trust-bar):has(#inside) .cta-band .btn-glass-light {
  background: var(--brand-navy) !important;
  color: var(--brand-white) !important;
  border-color: var(--brand-navy) !important;
}

/* Wealth Clinic landing page */
body:has(#learn):has(#speaker) #hero .hero-form-card {
  background: #FFFFFF !important;
  color: var(--brand-navy) !important;
  border-color: rgba(98,137,254,.28) !important;
  box-shadow: 0 20px 55px rgba(3,10,30,.2) !important;
}
body:has(#learn):has(#speaker) #hero .hero-form-card h3 { color: var(--brand-navy) !important; }
body:has(#learn):has(#speaker) #hero .hero-form-card > p { color: #52617D !important; }
body:has(#learn):has(#speaker) #hero .hero-form-card .fc-wrap,
body:has(#learn):has(#speaker) #hero .hero-form-card [data-fc-seamless='true'] { background: #FFFFFF !important; }
body:has(#learn):has(#speaker) #hero .btn-glass-light {
  background: #FFFFFF !important;
  color: var(--brand-navy) !important;
  border-color: #FFFFFF !important;
}
body:has(#learn):has(#speaker) .divider-band {
  background:
    radial-gradient(circle at 82% 18%, rgba(1,182,137,.16), transparent 36%),
    radial-gradient(circle at 5% 100%, rgba(98,137,254,.18), transparent 40%),
    var(--brand-navy) !important;
  border-block: 1px solid rgba(98,137,254,.3);
}
body:has(#learn):has(#speaker) .divider-band .stat-num { color: var(--brand-green) !important; }
body:has(#learn):has(#speaker) .divider-band .stat-label { color: var(--brand-white) !important; }
body:has(#learn):has(#speaker) .divider-band .stat-item { border-color: rgba(255,255,255,.14) !important; }

body:has(#learn):has(#speaker) #learn {
  background: var(--brand-white) !important;
  color: var(--brand-navy) !important;
}
body:has(#learn):has(#speaker) #learn h2,
body:has(#learn):has(#speaker) #learn .learn-text strong { color: var(--brand-navy) !important; }
body:has(#learn):has(#speaker) #learn .learn-text p { color: #52617D !important; }
body:has(#learn):has(#speaker) #learn .learn-item {
  background: #FFFFFF !important;
  border: 1px solid rgba(98,137,254,.24) !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 32px rgba(16,29,63,.07) !important;
  padding: 18px 20px !important;
}
body:has(#learn):has(#speaker) #learn .learn-event-card {
  background: var(--brand-navy) !important;
  border: 1px solid rgba(98,137,254,.38) !important;
  box-shadow: 0 18px 42px rgba(16,29,63,.14) !important;
}

body:has(#learn):has(#speaker) #speaker {
  background: var(--brand-white) !important;
  color: var(--brand-navy) !important;
}
body:has(#learn):has(#speaker) #speaker h2,
body:has(#learn):has(#speaker) #speaker .speaker-name { color: var(--brand-navy) !important; }
body:has(#learn):has(#speaker) #speaker .speaker-bio { color: #52617D !important; }
body:has(#learn):has(#speaker) #speaker .accolade-text { color: #52617D !important; }
body:has(#learn):has(#speaker) #speaker .accolade-text strong { color: var(--brand-navy) !important; }
body:has(#learn):has(#speaker) #speaker .speaker-cred {
  background: #FFFFFF !important;
  border-color: rgba(98,137,254,.25) !important;
  color: var(--brand-navy) !important;
}

body:has(#learn):has(#speaker) .cta-band {
  background:
    radial-gradient(circle at 82% 18%, rgba(1,182,137,.16), transparent 36%),
    radial-gradient(circle at 5% 100%, rgba(98,137,254,.18), transparent 40%),
    var(--brand-navy) !important;
  color: var(--brand-white) !important;
}
body:has(#learn):has(#speaker) .cta-band::before,
body:has(#learn):has(#speaker) .cta-band::after { display: none !important; }
body:has(#learn):has(#speaker) .cta-band h2 { color: var(--brand-white) !important; }
body:has(#learn):has(#speaker) .cta-band h2 span { color: var(--brand-green) !important; }
body:has(#learn):has(#speaker) .cta-band p { color: var(--brand-muted) !important; }
body:has(#learn):has(#speaker) .cta-band .btn-amber {
  background: var(--brand-green) !important;
  color: var(--brand-navy) !important;
}
body:has(#learn):has(#speaker) .cta-band .btn-glass-light {
  background: #FFFFFF !important;
  color: var(--brand-navy) !important;
  border-color: #FFFFFF !important;
}

/* Tax landing page uses unique utility classes */
.bg-white, .bg-gray, .bg-light { background: var(--brand-navy) !important; }
.text-dark, .text-gray, .text-black { color: var(--brand-white) !important; }

@media (max-width: 860px) {
  .card, .feature-card, .why-card, .webinar-card, .testimonial-card,
  .event-card, .gain-card, .reader-card, .buy-card, .hero-form-card,
  .nl-form-panel, .wa-form-card, .modal, .question-card, .result-card {
    border-radius: 18px !important;
  }
  .nav-links, .nav-menu { color: var(--brand-white); }
  .hero-actions { flex-wrap: wrap !important; }
}

@media (max-width: 600px) {
  h1, .hero h1, .hero-headline, .blog-hero h1, .article-h1, .intro h1 {
    max-width: 100% !important;
    font-size: clamp(30px, 9vw, 40px) !important;
    line-height: 1.12 !important;
    overflow-wrap: normal;
  }
  h2, .section-title, .section-heading {
    max-width: 100% !important;
    font-size: clamp(25px, 7vw, 34px) !important;
    line-height: 1.18 !important;
  }
  .container, .hero-inner, .hero-content, .nav-inner, .footer-inner {
    max-width: 100% !important;
  }
  .hero-actions .btn, .hero-actions a { white-space: normal !important; text-align: center; }
  .hero-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .hero-stats > :last-child { grid-column: 1 / -1; }
  img, svg, iframe { max-width: 100%; }
}

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