@font-face {
  font-family: "Fraunces";
  src: url("assets/fonts/fraunces-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
}

@font-face {
  font-family: "Manrope";
  src: url("assets/fonts/manrope-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}

:root {
  --navy: #081b33;
  --navy-soft: #173250;
  --ink: #1c2938;
  --gold: #b99557;
  --gold-light: #d6bc87;
  --paper: #f5f2ec;
  --sand: #e5ded3;
  --line: rgba(8, 27, 51, 0.18);
  --white: #fffefa;
  --font-display: "Fraunces", Georgia, serif;
  --font-body: "Manrope", Arial, sans-serif;
  --font-size-body: .98rem;
  --shell: min(1180px, calc(100% - 64px));
  --space-section: clamp(5rem, 10vw, 10rem);
  --header-height: 82px;
  --motion-duration: .45s;
  --ease: cubic-bezier(.2, .65, .2, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 1rem); }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font-body); font-size: var(--font-size-body); line-height: 1.6; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
button, input, summary { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, p { margin: 0; }
h1, h2, h3 { font-weight: 400; line-height: .98; letter-spacing: -.045em; }
h1 em, h2 em { color: var(--gold); font-style: italic; }
::selection { background: var(--gold); color: var(--navy); }
.shell { width: var(--shell); margin-inline: auto; }
.section { padding-block: var(--space-section); }
.section--ink { background: var(--navy); color: var(--white); }
.section--sand { background: var(--sand); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.skip-link { position: fixed; z-index: 100; left: 1rem; top: -4rem; background: var(--gold); color: var(--navy); padding: .65rem 1rem; font-weight: 700; transition: top .2s; }
.skip-link:focus { top: 1rem; }
.eyebrow { color: var(--navy-soft); font-size: .68rem; font-weight: 700; letter-spacing: .16em; line-height: 1.3; text-transform: uppercase; }
.eyebrow--light { color: var(--gold-light); }
.button { border: 1.5px solid currentColor; border-radius: 0; min-height: 58px; padding: 1rem 1.7rem; font-size: .74rem; font-weight: 700; letter-spacing: .085em; text-transform: uppercase; transition: color .25s var(--ease), background-color .25s var(--ease), border-color .25s var(--ease), transform .25s var(--ease); }
.button:not([disabled]):hover { transform: translateY(-2px); }
.button:focus-visible { outline: 3px solid var(--gold-light); outline-offset: 4px; }
.button--gold { background: var(--gold); border-color: var(--gold-light); color: var(--navy); }
.button--gold:not([disabled]):hover { background: var(--gold-light); border-color: var(--gold-light); }
.button--light { background: var(--paper); border-color: var(--white); color: var(--navy); }
.button--light:not([disabled]):hover { background: var(--white); border-color: var(--navy); }
.button--outline { display: inline-flex; align-items: center; justify-content: center; margin-top: 1.65rem; background: transparent; border-color: var(--navy); color: var(--navy); }
.button--outline:hover, .button--outline:focus-visible { background: var(--navy); color: var(--white); }
.button[data-checkout] { display: inline-flex; align-items: center; gap: .6rem; box-shadow: 4px 4px 0 rgba(8,27,51,.18); transition: color .25s var(--ease), background-color .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease), transform .25s var(--ease); }
.button[data-checkout]::after { content: "→"; font-size: 1rem; line-height: 1; transition: transform .25s var(--ease); }
.button[data-checkout]:not(:disabled):hover { box-shadow: 6px 6px 0 rgba(8,27,51,.22); transform: translateY(-3px); }
.button[data-checkout]:not(:disabled):hover::after { transform: translateX(.25rem); }
.button[disabled] { cursor: default; opacity: .82; }

/* Header */
.site-header { position: absolute; z-index: 20; top: 0; left: 0; width: 100%; color: var(--white); transition: background-color .3s, box-shadow .3s; }
.site-header.is-scrolled { position: fixed; background: rgba(8, 27, 51, .96); box-shadow: 0 1px 0 rgba(255,255,255,.15); }
.header__inner { height: var(--header-height); display: flex; align-items: center; justify-content: space-between; }
.brand { display: flex; gap: .7rem; align-items: center; font-size: .76rem; line-height: 1.05; letter-spacing: .02em; text-transform: uppercase; }
.brand__mark { width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid var(--gold); color: var(--gold); font-family: var(--font-display); font-size: 1rem; letter-spacing: -.08em; }
.brand__name em { color: var(--gold); font-family: var(--font-display); font-size: 1rem; letter-spacing: 0; text-transform: none; }
.site-nav { display: flex; align-items: center; gap: clamp(1rem, 2.3vw, 2.2rem); font-size: .7rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.site-nav a { position: relative; }
.site-nav a::after { content: ""; position: absolute; right: 0; bottom: -.35rem; left: 0; height: 1px; background: var(--gold); transform: scaleX(0); transform-origin: right; transition: transform .25s var(--ease); }
.site-nav a:hover::after, .site-nav a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.menu-toggle { display: none; }

/* Hero */
.hero { position: relative; min-height: min(760px, 88svh); display: grid; overflow: hidden; background: var(--navy); color: var(--white); }
.hero__grid { position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(90deg, transparent calc(25% - .5px), rgba(255,255,255,.4) 25%, transparent calc(25% + .5px)), linear-gradient(90deg, transparent calc(50% - .5px), rgba(255,255,255,.4) 50%, transparent calc(50% + .5px)), linear-gradient(90deg, transparent calc(75% - .5px), rgba(255,255,255,.4) 75%, transparent calc(75% + .5px)); }
.hero__layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.28fr) minmax(390px, .72fr); min-height: inherit; padding-top: calc(var(--header-height) + 2rem); align-items: start; }
.hero__copy { padding: 0 2.5rem 4rem 0; position: relative; z-index: 2; }
.hero .eyebrow { color: var(--gold-light); }
#hero-title { max-width: 720px; margin-top: 1.2rem; font-size: clamp(2.9rem, 4.2vw, 4.45rem); font-weight: 600; line-height: 1.08; letter-spacing: -.028em; }
.hero__intro { max-width: 460px; margin: 1.8rem 0 2.25rem; color: rgba(255,255,255,.78); font-size: clamp(1rem, 1.2vw, 1.13rem); }
.hero__portrait { align-self: start; height: min(620px, calc(88svh - var(--header-height) - 2rem)); position: relative; overflow: hidden; border-left: 1px solid rgba(255,255,255,.22); }
.hero__portrait::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg, rgba(8,27,51,.1) 30%, rgba(8,27,51,.5)); pointer-events: none; }
.hero__portrait picture { display: block; width: 100%; height: 100%; }
.hero__portrait img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; filter: saturate(.8) contrast(1.04); }
.hero__vertical { position: absolute; z-index: 2; top: 7.7rem; right: .2rem; color: var(--gold-light); font-size: clamp(2.6rem, 5.2vw, 5.6rem); font-weight: 600; letter-spacing: -.1em; line-height: .8; opacity: .94; writing-mode: vertical-rl; transform: rotate(180deg); }
.hero__signature { position: absolute; z-index: 2; bottom: 2.1rem; left: 2rem; font-family: var(--font-display); font-size: 1.35rem; line-height: 1.1; }
.hero__signature span { font-family: var(--font-body); font-size: .65rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.hero__scroll { position: absolute; z-index: 3; left: max(32px, calc((100vw - min(1180px, calc(100vw - 64px))) / 2)); bottom: 1.5rem; display: flex; align-items: center; gap: .75rem; color: rgba(255,255,255,.82); font-size: .63rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.hero__scroll span { color: var(--gold); }.hero__scroll i { display: block; width: 42px; height: 1px; background: var(--gold); }

/* Diagnosis */
.diagnosis.section { padding-block: clamp(4rem, 7vw, 7rem); }
.diagnosis__layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 1.25rem clamp(2rem, 4vw, 4rem); }
.diagnosis__layout > .chapter-label { grid-column: 1 / -1; margin-bottom: .25rem; }
.chapter-label { display: flex; align-items: baseline; gap: .75rem; color: var(--navy-soft); font-size: .66rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.chapter-label span { color: var(--gold); font-family: var(--font-display); font-size: 1.55rem; font-weight: 400; letter-spacing: 0; }.chapter-label p { margin: 0; }
.diagnosis__lead h2, .method h2, .practice h2, .subjects h2, .plan-30 h2, .leda h2, .faq h2 { max-width: 660px; margin-top: .85rem; font-size: clamp(2.25rem, 4vw, 4.15rem); }
.diagnosis__body { padding-top: .35rem; max-width: 440px; }.diagnosis__body > p:first-child { font-size: 1.03rem; }
.quote { margin-top: 2.2rem; padding-left: 1.1rem; border-left: 2px solid var(--gold); color: var(--navy-soft); font-family: var(--font-display); font-size: 1.45rem; line-height: 1.22; }
.margin-notes { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; margin: 1.5rem 0 0; padding: 1.15rem 0 0; border-top: 1px solid var(--line); list-style: none; font-size: .78rem; }.margin-notes li { display: flex; gap: .4rem; }.margin-notes span { color: var(--gold); }

/* Perspective */
.perspective { position: relative; overflow: hidden; padding-block: clamp(3.75rem, 6vw, 6rem); }.perspective__layout { min-height: 360px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, .45fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; position: relative; }.perspective__layout > div:nth-child(2) { position: relative; z-index: 1; grid-column: 1; grid-row: 1; }#perspective-title { max-width: 780px; margin: .8rem 0 1.4rem; font-size: clamp(2.65rem, 3.4vw, 3.75rem); font-weight: 600; line-height: 1.1; letter-spacing: -.02em; }.perspective h2 em { color: var(--gold-light); }.perspective__layout > div:nth-child(2) > p:last-child { max-width: 680px; color: rgba(255,255,255,.72); font-size: 1.08rem; }.perspective__number { position: relative; z-index: 0; grid-column: 2; grid-row: 1; justify-self: end; margin: 0; color: rgba(255,255,255,.065); font-family: var(--font-display); font-size: clamp(17rem, 24vw, 26rem); line-height: .8; }

/* Method and pillars */
.method { padding-bottom: 0; }.method__intro { position: relative; display: grid; grid-template-columns: 170px 1fr; gap: 4rem; padding-bottom: clamp(4rem, 8vw, 8rem); }.pillars { border-top: 1px solid var(--line); }.pillar { position: relative; border-bottom: 1px solid var(--line); transition: background-color .5s var(--ease); }.pillar.is-active { background: var(--sand); }.pillar__grid { display: grid; grid-template-columns: 170px 1fr 1fr; align-items: center; gap: 2.5rem; min-height: 290px; }.pillar__index { align-self: start; margin-top: 3.1rem; color: var(--gold); font-family: var(--font-display); font-size: 2rem; }.pillar .pillar__grid h3 { margin-top: .55rem; color: var(--navy); font-size: clamp(2.7rem, 4.3vw, 4.55rem); font-weight: 600; line-height: 1.05; letter-spacing: -.035em; }.pillar__description { max-width: 38ch; }.pillar__description > p { margin: 0; font-size: 1rem; line-height: 1.6; }.pillar__description ul { display: grid; gap: .45rem; margin: 1.25rem 0 0; padding: 1.15rem 0 0; border-top: 1px solid var(--line); list-style: none; color: var(--navy-soft); font-size: .86rem; line-height: 1.5; }.pillar__description li::before { content: "— "; color: var(--gold); }.pillar__index, .pillar h3 { transition: transform .35s var(--ease); }
.method__intro::after { position: absolute; top: 50%; right: 0; width: clamp(88px, 14vw, 210px); height: 1px; background: var(--gold); content: ""; opacity: .75; transform: translateY(-50%); }

/* Practice document */
.practice__layout { display: grid; grid-template-columns: 1fr .9fr; align-items: center; gap: clamp(4rem, 10vw, 11rem); }.practice__copy > p:last-child, .plan-30__layout > div > p:last-child, .leda__copy > p { max-width: 510px; margin-top: 1.6rem; }.practice__document { position: relative; width: min(100%, 475px); justify-self: end; padding: clamp(2rem, 4vw, 3.35rem); background: var(--white); box-shadow: 22px 22px 0 var(--navy); }.practice__document::before { content: ""; position: absolute; inset: 12px; border: 1px solid var(--line); pointer-events: none; }.document__topline { position: relative; padding-bottom: 1.1rem; border-bottom: 1px solid var(--line); color: var(--navy-soft); font-size: .57rem; font-weight: 700; letter-spacing: .1em; }.document__topline span { color: var(--gold); }.practice__document ol { position: relative; display: grid; gap: 1.5rem; margin: 2.4rem 0; padding: 0; list-style: none; }.practice__document li { display: grid; grid-template-columns: 30px 1fr; column-gap: .75rem; }.practice__document li span { grid-row: span 2; color: var(--gold); font-family: var(--font-display); font-size: 1.2rem; }.practice__document strong { font-size: .85rem; }.practice__document small { color: var(--navy-soft); font-size: .72rem; line-height: 1.4; }.document__stamp { position: relative; width: 56px; height: 56px; display: grid; place-items: center; margin-left: auto; padding: 4px; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold); font-family: var(--font-display); font-size: .66rem; line-height: .9; letter-spacing: -.015em; text-align: center; transform: rotate(-8deg); }

/* Subjects and plan */
.subjects__layout { display: grid; grid-template-columns: 170px 1fr; gap: 2rem 4rem; }.subjects__heading { max-width: 750px; }.subject-list { grid-column: 2; margin-top: 2.5rem; border-top: 1px solid var(--line); }.subject-list p { display: grid; grid-template-columns: 1fr .8fr; gap: 1rem; padding: 1.2rem 0; border-bottom: 1px solid var(--line); }.subject-list span { font-family: var(--font-display); font-size: clamp(1.4rem, 2.3vw, 2.15rem); line-height: 1.1; }.subject-list i { align-self: center; color: var(--navy-soft); font-size: .8rem; font-style: normal; }.plan-30__layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(3rem, 8vw, 9rem); align-items: center; }.timeline { position: relative; display: grid; gap: 1.6rem; margin: 0; padding: 0 0 0 2.5rem; list-style: none; }.timeline::before { content: ""; position: absolute; top: .7rem; bottom: .7rem; left: .35rem; width: 1px; background: var(--gold); }.timeline li { position: relative; }.timeline li::before { content: ""; position: absolute; left: -2.48rem; top: .3rem; width: .72rem; height: .72rem; background: var(--paper); border: 1px solid var(--gold); border-radius: 50%; }.timeline span { display: block; color: var(--gold); font-size: .63rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }.timeline strong { display: block; margin-top: .05rem; font-family: var(--font-display); font-size: 1.6rem; font-weight: 400; line-height: 1.1; }.timeline p { margin-top: .18rem; color: var(--navy-soft); font-size: .8rem; }

