/* 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)}

/* ==== v97e additions (appended to the v97d type-scale; same fingerprint discipline). External file, CSP style-src 'self'. ==== */
/* Unintended body-size outliers found in the live browser audit (TYPE_LIVE_REPORT section 5) bound to the body step (16px).
   Decision per element: guides-hub card copy, brief/tool notes and Connect card copy are paragraphs = body 16px.
   Left on purpose: .faq-grp h3 (12px) is an eyebrow-style group label (role eyebrow, same as .cards-grp), .t3-kick (13px) is a label (caption step), the first paragraph of a guide is the lead binding (18px). */
html:root body .gdet .card p{font-size:var(--fs-body);line-height:var(--lh-body)}
html:root body :is(p.t2-meta,.t3-meta,.t2-empty,.t2-meta a){font-size:var(--fs-body);line-height:var(--lh-body)}
html:root body .t3-kick{font-size:var(--fs-small)}
html:root body .sf-card p.sf-a{font-size:var(--fs-body);line-height:var(--lh-body)}
/* The "Start here" label printed above the starter cards of the guides hub is removed (the group already says "Read these first"). */
html:root body .card.starter h3::before{content:none;display:none}
/* Cookie choices pill, phones: sits in the page flow after the footer instead of floating over the text, so it can never cover hero copy or the pay/send controls. */
@media(max-width:640px){
  html:root body .plc-pill:not([hidden]){position:static;display:block;width:max-content;max-width:calc(100% - 24px);margin:0 auto calc(14px + env(safe-area-inset-bottom,0px));min-height:44px;font-size:14px!important;left:auto;bottom:auto;z-index:auto}
  html.plc-pillon .ftr{padding-bottom:16px}
}
/* Component titles/labels coded as <p>/<span> that sat between steps: bound to the existing steps (h3 20px, card copy 15px, caption 13px, eyebrow 12px). */
html:root body :is(.hs-t,.mcta-h){font-size:var(--fs-h3);line-height:var(--lh-h3)}
html:root body .hs-x{font-size:var(--fs-small);line-height:var(--lh-small)}
html:root body .pg-home #route .step p{font-size:var(--fs-card);line-height:var(--lh-body)}
html:root body :is(.qnav-k,.how-h,.acc-e){font-size:var(--fs-eyebrow);letter-spacing:var(--track-eyebrow)}
/* Step and checklist copy (and two small labels) were forced to 14px with !important in an older sheet: bound back to the card step (15px) and the eyebrow step (12px). */
html:root body :is(.steps p,.step p,ul.chk p){font-size:var(--fs-card)!important}
html:root body :is(.qnav-k,.how-h){font-size:var(--fs-eyebrow)!important}
