/* M3 sales pages: shared tokens, type roles, and the button component.
   Pages keep their own layout CSS and palette; this file is the part both
   share. Do not hand-write buttons or chart styles in a page. */
@font-face{font-family:"Glacial Indifference";src:url("fonts/GlacialIndifference-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Glacial Indifference";src:url("fonts/GlacialIndifference-Bold.woff2") format("woff2");font-weight:700;font-display:swap}
:root{
  --font:"Glacial Indifference","Avenir Next",Avenir,Helvetica,Arial,sans-serif;
  /* type roles: fixed rem scale, weights 400 and 700 only (the face carries no others) */
  --fs-display:clamp(2.5rem,9.5vw,9.375rem); --lh-display:.92; --ls-display:-.01em;
  --fs-display-md:clamp(2.75rem,7vw,5.5rem);  /* section display: OUR MISSION, OUR RATES, panel names */
  --fs-display-sm:clamp(2.125rem,5.6vw,4.5rem); /* hero title on the dark page, footer NEXT */
  --fs-title:clamp(1.75rem,3.2vw,2.5rem);   --lh-title:1.3;
  --fs-subhead:clamp(1.25rem,2vw,1.5rem);   --lh-subhead:1.35;
  --fs-body:1.0625rem;                      --lh-body:1.5;
  --fs-fine:.9375rem;                       /* captions, table cells, card notes */
  --fs-label:.8125rem;                      --ls-label:.18em;
  --fs-meta:.75rem;                         --ls-meta:.14em;
  --fs-stat:2.375rem;
  --measure:66ch;
  /* spacing */
  --sp-1:8px; --sp-2:16px; --sp-3:24px; --sp-4:40px; --sp-5:64px; --sp-6:96px;
  --radius-sm:4px; --radius-md:6px; --radius-pill:999px;
  /* semantic, light defaults; a dark page redefines them */
  --btn-bg:#14535e; --btn-fg:#fff; --btn-ghost-fg:#14535e; --focus:#14535e;
}
[data-theme="dark"]{--lh-body:1.6; --ls-body:.01em; --btn-bg:#34b6c0; --btn-fg:#0a2e34; --btn-ghost-fg:#e8f7f8; --focus:#34b6c0}
[id]{scroll-margin-top:84px}
body{font-family:var(--font);font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--ls-body,0)}
.t-display{font-weight:700;font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);text-transform:uppercase}
.t-title{font-weight:700;font-size:var(--fs-title);line-height:var(--lh-title)}
.t-subhead{font-weight:400;font-size:var(--fs-subhead);line-height:var(--lh-subhead)}
.t-body{font-size:var(--fs-body);line-height:var(--lh-body);max-width:var(--measure)}
.t-label{font-weight:700;font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase}
.t-meta{font-size:var(--fs-meta);letter-spacing:var(--ls-meta);text-transform:uppercase}
.t-stat{font-weight:700;font-size:var(--fs-stat);line-height:1;font-variant-numeric:tabular-nums}
.num{font-variant-numeric:tabular-nums}
/* button */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border-radius:var(--radius-pill);background:var(--btn-bg);color:var(--btn-fg);font-weight:700;font-size:.9375rem;letter-spacing:.02em;text-decoration:none;border:2px solid transparent}
.btn--ghost{background:transparent;color:var(--btn-ghost-fg);border-color:currentColor}
.btn:hover{filter:brightness(1.08)}
a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:var(--radius-sm)}