/* Leda and testimony */
.leda__layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 8vw, 9rem); align-items: center; }.leda__image { position: relative; max-width: 490px; }.leda__image::after { content: ""; position: absolute; inset: 1rem -1rem -1rem 1rem; border: 1px solid var(--gold); z-index: -1; }.leda__image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center; filter: saturate(.85); }.leda__image span { position: absolute; bottom: -1.35rem; right: -1.5rem; color: var(--gold); font-size: clamp(4rem, 9vw, 8rem); font-weight: 700; letter-spacing: -.12em; line-height: .8; }.leda__emphasis { padding-top: 1.15rem; border-top: 1px solid var(--line); color: var(--navy-soft); font-family: var(--font-display); font-size: 1.35rem; line-height: 1.25; }.testimony { overflow: hidden; }.testimony__layout { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: clamp(3rem, 7vw, 8rem); }#testimony-title { max-width: 540px; margin: .8rem 0 1.2rem; font-size: clamp(2.55rem, 3.8vw, 3.9rem); font-weight: 600; line-height: 1.07; letter-spacing: -.024em; }.testimony h2 em { color: var(--gold-light); }.testimony__layout > div > p:last-child { color: rgba(255,255,255,.67); }.testimony__cta { margin-top: 1.5rem; }.video-frame { position: relative; background: var(--navy-soft); aspect-ratio: 16 / 9; border: 1px solid rgba(255,255,255,.25); }.video-frame::before { content: ""; position: absolute; inset: 1rem; border: 1px solid rgba(255,255,255,.16); pointer-events: none; }.video-frame video { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; background: #020914; }

