/* ═══════════════════════════════════════════════════════════════
   SF Pro — canonical @font-face block.
   Self-hosted woff2, Latin-1 subset (~22KB each).
   RULE: Only TITLES can render bolder than medium (500).
   - Body text / buttons / labels / meta → max weight 500 (medium).
   - Headings (h1-h6) + .title / .wiz-brand-title / .t-xl / .t-l
     → may go up to 900 (black).
   ═══════════════════════════════════════════════════════════════ */

/* SF Pro Text — body copy. Real cuts for every weight 300-900. */
@font-face{font-family:'SF Pro Text';src:url('./fonts/sf-pro-text_light.woff2')    format('woff2');font-weight:300;font-style:normal;font-display:swap;unicode-range:U+0000-00FF}
@font-face{font-family:'SF Pro Text';src:url('./fonts/sf-pro-text_regular.woff2')  format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF}
@font-face{font-family:'SF Pro Text';src:url('./fonts/sf-pro-text_medium.woff2')   format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF}
@font-face{font-family:'SF Pro Text';src:url('./fonts/sf-pro-text_semibold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF}
@font-face{font-family:'SF Pro Text';src:url('./fonts/sf-pro-text_bold.woff2')     format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF}
@font-face{font-family:'SF Pro Text';src:url('./fonts/sf-pro-text_heavy.woff2')    format('woff2');font-weight:800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF}
@font-face{font-family:'SF Pro Text';src:url('./fonts/sf-pro-text_black.woff2')    format('woff2');font-weight:900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF}

/* SF Pro Display — display/title font. Real cuts for every weight 300-900. */
@font-face{font-family:'SF Pro Display';src:url('./fonts/sf-pro-display_light.woff2')    format('woff2');font-weight:300;font-style:normal;font-display:swap;unicode-range:U+0000-00FF}
@font-face{font-family:'SF Pro Display';src:url('./fonts/sf-pro-display_regular.woff2')  format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF}
@font-face{font-family:'SF Pro Display';src:url('./fonts/sf-pro-display_medium.woff2')   format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF}
@font-face{font-family:'SF Pro Display';src:url('./fonts/sf-pro-display_semibold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF}
@font-face{font-family:'SF Pro Display';src:url('./fonts/sf-pro-display_bold.woff2')     format('woff2');font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF}
@font-face{font-family:'SF Pro Display';src:url('./fonts/sf-pro-display_heavy.woff2')    format('woff2');font-weight:800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF}
@font-face{font-family:'SF Pro Display';src:url('./fonts/sf-pro-display_black.woff2')    format('woff2');font-weight:900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF}

/* Global default — everything inherits SF Pro Text unless overridden. */
html,body,button,input,textarea,select{
  font-family:'SF Pro Text',-apple-system,BlinkMacSystemFont,system-ui,'Segoe UI',sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  font-feature-settings:"kern" 1,"liga" 1,"tnum" 1;
}

/* ═══════════════════════════════════════════════════════════════
   BOLD ENFORCEMENT
   Clamp every non-title element to max 500. Only titles escape the clamp.
   ═══════════════════════════════════════════════════════════════ */
body,p,span,a,button,input,textarea,select,label,li,td,th,
div,section,article,header,footer,nav,aside,main,
small,em,figcaption,dd,dt,blockquote,cite,code,pre,kbd,samp,
.btn,.label,.input-label,.chip,.pill,.badge,.sb-nav-item,.mob-tab,
.wiz-brand-eyebrow,.wiz-brand-label,.wiz-brand-name,.wiz-brand-role,
.wiz-q-num,.wiz-q-desc,.wiz-form-label,.wiz-form-input,.wiz-review-row,
.stat-label,.card-meta,.pipe-title,.pipe-sub,.pc-name,.pc-meta{
  font-weight:500 !important;
}
b,strong{font-weight:500 !important}

/* ═══════════════════════════════════════════════════════════════
   TITLE EXEMPTIONS
   Titles are the ONLY text that may render bolder than medium.
   They use SF Pro Display and may go up to 700 (Hero may go 900).
   Last-cascade override so the clamp above doesn't apply.
   ═══════════════════════════════════════════════════════════════ */
h1,h2,h3,h4,h5,h6,
.title,.page-title,.hero-title,
.t-xl,.t-l,
.wiz-brand-title,.wiz-q-title,.wk-brand,
.pv-title,.mk-title,.ov-title,
.framelab-title,.ac-section-title,.sec-title,
[data-role="title"]{
  font-family:'SF Pro Display',-apple-system,BlinkMacSystemFont,system-ui,sans-serif !important;
  font-weight:600 !important;
  letter-spacing:-.02em;
}
/* Hero titles get the full bold cut. */
h1,.hero-title,.t-xl,.wk-brand,.wiz-brand-title{
  font-weight:700 !important;
}
