/* Polimento de 10/10/2026: fotografias fornecidas, alinhamento e feedback discreto. */
.hero-copy { grid-column: 1; grid-row: 1; }
.hero-visual { grid-column: 2; grid-row: 1; min-height: 600px; }
.hero-visual picture { height: 100%; }
.hero-visual picture img { object-position: 50% 38%; }
.about-portrait { position: relative; aspect-ratio: 4/5; border-radius: 24px 128px 24px 24px; overflow: hidden; border: 1px solid var(--line); background: #e8dece; }
.about-portrait > img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; transition: transform 650ms var(--ease); }
.google-proof-monochrome > img { filter: brightness(0); }
.review-invitation-copy > img { flex: 0 0 30px; width: 30px; height: 30px; object-fit: contain; }
.review-stars img { filter: none; width: 18px; height: 18px; }
.review-card:first-child .review-stars img { filter: brightness(1.55) saturate(.65); opacity: 1; }
.footer-bottom { padding-right: 0; align-items: center; }
.footer-credit { margin-left: auto; justify-content: flex-end; text-align: right; }
.clinic-section { background: var(--cream); border-top: 1px solid var(--line); }
.clinic-gallery { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 24px; align-items: stretch; }
.clinic-photo { position: relative; min-width: 0; height: 430px; border-radius: 20px; overflow: hidden; background: #e4e0d5; }
.clinic-photo-main { border-radius: 20px 100px 20px 20px; }
.clinic-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 650ms var(--ease); }
.clinic-photo:first-child img { object-position: 50% 55%; }
.clinic-photo figcaption { position: absolute; left: 16px; right: 16px; bottom: 16px; padding: 12px 16px; background: #f8f5eff2; border: 1px solid #f8f5ef; border-radius: 9px; color: var(--ink); font-size: .75rem; line-height: 1.6; }
.clinic-map-link { margin-top: 28px; }

/* Camada visual passiva: não captura cliques, gestos de rolagem ou foco. */
.interaction-card { position: relative; isolation: isolate; }
.interaction-card::before { content: ''; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none; opacity: 0; background: radial-gradient(ellipse at var(--spot-x,50%) var(--spot-y,50%),#c7a97826,transparent 75%); transition: opacity 350ms; }
.interaction-card.is-touch-active::before,.interaction-card:focus-within::before { opacity: 1; }
.interaction-card.is-touch-active { border-color: #b5aa8f; }
.button { position: relative; overflow: hidden; }
.reveal-enter { animation-delay: var(--reveal-delay,0ms); }
.press-ink { position: absolute; left: var(--ink-x); top: var(--ink-y); width: var(--ink-size); height: var(--ink-size); margin-left: calc(var(--ink-size) / -2); margin-top: calc(var(--ink-size) / -2); border-radius: 50%; background: currentColor; pointer-events: none; animation: press-feedback 680ms var(--ease) both; }
@keyframes press-feedback { from { transform: scale(0); opacity: .2; } to { transform: scale(1); opacity: 0; } }
@media (hover:hover) and (pointer:fine) {
  .interaction-card:hover::before { opacity: 1; }
  .interaction-card:hover { transform: translate3d(var(--react-x,0px),calc(var(--react-y,0px) - 3px),0); }
  .about-portrait:hover img,.clinic-photo:hover img { transform: scale(1.025); }
}
.about-portrait.is-touch-active img,.clinic-photo.is-touch-active img { transform: scale(1.012); }
@media (hover:none) {
  .hero-visual:hover picture img { transform: none; }
  .hero-visual.is-touch-active picture img { transform: scale(1.012); }
}

@media (max-width:1000px) {
  .hero-visual { min-height: 550px; }
  .clinic-gallery { gap: 16px; }
  .clinic-photo { height: 365px; }
}
@media (max-width:767px) {
  .hero-grid { gap: 32px; }
  .hero-visual { grid-column: 1; grid-row: 1; height: auto; min-height: 0; aspect-ratio: 4/5; max-width: 440px; margin: 0; }
  .hero-copy { grid-column: 1; grid-row: 2; }
  .hero-visual picture { height: 100%; border-radius: 80px 20px 20px 20px; }
  .hero-visual picture img { object-position: 50% 38%; }
  .image-note { bottom: 18px; left: 12px; right: 12px; padding: 16px 18px; gap: 12px; }
  .image-note span { font-size: 1.3rem; }
  .about-portrait { aspect-ratio: 4/5; border-radius: 20px 90px 20px 20px; }
  .reviews-section .section-heading { align-items: center; text-align: center; }
  .reviews-section .section-heading h2 { max-width: 440px; margin-inline: auto; text-wrap: balance; }
  .google-proof { text-align: left; }
  .review-invitation { align-items: center; text-align: center; gap: 24px; }
  .review-invitation-copy { flex-direction: column; align-items: center; width: 100%; gap: 16px; }
  .review-invitation h3 { max-width: 360px; margin-inline: auto; text-wrap: balance; }
  .review-invitation p { max-width: 300px; margin-inline: auto; }
  .clinic-gallery { grid-template-columns: 1fr 1fr; gap: 14px; }
  .clinic-photo-main { grid-column: 1/-1; height: 400px; }
  .clinic-photo { height: 250px; }
  .clinic-photo-main { height: 400px; }
  .clinic-photo figcaption { left: 8px; right: 8px; bottom: 8px; padding: 10px; font-size: .65rem; }
  .clinic-map-link { font-size: .75rem; gap: 8px; }
  .footer-bottom { align-items: center; text-align: center; padding-right: 0; }
  .footer-bottom p { width: 100%; }
  .footer-credit { margin-left: 0; justify-content: center; text-align: center; }
}
@media (max-width:360px) {
  .image-note { padding: 12px; gap: 10px; }
  .image-note span { font-size: 1.1rem; }
  .clinic-photo-main { height: 340px; }
  .clinic-photo:not(.clinic-photo-main) { height: 210px; }
}
@media (prefers-reduced-motion:reduce) {
  .interaction-card,.hero-visual picture img,.about-portrait img,.clinic-photo img { transform: none !important; transition: none !important; }
  .press-ink { display: none; }
}
