html, body { overflow-x: hidden; }

.stamp {
  position: static;
  display: inline-block;
  margin-top: 30px;
  padding: 9px 11px;
  white-space: nowrap;
}

.plans .section-head h2 {
  max-width: 100%;
  line-height: 1.03;
  overflow-wrap: anywhere;
}

.content-cadence {
  min-height: 48px;
  padding-left: 4px;
}

@media (max-width: 520px) {
  .plans .section-head h2 { font-size: 2.45rem; }
  .stamp { margin-top: 24px; font-size: 10px; }
  .final-cta h2 { font-size: 2.55rem; }
}

@media (max-width: 760px) {
  .nav { height: 62px; padding-inline: 16px; }
  .brand { font-size: 13px; gap: 9px; }
  .brand span { width: 32px; height: 32px; }
  .nav .wa-icon { width: 40px; height: 40px; }

  .hero-grid { padding: 44px 18px 64px; gap: 34px; }
  .hero h1 { font-size: clamp(2.85rem, 13vw, 3.5rem); line-height: .98; text-wrap: balance; }
  .lead { margin: 24px 0; font-size: 16px; line-height: 1.55; }
  .hero-actions { margin: 28px 0 24px; gap: 16px; }
  .hero-actions .btn { min-height: 52px; }
  .text-link { text-align: center; padding-block: 4px 8px; }
  .trust-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; }
  .trust-row span:last-child { grid-column: 1 / -1; }

  .hero-visual { min-height: 320px; border-radius: 14px; }
  .score-card { width: calc(100% - 32px); padding: 24px 20px; border-radius: 12px; }
  .score-card > strong { display: block; max-width: 280px; font-size: 25px; }
  .progress { margin: 24px 0; }
  .metrics { gap: 10px; }
  .metrics span { flex: 1; }
  .metrics b { font-size: 18px; }

  .section { padding: 68px 18px; }
  .eyebrow { margin-bottom: 16px; font-size: 10px; }
  .section-head h2, .community-intro h2 { font-size: clamp(2.55rem, 12vw, 3.1rem); line-height: 1; text-wrap: balance; }

  .problem-grid { margin-top: 34px; gap: 28px; }
  .problem-intro { font-size: 18px; line-height: 1.55; }
  .pain-list { gap: 12px; }
  .pain-list > div { padding: 24px 22px; }
  .pain-list b { margin-bottom: 24px; }

  .section-head.center { margin-bottom: 38px; }
  .plans .section-head h2 { font-size: clamp(2.3rem, 10.5vw, 2.8rem); }
  .plan-grid { gap: 14px; }
  .plan-card { padding: 28px 22px; border-radius: 14px; }
  .plan-summary { margin: 24px 0; }
  .plan-card li { padding-block: 13px; font-size: 15px; }
  .plan-card .btn { min-height: 52px; }
  .microcopy { margin: 28px auto 0; max-width: 290px; }

  .community-intro > p { margin-top: 24px; line-height: 1.55; }
  .levels { margin: 40px 0 24px; gap: 12px; }
  .level { min-height: 0; padding: 24px 22px; border-radius: 12px; }
  .level > span { margin-bottom: 22px; font-size: 34px; }
  .level h3 { font-size: 24px; }
  .community-strip { padding: 22px; gap: 0; border-radius: 12px; }
  .community-strip > div { min-height: 72px; padding: 14px 2px; border-bottom: 1px solid var(--line); }
  .community-strip > div:last-of-type { border-bottom: 0; }
  .community-strip .btn { min-height: 52px; margin-top: 16px; white-space: normal; text-align: center; }

  .steps { margin-top: 36px; gap: 12px; }
  .steps > div { min-height: 0; padding: 24px 22px; }
  .steps h3 { margin: 28px 0 8px; }

  .final-cta { padding: 76px 18px 88px; }
  .final-cta h2 { font-size: clamp(2.3rem, 10.5vw, 2.8rem); line-height: 1.02; text-wrap: balance; }
  .final-cta p { margin: 24px auto; font-size: 16px; }
  .final-cta .btn { width: 100%; min-height: 54px; padding-inline: 14px; }

  .floating-wa { right: 14px; bottom: 14px; width: 52px; height: 52px; }
  footer { padding: 32px 18px 88px; }
}

@media (max-width: 370px) {
  .hero h1 { font-size: 2.65rem; }
  .score-card > strong { font-size: 22px; }
  .metrics { font-size: 9px; }
  .plans .section-head h2, .final-cta h2 { font-size: 2.15rem; }
}