/* FAQ and close */
.faq__layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 8vw, 9rem); }.faq__items { border-top: 1px solid var(--line); }.faq details { border-bottom: 1px solid var(--line); }.faq summary { position: relative; padding: 1.4rem 2.3rem 1.4rem 0; color: var(--navy); cursor: pointer; font-family: var(--font-display); font-size: 1.35rem; line-height: 1.15; list-style: none; }.faq summary::-webkit-details-marker { display: none; }.faq summary span, .faq summary span::after { position: absolute; top: 50%; right: .3rem; width: 14px; height: 1px; background: var(--gold); content: ""; transition: transform .25s var(--ease); }.faq summary span::after { right: 0; transform: rotate(90deg); }.faq details[open] summary span::after { transform: rotate(0); }.faq details p { max-width: 590px; padding: 0 2.3rem 1.45rem 0; color: var(--navy-soft); font-size: .88rem; }.enrollment { position: relative; overflow: hidden; padding-block: clamp(4rem, 7vw, 6.5rem); background: var(--gold); color: var(--navy); }.enrollment__layout { position: relative; display: grid; grid-template-columns: .6fr 1fr; align-items: center; }.enrollment__number { color: rgba(8,27,51,.12); font-family: var(--font-display); font-size: clamp(10rem, 20vw, 19rem); line-height: .6; letter-spacing: -.15em; }.enrollment h2 { max-width: 730px; margin: .7rem 0 1.1rem; font-size: clamp(2.9rem, 4.6vw, 4.7rem); }.enrollment h2 em { color: var(--navy); }.enrollment > p, .enrollment__layout > div > p:not(.eyebrow) { margin-bottom: 1.8rem; font-size: 1.08rem; }

