/* btccampus — one typographic scale for every public page.
   Loaded LAST in <head>, after each page's inline <style>, so these sizes win.
   Scoped so the injected site menu / footer / toasts keep their own sizes.
   Member area (/app) has its own compact scale in app.css and does not load this.

   Scale (desktop → mobile):  h1 36→28 · h2 24→21 · h3 18→17 · h4 15 · body 15 · lead 17 · small 13 */

html { font-size: 16px; }
body {
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 15px !important; line-height: 1.6 !important;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}

body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) h1, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) h2, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) h3, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) h4 { line-height: 1.25 !important; margin-top: 0; }
body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) h1 { font-size: 36px !important; font-weight: 700 !important; letter-spacing: -0.02em !important; }
body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) h2 { font-size: 24px !important; font-weight: 700 !important; letter-spacing: -0.01em !important; }
body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) h3 { font-size: 18px !important; font-weight: 600 !important; letter-spacing: 0 !important; }
body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) h4 { font-size: 15px !important; font-weight: 600 !important; }

body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) p, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) li, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) dd, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) dt, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) blockquote { font-size: 15px !important; line-height: 1.65 !important; }
body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) label { font-size: 14px !important; }
body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) small, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) .small, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) .muted, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) .hint, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) .meta, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) figcaption { font-size: 13px !important; }
body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) h1 + p { font-size: 17px !important; line-height: 1.6 !important; }

/* Section/widget labels are compact everywhere — a card label is not a page heading.
   (Was scoped to ".page h2.section-title", which never matched: .page IS the body child,
   so the generic 24px h2 rule won and titles yelled in uppercase.) */
body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) h2.section-title, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) .section-title { font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; }
body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) .page .card-title, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) .stat-card-title, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) .stat-label { font-size: 13px !important; }

/* Tables, code, controls */
body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) table, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) .table, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) td, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) th { font-size: 13.5px !important; }
body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) code, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) pre, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) kbd { font-size: 13px !important; }
body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) button, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) .btn, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) .btn-primary, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) .btn-secondary, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) .cta-btn, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) .cta-button, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) input, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) select, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) textarea { font-size: 14px !important; }

@media (max-width: 640px) {
  body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) h1 { font-size: 28px !important; }
  body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) h2 { font-size: 21px !important; }
  body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) h3 { font-size: 17px !important; }
  body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) h1 + p { font-size: 16px !important; }
  /* Compact stat cards on phones (see index.html @640px rules) */
  body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) .stat-card-title, body > :not(#btk-menu):not(#btk-mobile-menu):not(.btk-footer):not(#btk-toast-container):not(#usercentrics-root) .stat-label { font-size: 11px !important; }
}

/* Minimal inline icons (replace emoji) */
.ico { width: 1em; height: 1em; display: inline-block; vertical-align: -0.15em; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
