/* 
  Typography scaling based on min-width 320px and max-width 1640px.
  Using fluid typography clamps (rem + vw) for smooth scaling.
*/

/* H1 Hero */
h1, .h1-hero {
  font-size: clamp(2.25rem, 1.765rem + 2.424vw, 4.25rem); /* 36px to 68px */
  font-weight: 900;
  line-height: 1.06;
}

/* H2 Section */
h2, .h2-section {
  font-size: clamp(1.875rem, 1.723rem + 0.758vw, 2.5rem); /* 30px to 40px */
  font-weight: 800;
  line-height: 1.15;
}

/* H2 Large */
.h2-large {
  font-size: clamp(2.25rem, 2.068rem + 0.909vw, 3rem); /* 36px to 48px */
  font-weight: 900;
  line-height: 1.1;
}

/* H3 Card */
h3, .h3-card {
  font-size: clamp(1.125rem, 1.064rem + 0.303vw, 1.375rem); /* 18px to 22px */
  font-weight: 700;
  line-height: 1.3;
}

/* H4 Sub */
h4, .h4-sub {
  font-size: clamp(1rem, 0.97rem + 0.152vw, 1.125rem); /* 16px to 18px */
  font-weight: 700;
  line-height: 1.35;
}

/* H5 Eyebrow */
h5, .h5-eyebrow {
  font-size: 0.6875rem; /* 11px */
  font-weight: 700;
  line-height: 1.4;
  text-transform: uppercase;
}

/* H6 Micro */
h6, .h6-micro {
  font-size: 0.625rem; /* 10px */
  font-weight: 600;
  line-height: 1.4;
  text-transform: uppercase;
}

/* P Body */
p, .p-body {
  font-size: clamp(0.9375rem, 0.922rem + 0.076vw, 1rem); /* 15px to 16px */
  font-weight: 400;
  line-height: 1.7;
}

/* P Lead */
.p-lead {
  font-size: clamp(1.0625rem, 1.047rem + 0.076vw, 1.125rem); /* 17px to 18px */
  font-weight: 400;
  line-height: 1.65;
}

/* P Card Small */
.p-card-small {
  font-size: 0.875rem; /* 14px */
  font-weight: 400;
  line-height: 1.6;
}

/* Small / Caption */
small, .caption {
  font-size: 0.75rem; /* 12px */
  font-weight: 400;
  line-height: 1.5;
}

/* Label / Eyebrow */
label, .label-eyebrow {
  font-size: 0.6875rem; /* 11px */
  font-weight: 600;
  text-transform: uppercase;
}