/* Animation */
[data-reveal] { opacity: 0; transform: translateY(26px); transition: opacity .7s var(--ease), transform .7s var(--ease); transition-delay: var(--reveal-delay, 0ms); }.is-visible { opacity: 1; transform: translateY(0); }
[data-scroll-accent] { transform: translateY(var(--scroll-accent-offset, 0)); will-change: transform; }

@media (hover: hover) {
  .pillar:hover { background: var(--sand); }
  .pillar:hover .pillar__index, .pillar:hover h3 { transform: translateX(.35rem); }
}

/* Editorial navigation and conversion */
.pillar-nav { position: sticky; z-index: 8; top: var(--header-height); background: rgba(245,242,236,.96); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); backdrop-filter: blur(8px); }
.pillar-nav__inner { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); }
.pillar-nav a { display: flex; gap: .5rem; align-items: center; min-height: 58px; color: var(--navy-soft); font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.pillar-nav a span { color: var(--gold); font-family: var(--font-display); font-size: 1rem; font-weight: 500; letter-spacing: 0; }
.pillar-nav a[aria-current="true"] { color: var(--navy); }
.pillar-nav__progress { position: absolute; bottom: -1px; left: 0; width: 33.333%; height: 2px; background: var(--gold); transition: transform var(--motion-duration) var(--ease); }
.conversion-strip { background: var(--navy-soft); color: var(--white); }
.conversion-strip--paper { background: var(--paper); color: var(--navy); border-block: 1px solid var(--line); }
.conversion-strip__inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; min-height: 130px; }
.conversion-strip__inner p { max-width: 670px; font-family: var(--font-display); font-size: clamp(1.35rem, 2.4vw, 2rem); line-height: 1.15; }
.conversion-strip__inner p span { margin-right: .55rem; color: var(--gold-light); font-family: var(--font-body); font-size: .65rem; font-weight: 700; letter-spacing: .1em; vertical-align: middle; }
.conversion-strip--paper .conversion-strip__inner p span { color: var(--gold); }
.text-link { display: inline-flex; align-items: center; gap: .55rem; flex: 0 0 auto; padding-bottom: .28rem; background: transparent; border-bottom: 1px solid var(--gold); color: inherit; font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.text-link i { color: var(--gold); font-size: 1rem; font-style: normal; transition: transform var(--motion-duration) var(--ease); }
.text-link:hover i, .text-link:focus-visible i { transform: translateX(4px); }
.conversion-strip .text-link, .workbook__cta { min-height: 48px; padding: .8rem 1rem; border: 1px solid var(--gold); }
.conversion-strip .text-link:hover, .conversion-strip .text-link:focus-visible, .workbook__cta:hover, .workbook__cta:focus-visible { background: var(--gold); color: var(--navy); }
button.text-link { border: 0; border-bottom: 1px solid var(--gold); cursor: pointer; }
button.text-link:disabled { cursor: default; opacity: .82; }

/* Presentation and workbook */
.presentation { border-top: 1px solid rgba(255,255,255,.14); }
.presentation__layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(3rem, 7vw, 8rem); align-items: center; }
.presentation h2 { margin: .75rem 0 1.25rem; font-size: clamp(2.4rem, 4.3vw, 4.55rem); }
.presentation__layout > div > p:last-child { max-width: 460px; color: rgba(255,255,255,.72); }
.embed-frame { position: relative; aspect-ratio: 16 / 9; background: #020914; border: 1px solid rgba(255,255,255,.22); }
.embed-frame video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; object-fit: contain; }
.workbook.section { padding-block: clamp(4.5rem, 7vw, 7rem); border-top: 1px solid var(--line); }
.workbook__layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2.5rem, 6vw, 6rem); align-items: start; }
.workbook h2 { max-width: 540px; margin-top: .7rem; font-size: clamp(2.35rem, 4vw, 4rem); }
.workbook__layout > div > p:last-of-type { max-width: 430px; margin-top: 1.35rem; }
.workbook__viewer { position: relative; height: clamp(500px, 49vw, 650px); min-height: 0; overflow-y: auto; overscroll-behavior: contain; background: var(--white); border: 1px solid var(--line); scroll-behavior: smooth; }
.workbook__preview-pages { width: 100%; min-height: 1500px; aspect-ratio: 1 / 4.25; transition: filter .45s var(--ease), opacity .45s var(--ease); }
.workbook__viewer iframe { display: block; width: 100%; height: 100%; min-height: 0; border: 0; pointer-events: none; }
.workbook__gate { position: sticky; z-index: 2; bottom: 0; min-height: 260px; display: grid; place-items: center; margin-top: 0; padding: 2rem; overflow: hidden; background: rgba(8,27,51,.9); color: var(--white); opacity: 0; pointer-events: none; transform: translateY(2rem); transition: opacity .35s var(--ease), transform .35s var(--ease); }
.workbook__gate::before { position: absolute; inset: -5rem 0 auto; height: 7rem; background: linear-gradient(180deg, transparent, rgba(8,27,51,.9)); content: ""; }
.workbook__gate-content { position: relative; z-index: 1; display: grid; justify-items: center; gap: 1.25rem; max-width: 430px; text-align: center; }
.workbook__gate-content p { margin: 0; font-family: var(--font-display); font-size: clamp(1.6rem, 3vw, 2.25rem); line-height: 1.08; }
.workbook__viewer.is-locked .workbook__preview-pages { filter: blur(9px); opacity: .45; }
.workbook__viewer.is-locked .workbook__gate { opacity: 1; pointer-events: auto; transform: translateY(0); }
.workbook__cta { margin-top: 1.25rem; }

