:root {
  --forest: #26172e;
  --navy: var(--forest); /* Legacy names map to the September 28 brand; public layout is preserved. */
  --navy-975: #26172e;
  --navy-950: #26172e;
  --navy-900: #26172e;
  --navy-800: #26172e;
  --navy-100: #cbbbe9;
  --navy-050: #cbbbe9;
  --aubergine: #714997;
  --aubergine-950: #26172e;
  --aubergine-800: #26172e;
  --aubergine-600: #714997;
  --aubergine-200: #cbbbe9;
  --aubergine-100: #cbbbe9;
  --gold: #d1bda1;
  --gold-light: #d1bda1;
  --gold-hover: #d1bda1;
  --gold-deep: #d1bda1;
  --ivory: #fff9f5;
  --charcoal: #26172e;
  --muted: #26172e;
  --white: #fff9f5;
  --line: #cbbbe9;
  --line-dark: rgba(255, 249, 245, .16);
  --success: #21643d;
  --whatsapp-green: #176c4b;
  --warning-bg: #fff9f5;
  --warning-text: #26172e;
  --font-display: "Aleylin Editorial", Didot, "Bodoni MT", Georgia, serif;
  --font-body: "Aleylin Sans", "Segoe UI", Arial, sans-serif;
  --shell: 1480px;
  --reading: 760px;
  --radius-sm: 12px;
  --radius: 22px;
  --radius-lg: 38px;
  --radius-xl: 64px;
  --shadow-sm: 0 12px 36px rgba(38, 23, 46, .08);
  --shadow-md: 0 28px 80px rgba(38, 23, 46, .16);
  --shadow-dark: 0 34px 90px rgba(0, 0, 0, .34);
  --space-section: clamp(4.75rem, 8.5vw, 9rem);
  --ease: cubic-bezier(.2, .7, .2, 1);
}

*,
*::before,
*::after { box-sizing: border-box; }

html {
  color-scheme: light;
  scroll-behavior: smooth;
  scroll-padding-top: 7rem;
  -webkit-text-size-adjust: 100%;
}

