/* Aprimoramentos progressivos — a base permanece mobile-first */
@media (min-width: 30rem) {
  .container { width: min(calc(100% - 2.5rem),var(--container)); }
  .button { padding-inline: 1.3rem; }
  .hero-offer .button { width: max-content; min-width: 21rem; }
  .hero-offer > p { width: 21rem; }
  .risk-card,.benefit-card { padding: 1.15rem; }
}

@media (min-width: 48rem) {
  :root { --header-h: 4.75rem; }
  .section { padding: 5.7rem 0; }
  .header-cta { padding: .7rem 1.1rem; }
  .hero { min-height: 46rem; padding: calc(var(--header-h) + 3.2rem) 0 5rem; }
  .hero h1 { font-size: clamp(3.35rem,7vw,4.4rem); }
  .hero-grid { grid-template-columns: minmax(0,1.22fr) minmax(17rem,.78fr); align-items: center; gap: 2rem; }
  .hero-product { width: min(31vw,22rem); }
  .hero-points { max-width: 36rem; }
  .scroll-cue { display: flex; }

  .risk-grid { grid-template-columns: repeat(6,minmax(0,1fr)); }
  .risk-card { grid-column: span 2; min-height: 9.5rem; }
  .risk-card:nth-last-child(-n+2) { grid-column: span 3; }
  .evidence-heading { padding: 1.6rem; }
  .evidence-grid { grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-flow: row; grid-auto-columns: auto; overflow: visible; }
  .evidence-grid article { min-height: 15rem; border-right: 1px solid var(--line); border-bottom: 0; }
  .evidence-grid article:last-child { border-right: 0; }

  .control-shell { grid-template-columns: minmax(17rem,.8fr) minmax(0,1.2fr); gap: 3.5rem; }
  .control-visual { min-height: 22rem; }
  .product-grid { grid-template-columns: minmax(13rem,.5fr) minmax(0,1.5fr); gap: 4rem; }
  .product-cover { width: min(26vw,18rem); }
  .product-copy .button { width: max-content; }

  .benefits-layout { grid-template-columns: minmax(15rem,.62fr) minmax(0,1.38fr); gap: 3rem; align-items: start; }
  .benefit-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .benefit-card { min-height: 10rem; }

  .preview-controls { display: flex; }
  .preview-rail { grid-auto-columns: min(30vw,21.5rem); gap: 1rem; scroll-padding-inline: max(2.5rem,calc((100vw - var(--container))/2)); }
  .preview-close { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 0 2rem; align-items: end; }
  .preview-close .preview-impact { grid-column: 1 / -1; }
  .preview-close .button { grid-column: 2; grid-row: 2; width: max-content; }

  .human-grid { grid-template-columns: minmax(17rem,.42fr) minmax(0,.58fr); gap: 4rem; }
  .human-photo { width: 100%; }
  .human-copy .button { width: max-content; }

  .offer-shell { grid-template-columns: minmax(14rem,.7fr) minmax(0,1.3fr); gap: 4rem; }
  .offer-cover { width: min(27vw,19rem); }
  .offer-copy .button { width: max-content; }
  .secure-note { width: max-content; }

  .faq-layout { grid-template-columns: minmax(12rem,.55fr) minmax(0,1fr); gap: 1rem 4rem; }
  .final-shell .button { width: max-content; }
  .footer-grid { grid-template-columns: 1fr auto auto; align-items: center; }
  .site-footer { padding-bottom: 2.5rem; }
  .mobile-buy-bar { display: none; }
}

@media (min-width: 64rem) {
  .hero { min-height: 49rem; }
  .hero-grid { grid-template-columns: minmax(0,1.3fr) minmax(20rem,.7fr); gap: 4rem; }
  .hero-product { width: min(29vw,24rem); }
  .hero-subtitle { max-width: 41rem; font-size: 1.04rem; }
  .hero-intro { max-width: 39rem; }
  .hero-points li { font-size: .79rem; }
  .risk-card { padding: 1.3rem; }
  .pain-close { font-size: 2rem; }
  .evidence { margin-top: 3.5rem; }
  .evidence-grid article { min-height: 14rem; padding: 1.6rem; }
  .product-grid,.human-grid { max-width: 64rem; }
  .offer-shell { max-width: 62rem; }
}

@media (max-width: 47.99rem) and (max-height: 46.25rem) {
  .hero { padding-top: calc(var(--header-h) + 1rem); }
  .hero h1 { margin-block: .45rem .65rem; font-size: clamp(2.05rem,10vw,2.55rem); }
  .hero-subtitle { font-size: .86rem; line-height: 1.42; }
  .hero-intro { margin-top: .65rem; }
  .hero-offer { margin-top: .75rem; }
  .hero-points { margin-block: .85rem; }
}

@media (max-width: 23.5rem) {
  .container { width: min(calc(100% - 1.25rem),var(--container)); }
  .header-cta { padding-inline: .65rem; font-size: .58rem; }
  .hero-points { grid-template-columns: 1fr; }
  .risk-grid,.benefit-grid { grid-template-columns: 1fr; }
  .preview-rail { grid-auto-columns: 88vw; }
  .mobile-buy-bar { inset-inline: .3rem; }
}
