/* ==========================================================================
   BR Services LLC — animations.css
   Restrained: one scroll reveal, one counter, hover micro-interactions.
   ========================================================================== */

/* Scoped to .js so content is never hidden when JavaScript fails to run. */
.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,.61,.36,1)}
.js .reveal.is-in{opacity:1;transform:none}
.reveal-d1{transition-delay:.07s}
.reveal-d2{transition-delay:.14s}
.reveal-d3{transition-delay:.21s}
.reveal-d4{transition-delay:.28s}
.reveal-d5{transition-delay:.35s}

/* hero entrance sequence */
.hero__in>*{animation:rise .7s cubic-bezier(.22,.61,.36,1) both}
.hero__in>*:nth-child(2){animation-delay:.12s}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

.hero__float{animation:float-in .6s cubic-bezier(.22,.61,.36,1) both}
.hero__float--a{animation-delay:.36s}
.hero__float--b{animation-delay:.46s}
.hero__float--c{animation-delay:.56s}
@keyframes float-in{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}

/* nav underline */
.nav__list a{position:relative}
.nav__list a::after{
  content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;background:var(--primary);
  transform:scaleX(0);transform-origin:left;transition:transform .22s
}
.nav__list a:hover::after,.nav__list a[aria-current="page"]::after{transform:scaleX(1)}

/* mobile menu panel */
.nav.is-open{animation:drop .22s ease both}
@keyframes drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* accordion panel */
.acc__panel.is-open{animation:fade .24s ease both}
@keyframes fade{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* lightbox */
.lightbox.is-open{animation:fade .2s ease both}

@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none}
  *,*::before,*::after{
    animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important;scroll-behavior:auto !important
  }
  .reveal{opacity:1;transform:none}
  .carousel__track{scroll-behavior:auto}
}