body {
  background: var(--white);
  color: var(--charcoal);
  font-family: var(--font-body);
  font-size: 1.0625rem;
  line-height: 1.68;
  margin: 0;
  min-width: 0;
  overflow-wrap: break-word;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.menu-open { overflow: hidden; }
main { overflow: clip; }
img, picture, svg { display: block; max-width: 100%; }
img { height: auto; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: var(--navy); text-underline-offset: .18em; }
a:hover { color: var(--aubergine); }
p, ul, ol { margin: 0 0 1.15rem; }
ul, ol { padding-left: 1.3rem; }

h1, h2, h3, h4 {
  color: var(--forest);
  font-family: var(--font-body);
  font-weight: 500;
  letter-spacing: -.025em;
  line-height: .98;
  margin: 0 0 .85rem;
  text-wrap: balance;
}

h1, h2 { font-family: var(--font-display); font-optical-sizing: auto; }
h1 { font-size: clamp(3rem, 6vw, 6.4rem); }
h2 { font-size: clamp(2.55rem, 4.9vw, 5rem); }
h3 { font-size: clamp(1.75rem, 2.65vw, 2.5rem); line-height: 1.06; }
h4 { font-size: clamp(1.35rem, 2vw, 1.75rem); line-height: 1.12; }

::selection { background: var(--navy-100); color: var(--forest); }
:focus-visible { outline: 3px solid var(--aubergine); outline-offset: 4px; }
.section-dark :focus-visible,
.page-hero :focus-visible,
.site-footer :focus-visible,
.final-cta :focus-visible { outline-color: var(--gold-light); }

.shell,
.container {
  margin-inline: auto;
  width: min(calc(100% - clamp(2rem, 6vw, 7.5rem)), var(--shell));
}

.narrow,
.prose {
  margin-inline: auto;
  max-width: var(--reading);
  width: min(calc(100% - 2rem), var(--reading));
}

.section { padding-block: var(--space-section); position: relative; }
.section-compact { padding-block: clamp(2.75rem, 5vw, 5rem); }
.section-ivory { background: var(--ivory); }
.section-soft { background: var(--navy-050); }
.section-soft .eyebrow,
.section-soft .timeline-label,
.section-soft a:not(.button):not(.btn):hover,
.notice-purple a:not(.button):not(.btn):hover,
.compare tbody tr:nth-child(even) a:not(.button):not(.btn):hover { color: var(--forest); }
.section-dark {
  background: var(--navy-950);
  color: rgba(255, 249, 245, .82);
}
.section-dark h1,
.section-dark h2,
.section-dark h3,
.section-dark h4 { color: var(--white); }
.section-dark a:not(.button) { color: var(--gold-light); }

.display-xl {
  font-size: clamp(4.15rem, 7.5vw, 8.2rem);
  letter-spacing: -.045em;
  line-height: .82;
}
.display { font-size: clamp(3rem, 5.7vw, 6rem); letter-spacing: -.038em; line-height: .88; }
html[lang^="es"] .display-xl { font-size: clamp(3.75rem, 7vw, 7.65rem); }

.eyebrow {
  color: var(--aubergine);
  font-size: .74rem;
  font-weight: 780;
  letter-spacing: .17em;
  margin: 0 0 1.15rem;
  text-transform: uppercase;
}
.section-dark .eyebrow,
.page-hero .eyebrow,
.final-cta .eyebrow { color: var(--gold-light); }
.lede {
  color: var(--muted);
  font-size: clamp(1.08rem, 1.4vw, 1.32rem);
  line-height: 1.62;
  max-width: 48rem;
}
.section-dark .lede,
.page-hero .lede { color: rgba(255, 249, 245, .74); }
.small { font-size: .86rem; line-height: 1.58; }
.muted { color: var(--muted); }
.center { text-align: center; }
.section-heading { margin-bottom: clamp(2.2rem, 5vw, 5rem); max-width: 58rem; }
.section-heading.center { margin-inline: auto; text-align: center; }
.section-heading.center .lede { margin-inline: auto; }
.wide-heading { max-width: 70rem; }
.sr-only {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

.skip-link {
  background: var(--white);
  border-radius: .5rem;
  color: var(--navy-950);
  font-weight: 750;
  left: 1rem;
  padding: .8rem 1rem;
  position: fixed;
  top: .75rem;
  transform: translateY(-160%);
  transition: transform .15s ease;
  z-index: 10000;
}
.skip-link:focus { transform: translateY(0); }

.button,
.btn {
  align-items: center;
  background: var(--navy);
  border: 2px solid var(--navy);
  border-radius: 999px;
  color: var(--white);
  display: inline-flex;
  font-size: .9rem;
  font-weight: 770;
  gap: .65rem;
  justify-content: center;
  letter-spacing: .015em;
  line-height: 1.2;
  min-height: 3.25rem;
  padding: .9rem 1.45rem;
  text-align: center;
  text-decoration: none;
  transition: background .22s var(--ease), border-color .22s var(--ease), color .22s var(--ease), transform .22s var(--ease), box-shadow .22s var(--ease);
}
.button:hover,
.btn:hover {
  background: var(--aubergine);
  border-color: var(--aubergine);
  box-shadow: var(--shadow-sm);
  color: var(--white);
  transform: translateY(-2px);
}
.button-primary { background: var(--forest); border-color: var(--forest); color: var(--ivory); }
.button-primary:hover { background: var(--forest); border-color: var(--forest); color: var(--ivory); }
.button-secondary,
.btn-secondary { background: transparent; border-color: var(--navy); color: var(--navy); }
.button-secondary:hover,
.btn-secondary:hover { background: var(--navy); color: var(--white); }
.page-hero .button-secondary,
.section-dark .button-secondary { background: transparent; border-color: rgba(255, 249, 245, .78); color: var(--white); }
.page-hero .button-secondary:hover,
.section-dark .button-secondary:hover { background: rgba(255, 249, 245, .1); border-color: var(--white); color: var(--white); }
.button-light { background: var(--white); border-color: var(--white); color: var(--navy-950); }
.button-light:hover { background: var(--ivory); border-color: var(--ivory); color: var(--navy-950); }
.button-ghost { background: transparent; border-color: rgba(255, 249, 245, .52); color: var(--white); }
.button-ghost:hover { background: rgba(255, 249, 245, .1); border-color: var(--white); }
.button-small { min-height: 2.75rem; padding: .72rem 1.1rem; }
.actions { align-items: center; display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.8rem; }
.center-actions { justify-content: center; }
.microcopy { color: var(--muted); font-size: .875rem; line-height: 1.58; margin-top: 1.15rem; max-width: 46rem; }
.offer-disclosure {
  background: var(--forest);
  border: 1px solid #D4AF37;
  border-radius: var(--radius-sm);
  color: #F7F3EB;
  font-size: 1rem;
  line-height: 1.6;
  margin-block: 1.25rem;
  padding: 1.15rem 1.25rem;
  text-align: left;
  width: 100%;
}
.offer-disclosure p,
.offer-disclosure strong,
.page-hero .offer-disclosure p,
.section-dark .offer-disclosure p,
.path-card .offer-disclosure p {
  color: #F7F3EB;
  font-size: 1rem;
  line-height: 1.6;
  opacity: 1;
}
.offer-disclosure p { margin: 0; }
.offer-disclosure p + p { margin-top: .75rem; }
.button, .arrow-link { max-width: 100%; white-space: normal; overflow-wrap: break-word; }
.section-dark .microcopy,
.page-hero .microcopy,
.final-cta .microcopy { color: rgba(255, 249, 245, .64); }
.arrow-link,
.text-link {
  align-items: center;
  display: inline-flex;
  font-weight: 760;
  gap: .55rem;
  text-decoration-thickness: 1px;
}
.arrow-link span { font-size: 1.25em; transition: transform .2s var(--ease); }
.arrow-link:hover span { transform: translateX(.25rem); }

/* Header */
.site-header {
  background: rgba(255, 249, 245, .94);
  border-bottom: 1px solid rgba(38, 23, 46, .09);
  position: sticky;
  top: 0;
  transition: box-shadow .2s var(--ease), background .2s var(--ease);
  z-index: 1000;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
.site-header.is-scrolled { background: rgba(255, 249, 245, .985); box-shadow: 0 12px 38px rgba(38, 23, 46, .1); }
.admin-bar .site-header { top: 32px; }
.header-inner { align-items: center; display: flex; gap: 2rem; justify-content: space-between; min-height: 6rem; }
.brand {
  align-items: center;
  background: transparent;
  border: 1px solid transparent;
  border-radius: .75rem;
  display: inline-flex;
  flex: 0 0 auto;
  padding: .38rem .7rem;
  text-decoration: none;
}
.brand img { height: auto; object-fit: contain; width: clamp(8.75rem, 10vw, 10rem); }
.primary-nav { align-items: center; display: flex; gap: clamp(.8rem, 1.4vw, 1.5rem); }
.primary-nav > a:not(.button) { color: var(--charcoal); font-size: .78rem; font-weight: 760; letter-spacing: .015em; min-height: 2.75rem; padding-block: .8rem; text-decoration: none; white-space: nowrap; }
.primary-nav > a:not(.button):hover,
.primary-nav > a[aria-current="page"] { color: var(--aubergine); }
.primary-nav .language-link { border: 1px solid var(--line); border-radius: 999px; padding-inline: .75rem; }
.menu-toggle {
  align-items: center;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--navy);
  display: none;
  font-size: .84rem;
  font-weight: 760;
  gap: .55rem;
  min-height: 3rem;
  padding: .65rem 1rem;
}
.menu-icon,
.menu-icon::before,
.menu-icon::after { background: currentColor; border-radius: 2px; display: block; height: 2px; position: relative; width: 1.25rem; }
.menu-icon::before,
.menu-icon::after { content: ""; left: 0; position: absolute; }
.menu-icon::before { top: -.38rem; }
.menu-icon::after { top: .38rem; }

/* Homepage hero */
.home-hero {
  background:
    radial-gradient(circle at 77% 18%, rgba(203, 187, 233, .10), transparent 28rem),
    linear-gradient(138deg, var(--navy-950) 0%, var(--navy) 54%, var(--aubergine-950) 100%);
  min-height: min(57rem, calc(100svh - 6rem));
  overflow: hidden;
  padding-block: clamp(4.25rem, 7vw, 7.5rem);
  position: relative;
}
.home-hero::before {
  background-image: linear-gradient(rgba(255, 249, 245, .03) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 249, 245, .03) 1px, transparent 1px);
  background-size: 4.5rem 4.5rem;
  content: "";
  inset: 0;
  mask-image: linear-gradient(to right, transparent, #000 40%, #000);
  opacity: .5;
  position: absolute;
}
.hero-orbit {
  border: 1px solid rgba(212, 175, 55, .34);
  border-radius: 50%;
  height: 48rem;
  position: absolute;
  right: -18rem;
  top: -16rem;
  width: 48rem;
}
.hero-orbit::after,
.hero-orbit::before { border: 1px solid rgba(255, 249, 245, .12); border-radius: inherit; content: ""; inset: 4.5rem; position: absolute; }
.hero-orbit::after { inset: 10rem; }
.hero-grid { align-items: center; display: grid; gap: clamp(3rem, 7vw, 8rem); grid-template-columns: minmax(0, 1.08fr) minmax(25rem, .92fr); position: relative; z-index: 1; }
.hero-copy { max-width: 57rem; }
.hero-copy h1 { color: var(--white); max-width: 13ch; }
.hero-copy .lede { font-size: clamp(1.13rem, 1.6vw, 1.42rem); max-width: 43rem; }
.hero-portrait { margin-left: auto; max-width: 41rem; padding: 1.25rem 1.25rem 3.5rem 3.5rem; position: relative; width: 100%; }
.portrait-frame { border-radius: 45% 45% 1.5rem 1.5rem; box-shadow: var(--shadow-dark); overflow: hidden; position: relative; }
.portrait-frame::after { background: linear-gradient(180deg, transparent 52%, rgba(38, 23, 46, .48)); content: ""; inset: 0; position: absolute; }
.portrait-frame img { aspect-ratio: 4 / 5; object-fit: cover; object-position: center 20%; width: 100%; }
.hero-portrait::before { border-left: 1px solid var(--gold); border-top: 1px solid var(--gold); content: ""; inset: 0 25% 28% 0; position: absolute; }
.clarity-card { background: rgba(255, 249, 245, .96); border: 1px solid rgba(255, 249, 245, .5); border-radius: 1rem; bottom: 0; box-shadow: var(--shadow-md); color: var(--charcoal); left: 0; max-width: 19rem; padding: 1.2rem 1.3rem; position: absolute; z-index: 2; }
.clarity-card > p { color: var(--aubergine); font-size: .73rem; font-weight: 800; letter-spacing: .14em; margin-bottom: .7rem; text-transform: uppercase; }
.clarity-card ol { list-style: none; margin: 0; padding: 0; }
.clarity-card li { align-items: center; border-top: 1px solid var(--line); display: flex; font-size: .78rem; font-weight: 680; gap: .75rem; padding: .48rem 0; }
.clarity-card li span { color: var(--aubergine); font-size: .66rem; font-weight: 800; }
.hero-caption { bottom: .4rem; color: rgba(255, 249, 245, .7); font-size: .7rem; letter-spacing: .06em; margin: 0; position: absolute; right: 1.25rem; writing-mode: vertical-rl; }

.principles { background: var(--white); border-bottom: 1px solid var(--line); }
.principle-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.principle-grid p { align-items: center; border-right: 1px solid var(--line); display: flex; font-size: .78rem; font-weight: 710; gap: .8rem; margin: 0; min-height: 6rem; padding: 1rem clamp(1rem, 2vw, 2rem); }
.principle-grid p:last-child { border: 0; }
.principle-grid span { color: var(--aubergine); font-family: var(--font-display); font-size: 1.35rem; }

/* Editorial sections */
.editorial-grid { align-items: start; display: grid; gap: clamp(3rem, 8vw, 9rem); grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); }
.sticky-heading { position: sticky; top: 9rem; }
.recognition-list { border-top: 1px solid var(--line); }
.recognition-list article { align-items: baseline; border-bottom: 1px solid var(--line); display: grid; gap: 1.5rem; grid-template-columns: 3rem 1fr; padding: clamp(1.5rem, 3vw, 2.6rem) 0; }
.recognition-list span { color: var(--aubergine); font-family: var(--font-display); font-size: 1.4rem; }
.recognition-list p { font-family: var(--font-display); font-size: clamp(1.9rem, 3.5vw, 3.5rem); line-height: 1.02; margin: 0; }

.process-track { counter-reset: process; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; position: relative; }
.process-track::before { background: linear-gradient(90deg, var(--aubergine), var(--gold), var(--aubergine)); content: ""; height: 1px; left: 7%; position: absolute; right: 7%; top: 2.05rem; }
.process-track li { padding: 0 clamp(1rem, 2vw, 2rem); position: relative; text-align: center; }
.process-track li > span { align-items: center; background: var(--white); border: 1px solid var(--aubergine-200); border-radius: 50%; color: var(--aubergine); display: inline-flex; font-family: var(--font-display); font-size: 1.1rem; height: 4.1rem; justify-content: center; margin-bottom: 1.5rem; position: relative; width: 4.1rem; }
.process-track h3 { font-size: clamp(1.65rem, 2vw, 2rem); }
.process-track p { color: var(--muted); font-size: .92rem; }

.paths-section { background: linear-gradient(152deg, var(--navy-950), var(--navy) 58%, var(--aubergine-800)); overflow: hidden; }
.paths-section::after { border: 1px solid rgba(212, 175, 55, .28); border-radius: 50%; content: ""; height: 50rem; position: absolute; right: -28rem; top: -15rem; width: 50rem; }
.path-grid { display: grid; gap: 1rem; grid-template-columns: repeat(4, 1fr); position: relative; z-index: 1; }
.paths-section .path-card { background: rgba(255, 249, 245, .07); border: 1px solid rgba(255, 249, 245, .18); border-radius: var(--radius); display: flex; flex-direction: column; min-height: 29rem; padding: clamp(1.6rem, 2.7vw, 2.6rem); transition: background .25s var(--ease), transform .25s var(--ease); }
.paths-section .path-card:hover { background: rgba(255, 249, 245, .11); transform: translateY(-5px); }
.paths-section .path-card.feature { border-color: rgba(212, 175, 55, .7); }
.paths-section .path-card.unsure { background: var(--ivory); color: var(--charcoal); }
.paths-section .path-card.unsure h3 { color: var(--forest); }
.paths-section .path-card h3 { color: var(--white); font-size: clamp(2rem, 2.7vw, 3rem); }
.paths-section .path-card > p:not(.path-kicker):not(.path-status) { font-size: .9rem; }
.path-kicker { color: var(--gold-light); font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.paths-section .path-card.unsure .path-kicker { color: var(--aubergine); }
.path-status { border-top: 1px solid rgba(255, 249, 245, .16); color: rgba(255, 249, 245, .68); font-size: .72rem; margin-top: auto; padding-top: 1rem; }
.paths-section .path-card.unsure .path-status { border-color: var(--line); color: var(--muted); }
.path-status.provisional { color: var(--gold-light); }
.paths-section .path-card .arrow-link { margin-top: 1rem; }
.paths-section .path-card.unsure .button { margin-top: auto; }

.topic-grid { border-left: 1px solid var(--line); border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(4, 1fr); }
.topic-card { border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); min-height: 15.5rem; padding: clamp(1.35rem, 2.5vw, 2.35rem); transition: background .2s ease; }
.topic-card:hover { background: var(--white); }
.topic-card > span { color: var(--aubergine); font-family: var(--font-display); font-size: 1.15rem; }
.topic-card h3 { font-size: clamp(1.65rem, 2.1vw, 2.25rem); margin-top: 2.5rem; }
.topic-card p { color: var(--muted); font-size: .84rem; }

.analysis-grid { align-items: center; display: grid; gap: clamp(4rem, 9vw, 10rem); grid-template-columns: minmax(0, .92fr) minmax(25rem, 1.08fr); }
.check-list { list-style: none; margin-block: 1.75rem; padding: 0; }
.check-list li { padding: .55rem 0 .55rem 1.8rem; position: relative; }
.check-list li::before { color: var(--success); content: "✓"; font-weight: 800; left: 0; position: absolute; }
.report-composition { aspect-ratio: 6 / 5; isolation: isolate; margin: 2rem; position: relative; }
.report-composition::before { background: linear-gradient(135deg, var(--aubergine), var(--navy)); border-radius: 50%; content: ""; filter: blur(1px); inset: 3% -5% -7% 12%; opacity: .18; position: absolute; z-index: -2; }
.report-sheet { background: var(--white); border: 1px solid var(--line); border-radius: 1.25rem; box-shadow: var(--shadow-md); inset: 4% 2% 2% 11%; padding: 8%; position: absolute; }
.report-sheet.back { background: var(--aubergine); inset: -4% 11% 12% 0; transform: rotate(-5deg); z-index: -1; }
.report-head { display: flex; gap: .55rem; }
.report-head i { background: var(--navy-100); border-radius: 50%; height: .75rem; width: .75rem; }
.report-scoreless { display: grid; gap: 4%; grid-template-columns: repeat(3, 1fr); margin-block: 9%; }
.report-scoreless span { background: linear-gradient(150deg, var(--navy), var(--aubergine)); border-radius: .7rem; height: clamp(4rem, 8vw, 7rem); opacity: .92; }
.report-lines { display: grid; gap: .7rem; }
.report-lines i { background: var(--navy-100); border-radius: 999px; height: .5rem; }
.report-lines i:nth-child(2), .report-lines i:nth-child(5) { width: 66%; }
.priority-panel { display: flex; gap: .6rem; margin-top: 8%; }
.priority-panel b { background: var(--aubergine-100); border-left: 3px solid var(--aubergine); flex: 1; height: 2.6rem; }
.report-composition > p { bottom: -2.1rem; color: var(--aubergine); font-size: .68rem; font-weight: 800; letter-spacing: .16em; margin: 0; position: absolute; right: 0; }

.founder-story { background: linear-gradient(145deg, var(--navy-950), var(--navy) 62%, var(--aubergine-800)); }
.founder-grid { align-items: center; display: grid; gap: clamp(3.5rem, 9vw, 10rem); grid-template-columns: minmax(20rem, .82fr) minmax(0, 1.18fr); }
.founder-image { max-width: 35rem; padding: 1rem 1rem 0 0; position: relative; }
.founder-image::before { border: 1px solid var(--gold); content: ""; inset: -1rem 12% 14% -1rem; position: absolute; }
.founder-image img { aspect-ratio: 4 / 5; border-radius: 48% 48% 1rem 1rem; box-shadow: var(--shadow-dark); object-fit: cover; object-position: center 18%; position: relative; width: 100%; }
.founder-quote { color: var(--gold-light); font-family: var(--font-display); font-size: clamp(1.8rem, 3.2vw, 3.5rem); line-height: 1.02; margin-block: 2rem; }
.founder-copy > p:not(.eyebrow):not(.founder-quote) { max-width: 43rem; }

.faq-layout { align-items: start; display: grid; gap: clamp(3rem, 9vw, 9rem); grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); }
.faq-list { display: grid; gap: .75rem; }
.faq-list details { background: var(--white); border-bottom: 1px solid var(--line); }
.faq-list summary { color: var(--navy); cursor: pointer; font-size: 1rem; font-weight: 760; list-style: none; min-height: 4.5rem; padding: 1.35rem 3.5rem 1.35rem 0; position: relative; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; font-family: var(--font-display); font-size: 2rem; font-weight: 400; position: absolute; right: .25rem; top: .75rem; }
.faq-list details[open] summary::after { content: "−"; }
.faq-answer { color: var(--muted); padding: 0 3.5rem 1.5rem 0; }
.faq-answer > :last-child { margin-bottom: 0; }

