:root {

  /* ── Fluid type scale (375px → 1728px) ───────────────────── */
  /* Generated by eos-type-scale from Figma — Victoria Orthodontics */
  --text-xl      : clamp(2.000rem, 1.515rem + 2.069vw, 3.750rem);  /* 32px → 60px */
  --text-lg      : clamp(1.875rem, 1.390rem + 2.069vw, 3.625rem);  /* 30px → 58px */
  --text-md      : clamp(1.750rem, 1.456rem + 1.256vw, 2.813rem);  /* 28px → 45px */
  --text-sm      : clamp(1.000rem, 0.723rem + 1.183vw, 2.000rem);  /* 16px → 32px */

  --text-sub-xl  : clamp(1.500rem, 1.223rem + 1.183vw, 2.500rem);  /* 24px → 40px */
  --text-sub-lg  : clamp(1.000rem, 0.861rem + 0.591vw, 1.500rem);  /* 16px → 24px */
  --text-sub-md  : clamp(0.813rem, 0.726rem + 0.370vw, 1.125rem);  /* 13px → 18px */
  --text-sub-sm  : clamp(0.750rem, 0.681rem + 0.296vw, 1.000rem);  /* 12px → 16px */

  --text-body-xl : clamp(1.250rem, 1.146rem + 0.443vw, 1.625rem);  /* 20px → 26px */
  --text-body-lg : clamp(0.938rem, 0.782rem + 0.665vw, 1.500rem);  /* 15px → 24px */
  --text-body-md : clamp(0.875rem, 0.771rem + 0.443vw, 1.250rem);  /* 14px → 20px */
  --text-body-sm : clamp(0.750rem, 0.681rem + 0.296vw, 1.000rem);  /* 12px → 16px */

  --text-footer-header : clamp(0.750rem, 0.681rem + 0.296vw, 1.000rem);  /* 12px → 16px */
  --text-footer-menu   : clamp(0.750rem, 0.646rem + 0.443vw, 1.125rem);  /* 12px → 18px */

  --text-lets-take      : clamp(2.000rem, 1.619rem + 1.626vw, 3.375rem);  /* 32px → 54px */
  --text-lets-take-body : clamp(1.063rem, 0.941rem + 0.517vw, 1.500rem);  /* 17px → 24px */

}


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


/* ── Font weight ──────────────────────────────────────────── */
/* Update comment after running eos-type-scale 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 ───────────────────────────────────────────── */
/* line-height and letter-spacing come from Figma per token    */
/* Override line-height per instance using .leading-* classes  */
.heading-xl { font-size: var(--text-xl); font-family: var(--font-display); line-height: 1.267; }
.heading-xl h1, .heading-xl h2, .heading-xl h3,
.heading-xl h4, .heading-xl h5, .heading-xl h6,
.heading-xl p  { font-size: inherit; font-family: inherit; line-height: inherit; }

.heading-lg { font-size: var(--text-lg); font-family: var(--font-display); line-height: 1.276; }
.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; line-height: inherit; }

.heading-md { font-size: var(--text-md); font-family: var(--font-display); line-height: 1.2; }
.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; line-height: inherit; }

.heading-sm { font-size: var(--text-sm); font-family: var(--font-display); line-height: 1.26; }
.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; line-height: inherit; }

/* One-off display heading (Forrest, tight leading) */
.lets-take { font-size: var(--text-lets-take); font-family: var(--font-display); font-weight: 400; line-height: 1.093; color: var(--forrest); }
.lets-take h1, .lets-take h2, .lets-take h3,
.lets-take h4, .lets-take h5, .lets-take h6,
.lets-take p  { font-size: inherit; font-family: inherit; font-weight: inherit; line-height: inherit; color: inherit; }
@media (max-width: 767px) { .lets-take { line-height: 0.9375; } }

/* Intro paragraph paired with .lets-take (Avenir Next, Dark Brown) */
.lets-take-body { font-size: var(--text-lets-take-body); font-family: var(--font-body); font-weight: 400; line-height: 1.335; color: var(--dark-brown); }
.lets-take-body p, .lets-take-body li { font-size: inherit; font-family: inherit; font-weight: inherit; line-height: inherit; color: inherit; }

