/* ── KEYFRAMES */

/* Availability dot pulse */
@keyframes pulse-green {

  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(34, 197, 94, .45);
  }

  60% {
    box-shadow: 0 0 0 7px rgba(34, 197, 94, 0);
  }
}

/* Photo badge subtle float */
@keyframes badge-float {

  0%,
  100% {
    transform: translateX(-50%) translateY(0);
  }

  50% {
    transform: translateX(-50%) translateY(-5px);
  }
}

/* Accent square slow drift */
@keyframes accent-drift {

  0%,
  100% {
    transform: translate(0, 0) rotate(0deg);
  }

  33% {
    transform: translate(6px, -8px) rotate(1.5deg);
  }

  66% {
    transform: translate(-4px, 5px) rotate(-.8deg);
  }
}

/* APPLY  */
.avail-dot {
  animation: pulse-green 2.2s ease-in-out infinite;
}

.hero__photo-badge {
  animation: badge-float 4s ease-in-out infinite;
}

.hero__photo-accent {
  animation: accent-drift 7s ease-in-out infinite;
}

/* SCROLL REVEAL */
.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity .6s cubic-bezier(.4, 0, .2, 1),
    transform .6s cubic-bezier(.4, 0, .2, 1);
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Grid stagger */
.sv-grid .reveal:nth-child(2),
.pf-grid .reveal:nth-child(2),
.tk-grid .reveal:nth-child(2) {
  transition-delay: .07s;
}

.sv-grid .reveal:nth-child(3),
.pf-grid .reveal:nth-child(3),
.tk-grid .reveal:nth-child(3) {
  transition-delay: .14s;
}

.sv-grid .reveal:nth-child(4),
.pf-grid .reveal:nth-child(4),
.tk-grid .reveal:nth-child(4) {
  transition-delay: .21s;
}

.sv-grid .reveal:nth-child(5),
.pf-grid .reveal:nth-child(5) {
  transition-delay: .28s;
}

.sv-grid .reveal:nth-child(6) {
  transition-delay: .35s;
}

.sv-grid .reveal:nth-child(7) {
  transition-delay: .08s;
}

.ab-right .reveal:nth-child(2) {
  transition-delay: .09s;
}

.ab-right .reveal:nth-child(3) {
  transition-delay: .18s;
}

.ab-right .reveal:nth-child(4) {
  transition-delay: .27s;
}

.ab-right .reveal:nth-child(5) {
  transition-delay: .36s;
}

/* ── DRAWER ITEM STAGGER ────────────────────────────────── */
@keyframes drawer-slide-in {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}

.nav__drawer.open li {
  animation: drawer-slide-in .35s cubic-bezier(.4,0,.2,1) both;
}
.nav__drawer.open li:nth-child(1) { animation-delay: .05s; }
.nav__drawer.open li:nth-child(2) { animation-delay: .1s; }
.nav__drawer.open li:nth-child(3) { animation-delay: .15s; }
.nav__drawer.open li:nth-child(4) { animation-delay: .2s; }
.nav__drawer.open li:nth-child(5) { animation-delay: .25s; }

/* REDUCED MOTION */
@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }

  .reveal {
    opacity: 1;
    transform: none;
  }

  html {
    scroll-behavior: auto;
  }
}