:root {
  --motion-instant: 120ms;
  --motion-fast: 180ms;
  --motion-normal: 280ms;
  --motion-slow: 420ms;
  --ease-standard: cubic-bezier(.2, 0, 0, 1);
  --ease-emphasized: cubic-bezier(.2, .8, .2, 1);
  --ease-exit: cubic-bezier(.4, 0, 1, 1);
}

/* A single class restores content if the motion script is blocked or delayed. */
.agaru-motion-ready .agaru-motion-reveal {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
}
.agaru-motion-ready .agaru-motion-reveal.is-visible,
.agaru-motion-fallback .agaru-motion-reveal,
.agaru-motion-reduced .agaru-motion-reveal {
  opacity: 1;
  transform: none;
}
.agaru-motion-ready .agaru-motion-reveal.is-visible {
  transition: opacity var(--motion-slow) var(--ease-standard), transform var(--motion-slow) var(--ease-standard);
  transition-delay: var(--motion-delay, 0ms);
}

.agaru-button,
.agaru-text-link,
.agaru-footer__cta-button,
.agaru-footer__social a,
.agaru-capacity-grid a,
.agaru-card,
.agaru-service,
.agaru-news-card,
.agaru-logo,
.agaru-hero__phone,
#button-contact-vr a,
#button-contact-vr button {
  transition-duration: var(--motion-fast);
  transition-timing-function: var(--ease-standard);
}
.agaru-button:active,
.agaru-footer__cta-button:active,
.agaru-capacity-grid a:active,
.agaru-card:active,
.agaru-service:active,
.agaru-news-card:active { transform: translateY(0) scale(.98); }
.agaru-button:focus-visible,
.agaru-footer__cta-button:focus-visible,
.agaru-card:focus-within,
.agaru-capacity-grid a:focus-visible,
.agaru-news-card:focus-within,
.agaru-service:focus-within { outline: 3px solid #ff5360; outline-offset: 3px; }

.agaru-header {
  transition: background-color var(--motion-normal) var(--ease-standard), box-shadow var(--motion-normal) var(--ease-standard), border-color var(--motion-normal) var(--ease-standard);
}
.agaru-header.agaru-header--scrolled {
  background: rgba(255, 255, 255, .985);
  box-shadow: 0 8px 28px rgba(13, 13, 16, .08);
  border-bottom-color: rgba(13, 13, 16, .18);
}
.agaru-mobile-menu nav {
  opacity: 0;
  transform: translate3d(0, -8px, 0);
  pointer-events: none;
  transition: opacity var(--motion-normal) var(--ease-standard), transform var(--motion-normal) var(--ease-standard);
}
.agaru-mobile-menu[open] nav { opacity: 1; transform: none; pointer-events: auto; }
.agaru-mobile-menu summary { transition: background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard); }
.agaru-mobile-menu summary:active { transform: scale(.98); }

.agaru-capacity-grid a:hover,
.agaru-card:hover,
.agaru-service:hover,
.agaru-news-card:hover { transform: translateY(-4px); }
.agaru-card__image img { transition: transform var(--motion-slow) var(--ease-standard), opacity var(--motion-normal) var(--ease-standard); }
.agaru-card:hover .agaru-card__image img { transform: scale(1.03); }
.agaru-motion-ready .agaru-motion-image:not(.is-loaded) { opacity: .02; }
.agaru-motion-image.is-loaded { opacity: 1; }

.agaru-faq details p {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translate3d(0, -4px, 0);
  transition: max-height var(--motion-normal) var(--ease-standard), opacity var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard), margin var(--motion-normal) var(--ease-standard);
}
.agaru-faq details[open] p {
  max-height: 620px;
  opacity: 1;
  transform: none;
}
.agaru-faq summary b { transition: transform var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard); }

@media (min-width: 901px) {
  .agaru-motion-level3 .agaru-hero__image img.is-loaded {
    animation: agaru-motion-float 6.5s var(--ease-emphasized) infinite;
    will-change: transform;
  }
}
@keyframes agaru-motion-float {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -4px, 0); }
}

html.agaru-motion-disabled *,
html.agaru-motion-disabled *::before,
html.agaru-motion-disabled *::after,
html.agaru-motion-reduced *,
html.agaru-motion-reduced *::before,
html.agaru-motion-reduced *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
html.agaru-motion-disabled .agaru-motion-reveal,
html.agaru-motion-disabled .agaru-motion-image,
html.agaru-motion-reduced .agaru-motion-image { opacity: 1 !important; transform: none !important; }

@media (hover: none), (max-width: 700px) {
  .agaru-capacity-grid a:hover,
  .agaru-card:hover,
  .agaru-service:hover,
  .agaru-news-card:hover { transform: none; }
  .agaru-card:hover .agaru-card__image img { transform: none; }
  .agaru-motion-level3 .agaru-hero__image img.is-loaded { animation: none; }
  .agaru-motion-ready .agaru-motion-reveal { transform: translate3d(0, 10px, 0); }
  .agaru-motion-ready .agaru-motion-reveal.is-visible { transition-delay: 0ms; }
}
