/* Ajustes de compatibilidade e refinamentos da seção do profissional. */
.header:not(.scrolled) .nav-links > a:not(.button) {
  color: #fff;
  text-shadow: 0 1px 8px rgba(0, 0, 0, .48);
}

.header:not(.scrolled) .menu-toggle { color: #fff; }
.header.scrolled .nav-links > a:not(.button) { color: var(--ink); text-shadow: none; }

.testimonial-viewport { overflow: hidden; }
.testimonial-track { overflow: visible; }
.footer-cnpj { margin-top: 14px; color: #fff !important; font-size: 12px !important; }

/* Evita caracteres decorativos incompatíveis e mantém o fundo orgânico da CTA. */
.cta::before,
.cta::after {
  content: "";
  width: 260px;
  height: 260px;
  border: 1px solid rgba(168, 213, 186, .16);
  border-radius: 72% 28% 72% 28%;
  transform: rotate(24deg);
}
.cta::before { left: -110px; top: -135px; }
.cta::after { right: -110px; bottom: -135px; }

/* Banner mais compacto, mantendo a leitura e os botões acessíveis. */
.hero { min-height: 495px; }
.hero-content { padding-top: 112px; padding-bottom: 34px; }
.hero h1 { font-size: clamp(37px, 4.1vw, 55px); }
.hero-person { margin-top: 24px; }

@media (max-width: 680px) {
  .hero { min-height: 575px; }
  .hero-content { padding-top: 104px; padding-bottom: 32px; }
  .hero-person { display: none; }
}

.check-list li::before {
  content: "\2713";
}

.professional-card {
  grid-template-columns: 220px 1.2fr .8fr;
  gap: 42px;
}

.professional-photo {
  align-self: center;
}

.professional-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: center 35%;
  border-radius: 80px 10px 80px 10px;
}

@media (max-width: 900px) {
  .professional-card { grid-template-columns: 180px 1fr; }
  .professional-card aside { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .professional-card { grid-template-columns: 1fr; }
  .professional-photo { max-width: 250px; }
  .professional-card aside { grid-column: auto; }
}
