/* =========================================================
   DIVI FLUID TYPOGRAPHY SYSTEM
   ---------------------------------------------------------
   - Uses clamp() for responsive type
   - Centralized via CSS variables
   - Neutralizes Divi module overrides
   - Safe for WP Engine environments
   ========================================================= */

/* -----------------------------
   1. Design Tokens
   ----------------------------- */




:root {
	
  /*Base families */
  --font-heading: "lust-fine",serif;
  --font-body: 'Work Sans', sans-serif;
  --font-weight-light: 300;
  --font-weight-regular: 400; /* 'normal' is equivalent to 400 */
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;   /* 'bold' is equivalent to 700 */
  --font-weight-extrabold: 800;
  --font-weight-heavy: 900;
 
  --font-style-regular: normal;
  --font-style-italic: italic;
	
  /* Base text */
  --fs-body: clamp(1rem, 2vw, 5rem);
  --footer-font-size: 0.1rem;

  /* Headings */
  --fs-h1: clamp(1.5rem, 5vw, 12rem);
  --fs-h2: clamp(1.5rem, 5vw, 12rem); 
  --fs-h3: clamp(1.2rem, 3vw, 10rem);
  --fs-h4: clamp(1.2rem, 2.2vw, 5.5rem);
  --fs-h5: clamp(1rem, calc(0.95rem + 1vw), 1.5rem);
  --fs-h6: clamp(0.875rem, calc(0.85rem + 1vw), 1.25rem);

  /* Line heights */
  --lh-body-low: .8;
  --lh-body-medlow: 1;
  --lh-body-medium: 1.2;
  --lh-body-medhigh: 1.4;
  --lh-body-high: 1.6;
  --lh-heading-low: .8;
  --lh-heading-medlow: .9;
  --lh-heading-medium: 1; 
  --lh-heading-medhigh: 1.2;
  --lh-heading-high: 1.5;
	
  /* Padding / Spacing */
  --padding-md: 1vw;



}

/* -----------------------------
   2. Global Base Styles
   ----------------------------- */

body {
  font-size: var(--fs-body);
  font-weight: var(--font-weight-bold);
  line-height: var(--lh-body-high);
}


p,
.et_pb_text p {
  font-size: var(--fs-body);
  font-weight: var(--font-weight-bold);
  line-height: var(--lh-body-high);
}


footer p,
.et_pb_text footer p {
  font-size: var(--fs-h1);
  font-weight: var(--font-weight-heavy);
}

/* Limit line length for readability */
.et_pb_text,
.et_pb_post_content {
  max-width: 65ch;
}

/* -----------------------------
   3. Headings (Global)
   ----------------------------- */

h1,
.et_pb_text h1 {
  font-family: var(--font-heading);	
  font-size: var(--fs-h1);
  font-style: var(--font-style-italic);
  line-height: var(--lh-heading-low);
  font-weight: var(--font-weight-regular);
  padding-bottom: var(--padding-md);
}

h2,
.et_pb_text h2 {
  font-size: var(--fs-h2);
  line-height: var(--lh-heading-medlow);
  font-style: var(--font-style-regular);
  font-weight: var(--font-weight-bold);
}

h3,
.et_pb_text h3 {
  font-size: var(--fs-h3);
  line-height: var(--lh-heading-medium);
  font-style: var(--font-style-italic);
  font-weight: var(--font-weight-regular);
}

h4,
.et_pb_text h4 {
  font-size: var(--fs-h4);
  line-height: var(--lh-heading-medium);
  font-style: var(--font-style-regular);
  font-weight: var(--font-weight-bold);
}

h5,
.et_pb_text h5 {
  font-size: var(--fs-h5);
  line-height: var(--lh-body-medium);
  font-style: var(--font-style-regular);
  font-weight: var(--font-weight-medium);
}

h6,
.et_pb_text h6 {
  font-size: var(--fs-h6);
  line-height: var(--lh-body-medium);
  font-style: var(--font-style-regular);
  font-weight: var(--font-weight-medium);
}

/* -----------------------------
   4. Divi Module Neutralization
   ----------------------------- */

/* Prevent module-level font size overrides */
.et_pb_text,
.et_pb_blurb_content,
.et_pb_toggle_content,
.et_pb_tab_content,
.et_pb_accordion_item {
  font-size: inherit;
}

/* Buttons inherit base typography */
.et_pb_button {
  font-size: inherit;
  line-height: 1.2;
}

/* -----------------------------
   5. Responsive Safety Nets
   ----------------------------- */

/* Ensure headings never overflow on small screens */
h1,
h2,
h3 {
  word-wrap: break-word;
}

/* -----------------------------
   6. Optional Utility Classes
   ----------------------------- */

.fs-body { font-size: var(--fs-body); }
.fs-h1 { font-size: var(--fs-h1); }
.fs-h2 { font-size: var(--fs-h2); }
.fs-h3 { font-size: var(--fs-h3); }
.fs-h4 { font-size: var(--fs-h4); }
.fs-h5 { font-size: var(--fs-h5); }
.fs-h6 { font-size: var(--fs-h6); }
