/* Approved public-site typography. Loaded after preserved design styles.
   Explicit overrides also cover legacy rules injected by the page scripts. */
:root{--public-body:18px;--public-reading:18px;--public-hero:68px;--public-title:64px;--public-section:52px;--public-card:28px;--public-quote:24px;--public-question:22px;--public-answer:17px;--public-price:40px;--public-dialog:36px;--public-total:32px;--public-sans:Arial,"Noto Sans Devanagari",sans-serif;--public-serif:Georgia,"Noto Sans Devanagari",serif}
body,p,a,button,input,select,textarea,label,li,small,span,blockquote{font-family:var(--public-sans)!important}
body{font-size:var(--public-body);line-height:1.7}
h1,h2,h3,h4,h1 span,h2 span,h3 span{font-family:var(--public-serif)!important;font-weight:400!important;line-height:1.15!important}
main h1{font-size:var(--public-title)!important}
.home-page .hero h1{font-size:var(--public-hero)!important;line-height:1.1!important}
main h2{font-size:var(--public-section)!important}
main h3,.program-card h3,.practice-format h3,.content-body h2,.content-body h3,.content-body h4,.blog-card h2{font-size:var(--public-card)!important}
main p,.hero .hero-copy>p,.program-card p,.editorial-heading>p:last-child,.workshop-hero p,.workshop-invitation p,.joining-band li span{font-size:var(--public-body)!important;line-height:1.7!important}
.story-copy>p:not(.eyebrow),.content-body,.content-body p,.content-body li,.full-story p{font-size:var(--public-reading)!important;line-height:1.7!important;max-width:70ch}
.content-body{max-width:70ch}
button:not(.close):not(.membership-modal-close):not(#menu):not([data-menu-close]),.button,.editorial-pill,.text-link,.v5a-practice-action,.practice-memberships-link,.content-back,.v5a-gallery-all-link,.v5a-review-link{font-size:16px!important;font-family:var(--public-sans)!important;line-height:1.5!important}
input,select,textarea{font-size:16px!important;line-height:1.5!important;min-width:0}
body>header nav a{font-size:16px!important}
.eyebrow,.hero .hero-copy>.eyebrow{font-size:12px!important;line-height:1.5!important}
body.home-page .hero .hero-copy>.hero-note{font-size:14px!important;line-height:1.7!important}
.article-card h2{font-size:var(--public-card)!important}
.article-card>a{font-size:16px!important;line-height:1.5!important}
article[lang="hi"] p,article[lang="hi"] a,article[lang="hi"] li{font-family:"Noto Sans Devanagari",sans-serif!important;line-height:1.7!important}
article[lang="hi"] a{font-weight:600!important}
.practice-times p,.practice-times li,.practice-times h4,.practice-availability{font:400 16px/1.7 var(--public-sans)!important}
.practice-times h3{font:500 14px/1.5 var(--public-sans)!important}
.practice-format .practice-price{font:400 var(--public-price)/1.2 var(--public-serif)!important}
.practice-price span,.practice-plan-note{font:400 14px/1.7 var(--public-sans)!important}
.v5a-review-card blockquote{font:400 var(--public-quote)/1.55 var(--public-sans)!important}
.faq-list summary,.workshop-faq summary{font:400 var(--public-question)/1.35 var(--public-serif)!important}
.faq-list details p,.workshop-faq details p{font:400 var(--public-answer)/1.7 var(--public-sans)!important;color:#393a31!important;margin-top:14px!important;max-width:65ch}
body>footer p,body>footer a,body>footer h3{font:400 14px/1.7 var(--public-sans)!important}
body>footer small,.content-meta,.v5a-review-card small,.v5a-review-drag-hint,.glimpse-foot{font:400 12px/1.6 var(--public-sans)!important}
dialog h2{font:400 var(--public-dialog)/1.2 var(--public-serif)!important}
dialog p,.compact-plan-result p{font:400 16px/1.7 var(--public-sans)!important}
dialog label,.membership-modal-note,.home-plan-rules,.home-plan-rules summary,.home-plan-rules li,.v5-form-note,.compact-first-fee>span{font:400 14px/1.7 var(--public-sans)!important}
dialog .eyebrow{font-size:12px!important}
[data-first-amount]{font:400 var(--public-total)/1.2 var(--public-serif)!important}
.home-plan-actions{flex-wrap:wrap}
#v5a-mobile-menu nav a{font:400 26px/1.3 var(--public-serif)!important}
:lang(hi) h1,:lang(hi) h2,:lang(hi) h3,:lang(hi) h4{font-family:"Noto Sans Devanagari",sans-serif!important;font-weight:500!important;line-height:1.3!important;letter-spacing:normal!important}
@media(min-width:651px) and (max-width:1100px){:root{--public-hero:58px;--public-title:54px;--public-section:44px;--public-body:17px}}
@media(max-width:650px){:root{--public-body:16px;--public-reading:17px;--public-hero:48px;--public-title:44px;--public-section:36px;--public-card:26px;--public-quote:20px;--public-question:20px;--public-answer:16px;--public-price:34px;--public-dialog:30px;--public-total:28px}}
/* Full-width fields preserve complete option labels at the larger text size. */
@media(max-width:650px){#all-memberships .home-plan-controls{grid-template-columns:minmax(0,1fr)}#all-memberships .home-plan-actions>*{width:100%;justify-content:center}}