.final-section { background: var(--ivory); }
.final-cta { background: linear-gradient(145deg, var(--navy), var(--aubergine-800)); border-radius: var(--radius-lg); color: rgba(255, 249, 245, .8); overflow: hidden; padding: clamp(3rem, 7vw, 7rem); position: relative; text-align: center; }
.final-cta::after { border: 1px solid rgba(212, 175, 55, .4); border-radius: 50%; content: ""; height: 33rem; position: absolute; right: -14rem; top: -18rem; width: 33rem; }
.final-cta > * { margin-inline: auto; max-width: 57rem; position: relative; z-index: 1; }
.final-cta h2 { color: var(--white); }
.final-cta .actions { justify-content: center; }
.final-cta a.button-ghost,
.final-cta a.button-ghost:visited { border-color: rgba(255, 249, 245, .78); color: var(--white); }
.final-cta .button-ghost:hover { background: rgba(255, 249, 245, .1); border-color: var(--white); color: var(--white); }

/* Inner pages and shared components */
.page-hero {
  background:
    radial-gradient(circle at 82% 5%, rgba(203, 187, 233, .10), transparent 28rem),
    linear-gradient(145deg, var(--navy-950), var(--navy));
  color: rgba(255, 249, 245, .8);
  overflow: hidden;
  padding-block: clamp(5rem, 9vw, 9rem);
  position: relative;
}
.page-hero::after { border: 1px solid rgba(212, 175, 55, .35); border-radius: 50%; content: ""; height: 38rem; position: absolute; right: -18rem; top: -20rem; width: 38rem; }
.page-hero > .shell,
.page-hero > .container { position: relative; z-index: 1; }
.page-hero h1 { color: var(--white); max-width: 13ch; }
.page-hero .lede { max-width: 48rem; }
.page-hero-grid { align-items: center; display: grid; gap: clamp(3rem, 7vw, 7rem); grid-template-columns: 1.08fr .92fr; }
.page-hero-image img { border-radius: var(--radius-lg); box-shadow: var(--shadow-dark); max-height: 38rem; object-fit: cover; width: 100%; }
.grid,
.card-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: clamp(1.5rem, 3vw, 2.75rem);
}
.card > :last-child { margin-bottom: 0; }
.card h3 a { color: inherit; text-decoration: none; }
.about-founder-portrait,
.about-founder-lifestyle { overflow: hidden; padding: .65rem; }
.about-founder-portrait img,
.about-founder-lifestyle img { border-radius: calc(var(--radius) - .35rem); width: 100%; }
.about-founder-lifestyle { justify-self: center; max-width: 34rem; }
.card .button-ghost,
.section:not(.section-dark):not(.page-hero):not(.final-section) .button-ghost { border-color: var(--navy); color: var(--navy); }
.card .button-ghost:hover,
.section:not(.section-dark):not(.page-hero):not(.final-section) .button-ghost:hover { background: var(--navy); color: var(--white); }
.card-number,
.step-number { align-items: center; background: var(--navy); border-radius: 50%; color: var(--white); display: inline-flex; font-family: var(--font-display); height: 3rem; justify-content: center; margin-bottom: 1.25rem; width: 3rem; }
.steps { display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); }
.step { border-top: 2px solid var(--aubergine); padding: 1.6rem 1rem .5rem 0; }
.step p { color: var(--muted); }
.split { align-items: center; display: grid; gap: clamp(3rem, 8vw, 8rem); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.split-media img,
.founder-photo img { aspect-ratio: 4 / 5; border-radius: var(--radius-lg); object-fit: cover; object-position: center 20%; width: 100%; }
.notice {
  background: var(--warning-bg);
  border: 1px solid var(--gold-hover);
  border-radius: var(--radius-sm);
  color: var(--warning-text);
  padding: 1.25rem 1.4rem;
}
.notice-purple { background: var(--aubergine-100); border-color: var(--aubergine-200); color: var(--aubergine-800); }
.notice-dark { background: var(--navy-950); border-color: var(--navy); color: rgba(255, 249, 245, .82); }
.notice strong { color: inherit; }
.notice:not(.notice-dark) .eyebrow { color: var(--aubergine-800); }
.notice:not(.notice-dark) .button-secondary,
.notice:not(.notice-dark) .button-ghost { background: transparent; border-color: var(--navy); color: var(--navy); }
.notice:not(.notice-dark) .button-secondary:hover,
.notice:not(.notice-dark) .button-ghost:hover { background: var(--navy); border-color: var(--navy); color: var(--white); }
.section-dark .notice:not(.notice-dark) { color: var(--warning-text); }
.section-dark .notice:not(.notice-dark) h1,
.section-dark .notice:not(.notice-dark) h2,
.section-dark .notice:not(.notice-dark) h3,
.section-dark .notice:not(.notice-dark) h4 { color: var(--aubergine-800); }
.callout { border-left: 3px solid var(--aubergine); margin-block: 1.75rem; padding: .2rem 0 .2rem 1.4rem; }
.resource-list { display: grid; gap: 0; list-style: none; padding: 0; }
.resource-list li { border-bottom: 1px solid var(--line); padding: 1rem 0; }
.resource-list a { font-weight: 760; }
.prose h2 { margin-top: 2.75rem; }
.prose h3 { margin-top: 2rem; }
.prose a { font-weight: 700; }
.status-pill { background: var(--aubergine-100); border-radius: 999px; color: var(--aubergine-800); display: inline-flex; font-size: .7rem; font-weight: 800; letter-spacing: .1em; padding: .45rem .75rem; text-transform: uppercase; }
.provisional-warning { background: var(--warning-bg); border-left: 3px solid var(--gold-deep); color: var(--warning-text); font-size: .82rem; padding: 1rem 1.1rem; }
.timeline { display: grid; gap: 1rem; }
.timeline-item { border: 1px solid var(--line); border-left: 4px solid var(--aubergine); border-radius: var(--radius); display: grid; gap: 1.5rem; grid-template-columns: minmax(11rem, .35fr) 1fr; padding: clamp(1.5rem, 3.5vw, 3rem); }
.timeline-label { color: var(--aubergine); font-weight: 760; }
.pricing-summary { background: var(--navy-950); border-radius: var(--radius); color: rgba(255, 249, 245, .8); padding: clamp(2rem, 4vw, 4rem); }
.pricing-summary strong { color: var(--white); }
.goal-grid { display: grid; gap: .8rem; grid-template-columns: repeat(2, 1fr); }
.goal-item { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-sm); font-weight: 700; padding: 1.2rem; }
.table-scroll { margin-block: 1.5rem; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.compare { border-collapse: collapse; font-size: .92rem; min-width: 40rem; width: 100%; }
.compare caption { color: var(--muted); padding-bottom: .75rem; text-align: left; }
.compare th,
.compare td { border-bottom: 1px solid var(--line); padding: .8rem 1rem; text-align: left; vertical-align: top; }
.compare thead th { background: var(--navy); color: var(--white); }
.compare tbody tr:nth-child(even) { background: var(--navy-050); }
.posts-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); }
.post-card { border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); overflow: hidden; }
.post-card img { aspect-ratio: 16/9; object-fit: cover; width: 100%; }
.post-card-content { padding: 1.5rem; }
.post-meta { color: var(--muted); font-size: .75rem; }
.article-header { background: var(--ivory); padding-block: clamp(4rem, 8vw, 8rem); }
.article-body { padding-block: var(--space-section); }
.pagination { margin-top: 2.5rem; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: .5rem; }
.pagination .page-numbers { border: 1px solid var(--line); border-radius: .5rem; min-width: 2.75rem; padding: .6rem .8rem; text-align: center; text-decoration: none; }
.pagination .current { background: var(--navy); border-color: var(--navy); color: var(--white); }