/* Footer */
.site-footer { padding-block: 3.5rem; background: var(--navy); color: rgba(255,255,255,.65); }
.site-footer__inner { min-height: 0; display: grid; grid-template-columns: 1.1fr .9fr; gap: 1.35rem 3rem; align-items: start; font-size: .65rem; font-weight: 600; letter-spacing: .07em; }
.site-footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .65rem 1.2rem; font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.site-footer nav a:hover, .site-footer nav a:focus-visible { color: var(--gold-light); }
.site-footer__brand { color: var(--white); font-size: .7rem; font-weight: 700; letter-spacing: .08em; }
.site-footer__notice { max-width: 650px; font-size: .74rem; line-height: 1.55; }
.site-footer__inner > p:not(.site-footer__brand):not(.site-footer__notice) { font-size: .66rem; }
.site-footer a { color: var(--gold-light); }
.site-footer__brand span { color: var(--gold); }

@media (max-width: 800px) {
  :root { --shell: min(100% - 40px, 620px); --header-height: 70px; --space-section: 5rem; }
  .site-nav { position: fixed; z-index: 30; inset: var(--header-height) 0 auto; display: grid; gap: 0; padding: 1rem 20px 1.4rem; background: var(--navy); border-top: 1px solid rgba(255,255,255,.15); transform: translateY(-130%); opacity: 0; pointer-events: none; transition: transform .3s var(--ease), opacity .3s; }.site-nav.is-open { transform: translateY(0); opacity: 1; pointer-events: auto; }.site-nav a { padding: .85rem 0; border-bottom: 1px solid rgba(255,255,255,.15); }.menu-toggle { position: relative; z-index: 31; width: 38px; height: 38px; display: grid; place-content: center; gap: 6px; border: 0; background: transparent; color: var(--white); }.menu-toggle span:not(.sr-only) { display: block; width: 22px; height: 1px; background: currentColor; transition: transform .25s; }.menu-toggle[aria-expanded="true"] span:nth-child(2) { transform: translateY(3.5px) rotate(45deg); }.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-3.5px) rotate(-45deg); }
  .hero { min-height: 720px; }.hero__layout { display: block; padding-top: var(--header-height); }.hero__copy { padding: 3.5rem 0 2rem; }#hero-title { max-width: none; font-size: 2.7rem; line-height: 1.07; letter-spacing: -.025em; }.hero__intro { margin: 1.4rem 0 1.7rem; font-size: .98rem; }.hero__portrait { height: 300px; margin-inline: -20px; border-left: 0; border-top: 1px solid rgba(255,255,255,.18); }.hero__vertical { top: 1.7rem; right: .5rem; font-size: 3.6rem; }.hero__signature { bottom: 1.35rem; left: 1.3rem; }.hero__scroll { display: none; }
  .diagnosis__layout, .method__intro, .subjects__layout, .plan-30__layout, .leda__layout, .testimony__layout, .faq__layout, .practice__layout { display: block; }.chapter-label { margin-bottom: 2.1rem; }.diagnosis .chapter-label { margin-bottom: 1.25rem; }.diagnosis__body { margin-top: 1.5rem; }.margin-notes { grid-column: auto; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 2rem; }.perspective.section { padding-block: 4.5rem; }.perspective__layout { min-height: 0; display: block; padding-top: 0; }#perspective-title { max-width: 560px; font-size: 2.35rem; line-height: 1.08; }.perspective__number { position: absolute; right: -.75rem; bottom: -3.5rem; left: auto; font-size: 16.5rem; }.method__intro { padding-bottom: 4rem; }.method__intro::after { display: none; }.pillar__grid { grid-template-columns: 55px 1fr; gap: 1rem; min-height: 0; padding-block: 3rem; }.pillar__index { margin: .4rem 0 0; font-size: 1.6rem; }.pillar .pillar__grid h3 { font-size: clamp(2.55rem, 10vw, 3.4rem); }.pillar__description { grid-column: 2; margin-top: .75rem; }.pillar__description > p { font-size: .96rem; }.practice__copy { margin-bottom: 4rem; }.practice__document { justify-self: auto; margin-right: 22px; box-shadow: 14px 14px 0 var(--navy); }.subjects__heading { max-width: none; }.subject-list { margin-top: 2.5rem; }.subject-list p { grid-template-columns: 1fr; gap: .35rem; }.plan-30__layout > div { margin-bottom: 3.5rem; }.timeline { padding-left: 2rem; }.timeline li::before { left: -1.98rem; }.leda__image { margin: 0 auto 5rem 0; width: calc(100% - 1rem); }.leda__image span { right: -.7rem; }.testimony__layout > div:first-child { margin-bottom: 3rem; }#testimony-title { max-width: 520px; font-size: 2.35rem; line-height: 1.08; }.faq__layout > div:first-child { margin-bottom: 3rem; }.enrollment { padding-block: 4.5rem; }.enrollment__layout { grid-template-columns: 1fr; }.enrollment__number { position: absolute; right: -.55rem; top: 2rem; font-size: 11rem; }.enrollment__layout > div { position: relative; z-index: 1; }.enrollment h2 { font-size: clamp(2.65rem, 10.5vw, 3.4rem); }
  .pillar-nav { position: relative; top: auto; overflow-x: auto; }
  .pillar-nav__inner { min-width: 620px; }
  .pillar-nav a { min-height: 52px; }
  .conversion-strip__inner { display: grid; padding-block: 2.25rem; }
  .conversion-strip__inner p { font-size: 1.45rem; }
  .presentation__layout, .workbook__layout { display: block; }
  .presentation__layout > div:first-child, .workbook__layout > div:first-child { margin-bottom: 2.6rem; }
  .workbook__viewer { height: clamp(500px, 82vw, 600px); }
  .site-footer__inner { grid-template-columns: 1fr; }
  .site-footer nav { justify-content: flex-start; }
}

@media (max-width: 450px) {
  :root { --shell: calc(100% - 36px); }
  .margin-notes { grid-template-columns: 1fr; }
  .button { width: 100%; min-height: 56px; padding-inline: 1.2rem; }
  .practice__document { padding: 1.7rem; }
  .document__topline { font-size: .49rem; }
  .presentation h2 { font-size: 2.55rem; }
  .workbook__viewer { height: 500px; }
  .workbook__gate { min-height: 230px; padding: 1.5rem; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } [data-reveal] { opacity: 1; transform: none; } }
