/* ==============================================================
   ELEMENTOR FLUID TYPOGRAPHY  – rev 5  (full refinements)
   ============================================================== */

/* -------- 1. Headings ---------------------------------------- */
h1,h2,h3,h4,h5,h6{line-height:1.2!important;letter-spacing:-0.02em!important;}
h1,h2{font-weight:700!important;}  /* bold */
h3,h4,h5{font-weight:600!important;} h6{font-weight:500!important;}

/* primary (laptop-tame) clamp */
h1{font-size:clamp(3rem,2.50rem+2vw,4rem)!important;}
h2{font-size:clamp(2.25rem,1.95rem+1.2vw,2.75rem)!important;}
h3{font-size:clamp(1.75rem,1.55rem+0.8vw,2.25rem)!important;}
h4{font-size:clamp(1.375rem,1.25rem+0.35vw,1.625rem)!important;}
h5{font-size:clamp(1.125rem,1.02rem+0.30vw,1.375rem)!important;}
h6{font-size:clamp(1rem,0.94rem+0.15vw,1.125rem)!important;}

/* ↑ 1920 px breakpoint: widen H1 / H2 gently for ultra-wides */
@media(min-width:1920px){
  h1{font-size:clamp(4rem,3rem+0.6vw,4.5rem)!important;}   /* 64 px → 72 px */
  h2{font-size:clamp(2.75rem,2.25rem+0.5vw,3.25rem)!important;} /* 44 px → 52 px */
}

/* -------- 2. Body copy --------------------------------------- */
/* < 1600 px : lock at 1 rem (16 px) */
p{
  font-size:1rem!important;
  line-height:1.5!important;
  letter-spacing:0!important;
  font-weight:400!important;
}

/* 1600 – 3840 px : fluid 1 rem → 1.5 rem */
@media(min-width:1600px){
  /* Δ = 0.5rem across 2240 px (3840-1600) */
  p{
    font-size:clamp(
      1rem,
      calc(1rem + 0.5rem * ((100vw - 1600px) / 2240)),
      1.5rem
    )!important;
  }
}

/* -------- 3. Buttons / Nav / Labels (unchanged) -------------- */
button,
input[type=button],input[type=submit],
.elementor-button,label,
.elementor-nav-menu a{
  font-size:clamp(0.875rem,0.80rem+0.2vw,1rem)!important;
  line-height:1!important;
  letter-spacing:0.05em!important;
  font-weight:600!important;
}

/* -------- 4. Long-read column guard -------------------------- */
.prose,
.elementor-widget-text-editor{
  max-width:65ch;      /* optimal 45–65 characters per line */
  margin-inline:auto;  /* centre in container */
}
