:root {

  /* ── Fluid type scale (375px → 1728px) ───────────────────── */
  --text-lg      : clamp(2.000rem, 1.654rem + 1.478vw, 3.250rem);  /* 32px → 52px */
  --text-md      : clamp(1.500rem, 1.223rem + 1.183vw, 2.500rem);  /* 24px → 40px */
  --text-sm      : clamp(1.125rem, 0.952rem + 0.739vw, 1.750rem);  /* 18px → 28px */

  --text-sub-xl  : clamp(1.500rem, 1.431rem + 0.296vw, 1.750rem);  /* 24px → 28px */
  --text-sub-lg  : clamp(1.000rem, 0.861rem + 0.591vw, 1.500rem);  /* 16px → 24px */
  --text-sub-md  : clamp(1.000rem, 0.896rem + 0.443vw, 1.375rem);  /* 16px → 22px */
  --text-sub-sm  : 1.000rem;                                       /* 16px fixed */

  --text-body-xl : clamp(1.125rem, 1.021rem + 0.443vw, 1.500rem);  /* 18px → 24px */
  --text-body-lg : clamp(1.125rem, 1.090rem + 0.148vw, 1.250rem);  /* 18px → 20px */
  --text-body-sm : 1.000rem;                                       /* 16px fixed */

  --text-btn-lg  : clamp(1.125rem, 1.090rem + 0.148vw, 1.250rem);  /* 18px → 20px */
  --text-btn-md  : clamp(1.000rem, 0.931rem + 0.296vw, 1.250rem);  /* 16px → 20px */

}


h1, h2, h3, h4, h5, h6 { padding-bottom: 0; color: inherit; }


/* ── Font weight ──────────────────────────────────────────── */
/* Loaded weights (Typekit igk1eio): 100, 200, 300, 400, 600, 700, 800, 900 — no 500 */
.font-thin       { font-weight: 100 !important; }
.font-extralight { font-weight: 200 !important; }
.font-light      { font-weight: 300 !important; }
.font-normal     { font-weight: 400 !important; }
.font-medium     { font-weight: 500 !important; }
.font-semibold   { font-weight: 600 !important; }
.font-bold       { font-weight: 700 !important; }
.font-extrabold  { font-weight: 800 !important; }
.font-black      { font-weight: 900 !important; }

/* ── Line height ──────────────────────────────────────────── */
.leading-none    { line-height: 1; }
.leading-tight   { line-height: 1.1; }
.leading-snug    { line-height: 1.25; }
.leading-normal  { line-height: normal; }
.leading-relaxed { line-height: 1.5; }
.leading-loose   { line-height: 1.75; }

/* ── Type scale ───────────────────────────────────────────── */
/* One class per Figma token, each referencing its own --font-[slug].
   Values are the Desktop styles; sizes scale fluidly down to the Mobile px.
   font-weight is explicit on every class — Divi ships body { font-weight: 500 },
   which would otherwise override the Figma weights. Children inherit it.
   Override line-height per instance with the .leading-* classes above. */

.heading-lg { font-size: var(--text-lg); font-family: var(--font-pacaembu); font-weight: 400; line-height: 1.308; }
.heading-lg h1, .heading-lg h2, .heading-lg h3,
.heading-lg h4, .heading-lg h5, .heading-lg h6,
.heading-lg p  { font-size: inherit; font-family: inherit; font-weight: inherit; line-height: inherit; }

.heading-md { font-size: var(--text-md); font-family: var(--font-pacaembu); font-weight: 300; line-height: 1.3; }
.heading-md h1, .heading-md h2, .heading-md h3,
.heading-md h4, .heading-md h5, .heading-md h6,
.heading-md p  { font-size: inherit; font-family: inherit; font-weight: inherit; line-height: inherit; }

.heading-sm { font-size: var(--text-sm); font-family: var(--font-arial); font-weight: 400; font-style: italic; line-height: 1.286; }
.heading-sm h1, .heading-sm h2, .heading-sm h3,
.heading-sm h4, .heading-sm h5, .heading-sm h6,
.heading-sm p  { font-size: inherit; font-family: inherit; font-weight: inherit; font-style: inherit; line-height: inherit; }

/* Subheading child selectors include h1–h6 as well as p/li — subheadings are
   routinely applied to Divi heading modules, not just text blocks. */

.subheading-xl { font-size: var(--text-sub-xl); font-family: var(--font-pacaembu); font-weight: 400; line-height: 1.357; }
.subheading-xl h1, .subheading-xl h2, .subheading-xl h3,
.subheading-xl h4, .subheading-xl h5, .subheading-xl h6,
.subheading-xl p, .subheading-xl li { font-size: inherit; font-family: inherit; font-weight: inherit; line-height: inherit; }

