/**
 * Primary CTAs — ~20% smaller than prior pass; sentence case (no forced uppercase).
 */
html body a.primary-button.w-button,
html body input.primary-button.w-button,
html body button.primary-button.w-button {
  font-size: clamp(10px, 1.76vw, 18px) !important;
  padding: clamp(8px, 1.2vw, 14px) clamp(11px, 1.6vw, 22px) !important;
  border-radius: clamp(2px, 0.4vw, 6px) !important;
  line-height: 1.25 !important;
  box-sizing: border-box !important;
  text-align: center !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

html body a.primary-button.secondary-button.w-button {
  margin-left: clamp(6px, 1vw, 13px) !important;
}

html body .hero-button-cell {
  flex-wrap: wrap !important;
  gap: clamp(5px, 0.8vw, 10px) !important;
}

/* Hero CTAs (Get in Touch, etc.) — larger than body buttons */
html body .hero-section .hero-button-cell a.primary-button.w-button,
html body .hero-section .hero-button-cell button.primary-button.w-button,
html body .hero-section .hero-image-wrapper a.primary-button.w-button,
html body .hero-section .hero-image-wrapper button.primary-button.w-button,
html body .lp-hero-section .hero-button-cell a.primary-button.w-button,
html body .lp-hero-section .hero-button-cell button.primary-button.w-button {
  font-size: clamp(18px, 2.2vw, 34px) !important;
  padding: clamp(16px, 2.4vw, 28px) clamp(18px, 2.6vw, 36px) !important;
  min-height: clamp(56px, 6vw, 72px) !important;
  font-weight: 600 !important;
}

@media screen and (min-width: 1280px) {
  html body a.primary-button.w-button,
  html body input.primary-button.w-button,
  html body button.primary-button.w-button {
    font-size: clamp(12px, 1vw, 21px) !important;
    padding: clamp(10px, 0.88vw, 18px) clamp(13px, 1.2vw, 29px) !important;
  }

  html body .hero-section .hero-button-cell a.primary-button.w-button,
  html body .hero-section .hero-button-cell button.primary-button.w-button,
  html body .hero-section .hero-image-wrapper a.primary-button.w-button,
  html body .hero-section .hero-image-wrapper button.primary-button.w-button,
  html body .lp-hero-section .hero-button-cell a.primary-button.w-button,
  html body .lp-hero-section .hero-button-cell button.primary-button.w-button {
    font-size: clamp(20px, 1.8vw, 34px) !important;
    padding: clamp(18px, 2vw, 30px) clamp(22px, 2.2vw, 38px) !important;
    min-height: clamp(60px, 5.5vw, 76px) !important;
  }
}

@media screen and (max-width: 479px) {
  html body a.primary-button.w-button,
  html body input.primary-button.w-button,
  html body button.primary-button.w-button {
    font-size: clamp(10px, 2.56vw, 13px) !important;
    padding: clamp(6px, 1.6vw, 11px) clamp(8px, 2vw, 14px) !important;
  }

  html body a.primary-button.secondary-button.w-button {
    margin-left: 0 !important;
  }

  html body .hero-section .hero-button-cell a.primary-button.w-button,
  html body .hero-section .hero-button-cell button.primary-button.w-button,
  html body .hero-section .hero-image-wrapper a.primary-button.w-button,
  html body .hero-section .hero-image-wrapper button.primary-button.w-button,
  html body .lp-hero-section .hero-button-cell a.primary-button.w-button,
  html body .lp-hero-section .hero-button-cell button.primary-button.w-button {
    font-size: clamp(14px, 3.5vw, 18px) !important;
    padding: clamp(12px, 2.8vw, 16px) clamp(14px, 3.2vw, 20px) !important;
    min-height: clamp(48px, 12vw, 56px) !important;
  }
}