/* Footer */
.footer-cta { background: var(--ivory); padding-block: clamp(3.5rem, 7vw, 6.5rem); }
.footer-cta-inner { align-items: end; display: grid; gap: clamp(2rem, 6vw, 6rem); grid-template-columns: minmax(0, 1fr) auto; }
.footer-cta-inner h2 { max-width: 18ch; }
.footer-cta-inner p:not(.eyebrow) { color: var(--muted); max-width: 48rem; }
.footer-cta-inner .actions { justify-content: flex-end; }
.site-footer { background: var(--navy-950); color: rgba(255, 249, 245, .7); padding-top: clamp(4rem, 7vw, 7rem); }
.footer-grid { display: grid; gap: clamp(2rem, 5vw, 5rem); grid-template-columns: 1.35fr .7fr .7fr 1fr; }
.footer-grid h2 { color: var(--white); font-family: var(--font-body); font-size: .72rem; font-weight: 800; letter-spacing: .13em; line-height: 1.3; text-transform: uppercase; }
.footer-grid nav,
.footer-contact { align-content: start; display: grid; gap: .7rem; }
.footer-grid a { color: rgba(255, 249, 245, .86); font-size: .84rem; text-decoration: none; }
.footer-grid a:hover { color: var(--gold-light); }
.footer-brand img { height: auto; margin-bottom: 1rem; max-width: 10rem; }
.footer-brand p { font-size: .86rem; max-width: 22rem; }
.footer-disclosure { border-top: 1px solid var(--line-dark); margin-top: 3.5rem; padding-block: 1.7rem; }
.footer-disclosure p { font-size: .875rem; line-height: 1.65; margin-bottom: .75rem; max-width: 84ch; }
.footer-legal-summary { border-top: 1px solid var(--line-dark); margin-top: 1rem; padding-top: .8rem; }
.footer-legal-summary summary { align-items: center; color: var(--white); cursor: pointer; display: flex; font-size: .875rem; font-weight: 750; min-height: 2.75rem; padding-block: .65rem; }
.footer-legal-summary .prose { margin: 1rem 0 0; max-width: 65rem; width: 100%; }
.footer-bottom { background: var(--navy-975); font-size: .8rem; padding-block: 1.1rem; }
.footer-bottom .shell,
.footer-bottom .container { align-items: center; display: flex; gap: 1rem; justify-content: space-between; }
.footer-bottom p { margin: 0; }
.footer-bottom a { color: var(--white); }
.mobile-action-bar { display: none; }
body.menu-open .mobile-action-bar { display: none; }

