/* Reglow v130 — melhorias exclusivas para mobile. Desktop permanece intacto. */
@media (max-width: 680px) {
  :root { --mobile-gutter: 18px; }

  html { scroll-padding-top: 72px; }
  html, body, main { max-width: 100%; overflow-x: clip !important; }
  body { font-size: 16px; }

  .page-shell,
  .section-shell,
  .site-shell {
    width: calc(100% - (var(--mobile-gutter) * 2)) !important;
    max-width: none !important;
  }

  .site-header {
    position: absolute;
    min-height: 68px;
  }
  .site-header .site-header-inner {
    width: calc(100% - (var(--mobile-gutter) * 2)) !important;
    min-height: 68px !important;
  }
  .site-header .brand-mark { width: 36px; height: 36px; }

  .hero { padding: 0 0 52px !important; }
  .hero-content { padding: 96px 0 0 !important; }
  .hero h1 {
    max-width: 100% !important;
    margin: 12px 0 20px !important;
    font-size: clamp(2.35rem, 11.5vw, 3.15rem) !important;
    line-height: 1 !important;
    letter-spacing: -.055em !important;
  }
  .hero-content > p {
    margin-bottom: 0 !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }
  .hero-mobile-media {
    margin-top: 28px !important;
    border-radius: 18px !important;
  }
  .hero-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    margin-top: 20px !important;
    padding: 17px 6px !important;
    border-radius: 16px !important;
  }
  .hero-stats article { min-width: 0; padding: 0 8px !important; }
  .hero-stats article + article { border-left: 1px solid rgba(169, 76, 144, .28) !important; }
  .hero-stats strong { font-size: 1.42rem !important; }
  .hero-stats span { font-size: .57rem !important; line-height: 1.35 !important; }

  main > section:not(.hero) {
    scroll-margin-top: 72px;
  }
  .products-ecosystem,
  .protocol-pain-banner,
  .reglow-explainer,
  .story,
  .individualized,
  .protocol,
  .knowledge,
  .experiences,
  .milestone,
  .faq,
  .downloads,
  .purchase-banner,
  .social,
  .closing-cta {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }

  .eyebrow {
    margin-bottom: 12px !important;
    font-size: .7rem !important;
    line-height: 1.35 !important;
  }
  .gradient-heading,
  .products-heading h2,
  .protocol-pain-heading h2,
  .protocol-pain-cases > header h3,
  .reglow-explainer-heading h2,
  .individualized h2,
  .protocol h2,
  .knowledge h2,
  .experiences h2,
  .milestone h2,
  .faq h2,
  .downloads h2,
  .purchase-banner h2,
  .social h2,
  .closing-cta h2 {
    font-size: clamp(2.05rem, 10.2vw, 2.85rem) !important;
    line-height: 1.03 !important;
    letter-spacing: -.045em !important;
    text-wrap: balance;
  }
  .body-copy,
  .section-intro,
  .products-heading > p:last-child,
  .protocol-pain-heading > p:last-child,
  .reglow-explainer-heading > p,
  .purchase-banner-description {
    font-size: .98rem !important;
    line-height: 1.58 !important;
  }

  .reglow-kit-card { border-radius: 22px !important; }
  .reglow-kit-media { min-height: 238px !important; padding: 14px !important; }
  .reglow-kit-media--editorial .reglow-kit-editorial-image { max-height: 270px !important; }
  .reglow-kit-content { padding: 26px 18px 28px !important; }
  .reglow-kit-content h3 { font-size: 2.05rem !important; }
  .reglow-kit-items {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    overflow: visible !important;
  }
  .reglow-kit-items article { min-width: 0 !important; }
  .reglow-kit-solution { padding: 15px 13px !important; }

  .pain-intro-grid,
  .protocol-pain-case-grid,
  .reglow-explainer-flow {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .pain-intro-grid article,
  .protocol-pain-case-grid figure,
  .reglow-explainer-flow article {
    border-radius: 20px !important;
  }
  .protocol-pain-cases > header,
  .reglow-explainer-heading,
  .products-heading {
    margin-bottom: 30px !important;
    text-align: left !important;
  }

  .story-grid,
  .knowledge-grid,
  .individualized-editorial-grid,
  .closing-cta-grid,
  .downloads-grid {
    gap: 34px !important;
  }
  .body-copy { margin-top: 20px !important; }
  .result-card { width: 100%; padding-inline: 2px; }
  .result-card .case-viewport { border-radius: 20px !important; }
  .result-card .case-slide { border-radius: 20px !important; }
  .result-card .case-arrow,
  .rat-gallery .rat-arrow {
    width: 46px !important;
    height: 46px !important;
    font-size: 1.85rem !important;
    touch-action: manipulation;
  }
  .result-card .case-arrow-prev { left: -8px !important; }
  .result-card .case-arrow-next { right: -8px !important; }
  .rat-gallery .rat-arrow.case-arrow-prev { left: -8px !important; }
  .rat-gallery .rat-arrow.case-arrow-next { right: -8px !important; }
  .case-dot { width: 12px !important; height: 12px !important; }
  .case-dot.is-active { width: 30px !important; }

  .individualized-video-card { width: min(100%, 300px) !important; }
  .individualized-editorial-grid { gap: 36px !important; }
  .application-option,
  .application-option.is-complementary {
    grid-template-columns: 86px minmax(0, 1fr) !important;
  }
  .application-option img { width: 86px !important; }
  .application-option-copy { padding: 15px 13px !important; }

  .protocol-device-hint { min-height: 52px; padding: 12px 14px !important; }
  .protocol-video-stage { margin-top: 26px !important; }
  .timeline { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .timeline-trigger { min-height: 72px !important; padding: 12px 8px !important; }
  .protocol-upgrade { margin-top: 48px !important; padding: 24px 18px !important; }
  .protocol-upgrade-products {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .upgrade-plus { display: none !important; }
  .upgrade-product { width: 100% !important; }
  .upgrade-product img,
  .upgrade-centrifuge img { height: 190px !important; }
  .upgrade-product-cta { min-height: 48px !important; font-size: .8rem !important; }

  .rat-gallery-frame { border-radius: 22px !important; }
  .rat-gallery-navigation { padding-inline: 2px !important; }

  .testimonial-wrap { overflow: visible !important; }
  .testimonial-track {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-template-columns: none !important;
    grid-auto-columns: min(82vw, 330px) !important;
    gap: 14px !important;
    width: calc(100vw - var(--mobile-gutter)) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 4px var(--mobile-gutter) 20px 0 !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }
  .testimonial-track::-webkit-scrollbar { display: none; }
  .testimonial-card {
    width: 100% !important;
    min-width: 0 !important;
    scroll-snap-align: start;
  }
  .testimonial-arrow-prev,
  .testimonial-arrow-next { display: none !important; }

  .milestone-grid > img { max-height: 330px !important; }
  .milestone-number { font-size: 4.3rem !important; }
  .revenue-simulation { padding: 24px 17px !important; }
  .revenue-heading h3 { font-size: 2.1rem !important; }
  .revenue-heading .revenue-microlyzer { width: min(100%, 290px) !important; }
  .revenue-equation article { padding: 17px !important; }

  .faq-grid { gap: 10px !important; }
  .faq details { border-radius: 18px !important; }
  .faq summary {
    min-height: 68px !important;
    gap: 14px;
    padding: 17px 18px !important;
    font-size: .95rem !important;
    line-height: 1.35 !important;
  }
  .faq details p { padding: 0 18px 18px !important; font-size: .92rem !important; line-height: 1.55 !important; }

  .download-cards { gap: 14px !important; }
  .download-cards a { border-radius: 18px !important; }
  .purchase-banner-content { gap: 22px !important; }

  .social { padding-bottom: 0 !important; }
  .social-grid { min-height: 0 !important; gap: 24px !important; }
  .social-grid > img { width: min(78vw, 280px) !important; margin-bottom: 0 !important; }
  .social a { font-size: 1.35rem !important; }

  .closing-cta-grid { padding-bottom: 38px !important; }
  .closing-cta-copy > p { font-size: 1.08rem !important; line-height: 1.5 !important; }
  .closing-whatsapp {
    width: 100% !important;
    height: auto !important;
    min-height: 56px !important;
    gap: 12px !important;
    padding: 10px 18px !important;
    border-radius: 999px !important;
  }
  .closing-whatsapp .whatsapp-symbol { width: 34px; height: 34px; }
  .closing-whatsapp .whatsapp-label { display: inline !important; }
  .company-info { gap: 18px !important; }

  .button,
  .section-cta-button,
  .product-cta,
  .reglow-kit-cta,
  .rat-cta,
  .upgrade-product-cta,
  .purchase-banner-button,
  .other-solutions-button {
    min-height: 56px !important;
    border-radius: 999px !important;
    font-size: .9rem !important;
    touch-action: manipulation;
  }
  .section-cta { width: 100%; margin-top: 30px !important; }
  .knowledge .rat-cta {
    width: 100% !important;
    min-height: 56px !important;
    border-radius: 999px !important;
  }
  .knowledge .rat-cta .rat-cta-arrow {
    width: 19px;
    height: 19px;
  }

  .floating-whatsapp {
    width: 54px !important;
    height: 54px !important;
    right: 12px !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    border-radius: 50% !important;
  }
  .floating-whatsapp > span { width: 42px !important; height: 42px !important; }
}

@media (max-width: 390px) {
  :root { --mobile-gutter: 15px; }
  .hero h1 { font-size: 2.28rem !important; }
  .gradient-heading,
  .products-heading h2,
  .protocol-pain-heading h2,
  .protocol-pain-cases > header h3,
  .reglow-explainer-heading h2,
  .individualized h2,
  .protocol h2,
  .knowledge h2,
  .experiences h2,
  .milestone h2,
  .faq h2,
  .downloads h2,
  .purchase-banner h2,
  .social h2,
  .closing-cta h2 { font-size: 2rem !important; }
  .application-option,
  .application-option.is-complementary { grid-template-columns: 78px minmax(0, 1fr) !important; }
  .application-option img { width: 78px !important; }
  .application-option-copy { padding: 13px 11px !important; }
  .timeline-trigger > strong { font-size: .72rem !important; }
}

