/* ─────────────────────────────────────────────────────────────
   SINHALA TYPE SCALE
   Loaded by frontend/custom/partials/_head-assets.blade.php for
   every non-English marketing page, after shared.css.

   shared.css was drawn for DM Sans set in Latin. The Sinhala pages
   reuse it unchanged — every size on /si/adulti computed byte-for-byte
   identical to /en/adulti — but they render in Noto Serif Sinhala, and
   Sinhala needs more optical size than Latin to stay legible: the
   glyphs carry loops, stacked vowel signs and descenders in the space
   a Latin letter uses for a single stroke. At the sizes shared.css
   reaches for secondary text (a lot of it lands at 11–13px) Sinhala
   readers were reporting the pages as simply too small to read.

   So this file re-sizes the type for Sinhala only. English is
   untouched. Three tiers, raised most at the small end where the
   legibility loss is worst:

     micro labels   0.62–0.75rem   +0.11rem   (~+15%)
     secondary      0.76–0.83rem   +0.09rem   (~+11%)
     body and up    0.84–0.97rem   +0.07rem    (~+8%)

   Display headings are deliberately not touched. They are already
   large, .h1 carries its own Sinhala clamp in _head-assets, and
   growing them is what pushes a page wide.

   NOT TOUCHED, on purpose: the nav chrome (.nav__cta,
   .nav__student-login, .nav__links a, .lang-switch__opt) and
   .float-wa. Those sit in a fixed row that only just fits a 320px
   screen — the Sinhala labels are long, and growing them re-opens the
   horizontal overflow that makes Chrome shrink the whole page. See
   docs/visitor-counter.md §6.

   After changing anything here, re-run the width sweep (320 → 768) and
   confirm scrollWidth never exceeds clientWidth on any /si page.
   ───────────────────────────────────────────────────────────── */

/* ── Micro labels: eyebrows, ribbons, pills, stat captions ── */
.cert-for-label {
    font-size: 0.73rem;
}

.fee-card__ribbon {
    font-size: 0.77rem;
}

.founder__badge-sub {
    font-size: 0.78rem;
}

.cert-sig-r {
    font-size: 0.79rem;
}

.hero__stat-l,
.scard__seats,
.scard__type {
    font-size: 0.81rem;
}

.hero__card-badge {
    font-size: 0.82rem;
}

.footer__col h5,
.label,
.scard__badge,
.who__panel-label {
    font-size: 0.83rem;
}

.hero__eyebrow-text,
.how__step-tag {
    font-size: 0.84rem;
}

.founder__badge-name {
    font-size: 0.85rem;
}

.cs-tab-text,
.hero__row-lbl {
    font-size: 0.86rem;
}

/* ── Secondary text: captions, sub-lines, footer, list items ── */
.trust__lbl {
    font-size: 0.85rem;
}

.fee-card__cadence,
.footer__bottom {
    font-size: 0.86rem;
}

.fee-card__sub,
.hero__lang {
    font-size: 0.87rem;
}

.founder__cred-desc,
.scard__day {
    font-size: 0.88rem;
}

.cta__trust-item,
.founder__portrait-role,
.hero__card-sub,
.scard__closed-note,
.who__notice-text,
.who__notice-title {
    font-size: 0.89rem;
}

.fees__footnote,
.footer__tagline {
    font-size: 0.9rem;
}

.footer__contact a,
.small {
    font-size: 0.91rem;
}

.cert-desc,
.fee-list li,
.footer__links a {
    font-size: 0.92rem;
}

/* ── Body copy and the text people actually read at length ── */
.hero__row,
.who__point-body p {
    font-size: 0.91rem;
}

.how__step p,
.regflow__d {
    font-size: 0.92rem;
}

.closed-groups__sub,
.schedule__note-text,
.who__panel-text {
    font-size: 0.94rem;
}

.btn,
.cert-yr,
.founder__cred-title,
.regflow__num {
    font-size: 0.97rem;
}

.founder__story,
.who__point-body h4 {
    font-size: 1rem;
}

.btn-lg,
.cert-brand,
.scard__time {
    font-size: 1.02rem;
}

.body {
    font-size: 1.04rem;
}

/* Highlights cards */
.hl__tag {
    font-size: 0.81rem;
}

.hl__text {
    font-size: 0.97rem;
}

.hl__title {
    font-size: 1.21rem;
}

/* <small> defaults to 0.8em, which lands back under 13px once nested in
   any of the sizes above. Sinhala does not survive that second shrink. */
small {
    font-size: 0.9em;
}

/* ── Tracking ──
   shared.css tracks its small labels out as far as 0.16em, which is a
   good look for uppercase Latin and actively wrong for Sinhala: the
   tracking is applied between the marks of a single conjunct cluster,
   so a syllable reads as loose fragments rather than one letter. Pull
   it back in. This also buys back the horizontal space the larger sizes
   above cost, which is how .fee-card__ribbon still fits on one line. */
.cert-for-label {
    letter-spacing: 0.04em;
}

.label,
.hero__eyebrow-text,
.who__panel-label,
.footer__col h5 {
    letter-spacing: 0.03em;
}

.fee-card__ribbon,
.scard__type,
.scard__badge,
.hl__tag {
    letter-spacing: 0.02em;
}

.fee-card__ribbon {
    padding: 4px 12px;
    white-space: nowrap;
}

/* A handful of sizes on si/adulti and si/index are written as
   style="font-size:…" attributes on the element. A stylesheet cannot
   reach those without !important, so they were raised in the blades
   themselves instead — search those files for font-size if you are
   reconciling this scale. */
