/* Shared section rhythm and type roles; card/media layouts stay local. */
:root{--section-gap100:120px;--heading-gap100:36px;--section-title100:clamp(40px,4.6vw,60px);--eyebrow-size100:10px}
main>section:is(#overview,#who-for,#program,#teacher,#trial,#price,#stories,#faq){padding-block:0;margin-block:var(--section-gap100) 0;scroll-margin-top:110px}
main>.proof-d60:not(#stories){padding-bottom:0}
main>section:is(#overview,#who-for,#program,#teacher,#trial,#price,#stories,#faq)>:last-child{margin-bottom:0}
main :is(.l68-heading,.audience79-heading,.p85-heading,.tr90-heading,.p96-heading,.section-heading100){margin-top:0;margin-bottom:var(--heading-gap100)}
main :is(.l68-heading,.audience79-heading,.p85-heading,.tr90-heading,.p96-heading,.section-heading100,.faq-intro,.t90-intro)>:is(.eyebrow,.t90-eyebrow){display:block;font-family:Manrope,Arial,sans-serif;font-size:var(--eyebrow-size100);font-weight:800;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;margin:0 0 16px;padding:0;max-width:none;color:#877198}
main .t90-intro>.t90-eyebrow{color:#d0bde2}
main :is(.l68-heading,.audience79-heading,.p85-heading,.tr90-heading,.p96-heading,.section-heading100,.faq-intro)>h2{font-family:Manrope,Arial,sans-serif;font-size:var(--section-title100);font-weight:800;line-height:1.08;letter-spacing:-.045em;margin:0}
main .t90-intro>h2{font-family:Manrope,Arial,sans-serif;font-size:var(--section-title100);font-weight:800;line-height:1.06;letter-spacing:-.045em;margin-top:0}
.proof-repeat100 .section-heading100{margin-bottom:36px}.proof-repeat100 .p60-heading{margin-top:0}
/* FAQ uses the same shell, heading hierarchy and purple disclosure language. */
#faq .faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;border:0;padding:0;margin:0;align-items:start}
#faq .faq-intro{padding:0;margin:0}
#faq .faq-items{display:grid;gap:12px;min-width:0}
#faq .faq-items details{margin:0;border:1px solid #ded2e9;background:#fffdf8;border-radius:18px;padding:0;overflow:hidden}
#faq .faq-items details[open]{background:#f0e8fa;border-color:#c8b4df}
#faq .faq-items summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;padding:22px 24px;cursor:pointer;font-family:Manrope,Arial,sans-serif;font-size:16px;font-weight:600;line-height:1.4;letter-spacing:-.015em;color:#382743}
#faq .faq-items summary::-webkit-details-marker{display:none}
#faq .faq-items summary>span{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border-radius:50%;background:#e9ddf7;color:#7546b6;font-size:23px;font-weight:400;line-height:1;transition:transform .2s}
#faq .faq-items details[open] summary>span{transform:rotate(45deg)}
#faq .faq-items details>p{font-family:Manrope,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.7;color:#665071;letter-spacing:0;padding:0 24px 24px;margin:0;max-width:none}
main>section#faq{margin-bottom:var(--section-gap100)}
@media(max-width:800px){
 :root{--section-gap100:96px;--heading-gap100:30px;--section-title100:36px;--eyebrow-size100:9px}
 main :is(.l68-heading,.audience79-heading,.p85-heading,.tr90-heading,.p96-heading,.section-heading100,.faq-intro)>:is(.eyebrow,.t90-eyebrow){margin-bottom:16px}
 main .t90-intro>h2{font-size:44px}
 #stories .section-heading100{padding:0 10px;margin-bottom:30px}
 #faq .faq{grid-template-columns:1fr;gap:30px}
 #faq .faq-items{gap:10px}
 #faq .faq-items summary{font-size:15px;padding:19px 18px;gap:14px}
 #faq .faq-items summary>span{width:28px;height:28px;font-size:21px}
 #faq .faq-items details>p{font-size:14px;line-height:1.65;padding:0 18px 21px}
 #faq .faq-items details{border-radius:16px}
}
@media(max-width:350px){:root{--section-title100:32px}#faq .faq-items summary{font-size:14px;padding:17px 16px}#faq .faq-items details>p{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){#faq .faq-items summary>span{transition:none}}
