
@media (max-width: 1040px) {
  .nav-cta { display: none; }

  .hero__grid {
    grid-template-columns: 1fr 430px;
    gap: 36px;
  }

  .service-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .quick-links__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .quick-card:nth-child(2) { border-right: 0; }
  .quick-card:nth-child(-n+2) { border-bottom: 1px solid var(--gray-100); }

  .campaign__grid,
  .vet-grid,
  .contact-grid {
    gap: 44px;
  }
}

@media (max-width: 820px) {
  .section { padding: 74px 0; }

  .topbar__inner {
    min-height: 34px;
    font-size: .76rem;
  }

  .nav {
    min-height: 74px;
    justify-content: space-between;
  }

  .brand { width: 145px; }

  .main-nav {
    position: absolute;
    top: 74px;
    right: 20px;
    left: 20px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 14px;
    border: 1px solid var(--gray-100);
    border-radius: 18px;
    background: var(--white);
    box-shadow: var(--shadow-soft);
  }

  .main-nav.is-open { display: flex; }

  .main-nav a {
    padding: 13px 12px;
    border-radius: 10px;
  }

  .main-nav a:hover { background: var(--off-white); }
  .main-nav a::after { display: none; }

  .nav-toggle { display: flex; }

  .hero {
    padding-top: 52px;
  }

  .hero__grid,
  .campaign__grid,
  .vet-grid,
  .contact-grid,
  .faq-grid {
    grid-template-columns: 1fr;
  }

  .hero__visual {
    width: min(100%, 500px);
    margin: 20px auto 0;
  }

  .section-heading {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .campaign__image {
    width: min(100%, 520px);
    margin-inline: auto;
  }

  .vet-photo-wrap {
    width: min(88%, 470px);
    margin: 0 auto 12px;
  }

  .product-grid,
  .review-grid {
    grid-template-columns: 1fr;
  }

  .product-card,
  .review-card {
    min-height: auto;
  }

  .product-card p,
  .review-card blockquote { min-height: auto; }

  .footer-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px) {
  .container {
    width: min(calc(100% - 28px), var(--container));
  }

  .section { padding: 60px 0; }

  h1 { font-size: clamp(2.55rem, 14vw, 4rem); }
  h2 { font-size: clamp(2rem, 11vw, 3rem); }

  .topbar__inner {
    justify-content: center;
  }

  .topbar__inner > a {
    display: none;
  }

  .hero {
    padding-top: 38px;
  }

  .hero__lead { font-size: 1rem; }

  .hero__actions,
  .button-row {
    align-items: stretch;
    flex-direction: column;
  }

  .btn { width: 100%; }

  .hero__trust {
    gap: 12px;
    justify-content: space-between;
  }

  .hero__trust div {
    min-width: 0;
    flex: 1;
  }

  .floating-card {
    min-width: 160px;
    padding: 11px 12px;
  }

  .floating-card--green {
    left: -6px;
    bottom: 115px;
  }

  .floating-card--white {
    right: -6px;
    bottom: 28px;
  }

  .quick-links {
    margin-top: -12px;
  }

  .quick-links__grid,
  .service-grid {
    grid-template-columns: 1fr;
  }

  .quick-card {
    border-right: 0;
    border-bottom: 1px solid var(--gray-100);
  }

  .quick-card:last-child { border-bottom: 0; }

  .service-card {
    min-height: 250px;
  }

  .service-card__number {
    margin-bottom: 32px;
  }

  .campaign__grid,
  .vet-grid,
  .contact-grid,
  .faq-grid {
    gap: 34px;
  }

  .contact-card {
    padding: 24px 20px;
    border-radius: 24px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
  }

  .footer-bottom {
    flex-direction: column;
  }

  .whatsapp-float {
    right: 14px;
    bottom: 14px;
    width: 54px;
    height: 54px;
  }
}


@media (max-width: 1040px) {
  .hero-photo__badge { right: 10px; }
}

@media (max-width: 820px) {
  .hero__visual {
    max-width: 680px;
  }

  .hero-photo {
    min-height: 0;
  }

  .hero-photo img {
    height: min(78vw, 570px);
    object-position: center 45%;
  }

  .campaign__image img {
    width: min(100%, 650px);
    margin-inline: auto;
  }

  .review-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .brand { width: 150px; }

  .brand img { height: 56px; }

  .hero-photo img {
    height: 112vw;
    max-height: 520px;
    border-radius: 30px 12px 34px 14px;
  }

  .hero-photo__badge {
    right: 10px;
    bottom: 12px;
    left: 10px;
    max-width: none;
    padding: 12px 14px;
  }

  .campaign__image img {
    border-radius: 26px 10px 26px 10px;
  }
}


/* ===== Responsividade V3 ===== */
@media (max-width: 1040px) {
  .brand { width: 195px; }
  .brand img { height: 72px; }
}

@media (max-width: 820px) {
  .nav { min-height: 82px; }
  .brand { width: 172px; }
  .brand img { height: 62px; }

  .vet-grid { grid-template-columns: 1fr; }

  .vet-photo-wrap {
    width: min(100%, 680px);
    max-width: none;
    margin: 0 auto 12px;
  }

  .vet-photo-wrap img {
    aspect-ratio: 16 / 10;
    object-position: center 42%;
  }

  .campaign__image img {
    width: min(100%, 580px);
  }
}

@media (max-width: 560px) {
  .brand { width: 158px; }
  .brand img { height: 58px; }

  .vet-photo-wrap { width: 100%; }

  .vet-photo-wrap img {
    aspect-ratio: 4 / 3;
    object-position: center 42%;
    border-radius: 24px 10px 24px 10px;
  }

  .vet-photo-bg { inset: 14px -8px -10px 12px; }

  .campaign__image img {
    border-radius: 24px 10px 24px 10px;
  }

  .footer-brand { width: 200px; }
}
