/* Production typography and interaction consistency */
main h1 {
  font-size: clamp(2.25rem, 4.4vw, 3.6rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
}

.landing-v2 .landing-section h2,
.landing-v2 .landing-scanner h2,
.landing-v2 .cta-panel h2,
.pricing-cta h2,
.about-page main h2 {
  font-size: clamp(1.75rem, 3vw, 2.6rem) !important;
  line-height: 1.14 !important;
  letter-spacing: -0.025em !important;
}

.workspace-heading h2,
.finding-preview h2,
.demo-form-card h2,
.site-footer h2 {
  letter-spacing: normal !important;
}

body:not(.failure-lab) button.password-toggle:not(.nav-toggle):not(.modern-toggle):not(.scan-metric),
body:not(.failure-lab) button.password-toggle:not(.nav-toggle):not(.modern-toggle):not(.scan-metric):hover,
body:not(.failure-lab) button.password-toggle:not(.nav-toggle):not(.modern-toggle):not(.scan-metric):active {
  padding: 0.15rem 0.25rem !important;
  transform: translateY(-50%) !important;
  color: #174fcf !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

body:not(.failure-lab) button.password-toggle:not(.nav-toggle):not(.modern-toggle):not(.scan-metric):focus-visible {
  transform: translateY(-50%) !important;
  outline: 3px solid #2459e0 !important;
  outline-offset: 3px !important;
}

@media (max-width: 680px) {
  main h1 {
    font-size: clamp(2.1rem, 10vw, 2.65rem) !important;
  }

  .landing-v2 .landing-section h2,
  .landing-v2 .landing-scanner h2,
  .landing-v2 .cta-panel h2,
  .pricing-cta h2,
  .about-page main h2 {
    font-size: clamp(1.7rem, 8vw, 2.15rem) !important;
  }
}
