/* KerjaSpot type scale — one fluid scale for every page. Loaded last.
   Sizes and rhythm only; each page keeps its own font-family choices (display vs serif). */
body { font-family: var(--font-body); font-size: var(--text-body); line-height: var(--leading-body); -webkit-font-smoothing: antialiased; }

h1, h2, h3, h4 { letter-spacing: -0.02em; text-wrap: balance; }
h1 { font-size: var(--text-h1) !important; line-height: var(--leading-tight) !important; }
h2 { font-size: var(--text-h2) !important; line-height: 1.1 !important; }
h3 { font-size: var(--text-h3) !important; line-height: 1.25 !important; }
h4 { font-size: var(--text-lead) !important; line-height: 1.3 !important; }

/* hero headlines that sit beside a card or image */
.cro-hero h1.hero-h1, .jobs-h1, .hero h1 { font-size: var(--text-hero) !important; line-height: 1.02 !important; letter-spacing: -0.03em; }
.about-hero h1 { font-size: var(--text-h1) !important; line-height: 1.05 !important; }

/* lead paragraphs */
.lede, .lead, .hero-sub, .hero-sub-new, .jobs-sub, .hiw-sub, .sec-sub, .dossier-lede, .employers-sub { font-size: var(--text-lead) !important; line-height: 1.5 !important; }

/* kickers: small, uppercase, tracked, above a headline */
.eyebrow, .eyebrow-text, .sec-eyebrow, .hiw-eyebrow, .jobs-eyebrow, .employers-eyebrow, .persona-eyebrow, .photo-eyebrow, .ledger-eyebrow, .right-eyebrow, .jd-kicker, .pdpa-kicker, .award-meta, .step-label, .rk-foot-col-title {
  font-family: var(--font-body); font-size: var(--text-kicker) !important; letter-spacing: var(--tracking-kicker) !important; text-transform: uppercase; font-weight: 700; line-height: 1.3;
}

/* body copy inside articles and legal pages */
article p, .prose p, .legal p, main li { font-size: var(--text-body); line-height: var(--leading-body); }
small, .small { font-size: var(--text-small); }

/* pages that end in prose keep air above the footer (pages ending in a dark closer or the apply section handle their own) */
main:not(:has(.rk-closer)):not(:has(.rk-apply)) { padding-bottom: var(--section-y); }
