/* EXACT FRONT-END TYPOGRAPHY SCALE — matched to approach.html */
html { font-size: 16px !important; }
body { font-size: 16px !important; line-height: 1.65 !important; }

/* Approach main headline is 30px — make every public page hero match it */
h1,
h2,
.page-hero h1,
.program-hero h1,
.hero h1,
.cta h2 {
  font-size: 30px !important;
  line-height: 1.15 !important;
  letter-spacing: normal !important;
}

/* Approach lead copy */
.lead,
.hero-copy,
.page-hero p,
.program-hero .lead {
  font-size: 20px !important;
  line-height: 1.65 !important;
}

/* Approach card/subheading scale */
h3,
.tile h3,
.card h3,
.offer-card h3,
.flex-step h3,
.topic strong,
.phase h3,
.price h3 {
  font-size: 21px !important;
  line-height: 1.2 !important;
}

/* Normal body copy */
p, li, label, input, select, textarea {
  font-size: 16px !important;
  line-height: 1.65 !important;
}

/* Approach card body scale */
.tile p,
.card p,
.offer-card p,
.flex-step p,
.topic,
.price p,
.price li,
.offer-card li,
details p {
  font-size: 15px !important;
  line-height: 1.65 !important;
}

summary { font-size: 16px !important; line-height: 1.65 !important; }
.quote, .shared-box p { font-size: 20px !important; line-height: 1.65 !important; }
.money { font-size: 30px !important; line-height: 1.15 !important; }
.money small { font-size: 13px !important; }

/* Approach labels */
.kicker { font-size: 11px !important; }
.eyebrow { font-size: 11px !important; }
.tile .n, .phase .label { font-size: 10px !important; }
.phase .meta, .micro, .offer-number { font-size: 11px !important; }
.offer-tag, .badge { font-size: 9px !important; }
.muted-note, .disclaimer { font-size: 13px !important; }
footer { font-size: 11px !important; }

/* Approach header */
.brand-name { font-size: 18px !important; }
.links a,
header .links a,
header nav a,
.nav a { font-size: 12px !important; }
header .btn,
.nav .btn,
.links .btn { font-size: 11px !important; }

@media (max-width: 560px) {
  h1, h2, .page-hero h1, .program-hero h1, .hero h1, .cta h2 {
    font-size: 30px !important;
  }
}
