/* The main-id scope intentionally replaces legacy page-specific font scales. */
body main#main h1{font:var(--pf-weight-headline) var(--pf-type-hero)/1.04 var(--pf-font-headline);letter-spacing:-.05em}
body main#main h2,body .pf-footer-invite h2{font:var(--pf-weight-headline) var(--pf-type-section)/1.08 var(--pf-font-headline);letter-spacing:-.05em}
body main#main h3,body main#main .training-card .card-bottom>span:first-child,body main#main .pf-changer-intro>strong{font:var(--pf-weight-headline) var(--pf-type-card)/1.12 var(--pf-font-headline);letter-spacing:-.04em}
body main#main :is(.slide-copy,.stage-copy) h2{font-size:var(--pf-type-card);line-height:1.12}
body main#main .stage-copy h2{font-size:clamp(20px,5vw,32px);line-height:1.15;margin-bottom:18px}
@media(max-width:360px){body main#main .stage-copy.pf-glass{padding:16px}}
body main#main h2.pf-changer-intro{font:inherit;letter-spacing:0}
body main#main p{font-size:var(--pf-type-body);line-height:1.65}
body main#main p.lead{font-size:var(--pf-type-lead);line-height:1.6}
body main#main :is(.pf-eyebrow,.eyebrow,.home-label){font:var(--pf-weight-detail) var(--pf-type-eyebrow)/1.5 var(--pf-font-body);letter-spacing:.12em}
body main#main :is(.price-footnote,.fine,.pf-location-opening,.pf-control-label,.pf-tariff-campaign,.pf-tariff-fee){font-size:var(--pf-type-meta);line-height:1.6}
body main#main :is(.pf-tariff-terms,.pf-faq-answer p,.pf-tariff-benefits p,.pf-tariff-benefits li,.pf-changer-plans p,.pf-changer-plans li){font-size:var(--pf-type-small);line-height:1.65}
body main#main :is(.pf-faq-list summary,.pf-concept summary,.pf-promise-disclosures summary){font-size:var(--pf-type-body)}
body main#main :is(.pf-tariff-stage figcaption,.pf-bv-intro-photo figcaption,.community-photo figcaption,.pf-home-photo figcaption,.pf-opening-value){font:var(--pf-weight-headline) var(--pf-type-caption)/1.2 var(--pf-font-headline);letter-spacing:-.035em}
body main#main .pf-opening-cards h3{font:var(--pf-weight-detail) var(--pf-type-body)/1.4 var(--pf-font-body);letter-spacing:0}
body main#main .pf-opening-cards :is(p,dl,dd){font-size:var(--pf-type-small);line-height:1.6}
body main#main .pf-tariff-amount strong{font-size:var(--pf-type-price)}
body main#main .pf-tariff-amount strong span{font-size:var(--pf-type-card)}
body main#main .pf-club-tabs button strong{font-size:var(--pf-type-caption)}
body main#main .pf-changer-bottom p{font-size:var(--pf-type-meta)}
body main#main .pf-changer-bottom .pf-changer-benefit{font-size:var(--pf-type-body);line-height:1.5}
body main#main .pf-changer-benefit strong{display:inline;font:var(--pf-weight-detail) var(--pf-type-body)/1.5 var(--pf-font-body);letter-spacing:0}
body main#main .pf-changer-intro .eyebrow{margin-bottom:16px}
body main#main .pf-changer-plans h3{font-size:var(--pf-type-caption)}
body .pf-panel-title,body .pf-mobile-signature{font:var(--pf-weight-headline) var(--pf-type-card)/1.12 var(--pf-font-headline)}

/* One tariff hierarchy for Home, Clubs and BV, above legacy page selectors. */
body main#main .pf-tariff-stage{background:hsl(var(--pf-brand-cream))}
body main#main .pf-tariff-content{padding:clamp(24px,3vw,40px);gap:0}
body main#main .pf-tariff-content>.pf-eyebrow{font-size:var(--pf-type-eyebrow);letter-spacing:.06em;line-height:1.5;margin:0 0 16px;color:hsl(var(--pf-brand-brown)/.72)}
body main#main .pf-tariff-title{margin:0 0 10px}
body main#main .pf-tariff-title h3{font-size:clamp(32px,3.2vw,44px);margin:0;line-height:1.08;letter-spacing:-.045em;text-wrap:balance}
body main#main .pf-tariff-content :is(.pf-tariff-campaign,.pf-tariff-follow,.pf-tariff-benefits,.pf-tariff-benefits p,.pf-tariff-benefits li){font:var(--pf-weight-body) var(--pf-type-body)/1.6 var(--pf-font-body);letter-spacing:0}
body main#main .pf-tariff-campaign{margin:0}
body main#main .pf-tariff-amount{align-items:baseline;gap:12px;margin:24px 0 16px}
body main#main .pf-tariff-amount strong{display:inline-flex;align-items:baseline;gap:4px;font:var(--pf-weight-headline) var(--pf-type-price)/1 var(--pf-font-headline);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
body main#main .pf-tariff-amount strong span{font-size:.5em;letter-spacing:0;vertical-align:baseline}
body main#main .pf-tariff-amount>span{font:var(--pf-weight-body) var(--pf-type-body)/1.5 var(--pf-font-body);max-width:none}
body main#main .pf-tariff-follow{margin:0 0 24px;max-width:48ch}
body main#main .pf-tariff-benefits{margin:0 0 24px}
body main#main .pf-tariff-content>.pf-button{margin-top:0}
body main#main .pf-tariff-expanded[hidden]{display:none}
body main#main .pf-tariff-expanded{font:var(--pf-weight-body) var(--pf-type-body)/1.6 var(--pf-font-body)}
body main#main .pf-tariff-expanded ul{padding-left:20px;margin:16px 0}
body main#main .pf-tariff-expanded li+li{margin-top:8px}
@media(min-width:701px){body main#main .pf-tariff-stage>.pf-tariff-expanded{grid-column:1/-1;padding:24px clamp(24px,3vw,40px);border-top:1px solid hsl(var(--pf-brand-brown)/.18);background:hsl(var(--pf-brand-cream));color:hsl(var(--pf-brand-brown))}}
/* Expansion must not change the image box or its object-fit crop. */
/* Approved pricing variant 02; no changes to Gym Changer structure. */
body main#main .pf-marketing-accent{color:inherit;opacity:.6}
body main#main .pf-pricing-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin:0 0 32px}
body main#main .pf-pricing-heading h2{margin:0;font-size:var(--pf-type-section);line-height:1.08}
body main#main .pf-pricing-heading h2 span{opacity:.55}
body main#main .pf-pricing-scene .pf-pricing-heading{padding:clamp(22px,3vw,36px);border-radius:24px;background:hsl(var(--pf-brand-brown));color:hsl(var(--pf-brand-cream))}
body main#main .pf-pricing-scene .pf-pricing-heading h2{color:hsl(var(--pf-brand-cream))}
body main#main .pf-pricing-scene .pf-pricing-heading h2 span{color:var(--pf-web-accent);opacity:1}
body main#main .pf-pricing-heading>p{margin:0;max-width:32ch}
body main#main .pf-pricing-notice{margin:0 0 24px;font-size:var(--pf-type-small)}
body main#main .pf-tariff-toolbar{gap:24px;margin-bottom:24px;flex-wrap:wrap}
body main#main .pf-tariff-category{min-width:0;display:grid;gap:8px}
body main#main .pf-tariff-toolbar .pf-duration{flex-wrap:wrap}
@media(max-width:700px){body main#main .pf-pricing-heading{display:grid;gap:20px}body main#main .pf-tariff-toolbar{display:grid;grid-template-columns:minmax(0,1fr)}}
.pf-pricing-campaign{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;align-items:center;margin:0 0 32px;padding:20px;border-radius:24px;background:hsl(var(--pf-brand-brown)/.07)}
.pf-pricing-campaign[hidden]{display:none}
.pf-pricing-campaign>img{width:120px;height:140px;object-fit:cover;border-radius:16px}
body main#main .pf-pricing-campaign p{margin:0 0 8px;font-size:var(--pf-type-small)}
body main#main .pf-pricing-campaign .pf-pricing-campaign-title{font-family:var(--pf-font-headline);font-size:var(--pf-type-card);line-height:1.15}
.pf-pricing-campaign a{font-size:var(--pf-type-small);text-underline-offset:4px}
.pf-campaign-pricing .pf-changer-offer{margin-top:32px;background:linear-gradient(125deg,hsl(var(--pf-brand-sand)/.13),transparent),hsl(var(--pf-brand-brown));color:hsl(var(--pf-brand-cream))}
@media(max-width:479px){.pf-pricing-campaign{grid-template-columns:1fr;padding:20px;gap:16px}.pf-pricing-campaign>img{display:none}}
body main#main .pf-tariff-price-surface{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:24px;padding:20px;border-radius:18px;background:hsl(var(--pf-brand-sand)/.24);margin:24px 0}
body main#main .pf-tariff-price-surface .pf-tariff-amount{display:block;margin:0}
body main#main .pf-tariff-price-surface .pf-tariff-amount>span{display:block;margin-top:8px;font-size:var(--pf-type-small)}
body main#main .pf-tariff-price-surface .pf-tariff-amount strong{font-size:clamp(48px,5vw,64px)}
body main#main .pf-tariff-price-surface .pf-tariff-follow{margin:0;min-height:0;font-size:var(--pf-type-small);max-width:none}
@media(max-width:479px){body main#main .pf-tariff-price-surface{grid-template-columns:1fr;gap:14px;padding:18px}body main#main .pf-tariff-price-surface .pf-tariff-amount{display:flex;align-items:baseline;gap:12px}body main#main .pf-tariff-price-surface .pf-tariff-amount>span{margin:0}}
