/* Ajustes solicitados após a revisão visual. */
.brand {
  position: static;
  width: 150px;
  height: 76px;
  padding: 0;
  overflow: hidden;
  justify-content: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.brand img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: none;
  border-radius: 0;
}

.hero h1 {
  font-size: 49px;
}

.hero-actions {
  width: min(100%, 640px);
  justify-content: center;
}

.hero-actions .hero-schedule-btn {
  width: min(300px, 100%);
  min-height: 40px;
  height: 40px;
  padding-block: 8px;
}

.hero-visual > img {
  object-position: 82% center;
}

.clinic-photo img {
  object-position: center;
  transform: none;
}

.intro {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 13% 22%, rgba(214, 182, 107, 0.11), transparent 31%),
    radial-gradient(circle at 88% 76%, rgba(184, 138, 53, 0.07), transparent 29%),
    linear-gradient(135deg, rgba(247, 243, 236, 0.48), rgba(255, 255, 255, 0.92) 48%, rgba(247, 243, 236, 0.36));
}

.intro::before,
.intro::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 580px;
  height: 210px;
  border: 1px solid rgba(184, 138, 53, 0.10);
  border-radius: 50%;
  pointer-events: none;
}

.intro::before { top: 34px; left: -245px; transform: rotate(-10deg); }
.intro::after { right: -260px; bottom: 22px; transform: rotate(12deg); }

.about {
  padding-top: 145px;
}

.about-logo {
  position: absolute;
  top: -70px;
  left: 50%;
  z-index: 3;
  width: 140px;
  height: 140px;
  padding: 10px;
  transform: translateX(-50%);
  overflow: hidden;
  border: 4px solid #fff;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 18px 45px rgba(31, 31, 31, 0.18);
}

.about-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 50%;
}

.faq {
  display: grid;
  gap: 14px;
}

.faq-section .narrow {
  max-width: 760px;
}

.treatment-card {
  align-items: center;
  text-align: center;
}

.treatment-card .text-link {
  align-self: center;
}

.faq-item {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--off);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.faq-item:hover,
.faq-item.open {
  border-color: var(--champagne);
  box-shadow: 0 10px 30px rgba(31, 31, 31, 0.06);
}

.faq-question {
  padding: 22px 24px;
}

.faq-answer p {
  padding: 0 58px 23px 24px;
}

.map-section {
  display: grid;
  grid-template-columns: 1.4fr 0.6fr;
  min-height: 410px;
  margin-bottom: 100px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--off);
  box-shadow: var(--shadow);
}

.map-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 410px;
  border: 0;
}

.map-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 42px 34px;
}

.map-info h2 {
  margin: 8px 0 14px;
  font-family: var(--serif);
  font-size: 32px;
}

.map-info p {
  color: var(--text);
}

.map-info p i {
  margin-right: 7px;
  color: var(--gold);
}

.map-actions {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.form-honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.contact-form small {
  color: var(--text);
  font-size: 11px;
  font-weight: 400;
}

.trust-grid span {
  border-radius: 10px;
  transition: transform 0.35s ease, background-color 0.35s ease, box-shadow 0.35s ease;
}

.trust-grid span:hover {
  position: relative;
  z-index: 2;
  transform: scale(1.055);
  background: #fff;
  box-shadow: 0 10px 28px rgba(31, 31, 31, 0.09);
}

.carousel {
  max-width: 980px;
}

.testimonial {
  min-width: 50%;
  padding-inline: 9px;
}

.testimonials-section { padding-block: 78px; }
.testimonials-section .section-head { margin-bottom: 30px; }
.testimonial-inner { min-height: 265px; padding: 30px 32px; display: flex; flex-direction: column; justify-content: center; }
.testimonial .quote { max-width: 480px; margin: 14px auto 16px; font-size: 20px; line-height: 1.42; }
.testimonial .avatar { width: 42px; height: 42px; }
.carousel-controls { margin-top: 18px; gap: 12px; }
.carousel-controls button { width: 38px; height: 38px; }
.disclaimer { margin-top: 18px; }

.footer-logo {
  width: 190px;
  height: 150px;
  object-fit: contain;
  filter: none;
  opacity: 1;
  padding: 8px;
  border-radius: 12px;
  background: #fff;
}

@media (max-width: 820px) {
  .brand {
    position: absolute;
    left: 50%;
    width: 170px;
    height: 74px;
    transform: translateX(-50%);
  }

  .testimonial {
    min-width: 100%;
  }

  .testimonial-inner { min-height: 245px; }

  .map-section {
    grid-template-columns: 1fr;
  }

  .map-frame iframe {
    min-height: 340px;
  }
}

@media (max-width: 560px) {
  .brand {
    width: 165px;
    height: 70px;
  }

  .hero h1 {
    font-size: 39px;
  }

  .testimonials-section { padding-block: 62px; }
  .testimonial-inner { min-height: 0; padding: 25px 20px; }
  .testimonial .quote { font-size: 18px; }

  .hero {
    position: relative;
    isolation: isolate;
    min-height: 660px;
    overflow: hidden;
  }

  .hero-grid {
    position: relative;
    display: block;
  }

  .hero-copy {
    position: relative;
    z-index: 2;
    padding-block: 30px;
  }

  .hero-visual {
    position: absolute;
    z-index: 0;
    inset: 0 -14px;
    opacity: 0.07;
    pointer-events: none;
  }

  .hero-visual > img {
    width: 100%;
    height: 100%;
    min-height: 630px;
    object-position: 78% center;
    border-radius: 0;
    box-shadow: none;
  }

  .hero-visual::before,
  .hero-visual .smile-line {
    display: none;
  }

  .footer-grid > div {
    align-items: center;
    text-align: center;
  }

  .footer-logo {
    margin-inline: auto;
  }

  .footer-bottom,
  .footer-bottom span,
  .footer-bottom small {
    justify-content: center;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .trust-grid span {
    transition: none;
  }

  .trust-grid span:hover {
    transform: none;
  }
}
