
/* Shared readable typography, without changing layout or brand lockups. */
:root{--pp-font:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--pp-body-size:15px;--pp-small-size:13px;--pp-title-size:28px}
body,input,select,textarea,button{font-family:var(--pp-font)!important}
body{font-size:var(--pp-body-size);line-height:1.6}
main p,.card p,.sub{font-size:var(--pp-body-size);line-height:1.65}
main .page-title,.wrap>header h1{font-family:var(--pp-font)!important;font-size:var(--pp-title-size)!important;line-height:1.25!important;font-weight:700!important;letter-spacing:-.02em!important}
main h2{font-size:22px;line-height:1.35}main h3,.course-card h3{font-size:18px;line-height:1.4}
button,.button,input,select,textarea{font-size:14px}input,select,textarea{font-size:16px}
label,.field>label{font-size:14px;font-weight:600}small,.tiny,.course-meta{font-size:var(--pp-small-size)}
.course-description{margin:10px 0 14px;font-size:15px;line-height:1.65}
.course-description summary{cursor:pointer;list-style:none}.course-description summary::-webkit-details-marker{display:none}
.course-description summary span{display:block}.course-description b{display:block;font-size:13px;color:var(--accent-text,#11221F);margin-top:6px;font-weight:600}
.course-description .description-less,.course-description[open] summary span,.course-description[open] .description-more{display:none}
.course-description[open] .description-less{display:block}.course-description p{white-space:pre-line;margin:8px 0}
.course-description summary:focus-visible{outline:2px solid #11221F;outline-offset:4px}
@media(max-width:700px){:root{--pp-title-size:24px}main h2{font-size:20px}.course-card h3{font-size:18px}}

/* Membership promotion */
.membership-page{max-width:850px;margin:auto}.promo-card{display:grid;grid-template-columns:1fr minmax(280px,.8fr);gap:24px;align-items:center;margin:22px 0;background:linear-gradient(135deg,var(--surface,#fff),var(--soft,#eef5f2))}.promo-card h2{margin:6px 0}.promo-card p{margin:4px 0}.promo-input{display:flex;gap:8px}.promo-input input{min-width:0;flex:1;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.promo-card.is-active{border-color:var(--accent,#11221F);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#11221F) 12%,transparent)}
.membership-plan{position:relative;overflow:hidden}.membership-plan.discounted{border:2px solid var(--accent,#11221F);background:linear-gradient(160deg,var(--surface,#fff) 55%,color-mix(in srgb,var(--accent,#11221F) 9%,var(--surface,#fff)))}.discount-flag{position:absolute;right:0;top:0;padding:7px 13px;border-radius:0 0 0 12px;background:var(--accent,#11221F);color:#fff;font-size:11px;font-weight:800;letter-spacing:.08em}.membership-price{margin:12px 0}.membership-price del{display:block;color:var(--muted,#66736d);font-size:17px;font-weight:650;text-decoration-thickness:2px;text-decoration-color:currentColor}.membership-price h2{font-size:38px!important;line-height:1.1!important;margin:4px 0;color:var(--text,#17221e)}.membership-plan.discounted .membership-price h2{color:var(--accent-text,#11221F);font-size:44px!important}.membership-price strong{display:inline-block;margin-top:7px;padding:4px 9px;border-radius:999px;background:color-mix(in srgb,var(--accent,#11221F) 13%,transparent);color:var(--accent-text,#11221F);font-size:12px}.discount-until{font-size:13px!important;color:var(--muted,#66736d)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:700px){.promo-card{grid-template-columns:1fr;gap:14px}.promo-input{flex-direction:column}.membership-plan.discounted .membership-price h2{font-size:36px!important}}

/* Full public home and two-column membership choice */
body.landing main{max-width:none!important;width:100%!important;padding:0!important}.pp-home-full{width:100%;background:var(--bg,#f6f7f6)}.home-hero{width:min(1180px,calc(100% - 48px));margin:auto;padding:64px 0 40px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:52px;align-items:center}.home-copy h1{font-size:clamp(38px,5vw,68px)!important;line-height:1.06!important;margin:14px 0 20px;letter-spacing:-.045em!important}.home-copy p{font-size:18px!important;max-width:580px}.home-copy .button{margin-top:14px}.home-video,.home-video-placeholder{border-radius:22px;overflow:hidden}.home-video{border:1px solid var(--line,#dfe6e2);background:var(--surface,#fff)}.home-video-placeholder{position:relative;aspect-ratio:16/9;background:#132923}.home-video-placeholder img{display:block;width:100%;height:100%;object-fit:cover}.home-video-placeholder button{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:64px;height:64px;border:0;border-radius:50%;background:var(--accent,#11221F);color:#fff;font-size:22px}.home-trust{border-block:1px solid var(--line,#dfe6e2);background:var(--surface,#fff);padding:18px max(24px,calc((100% - 1180px)/2));display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-weight:650;font-size:13px}.home-section{width:min(1080px,calc(100% - 48px));margin:auto;padding:72px 0}.home-section-head{text-align:center;max-width:680px;margin:0 auto 32px}.home-section-head h2{font-size:clamp(28px,4vw,42px)!important;margin:8px 0 12px}.home-pricing{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:880px;margin:auto}.home-price-card{position:relative;padding:32px;border:1px solid var(--line,#dfe6e2);border-radius:20px;background:var(--surface,#fff)}.home-price-card.featured{border:2px solid var(--accent,#11221F);box-shadow:0 18px 50px color-mix(in srgb,var(--accent,#11221F) 12%,transparent)}.price-tag{position:absolute;right:20px;top:20px;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--accent,#11221F) 14%,transparent);color:var(--accent-text,#11221F);font-size:10px;font-weight:800;letter-spacing:.06em}.home-price{display:flex;flex-direction:column;align-items:flex-start;margin:18px 0}.home-price del{font-size:18px;color:var(--muted,#66736d);text-decoration-thickness:2px;text-decoration-color:currentColor}.home-price strong{font-size:44px;line-height:1.1;color:var(--text,#17221e);letter-spacing:-.04em}.featured .home-price strong{color:var(--accent-text,#11221F)}.home-price small{font-size:13px;color:var(--muted,#66736d);margin-top:5px}.home-price-card ul{list-style:none;padding:0;margin:22px 0}.home-price-card li{padding:8px 0;border-bottom:1px solid var(--line,#dfe6e2)}.home-price-card li::before{content:'✓';color:var(--accent-text,#11221F);font-weight:800;margin-right:9px}.home-steps{padding-top:36px}.home-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.home-step-grid article{padding:24px;border:1px solid var(--line,#dfe6e2);border-radius:16px;background:var(--surface,#fff)}.home-step-grid article>b{color:var(--accent-text,#11221F);font-size:13px}.home-step-grid h3{margin:10px 0 6px}.membership-plan.selected-plan{outline:3px solid color-mix(in srgb,var(--accent,#11221F) 28%,transparent);outline-offset:4px}
@media(max-width:800px){.home-hero{grid-template-columns:1fr;width:min(100% - 32px,620px);padding:38px 0 28px;gap:28px}.home-copy h1{font-size:38px!important}.home-copy p{font-size:16px!important}.home-trust{padding:15px 16px;justify-content:flex-start}.home-section{width:calc(100% - 32px);padding:48px 0}.home-pricing,.home-step-grid{grid-template-columns:1fr}.home-price-card{padding:25px}.home-step-grid{gap:12px}}
footer>small:last-child{display:none!important}

/* Home pricing parity and complete light/dark contrast. */
.pp-home-full{background:var(--canvas,#f6f7f6)!important;color:var(--text,#17221e)}
.home-price-card{display:flex;flex-direction:column;min-height:100%}
.home-price-card ul{flex:1}
.home-price-card .button,.home-copy .button{background:var(--accent,#11221F)!important;color:var(--on-accent,#fff)!important}
body[data-theme="dark"].landing .pp-home-full{background:var(--canvas)!important;color:var(--text)!important}
body[data-theme="dark"].landing :is(.home-copy,.home-section-head,.home-price-card,.home-step-grid article,.home-trust) :is(h1,h2,h3,strong,li,span){color:var(--text)!important}
body[data-theme="dark"].landing :is(.home-copy,.home-section-head,.home-price-card,.home-step-grid article) :is(p,small,del){color:var(--secondary)!important}
body[data-theme="dark"].landing :is(.home-price-card,.home-step-grid article,.home-trust,.home-video){background:var(--surface)!important;border-color:var(--line)!important}
body[data-theme="dark"].landing .eyebrow,body[data-theme="dark"].landing .price-tag,body[data-theme="dark"].landing .home-step-grid article>b,body[data-theme="dark"].landing .home-price strong{color:var(--accent-text)!important}
body[data-theme="dark"].landing .price-tag{background:var(--accent-tint)!important}
