/* Local runtime additions. The imported styles own the site's visual identity. */
:root { --local-focus: #165b69; }
.local-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.local-skip { position: fixed; top: -100px; left: 12px; z-index: 10000; padding: 12px 20px; background: white; color: #165b69; }
.local-skip:focus { top: 12px; }
:focus-visible { outline: 3px solid var(--local-focus); outline-offset: 5px; }
*::selection { background: #4b99a6 !important; color: white !important; }
.local-whatsapp { position: fixed; right: 15px; bottom: 15px; padding: 12px; border-radius: 50%; background: #4b99a6; z-index: 999; display: block; }
.local-whatsapp:hover { background: #2492a5; }
.local-whatsapp svg { display: block; width: 20px; height: 20px; }
.local-whatsapp path { fill: white; }
#ht-ctc-chat, #ays_tooltip { display: none !important; }
.elementor-flip-box { cursor: pointer; }
.elementor-flip-box.is-open .elementor-flip-box__front,
.elementor-flip-box:focus-visible .elementor-flip-box__front { transform: rotateY(180deg) !important; }
.elementor-flip-box.is-open .elementor-flip-box__back,
.elementor-flip-box:focus-visible .elementor-flip-box__back { transform: rotateY(0deg) !important; }
.elementor-flip-box__back .elementor-flip-box__layer__overlay { overflow-y: auto; }
.elementor-image-carousel-wrapper:not(.swiper-initialized) .swiper-wrapper { overflow-x: auto; scroll-snap-type: x mandatory; }
.elementor-image-carousel-wrapper:not(.swiper-initialized) .swiper-slide { flex: 0 0 33.333%; scroll-snap-align: start; }
@media (max-width: 767px) {
  .elementor-image-carousel-wrapper:not(.swiper-initialized) .swiper-slide { flex-basis: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}
@media (prefers-reduced-motion: no-preference) and (min-width: 768px) {
  img[src*="Dra-Lilian-Oliveira-Coresv-h"] { animation: local-logo-entrance 1s ease-out both; }
  @keyframes local-logo-entrance { from { transform: translateX(-28px); } to { transform: translateX(0); } }
}

@media (prefers-reduced-motion: no-preference) and (min-width: 768px) {
  .elementor-element-8cf7d43.local-zoom-pending { opacity: 0; }
  .elementor-element-8cf7d43.local-zoom-in { animation: local-mark-zoom 2s ease both; }
  @keyframes local-mark-zoom { from { opacity: 0; transform: scale(.3); } to { opacity: 1; transform: scale(1); } }
}

/* Keep the hero background stable as its image loads. */
.elementor-232 .elementor-element.elementor-element-a1f4698 > .elementor-background-overlay { transition: none; }
