/* Behavioural styles; all page design remains in the original, local stylesheets. */
.eael-accordion-header { cursor: pointer; scroll-margin-top: 120px; }
.eael-accordion-content[hidden] { display: none !important; }
.eael-accordion-header.active .fa-toggle { transform: rotate(180deg); }
.ags-carousel-ready { position: relative; }
.elementor-image-carousel-wrapper.ags-carousel-ready { overflow: hidden; }
.ags-carousel-ready .swiper-wrapper, .ags-carousel-ready .testimonials-track { display: flex; flex-wrap: nowrap; width: 100%; will-change: transform; touch-action: pan-y; }
.ags-carousel-ready .swiper-slide { min-width: 0; height: auto; }
.ags-carousel-ready .swiper-slide-inner { margin: 0; }
.ags-carousel-ready.jkit-testimonials .testimonials-list { overflow: hidden; }
.ags-carousel-ready.jkit-testimonials .testimonial-item { min-width: 0; }
.ags-carousel-ready ~ .swiper-pagination button { padding: 0; border: 0; width: 6px; height: 6px; border-radius: 50%; cursor: pointer; }
.ags-carousel-ready .elementor-swiper-button { cursor: pointer; z-index: 2; }
.elementor-arrows-position-outside .ags-carousel-ready .elementor-swiper-button-prev { left: 0; }
.elementor-arrows-position-outside .ags-carousel-ready .elementor-swiper-button-next { right: 0; }
.ags-carousel-ready .tns-nav button { cursor: pointer; }
@media (max-width: 767px) {
  .ags-carousel-ready.jkit-testimonials .tns-nav { display: none !important; }
  .ags-carousel-ready.jkit-testimonials .testimonials-track { align-items: flex-start; }
  .ags-carousel-ready.jkit-testimonials .testimonial-item { height: auto !important; }
  .ags-carousel-ready.jkit-testimonials .testimonials-list { transition: height 220ms ease; overflow-anchor: none; }
  .ags-carousel-ready.jkit-testimonials { touch-action: pan-y pinch-zoom; }
  .ags-carousel-ready.jkit-testimonials:focus-visible { outline: 2px solid #c60d0d; outline-offset: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  .ags-carousel-ready.jkit-testimonials .testimonials-list { transition: none; }
}
.elementor-background-video-container video.elementor-background-video-hosted { position: absolute; width: 100%; height: 100%; max-width: none; top: 0; left: 0; transform: none; object-fit: cover; }
/* Imported entrance markers must never gate reading, even when scripts fail. */
.elementor-invisible { visibility: visible !important; }
.elementor-element.animated { animation: none; }
/* No hidden default state: these effects enhance images without hiding content. */
[data-ags-motion="hero-logo"].ags-motion-active { animation: agsLogoEnter 650ms cubic-bezier(.2,.65,.3,1) both; }
[data-ags-motion="image"].ags-motion-active { animation: agsImageEnter 450ms cubic-bezier(.2,.65,.3,1) both; }
@keyframes agsLogoEnter { from { opacity: 0; scale: .97; } to { opacity: 1; scale: 1; } }
@keyframes agsImageEnter { from { opacity: 0; translate: 0 12px; } to { opacity: 1; translate: 0 0; } }
@media (prefers-reduced-motion: reduce) {
  [data-ags-motion].ags-motion-active { animation: none; }
}
