/* type-scale.css (PL) - v97b type lock. Linked LAST in head on every page, after every other stylesheet. Sizes, tracking, case and (headings, body, lead) line-height only: families, weights of content, colours and layout are untouched. External file (CSP style-src self). */
/* ==== SHARED TYPE TOKENS: byte-identical block in custom/type-scale.css and pl/type-scale.css (v97 type lock, brief bands exactly) ====
   Families are NOT here and NOT applied anywhere in this file. Sizes, line-heights, tracking only. */
:root{
  --fs-display:clamp(2.125rem,4.4vw,3.375rem);  /* hero h1 = page h1: 34px @390, 54px cap from 1228 (brief) */
  --fs-h1:clamp(2.125rem,4.4vw,3.375rem);
  --fs-h2:clamp(1.5rem,2.7vw,2.125rem);         /* 24px @390, 34px cap from 1260 (brief) */
  --fs-h3:1.25rem;                              /* 20px */
  --fs-lead:1.125rem;                           /* 18px */
  --fs-body:1rem;                               /* 16px, floor 15 */
  --fs-card:.9375rem;                           /* 15px: card/tile/fact copy, the 15px floor */
  --fs-small:.8125rem;                          /* 13px: caption, chip, breadcrumb, footer link */
  --fs-nav:.8125rem;                            /* 13px */
  --fs-nav-drawer:1rem;                         /* 16px collapsed menu list */
  --fs-btn:.875rem;                             /* 14px: buttons and nav CTA */
  --fs-eyebrow:.75rem;                          /* 12px */
  --fs-foot-h:.75rem;                           /* 12px */
  --fs-input:1rem;                              /* 16px: no iOS zoom */
  --lh-h1:1.08; --lh-h2:1.15; --lh-h3:1.25; --lh-lead:1.7; --lh-body:1.6; --lh-small:1.5; --lh-ui:1.3;
  --track-nav:.06em; --track-btn:.06em; --track-eyebrow:.12em; --track-foot-h:.08em;
  --fw-ui:600;
}
html[lang="hi"]{--track-nav:0;--track-btn:0;--track-eyebrow:0;--track-foot-h:0;--track-foot-link:0}  /* Devanagari: no tracking; sizes identical to English; Hindi weight/line-height stay in hi-v95 */
/* ==== end shared tokens ==== */

/* ==== PL site tokens (reference only, families are NOT applied by this file) ==== */
:root{
  --ff-head:"Cormorant Garamond","Cormorant Fallback",Georgia,serif;
  --ff-body:"Montserrat","Montserrat Fallback","Helvetica Neue",Arial,sans-serif;
  --tt-nav:uppercase; --tt-eyebrow:uppercase; --tt-foot-h:uppercase; --tt-foot-link:uppercase; --track-foot-link:.06em;
}
html[lang="hi"]{--tt-nav:none;--tt-eyebrow:none;--tt-foot-h:none;--tt-foot-link:none}
/* Hindi keeps its Devanagari line-heights (hi-v95): sizes stay identical to English */
html[lang="hi"]{--lh-h1:1.35;--lh-h2:1.35;--lh-h3:1.35;--lh-body:1.8;--lh-lead:1.8}

/* ==== ROLE BINDINGS (PL). Loaded LAST. Size (and tracking/case where the role fixes them) only. No colour, no layout, no family. ==== */
/* body + paragraphs */
html:root body{font-size:var(--fs-body);line-height:var(--lh-body)}
html:root body :is(.text,.prose,.faq .a,.acc) p:where(:not(.lead,.small,.note,.meta,.eyebrow,.fp)){font-size:var(--fs-body);line-height:var(--lh-body)}
html:root body :is(.card,.tile,.facts,.steps,ul.chk,.chk) p{font-size:var(--fs-card)}
/* lead */
html:root body :is(p.lead,.lead,.hero .lead,.hero5 .lead){font-size:var(--fs-lead);line-height:var(--lh-lead)}
/* first paragraph of a prose block (incl. the .pq / .stack.pq pull-quote variants, clamp up to 30px) = lead; :root doubled so it beats .prose.stack.pq .text>p:first-child */
html:root:root body .prose .text>p:first-child{font-size:var(--fs-lead);line-height:var(--lh-lead)}
/* headings: content area only (footer headings have their own roles) */
html:root body h1:not(footer *,header *,nav *){font-size:var(--fs-h1);line-height:var(--lh-h1)}
html:root body h2:not(footer *,header *,nav *,.proof-h){font-size:var(--fs-h2);line-height:var(--lh-h2)}
html:root body h3:not(footer *,header *,nav *,.facts *,.ab97-list *,.faq-grp,.cards-grp){font-size:var(--fs-h3);line-height:var(--lh-h3)}
/* nav */
html:root body :is(.nav a,.nav .navx,.nav .langsw){font-size:var(--fs-nav);font-weight:var(--fw-ui);letter-spacing:var(--track-nav);text-transform:var(--tt-nav)}
html:root body .nav .navcta{font-size:var(--fs-btn);font-weight:var(--fw-ui);letter-spacing:var(--track-btn);text-transform:var(--tt-nav)}
@media(max-width:1023px){html:root body :is(.nav a,.nav .navx,.nav .langsw){font-size:var(--fs-nav-drawer)}html:root body .nav .navcta{font-size:var(--fs-btn)}}
/* eyebrow / small label (also the labels that are coded as headings: .proof-h h2, .facts h3, .faq-grp and .cards-grp h3) */
html:root body :is(.eyebrow,span.eyebrow,.eyebrow.tag,.hero5 .eyebrow,.il,.fc-k,.proof-h,.facts h3,.faq-grp,.cards-grp){font-size:var(--fs-eyebrow);font-weight:var(--fw-ui);letter-spacing:var(--track-eyebrow);text-transform:var(--tt-eyebrow)}
/* caption, chip, breadcrumb */
html:root body :is(figcaption,.note,.small,.meta,small){font-size:var(--fs-small)}
html:root body :is(.chip,.chips small){font-size:var(--fs-small)}
html:root body :is(.crumbs,.crumbs a){font-size:var(--fs-small);letter-spacing:0}
/* buttons and form controls */
html:root body :is(.btn,button.btn,.link,.more,.mcta-a,.mcta-b,.mcta-s,.rc-go,.sc-go,.cb-go,.fc-go,.fbig,.fq-btn,.fq-copy,.t2-btn,.t3-btn){font-size:var(--fs-btn);font-weight:var(--fw-ui);letter-spacing:var(--track-btn)}
html:root body :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]),select,textarea){font-size:var(--fs-input)}
/* footer: heading, section title, links (case and weight stay as the footer stylesheet sets them; tracking never above .08em) */
html:root body footer.ftr :is(.f97-h,.fnet-h){font-size:var(--fs-foot-h);font-weight:var(--fw-ui);letter-spacing:var(--track-foot-h);text-transform:var(--tt-foot-h)}
html:root body footer.ftr .fh{font-size:var(--fs-h3);line-height:var(--lh-h3)}
html:root body footer.ftr :is(.f97-col a,.f97-chan a,.ftr-nav a,.fnet-l a){font-size:var(--fs-small)}
html:root body footer.ftr :is(.fp,.fx2-b p,.ftr-legal,.ftr-contact,.f97-legal p){font-size:var(--fs-small)}
/* component headings that are h2 in markup but small on the page: use the h3 step, not a new size */
html:root body :is(.howto h2,.acc.ps>summary h2){font-size:var(--fs-h3);line-height:var(--lh-h3)}
