/* ── Self-hosted: Rocket Clouds (cursive accent) ──────────── */
@font-face {
  font-family : "Rocket Clouds";
  src         : url("fonts/rocket-clouds/RocketClouds-Regular.woff2") format("woff2");
  font-weight : 400;
  font-style  : normal;
  font-display: swap;
}
@font-face {
  font-family : "Rocket Clouds";
  src         : url("fonts/rocket-clouds/RocketClouds-Bold.woff2") format("woff2");
  font-weight : 700;
  font-style  : normal;
  font-display: swap;
}


:root {

  /* ── Fluid type scale (375px → 1728px) ───────────────────── */
  --text-lg         : clamp(2.250rem, 2.007rem + 1.035vw, 3.125rem);  /* 36px → 50px */
  --text-md         : clamp(1.750rem, 1.542rem + 0.887vw, 2.500rem);  /* 28px → 40px */
  --text-sm         : clamp(1.250rem, 1.042rem + 0.887vw, 2.000rem);  /* 20px → 32px */
  --text-xs         : clamp(1.250rem, 1.181rem + 0.296vw, 1.500rem);  /* 20px → 24px */
  --text-sub-xl     : clamp(1.500rem, 1.396rem + 0.443vw, 1.875rem);  /* 24px → 30px */
  --text-sub-lg     : clamp(1.188rem, 1.101rem + 0.370vw, 1.500rem);  /* 19px → 24px */
  --text-sub-md     : clamp(1.125rem, 1.090rem + 0.148vw, 1.250rem);  /* 18px → 20px */
  --text-sub-sm     : clamp(0.750rem, 0.681rem + 0.296vw, 1.000rem);  /* 12px → 16px */
  --text-body-xl    : clamp(1.250rem, 1.181rem + 0.296vw, 1.500rem);  /* 20px → 24px */
  --text-body-lg    : clamp(1.000rem, 0.931rem + 0.296vw, 1.250rem);  /* 16px → 20px */
  --text-body-md    : clamp(0.875rem, 0.840rem + 0.148vw, 1.000rem);  /* 14px → 16px */
  --text-body-sm    : clamp(0.875rem, 0.875rem + 0.000vw, 0.875rem);  /* 14px fixed  */
  --text-cursive-lg : clamp(1.500rem, 1.223rem + 1.183vw, 2.500rem);  /* 24px → 40px */
  --text-cursive-md : clamp(1.750rem, 1.681rem + 0.296vw, 2.000rem);  /* 28px → 32px */

}


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


/* ── Font weight ──────────────────────────────────────────── */
/* Weights used in design: 300, 400, 500, 600                   */
.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 ───────────────────────────────────────────── */
/* Weight baked per Figma role: headings 400, subheadings 500. Body stays 400  */
/* by default (use .font-semibold for the 600 bold-body variants).             */
/* Override weight/line-height per instance with .font-* / .leading-* classes.  */
.heading-lg { font-size: var(--text-lg); font-family: var(--font-display); font-weight: 400; line-height: normal; }
.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); font-weight: 400; line-height: normal; }
.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); font-weight: 400; line-height: normal; }
.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; }

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

.subheading-xl { font-size: var(--text-sub-xl); font-family: var(--font-display); font-weight: 500; line-height: normal; letter-spacing: 0.13em; }
.subheading-xl p, .subheading-xl li { font-size: inherit; font-family: inherit; line-height: inherit; letter-spacing: inherit; }

.subheading-lg { font-size: var(--text-sub-lg); font-family: var(--font-display); font-weight: 500; line-height: normal; letter-spacing: 0.13em; }
.subheading-lg p, .subheading-lg li { font-size: inherit; font-family: inherit; line-height: inherit; letter-spacing: inherit; }

.subheading-md { font-size: var(--text-sub-md); font-family: var(--font-display); font-weight: 500; line-height: normal; letter-spacing: 0.13em; }
.subheading-md p, .subheading-md li { font-size: inherit; font-family: inherit; line-height: inherit; letter-spacing: inherit; }

.subheading-sm { font-size: var(--text-sub-sm); font-family: var(--font-display); font-weight: 500; line-height: normal; letter-spacing: 0.13em; }
.subheading-sm p, .subheading-sm li { font-size: inherit; font-family: inherit; line-height: inherit; letter-spacing: inherit; }

.body-xl { font-size: var(--text-body-xl); font-family: var(--font-body); line-height: 1.167; letter-spacing: 0.05em; }
.body-xl p, .body-xl li { font-size: inherit; font-family: inherit; line-height: inherit; letter-spacing: inherit; }

.body-lg { font-size: var(--text-body-lg); font-family: var(--font-body); line-height: 1.375; letter-spacing: 0.05em; }
.body-lg p, .body-lg li { font-size: inherit; font-family: inherit; line-height: 1.375 !important; }  /* explicit — Bogart's "normal" renders loose; !important wins over Divi's inherited value */

.body-md { font-size: var(--text-body-md); font-family: var(--font-body); line-height: 1.375; letter-spacing: 0.05em; }
.body-md p, .body-md li { font-size: inherit; font-family: inherit; line-height: inherit; letter-spacing: inherit; }

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

/* ── Cursive accent (Rocket Clouds) ───────────────────────── */
.cursive-lg { font-size: var(--text-cursive-lg); font-family: var(--font-rocket-clouds); font-weight: 400; line-height: normal; }
.cursive-lg h1, .cursive-lg h2, .cursive-lg h3,
.cursive-lg h4, .cursive-lg h5, .cursive-lg h6,
.cursive-lg p  { font-size: inherit; font-family: inherit; line-height: inherit; }
.cursive-md { font-size: var(--text-cursive-md); font-family: var(--font-rocket-clouds); font-weight: 400; line-height: normal; }
.cursive-md h1, .cursive-md h2, .cursive-md h3,
.cursive-md h4, .cursive-md h5, .cursive-md h6,
.cursive-md p  { font-size: inherit; font-family: inherit; line-height: inherit; }


/* ── 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-display); font-weight: 400; line-height: normal; }
.rich-text h2 { font-size: var(--text-md); font-family: var(--font-display); font-weight: 400; line-height: normal; }
.rich-text h3 { font-size: var(--text-sm); font-family: var(--font-display); font-weight: 400; line-height: normal; }
.rich-text h4,
.rich-text h5,
.rich-text h6 { font-size: var(--text-xs); font-family: var(--font-display); font-weight: 400; line-height: normal; }

.rich-text p,
.rich-text li {
  font-size   : var(--text-body-lg);
  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; }
