/* Shared type scale: readable copy, restrained headings, consistent UI labels. */
:root{--type-display:clamp(48px,3.2vw,68px);--type-page:clamp(38px,2.8vw,52px);--type-section:32px;--type-card:24px;--type-body:16px;--type-ui:15px;--type-meta:13px}
body{font-size:var(--type-body);line-height:1.8}
h1,h2,h3{font-weight:650;letter-spacing:-.025em}
.hero h1{font-size:var(--type-display);line-height:1.25}
.page-intro h1{font-size:var(--type-page);line-height:1.3}
h2,.section-heading h2,.faq-section h2,.cta h2{font-size:var(--type-section);line-height:1.4}
.panel h2,.two-grid .panel h2,.learning-offer h2,.learning-main h2,.official-card h2,.membership-brand h2,.membership-chatgpt-heading h2{font-size:26px;line-height:1.45}
.entry-card h3,.learning-entry h3,.panel h3,.timeline-item h3,.price-card h2,.business-card h2{font-size:var(--type-card);line-height:1.45;letter-spacing:-.02em}
.hero .lead{font-size:18px;line-height:1.85}
.page-intro .lead,.section-heading>p,.entry-card p,.panel p,.timeline-item p,.faq-list p,.membership-heading>p,.cta p:last-child{font-size:var(--type-body);line-height:1.85}
.header nav,.nav-contact,.btn,.hero .btn,.cta .btn,.partner-card .btn,.text-link,.card-link,.entry-card .card-link,.membership-tabs button{font-size:var(--type-ui);line-height:1.5;font-weight:500}
.brand{font-size:21px;line-height:1.4}
.hero-note,.intro-strip p,.intro-strip>div,.price-card>p,.business-card>p,.membership-chatgpt-heading p,.business-term,.subscription-products>span{font-size:14px;line-height:1.75}
.check-list li,.price-card .check-list li,.business-card .check-list li,.membership-panel .price-grid .business-card .check-list li{font-size:15px;line-height:1.8}
.price-card .btn,.business-card .btn,.membership-three-grid .business-card .btn,.membership-panel .price-grid .business-card .btn{font-size:15px;line-height:1.5}
.offer-price strong{font-size:48px;line-height:1.15;letter-spacing:-.035em;font-weight:600}
.price-card .offer-price strong{font-size:42px}
.offer-price>span,.price-card .offer-price>span{font-size:13px}
.eyebrow,.cta .eyebrow,.membership-brand .eyebrow{font-size:12px;line-height:1.6;letter-spacing:.12em;font-weight:600}
.card-index,.price-card .card-index,.partner-card .card-index{font-size:12px;line-height:1.6;letter-spacing:.08em}
.entry-badge,.pill,.small-label,.learning-preview>span,.learning-preview small{font-size:13px;line-height:1.6}
.learning-preview small{font-size:11px}
.fine-print,.price-note,.business-note{font-size:13px!important;line-height:1.8!important}
.footer>div>p,.footer-links,.assurance small,.dialog-note{font-size:13px;line-height:1.8}
.assurance strong{font-size:15px;line-height:1.6}
.legal{font-size:12px;line-height:1.8}
.faq-list summary{font-size:17px;line-height:1.65}
.dialog-content h2{font-size:26px;line-height:1.4}
.dialog-content>.muted,.dialog-grid label,.dialog-qr p,.form-field,legend,fieldset label{font-size:15px;line-height:1.75}
textarea,.dialog-grid textarea{font-size:16px;line-height:1.8}
@media(max-width:1100px){:root{--type-display:46px;--type-card:22px;--type-section:30px}.header nav{font-size:15px}.learning-preview>span{font-size:12px}.learning-preview small{font-size:10px}}
@media(max-width:760px){:root{--type-display:42px;--type-page:34px;--type-section:28px;--type-card:22px}.hero h1{line-height:1.3}.hero .lead,.page-intro .lead{font-size:16px;line-height:1.85}.panel h2,.two-grid .panel h2,.learning-offer h2,.learning-main h2,.official-card h2,.membership-brand h2,.membership-chatgpt-heading h2{font-size:24px}.hero-note{font-size:13px}.header nav{font-size:16px}.brand{font-size:20px}.price-card h2,.membership-panel .price-grid .business-card h2{font-size:24px}.price-card .offer-price strong{font-size:38px}.membership-panel .price-grid .business-card .check-list li{font-size:15px}.entry-card h3,.learning-entry h3{font-size:22px}.hero .btn,.cta .btn{font-size:15px}.footer-links{font-size:14px}.learning-preview>span{font-size:13px}.learning-preview small{font-size:11px}.faq-list summary{font-size:16px}.dialog-content h2{font-size:24px}.eyebrow,.cta .eyebrow,.membership-brand .eyebrow{font-size:11px}}
@media(max-width:480px){.price-grid{grid-template-columns:1fr}.price-card{padding:26px}.price-card .price-card-top{min-height:24px;justify-content:space-between}.price-card .offer-price strong{font-size:42px}.price-card .btn{padding:13px 16px}.price-card .card-index{font-size:12px}}
@media(max-width:360px){:root{--type-display:36px;--type-page:32px}.header .brand{font-size:19px}.entry-card{padding:23px}.learning-preview>span{font-size:12px}.learning-preview small{font-size:10px}}