.subheading-xl { font-size: var(--text-sub-xl); font-family: var(--font-body); font-weight: 400; line-height: normal; letter-spacing: 0.75rem; 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-body); font-weight: 600; line-height: normal; letter-spacing: 0.345rem; 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-body); font-weight: 600; line-height: 1.444; letter-spacing: 0.2475rem; 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-body); font-weight: 600; line-height: normal; letter-spacing: 0.21rem; 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 { font-size: var(--text-body-xl); font-family: var(--font-body); line-height: normal; }
.body-xl p, .body-xl li, .body-xl h3 { font-size: inherit; font-family: inherit; line-height: inherit; font-weight: inherit;}

.body-lg { font-size: var(--text-body-lg); font-family: var(--font-body); line-height: 1.333; letter-spacing: 0.06rem; }
.body-lg p, .body-lg li { font-size: inherit; font-family: inherit; line-height: inherit; letter-spacing: inherit; font-weight: inherit;}

.body-md { font-size: var(--text-body-md); font-family: var(--font-body); line-height: 1.5; letter-spacing: 0.125rem; }
.body-md p, .body-md li { font-size: inherit; font-family: inherit; line-height: inherit; letter-spacing: inherit; font-weight: inherit;}

.body-sm { font-size: var(--text-body-sm); font-family: var(--font-body); line-height: normal; letter-spacing: 0.1rem; }
.body-sm p, .body-sm li, .body-sm h3 { font-size: inherit; font-family: inherit; line-height: inherit; letter-spacing: inherit; font-weight: inherit;}


/* ── Footer ───────────────────────────────────────────────── */
/* Uppercase Avenir Next 600 · Forrest · fluid 375→1728px       */
.footer-header { font-size: var(--text-footer-header); font-family: var(--font-body); font-weight: 600; line-height: normal; letter-spacing: 0.21rem; text-transform: uppercase; color: var(--forrest); }
.footer-header p, .footer-header li, .footer-header a { font-size: inherit; font-family: inherit; font-weight: inherit; line-height: inherit; letter-spacing: inherit; text-transform: inherit; color: inherit; }

.footer-menu { font-size: var(--text-footer-menu); font-family: var(--font-body); font-weight: 600; line-height: normal; letter-spacing: 0.23625rem; text-transform: uppercase; text-align: center; color: var(--forrest); }
.footer-menu p, .footer-menu li, .footer-menu a { font-size: inherit; font-family: inherit; font-weight: inherit; line-height: inherit; letter-spacing: inherit; text-transform: inherit; color: inherit; }


/* ── Rich text ────────────────────────────────────────────── */
/* Apply to Code modules or WP editor content outside Divi's control */
.rich-text h1 { font-size: var(--text-xl); font-family: var(--font-display); line-height: 1.267; }
.rich-text h2 { font-size: var(--text-lg); font-family: var(--font-display); line-height: 1.276; }
.rich-text h3 { font-size: var(--text-md); font-family: var(--font-display); line-height: 1.2; }
.rich-text h4,
.rich-text h5,
.rich-text h6 { font-size: var(--text-sm); font-family: var(--font-display); line-height: 1.26; }

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

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

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


/* ── Weight override (Victoria) — pin headings & body to 400 ─
   Drops the rendered weight by 100 from whatever Divi/UA was
   applying (typically 500). Both Forrest 400 (Regular) and
   Avenir Next 400 (Regular) are real loaded weights — no
   fallback. Subheadings, footer, .lets-take*, buttons keep
   their baked weights.
   ─────────────────────────────────────────────────────────── */
.heading-xl, .heading-lg, .heading-md, .heading-sm,
.body-xl,    .body-lg,    .body-md,    .body-sm,
.rich-text p, .rich-text li,
.rich-text h1, .rich-text h2, .rich-text h3,
.rich-text h4, .rich-text h5, .rich-text h6 {
  font-weight: 400;
}

/* h-tag descendants need explicit inherit (UA stylesheet forces
   h1–h6 to bold, which would otherwise win over inheritance). */
.heading-xl h1, .heading-xl h2, .heading-xl h3, .heading-xl h4, .heading-xl h5, .heading-xl h6,
.heading-lg h1, .heading-lg h2, .heading-lg h3, .heading-lg h4, .heading-lg h5, .heading-lg h6,
.heading-md h1, .heading-md h2, .heading-md h3, .heading-md h4, .heading-md h5, .heading-md h6,
.heading-sm h1, .heading-sm h2, .heading-sm h3, .heading-sm h4, .heading-sm h5, .heading-sm h6 {
  font-weight: inherit;
}