/* ==========================================================================
   Home v2 — Manrope + Inter typography layer
   Loads after ../assets/css/main.css and ../assets/css/theme-logo.css.
   MANROPE = brand / headlines / big numbers  (what we want users to notice)
   INTER   = information / UI / labels         (what we want users to understand)
   ========================================================================== */

:root {
  --f-display: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-serif:   "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-body:    "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-mono:    "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* ---------- Body: Inter 400, 17–18px, 1.6 ---------- */
body { font: 400 17px/1.6 var(--f-body); }
@media (min-width: 1024px) { body { font-size: 18px; } }

/* ---------- Headlines: Manrope 700, sentence/title case, no stretch ---------- */
.display {
  font-family: var(--f-display); font-weight: 700; font-stretch: normal;
  text-transform: none; letter-spacing: -.025em; line-height: 1.08;
}
/* Former serif accents become Manrope with the accent colour/gradient only */
.serif-i { font-family: var(--f-display); font-style: normal; font-weight: 700; letter-spacing: -.025em; font-stretch: normal; }
.sec-title .serif-i, .pcard__title .serif-i, .hero__title .serif-i, .cta__title .serif-i { font-size: 1em; line-height: inherit; }

/* H1 — 56–64px desktop · 44–52 tablet · 34–40 mobile */
.hero__title { font-size: clamp(36px, 1.1rem + 3.6vw, 64px); line-height: 1.06; letter-spacing: -.03em; }
.hero__title .line { padding-bottom: .1em; margin-bottom: -.06em; }
.hero__title .muted-line { color: rgba(246,241,231,.62); }
.cta__title { font-size: clamp(36px, 1.2rem + 3.4vw, 64px); line-height: 1.08; max-width: 17ch; letter-spacing: -.03em; }

/* H2 — 40–48px desktop · 32–38 mobile */
.sec-title, .sec-head--split .sec-title, .ft-head .sec-title { font-size: clamp(32px, 1.2rem + 1.9vw, 48px); line-height: 1.12; max-width: 22ch; letter-spacing: -.02em; }

/* H3 — Manrope 600, 26–32px for card titles; smaller H3s 19–24px */
.pcard__title { font: 700 clamp(28px, 1.1rem + 1.6vw, 40px)/1.1 var(--f-display); text-transform: none; letter-spacing: -.025em; font-stretch: normal; }
.tier h3 { font: 600 clamp(24px, 1rem + .8vw, 28px)/1.15 var(--f-display); text-transform: none; font-stretch: normal; letter-spacing: -.015em; }
.ft-stop h3 { font: 600 24px/1.2 var(--f-display); text-transform: none; font-stretch: normal; letter-spacing: -.015em; }
.ind h3 { font: 600 20px/1.25 var(--f-display); text-transform: none; font-stretch: normal; letter-spacing: -.01em; }
.perks h3 { font: 600 19px/1.3 var(--f-display); text-transform: none; font-stretch: normal; letter-spacing: -.01em; }
.drop__card strong { font: 700 17px/1.2 var(--f-display); text-transform: none; font-stretch: normal; }
.drop__card--feat strong { font-size: 26px; letter-spacing: -.02em; }
.mnav a:not(.btn) { font: 600 21px/1.2 var(--f-display); text-transform: none; font-stretch: normal; letter-spacing: -.01em; }
.qa summary { font: 600 clamp(17px, 1rem + .3vw, 20px)/1.4 var(--f-display); letter-spacing: -.01em; }

/* Key marketing statement */
.manifesto__text { font: 600 clamp(26px, 1rem + 2.2vw, 44px)/1.28 var(--f-display); letter-spacing: -.02em; max-width: 26ch; font-stretch: normal; }

/* ---------- Large numbers: Manrope 700 ---------- */
.hero__proof strong, .cu__big, .cu__stat, .pcard__kpis strong, .stat strong, .tier__price strong,
.tier__meta b, .route__num, .card-ui--badge strong, .tile strong, .cmp__brand {
  font-family: var(--f-display); font-weight: 700; font-stretch: normal; text-transform: none;
}
.hero__proof strong { font-size: 28px; letter-spacing: -.02em; }
.cu__big { font-size: 40px; letter-spacing: -.03em; }
.cu__stat { font-size: 42px; letter-spacing: -.03em; }
.pcard__kpis strong { font-size: clamp(36px, 1.4rem + 1.8vw, 52px); letter-spacing: -.03em; line-height: 1; }
.stat strong { font-size: clamp(48px, 1.6rem + 3.6vw, 88px); letter-spacing: -.04em; line-height: .95; }
.tier__price strong { font-size: 50px; letter-spacing: -.03em; }
.tier__meta b { font-size: 19px; letter-spacing: -.01em; }
.route__num { font-size: 19px; letter-spacing: -.02em; }
.tile strong { font-weight: 600; font-size: 15px; letter-spacing: -.005em; }
.cmp__brand { font-size: 15px; letter-spacing: -.005em; }

/* Decorative oversized type */
.hero__num { font-family: var(--f-display); font-weight: 800; font-stretch: normal; letter-spacing: -.06em; }
.results__ghost span, .ftr__mega { font-family: var(--f-display); font-weight: 800; font-stretch: normal; letter-spacing: -.04em; }

/* ---------- Labels, badges, captions: Inter 500–600, slight tracking ---------- */
.eyebrow, .mono-label { font: 600 13px/1.2 var(--f-body); letter-spacing: .08em; }
.mono { font-family: var(--f-body); font-weight: 500; font-size: 11.5px; letter-spacing: .05em; }
.tag, .badges li, .pcard__chips span, .tier__flag, .nav__new { font-family: var(--f-body); font-weight: 600; letter-spacing: .04em; }
.tag { font-size: 12px; }
.badges li { font-size: 12px; }
.pcard__chips span { font-size: 12.5px; letter-spacing: .01em; }
.hero__proof li > span, .hero__contact small, .pcard__kpis span, .stat small, .tier__price span, .tier__meta small,
.tier__kind, .route__lbl, .cmp thead th, .ind__no, .tile span, .map__legend, .cta__fine, .ftr__col h4, .pcard__no, .palette {
  font-family: var(--f-body); font-weight: 600; letter-spacing: .06em;
}
.hero__proof li > span { font-size: 12px; }
.pcard__kpis span, .stat small, .tier__meta small { font-size: 12px; letter-spacing: .05em; }
.stat small { font-weight: 500; }
.stat span { font: 500 17px/1.35 var(--f-body); }
.cmp thead th { font-size: 12.5px; }
.tier__kind { font-size: 12.5px; }
.cta__fine { font-size: 12.5px; }
.ftr__col h4 { font-size: 13px; }
.route__lbl { font-size: 10px; letter-spacing: .12em; }
.map__svg .tz-lbl { font: 700 14px var(--f-display); letter-spacing: .06em; }
.map__svg .tz-sub, .map__svg .border-lbl { font-family: var(--f-body); font-weight: 600; letter-spacing: .08em; }
.map__svg .country { font: 800 22px var(--f-display); letter-spacing: .24em; }
.map__svg .city text { font-family: var(--f-body); font-weight: 500; }

/* ---------- Navigation & buttons: Inter 500 / 600 ---------- */
.nav__link { font: 500 15px/1 var(--f-body); }
.btn { font: 600 15px/1 var(--f-body); letter-spacing: 0; }
.btn--lg { font-size: 16px; }
.utility { font-family: var(--f-body); font-weight: 500; }

/* Card copy & UI text stays Inter */
.cu__steps li, .ticks li, .tier li, .ind p, .perks p, .ft-stop p, .cmp td, .cmp tbody th, .qa__a, .sec-lede, .hero__lede, .cta__lede { font-family: var(--f-body); }
.cmp tbody th { font-weight: 500; }
