:root {

  /* ── Fluid type scale (375px → 1728px) ───────────────────── */

  /* Headings — Nexa */
  --text-lg      : clamp(2.625rem, 2.001rem + 2.661vw, 4.875rem); /* 42px → 78px */
  --text-md      : clamp(2rem, 1.376rem + 2.661vw, 4.25rem);      /* 32px → 68px */
  --text-sm      : clamp(1.25rem, 1.111rem + 0.591vw, 1.75rem);   /* 20px → 28px */

  /* Subheadings — Nexa */
  --text-sub-xl  : clamp(1.5rem, 1.292rem + 0.887vw, 2.25rem);    /* 24px → 36px */
  --text-sub-lg  : clamp(1.5rem, 1.431rem + 0.296vw, 1.75rem);    /* 24px → 28px */
  --text-sub-md  : 1.25rem;                                       /* 20px fixed */
  --text-sub-sm  : 1rem;                                          /* 16px fixed */

  /* Body — Nexa */
  --text-body-xl : clamp(1rem, 0.861rem + 0.591vw, 1.5rem);       /* 16px → 24px */
  --text-body-lg : clamp(1rem, 0.931rem + 0.296vw, 1.25rem);      /* 16px → 20px */
  --text-body-md : clamp(1rem, 0.965rem + 0.148vw, 1.125rem);     /* 16px → 18px */
  --text-body-sm : 1rem;                                          /* 16px fixed */

}


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


/* ── Font weight ──────────────────────────────────────────── */
/* Update comment after running figma-typography skill with Typekit CSS */
/* Loaded weights: — */
.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 utility class per Figma token. Weights are explicit because Divi's  */
/* base stylesheet sets body { font-weight: 500 }; children inherit so a   */
/* Divi heading tag inside the module can't fall back to Divi's default.   */
/* Nexa weights follow kit rke8ome's numbering, not the usual names:       */
/*   Book 400 · Regular 500 · Bold 600 · Extra Bold 700 · Heavy 800.       */
/* Line-heights are Figma's desktop values. Figma "Auto" is written as 1.5 */
/* (what Figma renders for Nexa; CSS normal is ~1.3 with this kit).        */
/* Override line-height per instance using .leading-* classes.             */

/* Headings — Nexa */
.heading-lg { font-size: var(--text-lg); font-family: var(--font-nexa); font-weight: 800; line-height: 1.06; }
.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-nexa); font-weight: 600; line-height: 1.04; }
.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-nexa); font-weight: 600; line-height: 1.24; }
.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; line-height: inherit; }

/* Subheadings — Nexa, uppercase */
.subheading-xl { font-size: var(--text-sub-xl); font-family: var(--font-nexa); font-weight: 600; line-height: 1.5; letter-spacing: 0.04em; text-transform: uppercase; }
.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; letter-spacing: inherit; text-transform: inherit; }

.subheading-lg { font-size: var(--text-sub-lg); font-family: var(--font-nexa); font-weight: 600; line-height: 1.313; letter-spacing: 0.07em; 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-nexa); font-weight: 600; line-height: 1.5; letter-spacing: 0.06em; text-transform: uppercase; }
.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; letter-spacing: inherit; text-transform: inherit; }

.subheading-sm { font-size: var(--text-sub-sm); font-family: var(--font-nexa); font-weight: 700; line-height: 1.5; letter-spacing: -0.01em; 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 — Nexa */
.body-xl { font-size: var(--text-body-xl); font-family: var(--font-nexa); font-weight: 400; line-height: 1.32; }
.body-xl h1, .body-xl h2, .body-xl h3,
.body-xl h4, .body-xl h5, .body-xl h6,
.body-xl p, .body-xl 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-nexa); font-weight: 500; line-height: 1.5; }
.body-lg h1, .body-lg h2, .body-lg h3,
.body-lg h4, .body-lg h5, .body-lg h6,
.body-lg p, .body-lg li { font-size: inherit; font-family: inherit; font-weight: inherit; line-height: inherit; }

.body-md { font-size: var(--text-body-md); font-family: var(--font-nexa); font-weight: 400; line-height: 1.5; }
.body-md h1, .body-md h2, .body-md h3,
.body-md h4, .body-md h5, .body-md h6,
.body-md p, .body-md 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-nexa); font-weight: 400; line-height: 1.5; }
.body-sm h1, .body-sm h2, .body-sm h3,
.body-sm h4, .body-sm h5, .body-sm h6,
.body-sm p, .body-sm li { font-size: inherit; font-family: inherit; font-weight: inherit; line-height: inherit; }


/* ── Rich text ────────────────────────────────────────────── */
/* Apply to Code modules or WP editor content outside Divi's control.
   Long-form scale (Reid only; the baseline maps h1/h2 to heading-lg/md):
   each level sits one step below the page headings, so h2 = heading-sm.
   h3–h6 use the uppercase subheadings, and space above each heading
   keeps sections apart. */

.rich-text h1 { font-size: var(--text-md); font-family: var(--font-nexa); font-weight: 600; line-height: 1.04; }
.rich-text h2 { font-size: var(--text-sm); font-family: var(--font-nexa); font-weight: 600; line-height: 1.24; margin-top: 2.5rem; }
.rich-text h3 { font-size: var(--text-sub-md); font-family: var(--font-nexa); font-weight: 600; line-height: 1.5; letter-spacing: 0.06em; text-transform: uppercase; margin-top: 2rem; }

.rich-text h4,
.rich-text h5,
.rich-text h6 { font-size: var(--text-sub-sm); font-family: var(--font-nexa); font-weight: 700; line-height: 1.5; letter-spacing: -0.01em; text-transform: uppercase; margin-top: 1.5rem; }

.rich-text :is(h1, h2, h3, h4, h5, h6):first-child { margin-top: 0; }

.rich-text p,
.rich-text li  { font-size: var(--text-body-sm); font-family: var(--font-nexa); font-weight: 400; line-height: 1.5; }

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

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