[data-reveal] { opacity: 1; transform: none; }

@media (min-width: 1920px) {
  :root { --shell: 1580px; }
  .home-hero { min-height: 60rem; }
  .hero-grid { grid-template-columns: minmax(0, 1.15fr) minmax(32rem, .85fr); }
  .hero-copy h1 { max-width: 12ch; }
}

@media (max-width: 1240px) {
  .path-grid { grid-template-columns: repeat(2, 1fr); }
  .path-card { min-height: 25rem; }
  .topic-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1080px) {
  .menu-toggle { display: inline-flex; }
  .primary-nav {
    align-items: stretch;
    background: var(--white);
    box-shadow: var(--shadow-md);
    display: none;
    flex-direction: column;
    gap: 0;
    left: 0;
    max-height: calc(100svh - 5rem);
    overflow-y: auto;
    padding: 1rem clamp(1rem, 5vw, 3rem) 1.5rem;
    position: absolute;
    right: 0;
    top: 100%;
  }
  .primary-nav.is-open { display: flex; }
  .primary-nav > a:not(.button) { border-bottom: 1px solid var(--line); font-size: .96rem; padding: .95rem .2rem; }
  .primary-nav .language-link { border: 0; border-bottom: 1px solid var(--line); border-radius: 0; padding-inline: .2rem; }
  .primary-nav .button { margin-top: 1rem; }
  .hero-grid { gap: 3.5rem; grid-template-columns: minmax(0, 1fr) minmax(22rem, .75fr); }
  .display-xl { font-size: clamp(4rem, 8.5vw, 6.6rem); }
  .principle-grid { grid-template-columns: repeat(2, 1fr); }
  .principle-grid p:nth-child(2) { border-right: 0; }
  .principle-grid p:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .process-track { gap: 1.5rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .process-track::before { display: none; }
  .analysis-grid { gap: 4rem; }
}

@media (max-width: 1080px) and (max-height: 650px) {
  .primary-nav { padding-bottom: max(.75rem, env(safe-area-inset-bottom)); padding-top: .5rem; }
  .primary-nav > a:not(.button) { padding-block: .65rem; }
  .primary-nav .button { margin-top: .6rem; }
}

@media (max-width: 820px) {
  html { scroll-padding-top: 5.5rem; }
  body { font-size: 1rem; }
  .admin-bar .site-header { top: 46px; }
  .header-inner { min-height: 4.9rem; }
  .brand { padding: .32rem .55rem; }
  .brand img { width: 8.5rem; }
  .home-hero { min-height: 0; padding-top: 4rem; }
  .hero-grid,
  .editorial-grid,
  .analysis-grid,
  .founder-grid,
  .faq-layout,
  .page-hero-grid,
  .split { grid-template-columns: 1fr; }
  .footer-cta-inner { align-items: start; grid-template-columns: 1fr; }
  .footer-cta-inner .actions { justify-content: flex-start; }
  .hero-copy { max-width: 46rem; }
  .hero-portrait { margin-inline: auto; max-width: 35rem; }
  .sticky-heading { position: static; }
  .recognition-list article { grid-template-columns: 2.5rem 1fr; }
  .path-grid,
  .topic-grid { grid-template-columns: 1fr 1fr; }
  .founder-image { margin-inline: auto; }
  .faq-layout { gap: 1rem; }
  .grid,
  .card-grid,
  .grid-2,
  .grid-4,
  .steps,
  .posts-grid { grid-template-columns: 1fr; }
  .timeline-item { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand,
  .footer-grid nav:last-child { grid-column: auto; }
}

@media (max-width: 767px) {
  /* JavaScript measures the complete tray, including the iOS safe area.
     The fallback also leaves room for the longest approved Spanish CTA. */
  html { scroll-padding-bottom: calc(var(--mobile-action-bar-height, calc(10rem + env(safe-area-inset-bottom, 0px))) + 1rem); }
  body { padding-bottom: calc(var(--mobile-action-bar-height, calc(10rem + env(safe-area-inset-bottom, 0px))) + 1rem); }
  .mobile-action-bar {
    align-items: stretch;
    background: var(--white);
    border-top: 1px solid var(--line);
    bottom: 0;
    box-shadow: 0 -4px 20px rgba(38, 23, 46, .06);
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    left: 0;
    padding: .75rem calc(.75rem + env(safe-area-inset-right, 0px)) calc(.75rem + env(safe-area-inset-bottom, 0px)) calc(.75rem + env(safe-area-inset-left, 0px));
    position: fixed;
    right: 0;
    z-index: 1200;
  }
  .mobile-action-bar .button {
    background: var(--navy);
    border-color: var(--navy);
    border-radius: 999px;
    color: var(--white);
    font-size: .75rem;
    line-height: 1.4;
    min-height: 3.5rem;
    min-width: 0;
    overflow-wrap: anywhere;
    padding: .65rem .6rem;
    white-space: normal;
    width: 100%;
  }
  .mobile-action-bar .button:hover {
    background: var(--navy-900);
    border-color: var(--navy-900);
    transform: none;
  }
  .mobile-action-bar .button-whatsapp {
    background: var(--whatsapp-green);
    border-color: var(--whatsapp-green);
    font-size: .9375rem;
  }
  .mobile-action-bar .button-whatsapp:hover { background: #12563c; border-color: #12563c; }
  .mobile-action-bar .button:focus-visible {
    box-shadow: 0 0 0 2px var(--white);
    outline: 3px solid var(--navy);
    outline-offset: 3px;
  }
}

@media (max-width: 560px) {
  :root { --space-section: 4.4rem; }
  .shell,
  .container { width: min(calc(100% - 2rem), var(--shell)); }
  h1, h2 { font-family: var(--font-display); font-optical-sizing: auto; }
h1 { font-size: clamp(2.75rem, 14vw, 4.2rem); }
  h2,
  .display { font-size: clamp(2.55rem, 13vw, 4rem); }
  h3 { font-size: clamp(1.65rem, 9vw, 2.25rem); }
  .display-xl,
  html[lang^="es"] .display-xl { font-size: clamp(3.25rem, 16vw, 5rem); line-height: .86; }
  .home-hero { padding-bottom: 4.5rem; }
  .hero-portrait { padding: .75rem .75rem 3.4rem 1.75rem; }
  .clarity-card { max-width: 16.5rem; padding: 1rem; }
  .hero-caption { display: none; }
  .principle-grid,
  .process-track,
  .path-grid,
  .topic-grid { grid-template-columns: 1fr; }
  .principle-grid p { border-bottom: 1px solid var(--line); border-right: 0; min-height: 4.5rem; padding-inline: 0; }
  .principle-grid p:nth-child(2) { border-bottom: 1px solid var(--line); }
  .principle-grid p:last-child { border-bottom: 0; }
  .process-track li { border-bottom: 1px solid var(--line); padding: 0 0 1.7rem; text-align: left; }
  .process-track li > span { height: 3.3rem; margin-bottom: 1rem; width: 3.3rem; }
  .paths-section .path-card { min-height: 0; }
  .topic-card { min-height: 0; }
  .topic-card h3 { margin-top: 1.5rem; }
  .report-composition { margin: 2rem 0; }
  .actions { align-items: stretch; flex-direction: column; }
  .actions .button { width: 100%; }
  .center-actions .arrow-link { justify-content: center; }
  .final-cta { border-radius: var(--radius); padding: 3rem 1.35rem; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand,
  .footer-grid nav:last-child { grid-column: auto; }
  .footer-bottom .shell,
  .footer-bottom .container { align-items: flex-start; flex-direction: column; }
  .goal-grid { grid-template-columns: 1fr; }
}

@media (max-width: 360px) {
  .shell,
  .container { width: calc(100% - 1.5rem); }
  .brand img { width: 7.25rem; }
  .menu-toggle { padding-inline: .8rem; }
  .hero-portrait { padding-left: .85rem; }
  .clarity-card { max-width: calc(100% - 1rem); }
  .recognition-list article { gap: .75rem; grid-template-columns: 2rem 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,
  *::before,
  *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
}

@media (forced-colors: active) {
  .button { border: 2px solid ButtonText; }
  .path-card,
  .card,
  .notice { border: 1px solid CanvasText; }
}

@media print {
  .site-header,
  .site-footer,
  .mobile-action-bar,
  .actions { display: none !important; }
  body { color: #000; font-size: 12pt; padding-bottom: 0; }
  .section,
  .page-hero,
  .home-hero { background: #fff !important; color: #000 !important; padding-block: 1.5rem; }
  h1, h2, h3, h4 { color: #000 !important; }
  a { color: #000; text-decoration: underline; }
}

/* September 28: brand typography, complete master logo, and restrained purple actions. */
h1,h2{font-weight:600;line-height:1.08}
.brand{overflow:visible;flex-shrink:0}
.brand img{width:96px;height:auto;max-height:none;object-fit:contain;filter:none;transform:none}
.site-header .header-inner{min-height:110px}
.site-footer,.footer-bottom{background:#26172E}
.site-footer,.site-footer p,.site-footer a,.site-footer h2,.site-footer summary{color:#FFF9F5}
.button:not(.button-secondary):not(.btn-secondary):not(.button-ghost):not(.button-light):not(.button-whatsapp){background:#714997;border-color:#714997;color:#FFF9F5}
.button:not(.button-secondary):not(.btn-secondary):not(.button-ghost):not(.button-light):not(.button-whatsapp):hover{background:#26172E;border-color:#26172E;color:#FFF9F5}
@media(max-width:850px){.brand img{width:72px}.site-header .header-inner{min-height:86px}}

/* Source-backed story and public education directory. Locked brand colors. */
html{scroll-padding-top:230px}
.button{border-radius:3px}
.journey-header .header-inner{display:grid;grid-template-columns:auto 1fr auto;gap:12px 32px;padding-block:16px}
.journey-header .brand{padding:8px 12px;background:transparent;border:1px solid transparent;border-radius:0}
.journey-header .brand img{width:94px;height:auto;object-fit:contain}
.journey-modes{display:flex;justify-self:center;gap:4px;padding:4px;background:#CBBBE94D;border:1px solid #CBBBE9;border-radius:6px}
.journey-modes a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;text-align:center;font-size:13px;font-weight:750;line-height:1.4;color:#714997;text-decoration:none;border-radius:3px}
.journey-modes a[aria-current]{background:#714997;color:#FFF9F5}
.journey-utilities{display:flex;align-items:center;gap:22px;font-size:13px}
.journey-utilities a{min-height:44px;display:flex;align-items:center}
.journey-header .primary-nav{grid-column:1/-1;justify-content:center;border-top:1px solid #D1BDA1;padding-top:12px;gap:28px}
.journey-header .primary-nav .button{min-height:44px;padding:10px 18px;font-size:12px}
.journey-header .primary-nav .journey-mobile-support{display:none}
.journey-intro{padding-block:70px;background:#FFF9F5;color:#26172E}
.journey-intro h1{max-width:20ch;font-size:clamp(44px,5.5vw,74px);line-height:1.06;color:#26172E}
.journey-intro .lede{max-width:65ch;color:#695C5C}
.journey-intro .eyebrow{color:#714997}
.journey-choices,.journey-availability{padding-block:56px}
.journey-choices h2,.journey-availability h2{font-size:clamp(36px,4vw,54px)}
.journey-goals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:32px}
.journey-goal{padding:30px;border:1px solid #D1BDA1;border-radius:18px;background:linear-gradient(135deg,#FFF9F5,#CBBBE924);display:flex;flex-direction:column;align-items:flex-start}
.journey-goal h3{font-size:24px;line-height:1.2;margin-block:20px 12px;font-weight:650}
.journey-goal p{max-width:45ch;color:#695C5C;font-size:16px}
.journey-goal a{margin-top:auto;min-height:44px;padding-top:12px;font-weight:750;color:#714997;font-size:15px}
.journey-symbol{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#CBBBE96B;color:#714997;font-size:27px}
.journey-unsure{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0;margin-top:25px;border-block:1px solid #CBBBE9}
.journey-unsure h3{font-size:24px;line-height:1.2}.journey-unsure p{margin:0;color:#695C5C;font-size:15px}.journey-unsure .actions{margin:0;font-size:14px}
.journey-availability{background:#F4EEF6}.journey-availability .lede{max-width:68ch}
.journey-statuses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-block:28px}
.journey-statuses article{border-top:1px solid #D1BDA1;padding-top:20px}
.journey-statuses h3{font-size:22px;line-height:1.2;font-weight:650}.journey-statuses p{font-size:15px;color:#695C5C}.journey-statuses a{font-size:14px;font-weight:750;color:#714997}
.journey-terms{border-block:1px solid #D1BDA1;padding-block:18px}.journey-terms summary{cursor:pointer;font-weight:650;padding-block:6px}.journey-terms .offer-disclosure{margin-top:24px;background:#FFF9F5}
.founder-story-page .section{padding-block:clamp(48px,6vw,88px)}
.story-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(32px,6vw,88px);max-width:1250px}
.story-hero h1{font-size:clamp(44px,5.8vw,80px);line-height:1.06;max-width:18ch}
.story-hero .lede{max-width:45ch;font-size:18px;color:#695C5C}
.story-portrait{margin:0;padding:12px;border:1px solid #D1BDA1;border-radius:130px 130px 24px 24px;background:#CBBBE933;box-shadow:10px 10px 0 #CBBBE940}
.story-portrait img{width:100%;height:480px;object-fit:cover;object-position:50% 22%;border-radius:120px 120px 12px 12px}
.story-portrait figcaption{padding:18px 14px 10px}.story-portrait figcaption strong{display:block;font-family:var(--font-display);font-size:32px;color:#714997;line-height:1.2;font-weight:600}.story-portrait figcaption span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-top:7px}
.story-body{border-top:1px solid #D1BDA1}
.story-reading-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(35px,7vw,100px);max-width:1250px}
.story-reading-grid h2{font-size:clamp(38px,4vw,58px);line-height:1.12}
.story-pullquote{font-family:var(--font-display);font-size:32px;color:#714997;border-left:1px solid #D1BDA1;padding-left:24px;margin-top:32px}
.story-prose{max-width:66ch;font-size:17px;line-height:1.9;color:#45384A}.story-prose p{margin-bottom:24px}
.story-family{background:#26172E;color:#FFF9F5}.story-family h2{color:#FFF9F5;max-width:24ch;font-size:clamp(36px,4vw,56px)}.story-family p:not(.eyebrow){max-width:63ch;color:#FFF9F5}.story-family .eyebrow{color:#D1BDA1}
.story-learning h2{font-size:clamp(36px,4vw,56px)}.story-learning .lede{max-width:65ch}
.story-learning-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;list-style:none;padding:0;margin:36px 0}
.story-learning-path li{position:relative;padding:26px;border-top:1px solid #D1BDA1;border-right:1px solid #D1BDA1;background:#CBBBE91F}
.story-learning-path li:last-child{border-right:0}.story-learning-path h3{font-size:25px;font-weight:650;line-height:1.2}.story-learning-path p{font-size:16px;color:#695C5C}.story-learning-path a{display:inline-block;min-height:44px;font-size:14px;font-weight:750;color:#714997}
.story-step{display:grid;place-items:center;background:#FFF9F5;border:1px solid #D1BDA1;border-radius:50%;width:46px;height:46px;margin-bottom:22px;color:#714997;font-family:var(--font-display);font-size:26px;font-weight:600}
.story-itin-link{padding-top:18px;border-top:1px solid #D1BDA1;font-size:15px}
.partner-grid{margin-top:28px;grid-template-columns:repeat(2,minmax(0,1fr))}.partner-grid .card{display:flex;flex-direction:column}.partner-grid .partner-disclosure{font-size:14px;line-height:1.65;color:#695C5C;margin-top:auto}.partner-grid .button{align-self:flex-start}.partner-grid .microcopy{font-size:12px;margin-bottom:0}#read-your-report .notice{margin-top:30px}#read-your-report .card h3{font-size:28px}#common-challenges .card>a{display:inline-flex;min-height:44px;align-items:center;font-weight:650}
@media(max-width:700px){.partner-grid{grid-template-columns:1fr}}
.journey-intro :focus-visible,.story-hero :focus-visible{outline-color:#714997}
@media(max-width:1080px){
 .journey-header .header-inner{grid-template-columns:auto 1fr auto;gap:12px 20px;padding-block:10px}
 .journey-header .brand img{width:72px}.journey-header .journey-utilities{justify-self:end}.journey-header .client-login-link{display:none}
 .journey-header .journey-modes{grid-column:1/-1;grid-row:2;width:min(100%,420px);justify-self:center}.journey-modes a{flex:1}
 .journey-header .menu-toggle{grid-column:3;grid-row:1}.journey-header .primary-nav{padding:16px 24px;gap:0;max-height:calc(100svh - 175px)}
 .journey-header .primary-nav .button{margin-top:14px}
 .journey-header .primary-nav .journey-mobile-support{display:flex}
 .story-hero-grid{gap:36px}.story-portrait img{height:420px}
}
@media(max-width:700px){
 .journey-header .header-inner{gap:10px 14px}.journey-header .brand{padding:6px 9px}.journey-header .brand img{width:62px}.journey-utilities{font-size:12px}.journey-modes a{font-size:12px;padding-inline:10px}
 .journey-intro{padding-block:38px}.journey-intro h1{font-size:44px}.journey-intro .lede{font-size:16px}
 .journey-goals,.journey-statuses,.story-hero-grid,.story-reading-grid,.story-learning-path{grid-template-columns:1fr}
 .journey-goal{padding:24px}.journey-unsure{flex-direction:column;align-items:flex-start}.journey-statuses{gap:24px}
 .story-portrait{max-width:400px;justify-self:center}.story-portrait img{height:390px}.story-hero h1{max-width:19ch;font-size:46px}.story-hero .lede{font-size:16px}
 .story-reading-grid{gap:24px}.story-prose{font-size:16px;line-height:1.85}.story-pullquote{font-size:29px}
 .story-learning-path li{border-right:0}.story-learning-path li+li{border-top:1px solid #D1BDA1}
 html{scroll-padding-top:190px}
}

/* Legal & Disclosures readability (Founder approval 2026-10-10): desktop paragraphs 18px / 1.7 line spacing, about 70 characters per line; phone unchanged. */
@media (min-width: 768px) { .legal-hero ~ .section p:not(.eyebrow) { font-size: 18px; line-height: 1.7; max-width: 60ch; } }
