/* CALIBER type layer (v96): Michroma as the signature face.
   Loaded LAST on every page. --font-head (caliber-aura.css) is Michroma; this file re-tunes the sizes that were set for
   Rajdhani. Michroma is extended (its caps run ~1.6x wider than Rajdhani's) and ships one weight, so:
   - display sizes come down ~0.6-0.7x and line-height opens up, so lines keep their length;
   - the browser must not fake a bold (font-synthesis-weight), every 700 rule renders the true 400;
   - anything that would fall below ~15px in Michroma moves to Inter, as do paragraphs, forms, tables and application
     data, which never used the head face. Colours, copy and layout are untouched. */

:root { font-synthesis-weight: none; }

/* ---- Shared Michroma character: true weight, no tight tracking, room between lines */
h1, h2, h3, h4,
.caliber-section-title, .caliber-slogan, .caliber-slogan-cta, .nx-price-amount, .cp-member__initial {
  font-weight: 400 !important;
}
:where(h1, h2, h3) { letter-spacing: .01em; line-height: 1.16; text-wrap: balance; }

/* ---- Home hero: the slogan */
/* sized from its own column (container query units): each half of the slogan stays on one line at every width */
html body .nx-hero-grid > :first-child { container-type: inline-size; min-width: 0; }
html body .nx-hero-grid > :first-child > h1,
html body h1.caliber-slogan-h1 {
  font-size: clamp(19px, 5.55cqi, 40px) !important;
  max-width: 100%;
  line-height: 1.14 !important;
  letter-spacing: .01em !important;
  margin-bottom: 22px !important;
}

/* ---- Section and page headings */
html body .caliber-section-title { font-size: clamp(19px, 2vw, 27px) !important; line-height: 1.2 !important; }
html body .nx-wrap h2:not(.caliber-section-title):not(.caliber-cta-title):not(.caliber-access-title) { font-size: clamp(18px, 1.9vw, 25px) !important; line-height: 1.22 !important; }
html body .nx-cta .caliber-cta-title,
html body .caliber-slogan-cta { font-size: clamp(16px, 1.65vw, 21px) !important; line-height: 1.3 !important; letter-spacing: .04em !important; }
html body #cp-h1, html body .cp-hero h1 { font-size: clamp(25px, 3.3vw, 44px) !important; line-height: 1.16 !important; }
html body.cp main h2, html body.cp h2[id$="-h"] { font-size: clamp(19px, 2.2vw, 28px) !important; line-height: 1.22 !important; }
html body .cp-closing h2 { font-size: clamp(18px, 2vw, 25px) !important; }
html body .cp-member h3 { font-size: 18px !important; }
html body .cp-member__initial { font-size: 46px !important; }
html body.cp--account h1 { font-size: clamp(25px, 2.9vw, 36px) !important; }
html body.cp--account h2 { font-size: clamp(19px, 2vw, 25px) !important; }
html body.cp--account .command-card b { font-size: 16px !important; }
html body.cp--account :is(.plan-price, .subscription-price) { font-size: clamp(22px, 2.2vw, 27px) !important; }
html body .fact-status strong { font-size: 15px !important; letter-spacing: .06em !important; }
html body .nx-price-amount { font-size: 26px !important; }
html body .nx-stat strong { font-size: clamp(15px, 1.3vw, 19px) !important; line-height: 1.3 !important; margin-bottom: 6px; white-space: nowrap; }

/* ---- Sign-in / create-account cards and the portal */
html body :is(.portal-card, .auth-card, .caliber-portal, .login-card) h2,
html body #loginForm ~ h2, html body h2.caliber-access-title, html body #caliberAccessIntro .caliber-access-title { font-size: clamp(20px, 2vw, 26px) !important; line-height: 1.2 !important; }
html body .caliber-access-title .caliber-wordmark { font-size: inherit !important; }
html body .card:has(> .tabs) h2 { font-size: clamp(20px, 2.05vw, 26px) !important; line-height: 1.22 !important; margin: 4px 0 14px !important; }

/* ---- The slogan line (footers, cards, legal line): Michroma caps need less tracking than Rajdhani's .16em */
html body .caliber-slogan { letter-spacing: .07em !important; line-height: 1.5 !important; }
html body .caliber-slogan--footer, html body .caliber-slogan--card { font-size: 11.5px !important; }
html body .caliber-slogan--legal { font-size: 10.5px !important; }

/* ---- How it works */
html body .hiw-title { font-size: 15px !important; line-height: 1.3 !important; }
html body .hiw-num { font-size: 16px !important; }
html body .hc-receipt-title { font-size: 15px !important; }
html body .hc-avatar { font-family: var(--font-body) !important; font-weight: 700 !important; }

/* ---- Hero mockup labels are tiny UI text: Inter */
html body .nx-device :is(h4, h5) { font-family: var(--font-body) !important; font-weight: 700 !important; letter-spacing: 0 !important; }

/* ---- Dashboard (Applications workspace): Michroma only where it is a heading or a headline number */
html.cw-app #welcomeTitle { font-size: clamp(22px, 2.6vw, 34px) !important; line-height: 1.18 !important; }
html.cw-app .cw-next__title { font-size: clamp(17px, 1.7vw, 22px) !important; line-height: 1.25 !important; }
html.cw-app #dashboardView .metric strong { font-size: 22px !important; }
html.cw-app .cw-hero .card #daysRemaining { font-size: 24px !important; }
html.cw-app main h2:not(#welcomeTitle):not(.cw-next__title),
html.cw-app .panel h2, html.cw-app .cw-dialog__head h2 { font-size: clamp(16px, 1.5vw, 19px) !important; line-height: 1.25 !important; }
html.cw-app .cw-dialog__head h2 { letter-spacing: .03em !important; }

/* ---- Assist page */
html body .assist-flow__card h3 { font-size: 17px !important; }

@media (max-width: 680px) {
  html body .caliber-slogan--footer, html body .caliber-slogan--card { font-size: 10.5px !important; }
}

/* v98 fix: the small section labels are Inter, not display headings. The page-heading rules above
   (html body.cp main h2 / h2[id$="-h"]) also caught "On this page" (#cp-onpage-h) and the Veterans task label. */
html body.cp .cp-onpage h2,
html body.cp h2.cv-tasks__h {
  font-family: var(--font-body) !important; font-weight: 600 !important; font-size: 12px !important;
  line-height: 1.4 !important; letter-spacing: .16em !important; text-wrap: wrap;
}
html body.cp h2.cv-tasks__h { font-size: 13px !important; letter-spacing: .18em !important; }
