/* Approved September 2026 hierarchy: Didot only for large hero H1s.
   This final stylesheet deliberately overrides legacy editorial sizing. */
:root { --display: Didot, 'Bodoni 72', Georgia, serif; --serif: var(--sans); --script: var(--sans); }
body { font-size:18px; line-height:1.65; }
body h1 { font-family:var(--display); }
body :is(h2,h3,h4,h5,h6) { font-family:var(--sans); font-weight:500; letter-spacing:-.025em; line-height:1.25; text-wrap:pretty; }
body :is(.page-main h2,.page-cta h2,.membership h2,.faq h2) { font-size:clamp(28px,3vw,42px); }
body :is(.page-main h3,.program-row h3,.people-preview h3,.story-card h3,.page-principles h3,.mentor-card h2) { font-size:clamp(22px,2vw,28px); }
body :is(p,li,dd,dt,summary,label,input,select,.text-link,.btn) { font-family:var(--sans); }
body .page-main :is(p,li), body :is(.page-lede,.faq details>div,.program-overview p:not(.eyebrow),.page-principles p,.curriculum-list details>div,.program-row p,.event-row p:not(.eyebrow),.people-preview p,.article-body p,.resource-grid p:not(.eyebrow),.contact-grid p:not(.eyebrow)) { font-size:18px; line-height:1.7; }
body .page-main .eyebrow, body .eyebrow { font-size:12px; line-height:1.6; letter-spacing:.12em; font-weight:600; margin-bottom:16px; }
body .page-main :is(.small-note,.source-note,.article-source,.article-date), body .page-hero figcaption { font-size:14px; line-height:1.6; }
body .page-main .page-lede { font-size:19px; max-width:570px!important; line-height:1.7; }
body :is(.btn,.page-actions .btn,.hero__actions .btn) { font-size:16px; min-height:50px; padding:14px 22px; font-weight:600; gap:16px; text-align:center; }
body .btn--small { min-height:48px; padding:12px 20px; }
body :is(.text-link,.page-actions .text-link,.program-row>.text-link) { font-size:16px; gap:14px; }
body .text-link { padding-block:7px; }
body .desktop-nav { font-size:16px; gap:30px; }
body .sign-in { font-size:14px; }
body .nav__inner { height:88px; gap:28px; }
body .mobile-menu a { font-size:18px; padding-block:12px; }
body .mobile-menu { max-height:calc(100dvh - 78px); }
body .section { padding-block:72px; }
body .page-heading { margin-bottom:32px; }
body .page-hero { padding-block:58px; }
body .page-main h1 { font-family:var(--display); }
body .simple-hero { grid-template-columns:1.2fr 1fr; gap:60px; padding-block:54px 60px; }
body .simple-hero h1 { font-size:clamp(68px,7.6vw,108px); line-height:.99; letter-spacing:-.05em; }
body .simple-hero .page-lede { margin-top:26px; }
body .simple-hero .page-actions { margin-top:25px; }
body .simple-hero .hero-price { font-size:16px; margin-top:14px; color:var(--muted); }
body .simple-hero .page-hero__image img { height:490px; object-position:55% center; }
.flagship-section { border-top:1px solid var(--rule); }
.focus-programs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.focus-program { display:flex; flex-direction:column; align-items:flex-start; border-top:2px solid var(--ink); padding-top:22px; }
.focus-program__top { display:flex; justify-content:space-between; gap:12px; width:100%; align-items:center; margin-bottom:20px; }
.focus-program__top .eyebrow { margin:0; }
.offer-status { font-size:12px; padding:5px 9px; background:var(--sage); line-height:1.5; }
.focus-program h3 { margin-bottom:16px; }
body .focus-program .program-audience { font-size:15px; color:var(--muted); margin-bottom:16px; }
.focus-program p+p { margin-top:0; }
.focus-program__facts { margin-top:auto; padding-top:24px; width:100%; }
body .focus-program__facts p { font-size:14px; color:var(--muted); margin-bottom:14px; }
.focus-program__facts strong { font-weight:500; font-size:20px; display:block; }
.focus-program__facts>span { display:block; font-size:15px; margin-top:5px; }
.focus-program>.btn { margin-top:24px; width:100%; }
.focus-program>.text-link { margin-top:12px; }
.section-tail { margin-top:32px; color:var(--muted); }
body .section-tail { font-size:16px; }
.section-tail .text-link { margin-left:6px; }
.journey-section { background:var(--sage); padding-block:64px; }
.journey-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; list-style:none; padding:0; margin:0; }
.journey-steps>li>span { display:block; font-size:14px; border-top:1px solid #32416155; padding-top:18px; margin-bottom:18px; }
.journey-steps h3 { margin-bottom:12px; }
.benefit-line { border-top:1px solid #32416155; margin-top:36px; padding-top:24px; display:flex; gap:40px; align-items:center; justify-content:space-between; }
.benefit-line strong { display:block; font-weight:500; }
.benefit-line .text-link { flex-shrink:0; }
.simple-proof { display:grid; grid-template-columns:1fr 2fr; gap:70px; align-items:center; border-bottom:1px solid var(--rule); }
.proof-person { display:flex; gap:20px; align-items:center; }
body .proof-person p { font-size:14px; }
.proof-person .member-note__avatar { flex-shrink:0; width:80px; height:80px; }
.simple-proof blockquote { font:500 clamp(21px,2vw,28px)/1.5 var(--sans); letter-spacing:-.02em; }
.simple-proof .text-link { margin-top:22px; }
body .faq { gap:36px 70px; }
body .faq summary { font-size:18px; line-height:1.6; padding-block:21px; }
.faq-final { grid-column:1/-1; margin-top:16px; padding-top:32px; border-top:1px solid var(--rule); display:flex; gap:22px; align-items:center; }
.faq-final p { color:var(--muted); }
.off-shelf { background:var(--sage); }
.off-shelf .focus-programs { grid-template-columns:repeat(2,minmax(0,1fr)); }
.section-intro { margin-bottom:32px; }
body .simple-directory .page-hero { padding-bottom:40px; }
body .program-page .page-hero { grid-template-columns:1.3fr 1fr; gap:64px; }
body .program-page .page-hero h1 { font-size:clamp(60px,6vw,86px); }
body .program-facts { padding:24px 28px; }
body .program-facts dt { font-size:14px; margin-bottom:7px; }
body .program-facts dd { font:500 18px/1.5 var(--sans); letter-spacing:0; }
body .page-principles .chapter-number { font:500 20px/1.4 var(--sans); letter-spacing:0; margin-bottom:20px; }
body .page-principles { padding-block:56px; }
body .page-principles h3 { margin-bottom:16px; }
body .program-overview { gap:60px; }
body .program-overview h3 { margin-top:24px; }
body .curriculum-list summary { font-size:18px; padding-block:20px; }
body .curriculum-number { font:500 16px/1.5 var(--sans); }
body .page-cta { padding-block:56px; }
body .page-cta p { margin-bottom:24px; }
.inclusion-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.inclusion-grid article { padding-top:24px; border-top:1px solid var(--rule); }
.inclusion-grid ul { padding-left:20px; margin:20px 0 0; }
.inclusion-grid li { margin-bottom:12px; }
.simple-membership { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.simple-membership h2 { margin-bottom:24px; }
body .page-main .standalone-price { font:500 54px/1.2 var(--sans); margin-bottom:20px; letter-spacing:-.04em; }
.standalone-price span { font-size:18px; font-weight:400; letter-spacing:0; }
.simple-membership .btn { margin-block:24px 16px; }
.signup-section { display:grid; grid-template-columns:.9fr 1.2fr; gap:70px; padding-bottom:72px; align-items:start; }
body .signup-picker h2 { font-size:28px; margin-bottom:16px; }
body .signup-picker>p { font-size:16px; }
body .signup-picker nav h3 { font-size:14px; text-transform:uppercase; letter-spacing:.08em; margin:28px 0 12px; }
.program-choice { border-top:1px solid var(--rule); display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:16px; padding:17px 14px; line-height:1.5; }
.program-choice:hover,.program-choice[aria-current] { background:var(--sage); }
.program-choice[aria-current] { box-shadow:inset 3px 0 var(--ink); font-weight:500; }
.signup-offer { background:var(--sage); padding:34px; margin-bottom:28px; scroll-margin-top:110px; }
body .signup-offer h2 { font-size:30px; margin-bottom:20px; }
.signup-prices { margin-block:24px; }
.signup-prices>div { padding-block:14px; border-top:1px solid #32416144; display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.signup-prices dt,.signup-prices dd { font-size:16px; margin:0; line-height:1.6; }
.signup-prices dd { text-align:right; font-weight:500; }
body .signup-offer .signup-notice { font-size:16px; }
.signup-actions { margin-top:24px; }
.signup-actions .small-note { margin-top:12px; }
.member-route,.direct-route { border-top:1px solid #32416144; margin-top:24px; }
.member-route summary,.direct-route summary { font-size:16px; padding-block:20px; }
.signup-offer details>div { padding-bottom:12px; }
body .signup-offer details p { font-size:16px; }
.signup-offer .page-actions { gap:18px; }
.signup-prompt { padding:36px; border:1px solid var(--rule); }
body .footer h3 { font-size:13px; letter-spacing:.06em; font-weight:600; }
body .footer__top p,body .footer__top>div>a:not(:has(img)) { font-size:14px; line-height:1.7; }
body .ack,body .footer__bottom { font-size:12px; }
body .display-word,body .resource-stamp>span { font:500 clamp(48px,6vw,80px)/1.2 var(--sans); letter-spacing:-.03em; overflow-wrap:anywhere; }
body .event-row time strong { font:500 40px/1.2 var(--sans); }
body .event-row time span { font-size:12px; }
body .people-preview p { font-size:16px; }
body .mentor-card p { font-size:15px; }
@media(max-width:1100px) {
 body .simple-hero { gap:30px; }
 body .simple-hero h1 { font-size:clamp(60px,7.8vw,85px); }
 body .simple-hero .page-hero__image img { height:450px; }
 .focus-programs { gap:20px; }
 .focus-program__top { align-items:flex-start; flex-direction:column; }
 .simple-proof { gap:36px; }
 body .program-page .page-hero { gap:35px; }
 .signup-section { gap:30px; }
 .signup-offer { padding:26px; }
 .simple-membership { gap:40px; }
}
@media(max-width:760px) {
 body { font-size:16px; }
 body .nav__inner { height:76px; gap:12px; }
 body .brand img { width:110px; }
 body .nav__actions { gap:6px; }
 body .btn--small { font-size:15px; padding:11px 14px; gap:10px; }
 body .section { padding-block:48px; }
 body .page-main :is(p,li),body .faq details>div { font-size:16px; }
 body .page-main .eyebrow { font-size:12px; }
 body .page-main .page-lede { font-size:17px; line-height:1.65; margin-top:22px; }
 body .page-main :is(.small-note,.source-note,.article-source,.article-date) { font-size:14px; }
 body .page-main h2 { font-size:28px; }
 body .page-main h3 { font-size:23px; }
 body .page-hero,body .simple-hero { grid-template-columns:1fr; padding-block:34px 42px; gap:30px; }
 body .simple-hero h1 { font-size:clamp(52px,14vw,80px); line-height:1.02; }
 body .simple-hero .page-actions { margin-top:20px; }
 body .simple-hero .page-hero__image img { height:300px; }
 body .simple-hero .btn { width:100%; font-size:16px; padding-inline:15px; gap:10px; }
 body .simple-hero .hero-price { font-size:15px; }
 .focus-programs,.off-shelf .focus-programs,.journey-steps,.inclusion-grid { grid-template-columns:1fr; gap:32px; }
 .focus-program__top { flex-direction:row; align-items:center; }
 .focus-program__facts { padding-top:20px; }
 body .focus-program__facts p { font-size:14px; }
 body .focus-program .program-audience { font-size:15px; }
 body .section-tail { font-size:16px; }
 .section-tail .text-link { margin-left:0; }
 .journey-section { padding-block:48px; }
 .journey-steps { gap:24px; }
 .benefit-line { display:block; }
 .benefit-line .text-link { margin-top:16px; }
 .simple-proof { grid-template-columns:1fr; gap:28px; }
 body .proof-person p { font-size:14px; }
 .simple-proof blockquote { font-size:22px; }
 body .faq { gap:26px; }
 body .faq summary { font-size:16px; }
 .faq-final { display:block; padding-top:24px; }
 .faq-final p { margin-top:16px; }
 .faq-final .btn { width:100%; font-size:16px; padding-inline:14px; gap:10px; }
 body .program-page .page-hero { grid-template-columns:1fr; }
 body .program-page .page-hero h1 { font-size:clamp(52px,13vw,78px); }
 body .program-facts>div { grid-template-columns:1fr; gap:3px; padding-block:14px; }
 body .program-facts dd { font-size:17px; }
 body .program-facts dt { margin:0; }
 body .program-overview { gap:28px; }
 body .curriculum-list summary { font-size:16px; }
 body .page-principles article { display:block; }
 body .page-principles .chapter-number { margin-bottom:12px; }
 body .page-cta h2 { font-size:30px; }
 body .page-cta>.wrap>div { gap:24px; }
 .simple-membership,.signup-section { grid-template-columns:1fr; gap:30px; }
 .signup-section { padding-bottom:48px; }
 body .signup-offer h2 { font-size:25px; }
 .signup-offer { padding:24px; }
 .signup-prices>div { grid-template-columns:1fr; gap:5px; }
 .signup-prices dd { text-align:left; }
 body .signup-offer .signup-notice { font-size:16px; }
 body .signup-picker nav h3 { font-size:14px; }
 body .signup-picker h2 { font-size:26px; }
 body .page-main .standalone-price { font-size:48px; }
 body .page-main .standalone-price span { font-size:16px; }
 body .footer__top { gap:28px 16px; }
 body .event-row time strong { font-size:30px; }
 body .display-word { font-size:48px; }
}
@media(max-width:370px) {
 body .brand img { width:94px; }
 body .btn--small { font-size:14px; padding-inline:10px; gap:8px; }
 body .simple-hero h1 { font-size:48px; }
 body .simple-hero .btn,.faq-final .btn { text-align:left; }
 .signup-offer { padding:20px; }
}
@media(scripting:none) {
 body .desktop-nav { display:flex; flex-wrap:wrap; gap:12px; }
 body .nav__inner { height:auto; flex-wrap:wrap; padding-block:12px; }
 body .desktop-nav { order:3; width:100%; justify-content:space-between; }
 body .menu-toggle { display:none; }
}
/* Navigation remains usable if the enhancement script fails to load. */
html:not(.nav-ready) .desktop-nav { display:flex; flex-wrap:wrap; gap:12px; }
html:not(.nav-ready) .nav__inner { height:auto; flex-wrap:wrap; padding-block:12px; }
html:not(.nav-ready) .desktop-nav { order:3; width:100%; justify-content:space-between; }
html:not(.nav-ready) .menu-toggle { display:none; }
@media(max-width:760px) {
 .track-grid { grid-template-columns:1fr; }
 .track-grid>div { min-width:0; }
}
body .nav .btn--small { padding:12px 20px; min-height:48px; white-space:nowrap; }
body .menu-toggle { flex-shrink:0; }
@media(max-width:760px) {
 body .nav .btn--small { font-size:16px; padding:12px 14px; }
 body .nav .btn--small>span[aria-hidden] { display:none; }
}
@media(max-width:370px) {
 body .nav .btn--small { font-size:15px; padding:12px; }
}
.proof-person .member-note__avatar { overflow:hidden; border-radius:50%; }
.proof-person .member-note__avatar img { width:200%; max-width:none; height:100%; object-fit:cover; object-position:left top; }