/* The Divi accordion's title and content are extended onto these utilities
   rather than restated in css/accordion.css. Divi gives those two elements no
   CSS-class field — its custom attributes only target main/image/logo/button,
   never title or content — so the class cannot be applied in the builder.
   Extending keeps ONE definition, so the accordion tracks the scale instead
   of drifting from a copy. Scoped to .eos-accordion on the accordion module. */
.subheading-lg,
.eos-accordion .et_pb_toggle_title { font-size: var(--text-sub-lg); font-family: var(--font-pacaembu); font-weight: 400; line-height: 1.333; letter-spacing: 0.3em; text-transform: uppercase; }
.subheading-lg h1, .subheading-lg h2, .subheading-lg h3,
.subheading-lg h4, .subheading-lg h5, .subheading-lg h6,
.subheading-lg p, .subheading-lg li { font-size: inherit; font-family: inherit; font-weight: inherit; line-height: inherit; letter-spacing: inherit; text-transform: inherit; }

.subheading-md { font-size: var(--text-sub-md); font-family: var(--font-pacaembu); font-weight: 400; line-height: 1.273; }
.subheading-md h1, .subheading-md h2, .subheading-md h3,
.subheading-md h4, .subheading-md h5, .subheading-md h6,
.subheading-md p, .subheading-md li { font-size: inherit; font-family: inherit; font-weight: inherit; line-height: inherit; }

.subheading-sm { font-size: var(--text-sub-sm); font-family: var(--font-pacaembu); font-weight: 400; line-height: 1.375; letter-spacing: 0.3em; text-transform: uppercase; }
.subheading-sm h1, .subheading-sm h2, .subheading-sm h3,
.subheading-sm h4, .subheading-sm h5, .subheading-sm h6,
.subheading-sm p, .subheading-sm li { font-size: inherit; font-family: inherit; font-weight: inherit; line-height: inherit; letter-spacing: inherit; text-transform: inherit; }

.body-xl,
.eos-accordion .et_pb_toggle_content { font-size: var(--text-body-xl); font-family: var(--font-arial); font-weight: 400; line-height: 1.167; }
.body-xl p, .body-xl li,
.eos-accordion .et_pb_toggle_content p,
.eos-accordion .et_pb_toggle_content li { font-size: inherit; font-family: inherit; font-weight: inherit; line-height: inherit; }

.body-lg { font-size: var(--text-body-lg); font-family: var(--font-arial); font-weight: 400; line-height: 1.2; }
.body-lg p, .body-lg li { font-size: inherit; font-family: inherit; font-weight: inherit; line-height: inherit; }

.body-sm { font-size: var(--text-body-sm); font-family: var(--font-pacaembu); font-weight: 300; line-height: 1.25; letter-spacing: 0.1em; }
.body-sm p, .body-sm li { font-size: inherit; font-family: inherit; font-weight: inherit; line-height: inherit; letter-spacing: inherit; }

/* Button type tokens only — the .btn-* component system (backgrounds, padding,
   borders, hover states, Divi !important overrides) belongs in css/global/buttons.css. */

.button-lg { font-size: var(--text-btn-lg); font-family: var(--font-pacaembu); font-weight: 400; line-height: 1.2; letter-spacing: 0.2em; text-transform: uppercase; }

.button-md { font-size: var(--text-btn-md); font-family: var(--font-pacaembu); font-weight: 300; line-height: normal; letter-spacing: 0.2em; text-transform: uppercase; }


/* ── Rich text ────────────────────────────────────────────── */
/* Apply to Code modules or WP editor content outside Divi's control */
.rich-text h1 { font-size: var(--text-lg); font-family: var(--font-pacaembu); font-weight: 400; line-height: 1.308; }
.rich-text h2 { font-size: var(--text-md); font-family: var(--font-pacaembu); font-weight: 300; line-height: 1.3; }
.rich-text h3,
.rich-text h4,
.rich-text h5,
.rich-text h6 { font-size: var(--text-sm); font-family: var(--font-arial); font-weight: 400; font-style: italic; line-height: 1.286; }

.rich-text p,
.rich-text li {
  font-size   : var(--text-body-xl);
  font-family : var(--font-arial);
  font-weight : 400;
  line-height : 1.167;
}

.rich-text ol,
.rich-text ul  { padding-left: 1.5em; }

.rich-text a   { text-decoration: underline; color: inherit; }
