/* ==========================================================================
   design-scale.css — fluid type scale + section rhythm, 2026-09-03
   Loads LAST. Every value derived from goalphalabs.com measured at 390 and
   1280 (see /tmp/design/alpha-typescale.txt). Selectors resolved from OUR
   live DOM (/tmp/design/ours-typescale.txt). clamp() = mobile floor → desktop
   ceiling, interpolating between 390 and 1280 viewport.
   ========================================================================== */
:root {
  /* Alpha: home h1 38→58/900 · shop h1 35→52/850 · PDP h1 30→38/800 · trust-page h1 43-55→67-86/700-900 */
  --al-h1-hero:   clamp(38px, 2.4vw + 28px, 58px);
  --al-h1-shop:   clamp(35px, 2.1vw + 27px, 52px);
  --al-h1-pdp:    clamp(30px, 1vw + 26px, 38px);
  --al-h1-page:   clamp(42px, 3.1vw + 30px, 70px);
  /* Alpha section h2: home cards 23→19 (their h3) but Related/section headings 31→44; About h2 39→56; COA h2 29→38 */
  --al-h2-section: clamp(26px, 1.8vw + 19px, 42px);
  --al-h2-page:    clamp(32px, 2.6vw + 22px, 54px);
  --al-h3:         clamp(20px, .8vw + 17px, 27px);
  --al-lead:       clamp(15px, .5vw + 13px, 19px);
  --al-body:       clamp(15px, .25vw + 14px, 17px);
  /* Alpha section padding: 58→102 desktop; hero 22/34 → 82/54 */
  --al-sec:        clamp(48px, 5vw + 28px, 102px);
  --al-sec-sm:     clamp(32px, 2.5vw + 22px, 64px);
  --al-lh-tight: 1.02; --al-lh-head: 1.08; --al-lh-body: 1.62;
}

/* ---- H1 ---- */
h1.nvh-banner__title { font-size: var(--al-h1-hero) !important; font-weight: 900 !important; line-height: var(--al-lh-tight) !important; letter-spacing: -.02em; }
.woocommerce-shop h1.page-title, .archive.woocommerce h1.page-title, .tax-product_cat h1.page-title { font-size: var(--al-h1-shop) !important; font-weight: 850 !important; line-height: 1 !important; letter-spacing: -.02em; }
body.single-product .woocommerce div.product h1.product_title, body.single-product h1.product_title.entry-title { font-size: var(--al-h1-pdp) !important; font-weight: 800 !important; line-height: var(--al-lh-head) !important; }
.page:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) h1.entry-title,
.page-id-coas h1, .avata-page-hero h1, .page .entry-content > h1:first-child { font-size: var(--al-h1-page) !important; font-weight: 800 !important; line-height: var(--al-lh-tight) !important; letter-spacing: -.025em; }
.woocommerce-cart h1, .woocommerce-checkout h1, .woocommerce-account h1.entry-title { font-size: clamp(27px, 1.2vw + 22px, 35px) !important; font-weight: 800 !important; }

/* ---- H2 / H3 ---- */
.nvcat-section h2, .nvc-section h2, .nvr-blk h2, .nva-band h2, .nvu-blk h2, .nvf-section h2,
.single-product section.related > h2, .single-product .avata-pdp-trust h2, .single-product .avata-standard h2,
.woocommerce-cart .cross-sells > h2 { font-size: var(--al-h2-section) !important; font-weight: 800 !important; line-height: var(--al-lh-head) !important; letter-spacing: -.02em; }
.page:not(.woocommerce-page) .entry-content > h2, .page .entry-content > h2, .avata-page-section > h2 { font-size: var(--al-h2-page) !important; font-weight: 700 !important; line-height: var(--al-lh-tight) !important; letter-spacing: -.02em; margin-top: 1.6em; }
.page .entry-content > h3, .entry-content h3:not(.nl-newsletter h3), .single-product .woocommerce-tabs h3, .single-product .entry-content h3 { font-size: var(--al-h3) !important; font-weight: 700 !important; line-height: 1.2 !important; }
.nvf-section h3 { font-size: clamp(14px, .3vw + 13px, 16px) !important; font-weight: 800 !important; line-height: 1.2 !important; letter-spacing: .01em; }
/* product card titles: Alpha 13→16 /830 */
.woocommerce ul.products li.product h2.woocommerce-loop-product__title { font-size: clamp(13px, .35vw + 12px, 16px) !important; font-weight: 800 !important; line-height: 1.34 !important; }

/* ---- Body / lead ---- */
p.nvh-banner__subtitle { font-size: var(--al-lead) !important; line-height: 1.6 !important; font-weight: 400 !important; }
.page .entry-content > p, .page .entry-content li, .single-product .woocommerce-tabs p, .single-product .entry-content > p { font-size: var(--al-body) !important; line-height: var(--al-lh-body) !important; }

/* ---- Section rhythm ---- */
.nvcat-section, .nvc-section, .nvr-blk, .nva-band, .nvu-blk, .nvf-section { padding-top: var(--al-sec) !important; padding-bottom: var(--al-sec) !important; }
.nvr-blk + .nvr-blk { padding-top: var(--al-sec-sm) !important; }
.nvh-banner { padding-top: clamp(22px, 5.5vw + 2px, 82px) !important; padding-bottom: clamp(34px, 1.8vw + 27px, 54px) !important; }
.single-product .avata-pdp-trust { padding-top: var(--al-sec-sm) !important; padding-bottom: var(--al-sec-sm) !important; }
.single-product section.related { padding-bottom: var(--al-sec) !important; }
.page .avatalabs-content-wrap > .container { padding-top: var(--al-sec-sm) !important; padding-bottom: var(--al-sec) !important; }
.avata-page-section { padding-top: var(--al-sec) !important; padding-bottom: var(--al-sec) !important; }

/* Container: Alpha runs edge-to-edge sections with an inner max of ~1200 */
.container { max-width: 1240px; }
