/* =========================================================
   DAISY'S DOG HOUSE
   PREMIUM MOTION SYSTEM
   SECTION 1 — FOUNDATION
========================================================= */

:root {
  --motion-ease-standard:
    cubic-bezier(0.16, 1, 0.3, 1);

  --motion-ease-soft:
    cubic-bezier(0.22, 1, 0.36, 1);

  --motion-duration-fast:
    320ms;

  --motion-duration-medium:
    720ms;

  --motion-duration-slow:
    900ms;

  --motion-distance-small:
    18px;

  --motion-distance-medium:
    28px;

  --motion-scale-soft:
    0.985;

  --motion-scale-pop:
    0.92;
}

/* =========================================================
   BASE REVEAL
========================================================= */

.reveal-on-scroll,
.reveal-repeat {
  opacity: 0;
  transform:
    translate3d(
      0,
      var(--motion-distance-medium),
      0
    )
    scale(var(--motion-scale-soft));

  transition:
    opacity
    var(--motion-duration-medium)
    ease,
    transform
    var(--motion-duration-slow)
    var(--motion-ease-standard);

  backface-visibility: hidden;
  transform-origin: center;
  will-change: opacity, transform;
}

.reveal-on-scroll.is-visible,
.reveal-repeat.is-visible {
  opacity: 1;
  transform:
    translate3d(0, 0, 0)
    scale(1);
}

/* =========================================================
   DIRECTIONAL REVEALS
========================================================= */

.reveal-from-left,
.reveal-from-right {
  opacity: 0;

  transition:
    opacity
    var(--motion-duration-medium)
    ease,
    transform
    var(--motion-duration-slow)
    var(--motion-ease-standard);

  backface-visibility: hidden;
  will-change: opacity, transform;
}

.reveal-from-left {
  transform:
    translate3d(
      calc(var(--motion-distance-medium) * -1),
      0,
      0
    )
    scale(var(--motion-scale-soft));
}

.reveal-from-right {
  transform:
    translate3d(
      var(--motion-distance-medium),
      0,
      0
    )
    scale(var(--motion-scale-soft));
}

.reveal-from-left.is-visible,
.reveal-from-right.is-visible {
  opacity: 1;
  transform:
    translate3d(0, 0, 0)
    scale(1);
}

/* =========================================================
   ICON AND DETAIL POP
========================================================= */

.reveal-pop {
  opacity: 0;
  transform:
    scale(var(--motion-scale-pop))
    rotate(-4deg);

  transition:
    opacity
    560ms
    ease,
    transform
    760ms
    var(--motion-ease-standard);

  backface-visibility: hidden;
  transform-origin: center;
  will-change: opacity, transform;
}

.reveal-pop.is-visible {
  opacity: 1;
  transform:
    scale(1)
    rotate(0deg);
}

/* =========================================================
   HEADING REVEAL
========================================================= */

.motion-heading,
.ddh-section-heading.reveal-repeat,
.boarding-section-heading.reveal-repeat,
.grooming-section-heading.reveal-repeat,
.team-section-heading.reveal-repeat,
.contact-bone__heading.reveal-repeat,
.contact-arrival__heading.reveal-repeat,
.purpose-gallery__header.reveal-repeat {
  opacity: 0;
  transform:
    translate3d(
      0,
      var(--motion-distance-small),
      0
    );

  transition:
    opacity
    760ms
    ease,
    transform
    880ms
    var(--motion-ease-standard);

  will-change: opacity, transform;
}

.motion-heading.is-visible,
.ddh-section-heading.reveal-repeat.is-visible,
.boarding-section-heading.reveal-repeat.is-visible,
.grooming-section-heading.reveal-repeat.is-visible,
.team-section-heading.reveal-repeat.is-visible,
.contact-bone__heading.reveal-repeat.is-visible,
.contact-arrival__heading.reveal-repeat.is-visible,
.purpose-gallery__header.reveal-repeat.is-visible {
  opacity: 1;
  transform:
    translate3d(0, 0, 0);
}

/* =========================================================
   STAGGER TIMING
========================================================= */

.reveal-delay-1 {
  transition-delay: 80ms;
}

.reveal-delay-2 {
  transition-delay: 160ms;
}

.reveal-delay-3 {
  transition-delay: 240ms;
}

.reveal-delay-4 {
  transition-delay: 320ms;
}

.reveal-delay-5 {
  transition-delay: 400ms;
}

.reveal-delay-6 {
  transition-delay: 480ms;
}

/* Reset delays while replaying elements leave the viewport. */

.reveal-repeat:not(.is-visible) {
  transition-delay: 0ms !important;
}

/* =========================================================
   SHARED INTERACTION FOUNDATION
========================================================= */

.motion-card,
.motion-image,
.motion-icon,
.button {
  backface-visibility: hidden;
  transform-origin: center;
}

.motion-card {
  transition:
    transform
    480ms
    var(--motion-ease-standard),
    box-shadow
    480ms
    ease,
    border-color
    420ms
    ease,
    background-color
    420ms
    ease;
}

.motion-image {
  transition:
    transform
    1.2s
    var(--motion-ease-soft),
    filter
    900ms
    ease;
}

.motion-icon {
  transition:
    transform
    520ms
    var(--motion-ease-standard),
    color
    420ms
    ease,
    background-color
    420ms
    ease,
    opacity
    420ms
    ease;
}

/* =========================================================
   MOBILE FOUNDATION
========================================================= */

@media (max-width: 700px) {
  :root {
    --motion-distance-small:
      14px;

    --motion-distance-medium:
      22px;
  }

  .reveal-on-scroll,
  .reveal-repeat {
    transform:
      translate3d(
        0,
        var(--motion-distance-medium),
        0
      )
      scale(0.99);

    transition:
      opacity
      680ms
      ease,
      transform
      800ms
      var(--motion-ease-standard);
  }

  .reveal-from-left {
    transform:
      translate3d(-18px, 0, 0)
      scale(0.99);
  }

  .reveal-from-right {
    transform:
      translate3d(18px, 0, 0)
      scale(0.99);
  }

  .motion-heading,
  .ddh-section-heading.reveal-repeat,
  .boarding-section-heading.reveal-repeat,
  .grooming-section-heading.reveal-repeat,
  .team-section-heading.reveal-repeat,
  .contact-bone__heading.reveal-repeat,
  .contact-arrival__heading.reveal-repeat,
  .purpose-gallery__header.reveal-repeat {
    transform:
      translate3d(0, 16px, 0);
  }
}

/* =========================================================
   DAISY'S DOG HOUSE
   PREMIUM MOTION SYSTEM
   SECTION 2 — SHARED COMPONENTS
========================================================= */

/* =========================================================
   CARD REVEALS
========================================================= */

.ddh-service.reveal-repeat,
.ddh-difference__card.reveal-repeat,
.service-image-card.reveal-repeat,
.grooming-card.reveal-repeat,
.grooming-photo-card.reveal-repeat,
.grooming-upgrade-card.reveal-repeat,
.contact-option.reveal-repeat,
.contact-arrival__item.reveal-repeat,
.purpose-gallery__item.reveal-repeat,
.team-card.reveal-repeat {
  opacity: 0;
  transform:
    translate3d(0, 28px, 0)
    scale(0.98);

  transition:
    opacity
    720ms
    ease,
    transform
    860ms
    var(--motion-ease-standard),
    box-shadow
    480ms
    ease,
    border-color
    420ms
    ease,
    background-color
    420ms
    ease;

  backface-visibility: hidden;
  transform-origin: center;
  will-change: opacity, transform;
}

.ddh-service.reveal-repeat.is-visible,
.ddh-difference__card.reveal-repeat.is-visible,
.service-image-card.reveal-repeat.is-visible,
.grooming-card.reveal-repeat.is-visible,
.grooming-photo-card.reveal-repeat.is-visible,
.grooming-upgrade-card.reveal-repeat.is-visible,
.contact-option.reveal-repeat.is-visible,
.contact-arrival__item.reveal-repeat.is-visible,
.purpose-gallery__item.reveal-repeat.is-visible,
.team-card.reveal-repeat.is-visible {
  opacity: 1;
  transform:
    translate3d(0, 0, 0)
    scale(1);
}

/* =========================================================
   CARD HOVER LIFT
========================================================= */

.ddh-service:hover,
.ddh-difference__card:hover,
.service-image-card:hover,
.grooming-card:hover,
.grooming-photo-card:hover,
.grooming-upgrade-card:hover,
.contact-option:hover,
.contact-arrival__item:hover,
.purpose-gallery__item:hover,
.team-card:hover {
  transform: translate3d(0, -6px, 0);
}

/* =========================================================
   IMAGE SETTLE
========================================================= */

.motion-image-reveal,
.ddh-story__visual .ddh-story__photo,
.ddh-nita__visual .ddh-nita__photo,
.service-image-card img,
.grooming-photo-card img,
.purpose-gallery__item img {
  transform:
    translate3d(0, 10px, 0)
    scale(1.04);

  filter:
    brightness(0.97)
    saturate(0.95);

  transition:
    transform
    1.25s
    var(--motion-ease-soft),
    filter
    1s
    ease;

  backface-visibility: hidden;
  will-change: transform, filter;
}

.motion-image-reveal.is-visible,
.ddh-story__visual.is-visible .ddh-story__photo,
.ddh-nita__visual.is-visible .ddh-nita__photo,
.service-image-card.is-visible img,
.grooming-photo-card.is-visible img,
.purpose-gallery__item.is-visible img {
  transform:
    translate3d(0, 0, 0)
    scale(1);

  filter:
    brightness(1)
    saturate(1);
}

/* =========================================================
   SLOW FEATURE IMAGE DRIFT
========================================================= */

.motion-image-drift.is-visible img,
.ddh-service.is-visible > img,
.service-image-card.is-visible img {
  animation:
    ddhImageDrift
    16s
    ease-in-out
    infinite
    alternate;
}

@keyframes ddhImageDrift {
  from {
    transform:
      translate3d(0, 0, 0)
      scale(1);
  }

  to {
    transform:
      translate3d(0, -4px, 0)
      scale(1.025);
  }
}

/* =========================================================
   ICON REVEALS
========================================================= */

.ddh-paw-divider img,
.gold-paw-divider strong,
.contact-arrival__item svg,
.motion-icon-reveal {
  backface-visibility: hidden;
  transform-origin: center;

  transition:
    transform
    620ms
    var(--motion-ease-standard),
    opacity
    520ms
    ease,
    color
    420ms
    ease;
}

.reveal-pop.is-visible img,
.reveal-pop.is-visible svg,
.reveal-pop.is-visible strong,
.motion-icon-reveal.is-visible {
  animation:
    ddhIconPop
    720ms
    var(--motion-ease-standard)
    both;
}

@keyframes ddhIconPop {
  0% {
    opacity: 0;
    transform:
      scale(0.82)
      rotate(-4deg);
  }

  70% {
    opacity: 1;
    transform:
      scale(1.04)
      rotate(1deg);
  }

  100% {
    opacity: 1;
    transform:
      scale(1)
      rotate(0deg);
  }
}

/* =========================================================
   BUTTON MOTION
========================================================= */

.button {
  transition:
    transform
    320ms
    var(--motion-ease-standard),
    box-shadow
    320ms
    ease,
    background-color
    320ms
    ease,
    border-color
    320ms
    ease,
    color
    320ms
    ease;

  backface-visibility: hidden;
  transform-origin: center;
}

.button:hover {
  transform: translate3d(0, -3px, 0);
}

.button:active {
  transform:
    translate3d(0, 0, 0)
    scale(0.985);
}

/* =========================================================
   STAGGER GROUPS
========================================================= */

.motion-stagger > :nth-child(1),
.ddh-services-grid > :nth-child(1),
.grooming-card-grid > :nth-child(1),
.contact-options > :nth-child(1),
.team-grid > :nth-child(1) {
  transition-delay: 0ms;
}

.motion-stagger > :nth-child(2),
.ddh-services-grid > :nth-child(2),
.grooming-card-grid > :nth-child(2),
.contact-options > :nth-child(2),
.team-grid > :nth-child(2) {
  transition-delay: 90ms;
}

.motion-stagger > :nth-child(3),
.ddh-services-grid > :nth-child(3),
.grooming-card-grid > :nth-child(3),
.contact-options > :nth-child(3),
.team-grid > :nth-child(3) {
  transition-delay: 180ms;
}

.motion-stagger > :nth-child(4),
.ddh-services-grid > :nth-child(4),
.grooming-card-grid > :nth-child(4),
.contact-options > :nth-child(4),
.team-grid > :nth-child(4) {
  transition-delay: 270ms;
}

.motion-stagger > :nth-child(5),
.ddh-services-grid > :nth-child(5),
.grooming-card-grid > :nth-child(5),
.contact-options > :nth-child(5),
.team-grid > :nth-child(5) {
  transition-delay: 360ms;
}

.motion-stagger > :nth-child(6),
.ddh-services-grid > :nth-child(6),
.grooming-card-grid > :nth-child(6),
.contact-options > :nth-child(6),
.team-grid > :nth-child(6) {
  transition-delay: 450ms;
}

/* =========================================================
   MOBILE COMPONENT MOTION
========================================================= */

@media (max-width: 700px) {
  .ddh-service.reveal-repeat,
  .ddh-difference__card.reveal-repeat,
  .service-image-card.reveal-repeat,
  .grooming-card.reveal-repeat,
  .grooming-photo-card.reveal-repeat,
  .grooming-upgrade-card.reveal-repeat,
  .contact-option.reveal-repeat,
  .contact-arrival__item.reveal-repeat,
  .purpose-gallery__item.reveal-repeat,
  .team-card.reveal-repeat {
    transform:
      translate3d(0, 22px, 0)
      scale(0.99);

    transition:
      opacity
      680ms
      ease,
      transform
      780ms
      var(--motion-ease-standard),
      box-shadow
      420ms
      ease,
      border-color
      380ms
      ease,
      background-color
      380ms
      ease;
  }

  .ddh-service.reveal-repeat.is-visible,
  .ddh-difference__card.reveal-repeat.is-visible,
  .service-image-card.reveal-repeat.is-visible,
  .grooming-card.reveal-repeat.is-visible,
  .grooming-photo-card.reveal-repeat.is-visible,
  .grooming-upgrade-card.reveal-repeat.is-visible,
  .contact-option.reveal-repeat.is-visible,
  .contact-arrival__item.reveal-repeat.is-visible,
  .purpose-gallery__item.reveal-repeat.is-visible,
  .team-card.reveal-repeat.is-visible {
    transform:
      translate3d(0, 0, 0)
      scale(1);
  }

  .motion-image-reveal,
  .ddh-story__visual .ddh-story__photo,
  .ddh-nita__visual .ddh-nita__photo,
  .service-image-card img,
  .grooming-photo-card img,
  .purpose-gallery__item img {
    transform:
      translate3d(0, 8px, 0)
      scale(1.03);
  }

  .motion-image-drift.is-visible img,
  .ddh-service.is-visible > img,
  .service-image-card.is-visible img {
    animation-duration: 18s;
  }

  .ddh-service:hover,
  .ddh-difference__card:hover,
  .service-image-card:hover,
  .grooming-card:hover,
  .grooming-photo-card:hover,
  .grooming-upgrade-card:hover,
  .contact-option:hover,
  .contact-arrival__item:hover,
  .purpose-gallery__item:hover,
  .team-card:hover {
    transform: none;
  }
}

/* =========================================================
   DAISY'S DOG HOUSE
   PREMIUM MOTION SYSTEM
   SECTION 3 — HOME PAGE
========================================================= */

/* =========================================================
   HOME HERO ENTRANCE
========================================================= */

@keyframes ddhHomeHeroImageSettle {
  from {
    transform:
      translate3d(0, 8px, 0)
      scale(1.035);

    filter:
      brightness(0.95)
      saturate(0.96);
  }

  to {
    transform:
      translate3d(0, 0, 0)
      scale(1);

    filter:
      brightness(1)
      saturate(1);
  }
}

@keyframes ddhHomeHeroTextRise {
  from {
    opacity: 0;
    transform:
      translate3d(0, 18px, 0);
  }

  to {
    opacity: 1;
    transform:
      translate3d(0, 0, 0);
  }
}

@keyframes ddhHomeHeroButtonRise {
  from {
    opacity: 0;
    transform:
      translate3d(0, 14px, 0)
      scale(0.985);
  }

  to {
    opacity: 1;
    transform:
      translate3d(0, 0, 0)
      scale(1);
  }
}

.ddh-home .ddh-home-hero::before {
  animation:
    ddhHomeHeroImageSettle
    1.65s
    var(--motion-ease-soft)
    both;
}

.ddh-home .ddh-home-hero .ddh-kicker {
  opacity: 0;

  animation:
    ddhHomeHeroTextRise
    680ms
    var(--motion-ease-standard)
    180ms
    forwards;
}

.ddh-home .ddh-home-hero__title {
  opacity: 0;

  animation:
    ddhHomeHeroTextRise
    840ms
    var(--motion-ease-standard)
    300ms
    forwards;
}

.ddh-home .ddh-home-hero__details {
  opacity: 0;

  animation:
    ddhHomeHeroTextRise
    780ms
    var(--motion-ease-standard)
    480ms
    forwards;
}

.ddh-home .ddh-home-hero__actions {
  opacity: 0;

  animation:
    ddhHomeHeroButtonRise
    760ms
    var(--motion-ease-standard)
    640ms
    forwards;
}

/* =========================================================
   HOME SECTION HEADINGS
========================================================= */

.ddh-home
.ddh-section-heading.reveal-on-scroll,
.ddh-home
.ddh-section-heading.reveal-repeat,
.ddh-home
.ddh-promise__heading.reveal-on-scroll,
.ddh-home
.ddh-promise__heading.reveal-repeat,
.ddh-home
.ddh-experiences__heading.reveal-on-scroll,
.ddh-home
.ddh-experiences__heading.reveal-repeat,
.ddh-home
.ddh-welcome__heading.reveal-on-scroll,
.ddh-home
.ddh-welcome__heading.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 20px, 0);

  transition:
    opacity
    760ms
    ease,
    transform
    900ms
    var(--motion-ease-standard);
}

.ddh-home
.ddh-section-heading.is-visible,
.ddh-home
.ddh-promise__heading.is-visible,
.ddh-home
.ddh-experiences__heading.is-visible,
.ddh-home
.ddh-welcome__heading.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0);
}

/* =========================================================
   PROMISE SECTION
========================================================= */

.ddh-home
.ddh-promise__content.reveal-on-scroll,
.ddh-home
.ddh-promise__content.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(-20px, 18px, 0);

  transition:
    opacity
    760ms
    ease,
    transform
    920ms
    var(--motion-ease-standard);
}

.ddh-home
.ddh-promise__visual.reveal-on-scroll,
.ddh-home
.ddh-promise__visual.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(20px, 18px, 0)
    scale(0.985);

  transition:
    opacity
    760ms
    ease,
    transform
    980ms
    var(--motion-ease-standard);
}

.ddh-home
.ddh-promise__content.is-visible,
.ddh-home
.ddh-promise__visual.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}

.ddh-home
.ddh-promise__visual img {
  transform:
    scale(1.035);

  transition:
    transform
    1.35s
    var(--motion-ease-soft),
    filter
    1s
    ease;

  filter:
    brightness(0.97)
    saturate(0.96);
}

.ddh-home
.ddh-promise__visual.is-visible img {
  transform:
    scale(1);

  filter:
    brightness(1)
    saturate(1);
}

/* =========================================================
   SIGNATURE EXPERIENCE CARDS
========================================================= */

.ddh-home
.ddh-service.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 28px, 0)
    scale(0.98);

  transition:
    opacity
    720ms
    ease,
    transform
    860ms
    var(--motion-ease-standard),
    box-shadow
    460ms
    ease,
    border-color
    420ms
    ease;
}

.ddh-home
.ddh-service.reveal-repeat.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}

.ddh-home
.ddh-service:nth-child(2) {
  transition-delay: 100ms;
}

.ddh-home
.ddh-service:nth-child(3) {
  transition-delay: 200ms;
}

.ddh-home
.ddh-service__icon,
.ddh-home
.ddh-service__content svg {
  transform-origin: center;

  transition:
    transform
    520ms
    var(--motion-ease-standard),
    color
    420ms
    ease,
    background-color
    420ms
    ease;
}

.ddh-home
.ddh-service.is-visible
.ddh-service__icon,
.ddh-home
.ddh-service.is-visible
.ddh-service__content svg {
  animation:
    ddhIconPop
    720ms
    var(--motion-ease-standard)
    both;
}

.ddh-home
.ddh-service:nth-child(2)
.ddh-service__icon,
.ddh-home
.ddh-service:nth-child(2)
.ddh-service__content svg {
  animation-delay: 120ms;
}

.ddh-home
.ddh-service:nth-child(3)
.ddh-service__icon,
.ddh-home
.ddh-service:nth-child(3)
.ddh-service__content svg {
  animation-delay: 220ms;
}

/* =========================================================
   HOME STORY SECTIONS
========================================================= */

.ddh-home
.ddh-story__content.reveal-on-scroll,
.ddh-home
.ddh-story__content.reveal-repeat,
.ddh-home
.ddh-nita__content.reveal-on-scroll,
.ddh-home
.ddh-nita__content.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 24px, 0);

  transition:
    opacity
    760ms
    ease,
    transform
    920ms
    var(--motion-ease-standard);
}

.ddh-home
.ddh-story__visual.reveal-on-scroll,
.ddh-home
.ddh-story__visual.reveal-repeat,
.ddh-home
.ddh-nita__visual.reveal-on-scroll,
.ddh-home
.ddh-nita__visual.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 20px, 0)
    scale(0.985);

  transition:
    opacity
    760ms
    ease,
    transform
    980ms
    var(--motion-ease-standard);
}

.ddh-home
.ddh-story__content.is-visible,
.ddh-home
.ddh-story__visual.is-visible,
.ddh-home
.ddh-nita__content.is-visible,
.ddh-home
.ddh-nita__visual.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}

/* =========================================================
   DIFFERENCE / VALUE CARDS
========================================================= */

.ddh-home
.ddh-difference__card.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 26px, 0)
    scale(0.982);

  transition:
    opacity
    700ms
    ease,
    transform
    840ms
    var(--motion-ease-standard),
    box-shadow
    460ms
    ease,
    border-color
    420ms
    ease;
}

.ddh-home
.ddh-difference__card.reveal-repeat.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}

.ddh-home
.ddh-difference__card:nth-child(2) {
  transition-delay: 90ms;
}

.ddh-home
.ddh-difference__card:nth-child(3) {
  transition-delay: 180ms;
}

.ddh-home
.ddh-difference__card:nth-child(4) {
  transition-delay: 270ms;
}

.ddh-home
.ddh-difference__card svg,
.ddh-home
.ddh-difference__card img {
  transform-origin: center;

  transition:
    transform
    520ms
    var(--motion-ease-standard),
    opacity
    420ms
    ease;
}

.ddh-home
.ddh-difference__card.is-visible svg,
.ddh-home
.ddh-difference__card.is-visible img {
  animation:
    ddhIconPop
    720ms
    var(--motion-ease-standard)
    both;
}

/* =========================================================
   FINAL HOME CTA
========================================================= */

.ddh-home
.ddh-welcome__content.reveal-on-scroll,
.ddh-home
.ddh-welcome__content.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 24px, 0);

  transition:
    opacity
    760ms
    ease,
    transform
    900ms
    var(--motion-ease-standard);
}

.ddh-home
.ddh-welcome__content.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0);
}

.ddh-home
.ddh-welcome__content .button {
  transition-delay: 80ms;
}

/* =========================================================
   HOME MOBILE MOTION
========================================================= */

@media (max-width: 700px) {
  .ddh-home .ddh-home-hero::before {
    animation-duration: 1.45s;
  }

  .ddh-home .ddh-home-hero .ddh-kicker {
    animation-delay: 140ms;
  }

  .ddh-home .ddh-home-hero__title {
    animation-delay: 240ms;
  }

  .ddh-home .ddh-home-hero__details {
    animation-delay: 390ms;
  }

  .ddh-home .ddh-home-hero__actions {
    animation-delay: 520ms;
  }

  .ddh-home
  .ddh-promise__content.reveal-on-scroll,
  .ddh-home
  .ddh-promise__content.reveal-repeat,
  .ddh-home
  .ddh-promise__visual.reveal-on-scroll,
  .ddh-home
  .ddh-promise__visual.reveal-repeat,
  .ddh-home
  .ddh-story__content.reveal-on-scroll,
  .ddh-home
  .ddh-story__content.reveal-repeat,
  .ddh-home
  .ddh-story__visual.reveal-on-scroll,
  .ddh-home
  .ddh-story__visual.reveal-repeat,
  .ddh-home
  .ddh-nita__content.reveal-on-scroll,
  .ddh-home
  .ddh-nita__content.reveal-repeat,
  .ddh-home
  .ddh-nita__visual.reveal-on-scroll,
  .ddh-home
  .ddh-nita__visual.reveal-repeat {
    transform:
      translate3d(0, 20px, 0)
      scale(0.99);
  }

  .ddh-home
  .ddh-service.reveal-repeat,
  .ddh-home
  .ddh-difference__card.reveal-repeat {
    transform:
      translate3d(0, 22px, 0)
      scale(0.99);
  }

  .ddh-home
  .ddh-service.reveal-repeat.is-visible,
  .ddh-home
  .ddh-difference__card.reveal-repeat.is-visible,
  .ddh-home
  .ddh-promise__content.is-visible,
  .ddh-home
  .ddh-promise__visual.is-visible,
  .ddh-home
  .ddh-story__content.is-visible,
  .ddh-home
  .ddh-story__visual.is-visible,
  .ddh-home
  .ddh-nita__content.is-visible,
  .ddh-home
  .ddh-nita__visual.is-visible {
    transform:
      translate3d(0, 0, 0)
      scale(1);
  }
}

/* =========================================================
   DAISY'S DOG HOUSE
   PREMIUM MOTION SYSTEM
   SECTION 4 — BOARDING PAGE
========================================================= */

/* =========================================================
   BOARDING HERO
========================================================= */

@keyframes boardingHeroImageSettle {
  from {
    transform:
      translate3d(0, 8px, 0)
      scale(1.035);

    filter:
      brightness(0.95)
      saturate(0.96);
  }

  to {
    transform:
      translate3d(0, 0, 0)
      scale(1);

    filter:
      brightness(1)
      saturate(1);
  }
}

@keyframes boardingHeroContentRise {
  from {
    opacity: 0;
    transform:
      translate3d(0, 20px, 0);
  }

  to {
    opacity: 1;
    transform:
      translate3d(0, 0, 0);
  }
}

.boarding-page
.boarding-hero__image img {
  animation:
    boardingHeroImageSettle
    1.65s
    var(--motion-ease-soft)
    both;
}

.boarding-page
.boarding-hero .boarding-eyebrow {
  opacity: 0;

  animation:
    boardingHeroContentRise
    680ms
    var(--motion-ease-standard)
    180ms
    forwards;
}

.boarding-page
.boarding-hero h1 {
  opacity: 0;

  animation:
    boardingHeroContentRise
    840ms
    var(--motion-ease-standard)
    300ms
    forwards;
}

.boarding-page
.boarding-hero__copy {
  opacity: 0;

  animation:
    boardingHeroContentRise
    780ms
    var(--motion-ease-standard)
    470ms
    forwards;
}

.boarding-page
.boarding-hero__actions {
  opacity: 0;

  animation:
    boardingHeroContentRise
    760ms
    var(--motion-ease-standard)
    620ms
    forwards;
}

/* =========================================================
   BOARDING HEADINGS AND TEXT BLOCKS
========================================================= */

.boarding-page
.boarding-intro__heading.reveal-on-scroll,
.boarding-page
.boarding-intro__heading.reveal-repeat,
.boarding-page
.boarding-intro__copy.reveal-on-scroll,
.boarding-page
.boarding-intro__copy.reveal-repeat,
.boarding-page
.boarding-section-heading.reveal-on-scroll,
.boarding-page
.boarding-section-heading.reveal-repeat,
.boarding-page
.boarding-includes__heading.reveal-on-scroll,
.boarding-page
.boarding-includes__heading.reveal-repeat,
.boarding-page
.boarding-includes__content.reveal-on-scroll,
.boarding-page
.boarding-includes__content.reveal-repeat,
.boarding-page
.boarding-bath-callout__copy.reveal-on-scroll,
.boarding-page
.boarding-bath-callout__copy.reveal-repeat,
.boarding-page
.cat-boarding__content.reveal-on-scroll,
.boarding-page
.cat-boarding__content.reveal-repeat,
.boarding-page
.boarding-report__content.reveal-on-scroll,
.boarding-page
.boarding-report__content.reveal-repeat,
.boarding-page
.boarding-hours__notice.reveal-on-scroll,
.boarding-page
.boarding-hours__notice.reveal-repeat,
.boarding-page
.boarding-reservations__heading.reveal-on-scroll,
.boarding-page
.boarding-reservations__heading.reveal-repeat,
.boarding-page
.boarding-closing__content.reveal-on-scroll,
.boarding-page
.boarding-closing__content.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 22px, 0);

  transition:
    opacity
    760ms
    ease,
    transform
    900ms
    var(--motion-ease-standard);
}

.boarding-page
.boarding-intro__heading.is-visible,
.boarding-page
.boarding-intro__copy.is-visible,
.boarding-page
.boarding-section-heading.is-visible,
.boarding-page
.boarding-includes__heading.is-visible,
.boarding-page
.boarding-includes__content.is-visible,
.boarding-page
.boarding-bath-callout__copy.is-visible,
.boarding-page
.cat-boarding__content.is-visible,
.boarding-page
.boarding-report__content.is-visible,
.boarding-page
.boarding-hours__notice.is-visible,
.boarding-page
.boarding-reservations__heading.is-visible,
.boarding-page
.boarding-closing__content.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0);
}

/* =========================================================
   BOARDING ACCOMMODATION CARDS
========================================================= */

.boarding-page
.boarding-card.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 30px, 0)
    scale(0.982);

  transition:
    opacity
    720ms
    ease,
    transform
    880ms
    var(--motion-ease-standard),
    box-shadow
    520ms
    ease,
    border-color
    460ms
    ease,
    background-color
    460ms
    ease;
}

.boarding-page
.boarding-card.reveal-repeat.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}

.boarding-page
.boarding-options__grid
.boarding-card:nth-child(2) {
  transition-delay: 110ms;
}

.boarding-page
.boarding-card__number,
.boarding-page
.boarding-card__badge {
  transform-origin: center;

  transition:
    transform
    560ms
    var(--motion-ease-standard),
    opacity
    460ms
    ease,
    color
    420ms
    ease,
    background-color
    420ms
    ease;
}

.boarding-page
.boarding-card.is-visible
.boarding-card__number,
.boarding-page
.boarding-card.is-visible
.boarding-card__badge {
  animation:
    ddhIconPop
    720ms
    var(--motion-ease-standard)
    both;
}

.boarding-page
.boarding-card:nth-child(2)
.boarding-card__number,
.boarding-page
.boarding-card:nth-child(2)
.boarding-card__badge {
  animation-delay: 130ms;
}

/* =========================================================
   EVERY STAY INCLUDES
========================================================= */

.boarding-page
.boarding-includes__item.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 26px, 0)
    scale(0.982);

  transition:
    opacity
    700ms
    ease,
    transform
    840ms
    var(--motion-ease-standard),
    box-shadow
    460ms
    ease,
    border-color
    420ms
    ease,
    background-color
    420ms
    ease;
}

.boarding-page
.boarding-includes__item.reveal-repeat.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}

.boarding-page
.boarding-includes__item:nth-child(2) {
  transition-delay: 80ms;
}

.boarding-page
.boarding-includes__item:nth-child(3) {
  transition-delay: 160ms;
}

.boarding-page
.boarding-includes__item:nth-child(4) {
  transition-delay: 240ms;
}

.boarding-page
.boarding-includes__item:nth-child(5) {
  transition-delay: 320ms;
}

.boarding-page
.boarding-includes__item:nth-child(6) {
  transition-delay: 400ms;
}

.boarding-page
.boarding-includes__item > span {
  transform-origin: center;

  transition:
    transform
    540ms
    var(--motion-ease-standard),
    opacity
    440ms
    ease,
    color
    420ms
    ease;
}

.boarding-page
.boarding-includes__item.is-visible > span {
  animation:
    ddhIconPop
    720ms
    var(--motion-ease-standard)
    both;
}

/* =========================================================
   GO-HOME BATH
========================================================= */

.boarding-page
.boarding-bath-feature.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 28px, 0)
    scale(0.98);

  transition:
    opacity
    720ms
    ease,
    transform
    880ms
    var(--motion-ease-standard),
    box-shadow
    520ms
    ease,
    border-color
    460ms
    ease;
}

.boarding-page
.boarding-bath-feature.reveal-repeat.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}

.boarding-page
.boarding-bath-callout__paw {
  transform-origin: center;

  transition:
    opacity
    620ms
    ease,
    transform
    780ms
    var(--motion-ease-standard);
}

.boarding-page
.boarding-bath-callout__paw.is-visible {
  animation:
    ddhIconPop
    760ms
    var(--motion-ease-standard)
    both;
}

.boarding-page
.boarding-bath-callout__paw--two.is-visible {
  animation-delay: 120ms;
}

.boarding-page
.boarding-bath-callout__paw--three.is-visible {
  animation-delay: 220ms;
}

/* =========================================================
   CAT BOARDING
========================================================= */

.boarding-page
.cat-boarding__visual.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(-20px, 24px, 0)
    scale(0.985);

  transition:
    opacity
    760ms
    ease,
    transform
    980ms
    var(--motion-ease-standard);
}

.boarding-page
.cat-boarding__content.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(20px, 24px, 0);

  transition:
    opacity
    760ms
    ease,
    transform
    920ms
    var(--motion-ease-standard);
}

.boarding-page
.cat-boarding__visual.reveal-repeat.is-visible,
.boarding-page
.cat-boarding__content.reveal-repeat.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}

.boarding-page
.cat-boarding__image-wrap img {
  transform:
    scale(1.04);

  filter:
    brightness(0.96)
    saturate(0.95);

  transition:
    transform
    1.3s
    var(--motion-ease-soft),
    filter
    1s
    ease;
}

.boarding-page
.cat-boarding__visual.is-visible
.cat-boarding__image-wrap img {
  transform:
    scale(1);

  filter:
    brightness(1)
    saturate(1);
}

/* =========================================================
   VACATION REPORT CARD
========================================================= */

.boarding-page
.boarding-report__card.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 28px, 0)
    scale(0.982);

  transition:
    opacity
    720ms
    ease,
    transform
    900ms
    var(--motion-ease-standard),
    box-shadow
    520ms
    ease,
    border-color
    460ms
    ease;
}

.boarding-page
.boarding-report__card.reveal-repeat.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}

.boarding-page
.boarding-report__item.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 20px, 0)
    scale(0.988);

  transition:
    opacity
    660ms
    ease,
    transform
    780ms
    var(--motion-ease-standard),
    background-color
    380ms
    ease,
    border-color
    380ms
    ease,
    box-shadow
    380ms
    ease;
}

.boarding-page
.boarding-report__item.reveal-repeat.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}

.boarding-page
.boarding-report__item:nth-child(2) {
  transition-delay: 70ms;
}

.boarding-page
.boarding-report__item:nth-child(3) {
  transition-delay: 140ms;
}

.boarding-page
.boarding-report__item:nth-child(4) {
  transition-delay: 210ms;
}

.boarding-page
.boarding-report__item:nth-child(5) {
  transition-delay: 280ms;
}

.boarding-page
.boarding-report__item:nth-child(6) {
  transition-delay: 350ms;
}

.boarding-page
.boarding-report__icon {
  transform-origin: center;

  transition:
    transform
    520ms
    var(--motion-ease-standard),
    color
    420ms
    ease,
    background-color
    420ms
    ease;
}

.boarding-page
.boarding-report__item.is-visible
.boarding-report__icon {
  animation:
    ddhIconPop
    700ms
    var(--motion-ease-standard)
    both;
}

/* =========================================================
   HOURS
========================================================= */

.boarding-page
.boarding-hours__card.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 24px, 0)
    scale(0.985);

  transition:
    opacity
    690ms
    ease,
    transform
    820ms
    var(--motion-ease-standard),
    box-shadow
    460ms
    ease,
    border-color
    420ms
    ease,
    background-color
    420ms
    ease;
}

.boarding-page
.boarding-hours__card.reveal-repeat.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}

.boarding-page
.boarding-hours__card:nth-child(2) {
  transition-delay: 90ms;
}

.boarding-page
.boarding-hours__card:nth-child(3) {
  transition-delay: 180ms;
}

/* =========================================================
   HEALTH AND VACCINATION CARDS
========================================================= */

.boarding-page
.boarding-policy-card.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 28px, 0)
    scale(0.982);

  transition:
    opacity
    720ms
    ease,
    transform
    880ms
    var(--motion-ease-standard),
    box-shadow
    500ms
    ease,
    border-color
    450ms
    ease,
    background-color
    450ms
    ease;
}

.boarding-page
.boarding-policy-card.reveal-repeat.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}

.boarding-page
.boarding-policy-card:nth-child(2) {
  transition-delay: 100ms;
}

.boarding-page
.boarding-policy-card:nth-child(3) {
  transition-delay: 200ms;
}

.boarding-page
.boarding-policy-card__icon,
.boarding-page
.boarding-policy-card__number {
  transform-origin: center;

  transition:
    transform
    560ms
    var(--motion-ease-standard),
    opacity
    460ms
    ease,
    color
    420ms
    ease;
}

.boarding-page
.boarding-policy-card.is-visible
.boarding-policy-card__icon,
.boarding-page
.boarding-policy-card.is-visible
.boarding-policy-card__number {
  animation:
    ddhIconPop
    720ms
    var(--motion-ease-standard)
    both;
}

/* =========================================================
   RESERVATION CARDS
========================================================= */

.boarding-page
.boarding-reservation-card.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 24px, 0)
    scale(0.985);

  transition:
    opacity
    690ms
    ease,
    transform
    820ms
    var(--motion-ease-standard),
    box-shadow
    460ms
    ease,
    border-color
    420ms
    ease,
    background-color
    420ms
    ease;
}

.boarding-page
.boarding-reservation-card.reveal-repeat.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}

.boarding-page
.boarding-reservation-card:nth-child(2) {
  transition-delay: 90ms;
}

.boarding-page
.boarding-reservation-card:nth-child(3) {
  transition-delay: 180ms;
}

.boarding-page
.boarding-reservation-card__icon {
  transform-origin: center;

  transition:
    transform
    520ms
    var(--motion-ease-standard),
    color
    420ms
    ease,
    background-color
    420ms
    ease;
}

.boarding-page
.boarding-reservation-card.is-visible
.boarding-reservation-card__icon {
  animation:
    ddhIconPop
    700ms
    var(--motion-ease-standard)
    both;
}

/* =========================================================
   BOARDING CLOSING IMAGE
========================================================= */

.boarding-page
.boarding-closing__image img {
  transform:
    scale(1.03);

  filter:
    brightness(0.96)
    saturate(0.96);

  transition:
    transform
    1.4s
    var(--motion-ease-soft),
    filter
    1.1s
    ease;
}

.boarding-page
.boarding-closing.is-visible
.boarding-closing__image img {
  transform:
    scale(1);

  filter:
    brightness(1)
    saturate(1);
}

/* =========================================================
   BOARDING MOBILE MOTION
========================================================= */

@media (max-width: 700px) {
  .boarding-page
  .boarding-hero__image img {
    animation-duration: 1.45s;
  }

  .boarding-page
  .boarding-hero .boarding-eyebrow {
    animation-delay: 140ms;
  }

  .boarding-page
  .boarding-hero h1 {
    animation-delay: 240ms;
  }

  .boarding-page
  .boarding-hero__copy {
    animation-delay: 390ms;
  }

  .boarding-page
  .boarding-hero__actions {
    animation-delay: 520ms;
  }

  .boarding-page
  .boarding-card.reveal-repeat,
  .boarding-page
  .boarding-includes__item.reveal-repeat,
  .boarding-page
  .boarding-bath-feature.reveal-repeat,
  .boarding-page
  .boarding-report__card.reveal-repeat,
  .boarding-page
  .boarding-report__item.reveal-repeat,
  .boarding-page
  .boarding-hours__card.reveal-repeat,
  .boarding-page
  .boarding-policy-card.reveal-repeat,
  .boarding-page
  .boarding-reservation-card.reveal-repeat {
    transform:
      translate3d(0, 22px, 0)
      scale(0.99);
  }

  .boarding-page
  .cat-boarding__visual.reveal-repeat,
  .boarding-page
  .cat-boarding__content.reveal-repeat {
    transform:
      translate3d(0, 20px, 0)
      scale(0.99);
  }

  .boarding-page
  .boarding-card.reveal-repeat.is-visible,
  .boarding-page
  .boarding-includes__item.reveal-repeat.is-visible,
  .boarding-page
  .boarding-bath-feature.reveal-repeat.is-visible,
  .boarding-page
  .cat-boarding__visual.reveal-repeat.is-visible,
  .boarding-page
  .cat-boarding__content.reveal-repeat.is-visible,
  .boarding-page
  .boarding-report__card.reveal-repeat.is-visible,
  .boarding-page
  .boarding-report__item.reveal-repeat.is-visible,
  .boarding-page
  .boarding-hours__card.reveal-repeat.is-visible,
  .boarding-page
  .boarding-policy-card.reveal-repeat.is-visible,
  .boarding-page
  .boarding-reservation-card.reveal-repeat.is-visible {
    transform:
      translate3d(0, 0, 0)
      scale(1);
  }
}

/* =========================================================
   DAISY'S DOG HOUSE
   PREMIUM MOTION SYSTEM
   SECTION 5 — GROOMING PAGE
========================================================= */

/* =========================================================
   GROOMING HERO
========================================================= */

@keyframes groomingHeroImageSettle {
  from {
    transform:
      translate3d(0, 8px, 0)
      scale(1.035);

    filter:
      brightness(0.95)
      saturate(0.96);
  }

  to {
    transform:
      translate3d(0, 0, 0)
      scale(1);

    filter:
      brightness(1)
      saturate(1);
  }
}

@keyframes groomingHeroContentRise {
  from {
    opacity: 0;
    transform:
      translate3d(0, 20px, 0);
  }

  to {
    opacity: 1;
    transform:
      translate3d(0, 0, 0);
  }
}

.grooming-page
.grooming-hero__image img {
  animation:
    groomingHeroImageSettle
    1.65s
    var(--motion-ease-soft)
    both;
}

.grooming-page
.grooming-hero .grooming-eyebrow {
  opacity: 0;

  animation:
    groomingHeroContentRise
    680ms
    var(--motion-ease-standard)
    180ms
    forwards;
}

.grooming-page
.grooming-hero h1 {
  opacity: 0;

  animation:
    groomingHeroContentRise
    840ms
    var(--motion-ease-standard)
    300ms
    forwards;
}

.grooming-page
.grooming-hero__copy {
  opacity: 0;

  animation:
    groomingHeroContentRise
    780ms
    var(--motion-ease-standard)
    470ms
    forwards;
}

.grooming-page
.grooming-hero__actions {
  opacity: 0;

  animation:
    groomingHeroContentRise
    760ms
    var(--motion-ease-standard)
    620ms
    forwards;
}

/* =========================================================
   GROOMING HEADINGS AND COPY
========================================================= */

.grooming-page
.grooming-section-heading.reveal-on-scroll,
.grooming-page
.grooming-section-heading.reveal-repeat,
.grooming-page
.grooming-intro__heading.reveal-on-scroll,
.grooming-page
.grooming-intro__heading.reveal-repeat,
.grooming-page
.grooming-intro__copy.reveal-on-scroll,
.grooming-page
.grooming-intro__copy.reveal-repeat,
.grooming-page
.grooming-services__heading.reveal-on-scroll,
.grooming-page
.grooming-services__heading.reveal-repeat,
.grooming-page
.grooming-upgrades__heading.reveal-on-scroll,
.grooming-page
.grooming-upgrades__heading.reveal-repeat,
.grooming-page
.grooming-gallery__heading.reveal-on-scroll,
.grooming-page
.grooming-gallery__heading.reveal-repeat,
.grooming-page
.grooming-closing__content.reveal-on-scroll,
.grooming-page
.grooming-closing__content.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 22px, 0);

  transition:
    opacity
    760ms
    ease,
    transform
    900ms
    var(--motion-ease-standard);
}

.grooming-page
.grooming-section-heading.is-visible,
.grooming-page
.grooming-intro__heading.is-visible,
.grooming-page
.grooming-intro__copy.is-visible,
.grooming-page
.grooming-services__heading.is-visible,
.grooming-page
.grooming-upgrades__heading.is-visible,
.grooming-page
.grooming-gallery__heading.is-visible,
.grooming-page
.grooming-closing__content.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0);
}

/* =========================================================
   PRIMARY SERVICE CARDS
========================================================= */

.grooming-page
.grooming-card.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 30px, 0)
    scale(0.982);

  transition:
    opacity
    720ms
    ease,
    transform
    880ms
    var(--motion-ease-standard),
    box-shadow
    500ms
    ease,
    border-color
    440ms
    ease,
    background-color
    440ms
    ease;
}

.grooming-page
.grooming-card.reveal-repeat.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}

.grooming-page
.grooming-card:nth-child(2) {
  transition-delay: 110ms;
}

.grooming-page
.grooming-card:nth-child(3) {
  transition-delay: 220ms;
}

.grooming-page
.grooming-card__icon,
.grooming-page
.grooming-card__number,
.grooming-page
.grooming-card__badge {
  transform-origin: center;

  transition:
    transform
    540ms
    var(--motion-ease-standard),
    opacity
    440ms
    ease,
    color
    420ms
    ease,
    background-color
    420ms
    ease;
}

.grooming-page
.grooming-card.is-visible
.grooming-card__icon,
.grooming-page
.grooming-card.is-visible
.grooming-card__number,
.grooming-page
.grooming-card.is-visible
.grooming-card__badge {
  animation:
    ddhIconPop
    720ms
    var(--motion-ease-standard)
    both;
}

/* =========================================================
   GROOMING IMAGE CARDS
========================================================= */

.grooming-page
.grooming-photo-card.reveal-repeat,
.grooming-page
.service-image-card.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 28px, 0)
    scale(0.982);

  transition:
    opacity
    720ms
    ease,
    transform
    880ms
    var(--motion-ease-standard),
    box-shadow
    500ms
    ease,
    border-color
    440ms
    ease;
}

.grooming-page
.grooming-photo-card.reveal-repeat.is-visible,
.grooming-page
.service-image-card.reveal-repeat.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}

.grooming-page
.grooming-photo-card:nth-child(2),
.grooming-page
.service-image-card:nth-child(2) {
  transition-delay: 100ms;
}

.grooming-page
.grooming-photo-card:nth-child(3),
.grooming-page
.service-image-card:nth-child(3) {
  transition-delay: 200ms;
}

.grooming-page
.grooming-photo-card img,
.grooming-page
.service-image-card img {
  transform:
    scale(1.04);

  filter:
    brightness(0.96)
    saturate(0.95);

  transition:
    transform
    1.3s
    var(--motion-ease-soft),
    filter
    1s
    ease;
}

.grooming-page
.grooming-photo-card.is-visible img,
.grooming-page
.service-image-card.is-visible img {
  transform:
    scale(1);

  filter:
    brightness(1)
    saturate(1);
}

/* =========================================================
   GROOMING UPGRADE CARDS
========================================================= */

.grooming-page
.grooming-upgrade-card.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 24px, 0)
    scale(0.985);

  transition:
    opacity
    690ms
    ease,
    transform
    820ms
    var(--motion-ease-standard),
    box-shadow
    460ms
    ease,
    border-color
    420ms
    ease,
    background-color
    420ms
    ease;
}

.grooming-page
.grooming-upgrade-card.reveal-repeat.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}

.grooming-page
.grooming-upgrade-card:nth-child(2) {
  transition-delay: 80ms;
}

.grooming-page
.grooming-upgrade-card:nth-child(3) {
  transition-delay: 160ms;
}

.grooming-page
.grooming-upgrade-card:nth-child(4) {
  transition-delay: 240ms;
}

.grooming-page
.grooming-upgrade-card:nth-child(5) {
  transition-delay: 320ms;
}

.grooming-page
.grooming-upgrade-card:nth-child(6) {
  transition-delay: 400ms;
}

.grooming-page
.grooming-upgrade-card__icon,
.grooming-page
.grooming-upgrade-card svg,
.grooming-page
.grooming-upgrade-card img {
  transform-origin: center;

  transition:
    transform
    520ms
    var(--motion-ease-standard),
    opacity
    420ms
    ease,
    color
    420ms
    ease,
    background-color
    420ms
    ease;
}

.grooming-page
.grooming-upgrade-card.is-visible
.grooming-upgrade-card__icon,
.grooming-page
.grooming-upgrade-card.is-visible svg,
.grooming-page
.grooming-upgrade-card.is-visible img {
  animation:
    ddhIconPop
    700ms
    var(--motion-ease-standard)
    both;
}

/* =========================================================
   PROCESS AND FEATURE ITEMS
========================================================= */

.grooming-page
.grooming-feature-card.reveal-repeat,
.grooming-page
.grooming-process__item.reveal-repeat,
.grooming-page
.grooming-benefit.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 24px, 0)
    scale(0.985);

  transition:
    opacity
    690ms
    ease,
    transform
    820ms
    var(--motion-ease-standard),
    box-shadow
    460ms
    ease,
    border-color
    420ms
    ease,
    background-color
    420ms
    ease;
}

.grooming-page
.grooming-feature-card.reveal-repeat.is-visible,
.grooming-page
.grooming-process__item.reveal-repeat.is-visible,
.grooming-page
.grooming-benefit.reveal-repeat.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}

.grooming-page
.grooming-feature-card:nth-child(2),
.grooming-page
.grooming-process__item:nth-child(2),
.grooming-page
.grooming-benefit:nth-child(2) {
  transition-delay: 90ms;
}

.grooming-page
.grooming-feature-card:nth-child(3),
.grooming-page
.grooming-process__item:nth-child(3),
.grooming-page
.grooming-benefit:nth-child(3) {
  transition-delay: 180ms;
}

.grooming-page
.grooming-feature-card:nth-child(4),
.grooming-page
.grooming-process__item:nth-child(4),
.grooming-page
.grooming-benefit:nth-child(4) {
  transition-delay: 270ms;
}

.grooming-page
.grooming-feature-card__icon,
.grooming-page
.grooming-process__icon,
.grooming-page
.grooming-benefit__icon {
  transform-origin: center;

  transition:
    transform
    520ms
    var(--motion-ease-standard),
    color
    420ms
    ease,
    background-color
    420ms
    ease;
}

.grooming-page
.grooming-feature-card.is-visible
.grooming-feature-card__icon,
.grooming-page
.grooming-process__item.is-visible
.grooming-process__icon,
.grooming-page
.grooming-benefit.is-visible
.grooming-benefit__icon {
  animation:
    ddhIconPop
    700ms
    var(--motion-ease-standard)
    both;
}

/* =========================================================
   GROOMING GALLERY
========================================================= */

.grooming-page
.grooming-gallery__item.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 24px, 0)
    scale(0.985);

  transition:
    opacity
    700ms
    ease,
    transform
    840ms
    var(--motion-ease-standard),
    box-shadow
    460ms
    ease;
}

.grooming-page
.grooming-gallery__item.reveal-repeat.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}

.grooming-page
.grooming-gallery__item:nth-child(2) {
  transition-delay: 90ms;
}

.grooming-page
.grooming-gallery__item:nth-child(3) {
  transition-delay: 180ms;
}

.grooming-page
.grooming-gallery__item:nth-child(4) {
  transition-delay: 270ms;
}

.grooming-page
.grooming-gallery__item img {
  transform:
    scale(1.04);

  filter:
    brightness(0.96)
    saturate(0.95);

  transition:
    transform
    1.3s
    var(--motion-ease-soft),
    filter
    1s
    ease;
}

.grooming-page
.grooming-gallery__item.is-visible img {
  transform:
    scale(1);

  filter:
    brightness(1)
    saturate(1);
}

/* =========================================================
   GROOMING CTA
========================================================= */

.grooming-page
.grooming-cta.reveal-on-scroll,
.grooming-page
.grooming-cta.reveal-repeat,
.grooming-page
.grooming-closing.reveal-on-scroll,
.grooming-page
.grooming-closing.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 26px, 0)
    scale(0.99);

  transition:
    opacity
    760ms
    ease,
    transform
    920ms
    var(--motion-ease-standard);
}

.grooming-page
.grooming-cta.is-visible,
.grooming-page
.grooming-closing.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}

.grooming-page
.grooming-closing__image img,
.grooming-page
.grooming-cta__image img {
  transform:
    scale(1.03);

  filter:
    brightness(0.96)
    saturate(0.96);

  transition:
    transform
    1.4s
    var(--motion-ease-soft),
    filter
    1.1s
    ease;
}

.grooming-page
.grooming-closing.is-visible
.grooming-closing__image img,
.grooming-page
.grooming-cta.is-visible
.grooming-cta__image img {
  transform:
    scale(1);

  filter:
    brightness(1)
    saturate(1);
}

/* =========================================================
   GROOMING MOBILE MOTION
========================================================= */

@media (max-width: 700px) {
  .grooming-page
  .grooming-hero__image img {
    animation-duration: 1.45s;
  }

  .grooming-page
  .grooming-hero .grooming-eyebrow {
    animation-delay: 140ms;
  }

  .grooming-page
  .grooming-hero h1 {
    animation-delay: 240ms;
  }

  .grooming-page
  .grooming-hero__copy {
    animation-delay: 390ms;
  }

  .grooming-page
  .grooming-hero__actions {
    animation-delay: 520ms;
  }

  .grooming-page
  .grooming-card.reveal-repeat,
  .grooming-page
  .grooming-photo-card.reveal-repeat,
  .grooming-page
  .service-image-card.reveal-repeat,
  .grooming-page
  .grooming-upgrade-card.reveal-repeat,
  .grooming-page
  .grooming-feature-card.reveal-repeat,
  .grooming-page
  .grooming-process__item.reveal-repeat,
  .grooming-page
  .grooming-benefit.reveal-repeat,
  .grooming-page
  .grooming-gallery__item.reveal-repeat {
    transform:
      translate3d(0, 22px, 0)
      scale(0.99);
  }

  .grooming-page
  .grooming-card.reveal-repeat.is-visible,
  .grooming-page
  .grooming-photo-card.reveal-repeat.is-visible,
  .grooming-page
  .service-image-card.reveal-repeat.is-visible,
  .grooming-page
  .grooming-upgrade-card.reveal-repeat.is-visible,
  .grooming-page
  .grooming-feature-card.reveal-repeat.is-visible,
  .grooming-page
  .grooming-process__item.reveal-repeat.is-visible,
  .grooming-page
  .grooming-benefit.reveal-repeat.is-visible,
  .grooming-page
  .grooming-gallery__item.reveal-repeat.is-visible {
    transform:
      translate3d(0, 0, 0)
      scale(1);
  }

  .grooming-page
  .grooming-photo-card img,
  .grooming-page
  .service-image-card img,
  .grooming-page
  .grooming-gallery__item img {
    transform:
      scale(1.025);
  }

  .grooming-page
  .grooming-photo-card.is-visible img,
  .grooming-page
  .service-image-card.is-visible img,
  .grooming-page
  .grooming-gallery__item.is-visible img {
    transform:
      scale(1);
  }
}

/* =========================================================
   DAISY'S DOG HOUSE
   PREMIUM MOTION SYSTEM
   SECTION 6 — CONTACT, PURPOSE & TEAM
========================================================= */

/* =========================================================
   CONTACT PAGE
========================================================= */

@keyframes contactHeroImageSettle {
  from {
    transform:
      translate3d(0, 8px, 0)
      scale(1.03);

    filter:
      brightness(0.96)
      saturate(0.96);
  }

  to {
    transform:
      translate3d(0, 0, 0)
      scale(1);

    filter:
      brightness(1)
      saturate(1);
  }
}

@keyframes contactHeroContentRise {
  from {
    opacity: 0;
    transform:
      translate3d(0, 20px, 0);
  }

  to {
    opacity: 1;
    transform:
      translate3d(0, 0, 0);
  }
}

.contact-page
.contact-hero__image img {
  animation:
    contactHeroImageSettle
    1.6s
    var(--motion-ease-soft)
    both;
}

.contact-page
.contact-hero .contact-eyebrow {
  opacity: 0;

  animation:
    contactHeroContentRise
    680ms
    var(--motion-ease-standard)
    180ms
    forwards;
}

.contact-page
.contact-hero h1 {
  opacity: 0;

  animation:
    contactHeroContentRise
    840ms
    var(--motion-ease-standard)
    300ms
    forwards;
}

.contact-page
.contact-hero__copy {
  opacity: 0;

  animation:
    contactHeroContentRise
    780ms
    var(--motion-ease-standard)
    470ms
    forwards;
}

.contact-page
.contact-hero__actions {
  opacity: 0;

  animation:
    contactHeroContentRise
    760ms
    var(--motion-ease-standard)
    620ms
    forwards;
}

.contact-page
.contact-section-heading.reveal-on-scroll,
.contact-page
.contact-section-heading.reveal-repeat,
.contact-page
.contact-bone__heading.reveal-on-scroll,
.contact-page
.contact-bone__heading.reveal-repeat,
.contact-page
.contact-arrival__heading.reveal-on-scroll,
.contact-page
.contact-arrival__heading.reveal-repeat,
.contact-page
.contact-cta__content.reveal-on-scroll,
.contact-page
.contact-cta__content.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 22px, 0);

  transition:
    opacity
    760ms
    ease,
    transform
    900ms
    var(--motion-ease-standard);
}

.contact-page
.contact-section-heading.is-visible,
.contact-page
.contact-bone__heading.is-visible,
.contact-page
.contact-arrival__heading.is-visible,
.contact-page
.contact-cta__content.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0);
}

.contact-page
.contact-option.reveal-repeat,
.contact-page
.contact-arrival__item.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 24px, 0)
    scale(0.985);

  transition:
    opacity
    690ms
    ease,
    transform
    820ms
    var(--motion-ease-standard),
    box-shadow
    460ms
    ease,
    border-color
    420ms
    ease,
    background-color
    420ms
    ease;
}

.contact-page
.contact-option.reveal-repeat.is-visible,
.contact-page
.contact-arrival__item.reveal-repeat.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}

.contact-page
.contact-option:nth-child(2),
.contact-page
.contact-arrival__item:nth-child(2) {
  transition-delay: 90ms;
}

.contact-page
.contact-option:nth-child(3),
.contact-page
.contact-arrival__item:nth-child(3) {
  transition-delay: 180ms;
}

.contact-page
.contact-option:nth-child(4),
.contact-page
.contact-arrival__item:nth-child(4) {
  transition-delay: 270ms;
}

.contact-page
.contact-option__icon,
.contact-page
.contact-arrival__item svg,
.contact-page
.contact-arrival__icon {
  transform-origin: center;

  transition:
    transform
    520ms
    var(--motion-ease-standard),
    color
    420ms
    ease,
    background-color
    420ms
    ease,
    opacity
    420ms
    ease;
}

.contact-page
.contact-option.is-visible
.contact-option__icon,
.contact-page
.contact-arrival__item.is-visible svg,
.contact-page
.contact-arrival__item.is-visible
.contact-arrival__icon {
  animation:
    ddhIconPop
    700ms
    var(--motion-ease-standard)
    both;
}

.contact-page
.contact-cta.reveal-on-scroll,
.contact-page
.contact-cta.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 26px, 0)
    scale(0.99);

  transition:
    opacity
    760ms
    ease,
    transform
    920ms
    var(--motion-ease-standard);
}

.contact-page
.contact-cta.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}

.contact-page
.contact-cta__image img {
  transform:
    scale(1.03);

  filter:
    brightness(0.96)
    saturate(0.96);

  transition:
    transform
    1.4s
    var(--motion-ease-soft),
    filter
    1.1s
    ease;
}

.contact-page
.contact-cta.is-visible
.contact-cta__image img {
  transform:
    scale(1);

  filter:
    brightness(1)
    saturate(1);
}

/* =========================================================
   PURPOSE PAGE
========================================================= */

.purpose-page
.purpose-section-heading.reveal-on-scroll,
.purpose-page
.purpose-section-heading.reveal-repeat,
.purpose-page
.purpose-gallery__header.reveal-on-scroll,
.purpose-page
.purpose-gallery__header.reveal-repeat,
.purpose-page
.purpose-closing__content.reveal-on-scroll,
.purpose-page
.purpose-closing__content.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 22px, 0);

  transition:
    opacity
    760ms
    ease,
    transform
    900ms
    var(--motion-ease-standard);
}

.purpose-page
.purpose-section-heading.is-visible,
.purpose-page
.purpose-gallery__header.is-visible,
.purpose-page
.purpose-closing__content.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0);
}

.purpose-page
.purpose-gallery__item.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 24px, 0)
    scale(0.985);

  transition:
    opacity
    700ms
    ease,
    transform
    840ms
    var(--motion-ease-standard),
    box-shadow
    460ms
    ease;
}

.purpose-page
.purpose-gallery__item.reveal-repeat.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}

.purpose-page
.purpose-gallery__item:nth-child(2) {
  transition-delay: 90ms;
}

.purpose-page
.purpose-gallery__item:nth-child(3) {
  transition-delay: 180ms;
}

.purpose-page
.purpose-gallery__item:nth-child(4) {
  transition-delay: 270ms;
}

.purpose-page
.purpose-gallery__item img,
.purpose-page
.purpose-story__image img,
.purpose-page
.purpose-closing__image img {
  transform:
    scale(1.035);

  filter:
    brightness(0.97)
    saturate(0.96);

  transition:
    transform
    1.35s
    var(--motion-ease-soft),
    filter
    1.05s
    ease;
}

.purpose-page
.purpose-gallery__item.is-visible img,
.purpose-page
.purpose-story__image.is-visible img,
.purpose-page
.purpose-closing.is-visible
.purpose-closing__image img {
  transform:
    scale(1);

  filter:
    brightness(1)
    saturate(1);
}

/* =========================================================
   TEAM PAGE
========================================================= */

.team-page
.team-section-heading.reveal-on-scroll,
.team-page
.team-section-heading.reveal-repeat,
.team-page
.team-intro__content.reveal-on-scroll,
.team-page
.team-intro__content.reveal-repeat,
.team-page
.team-closing__content.reveal-on-scroll,
.team-page
.team-closing__content.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 22px, 0);

  transition:
    opacity
    760ms
    ease,
    transform
    900ms
    var(--motion-ease-standard);
}

.team-page
.team-section-heading.is-visible,
.team-page
.team-intro__content.is-visible,
.team-page
.team-closing__content.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0);
}

.team-page
.team-card.reveal-repeat {
  opacity: 0;

  transform:
    translate3d(0, 26px, 0)
    scale(0.982);

  transition:
    opacity
    700ms
    ease,
    transform
    840ms
    var(--motion-ease-standard),
    box-shadow
    460ms
    ease,
    border-color
    420ms
    ease,
    background-color
    420ms
    ease;
}

.team-page
.team-card.reveal-repeat.is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}

.team-page
.team-card:nth-child(2) {
  transition-delay: 90ms;
}

.team-page
.team-card:nth-child(3) {
  transition-delay: 180ms;
}

.team-page
.team-card:nth-child(4) {
  transition-delay: 270ms;
}

.team-page
.team-card:nth-child(5) {
  transition-delay: 360ms;
}

.team-page
.team-card:nth-child(6) {
  transition-delay: 450ms;
}

.team-page
.team-card__image img,
.team-page
.team-intro__image img,
.team-page
.team-closing__image img {
  transform:
    scale(1.035);

  filter:
    brightness(0.97)
    saturate(0.96);

  transition:
    transform
    1.35s
    var(--motion-ease-soft),
    filter
    1.05s
    ease;
}

.team-page
.team-card.is-visible
.team-card__image img,
.team-page
.team-intro__image.is-visible img,
.team-page
.team-closing.is-visible
.team-closing__image img {
  transform:
    scale(1);

  filter:
    brightness(1)
    saturate(1);
}

.team-page
.team-card__icon,
.team-page
.team-card svg {
  transform-origin: center;

  transition:
    transform
    520ms
    var(--motion-ease-standard),
    color
    420ms
    ease,
    background-color
    420ms
    ease,
    opacity
    420ms
    ease;
}

.team-page
.team-card.is-visible
.team-card__icon,
.team-page
.team-card.is-visible svg {
  animation:
    ddhIconPop
    700ms
    var(--motion-ease-standard)
    both;
}

/* =========================================================
   MOBILE MOTION
========================================================= */

@media (max-width: 700px) {
  .contact-page
  .contact-hero__image img {
    animation-duration: 1.45s;
  }

  .contact-page
  .contact-hero .contact-eyebrow {
    animation-delay: 140ms;
  }

  .contact-page
  .contact-hero h1 {
    animation-delay: 240ms;
  }

  .contact-page
  .contact-hero__copy {
    animation-delay: 390ms;
  }

  .contact-page
  .contact-hero__actions {
    animation-delay: 520ms;
  }

  .contact-page
  .contact-option.reveal-repeat,
  .contact-page
  .contact-arrival__item.reveal-repeat,
  .purpose-page
  .purpose-gallery__item.reveal-repeat,
  .team-page
  .team-card.reveal-repeat {
    transform:
      translate3d(0, 22px, 0)
      scale(0.99);
  }

  .contact-page
  .contact-option.reveal-repeat.is-visible,
  .contact-page
  .contact-arrival__item.reveal-repeat.is-visible,
  .purpose-page
  .purpose-gallery__item.reveal-repeat.is-visible,
  .team-page
  .team-card.reveal-repeat.is-visible {
    transform:
      translate3d(0, 0, 0)
      scale(1);
  }
}

/* =========================================================
   DAISY'S DOG HOUSE
   PREMIUM MOTION SYSTEM
   SECTION 7 — FINAL CLEANUP
========================================================= */

/* =========================================================
   GLOBAL HOVER REFINEMENT
========================================================= */

@media (hover: hover) and (pointer: fine) {
  .motion-card:hover,
  .ddh-service:hover,
  .ddh-difference__card:hover,
  .service-image-card:hover,
  .grooming-card:hover,
  .grooming-photo-card:hover,
  .grooming-upgrade-card:hover,
  .contact-option:hover,
  .contact-arrival__item:hover,
  .purpose-gallery__item:hover,
  .team-card:hover,
  .boarding-card:hover,
  .boarding-includes__item:hover,
  .boarding-bath-feature:hover,
  .boarding-report__card:hover,
  .boarding-report__item:hover,
  .boarding-hours__card:hover,
  .boarding-policy-card:hover,
  .boarding-reservation-card:hover {
    will-change: transform;
  }

  .motion-image:hover,
  .service-image-card:hover img,
  .grooming-photo-card:hover img,
  .grooming-gallery__item:hover img,
  .purpose-gallery__item:hover img,
  .team-card:hover img {
    transform: scale(1.025);
  }

  .motion-icon:hover,
  .boarding-report__icon:hover,
  .boarding-policy-card__icon:hover,
  .boarding-reservation-card__icon:hover,
  .grooming-card__icon:hover,
  .grooming-upgrade-card__icon:hover,
  .contact-option__icon:hover {
    transform:
      translate3d(0, -2px, 0)
      scale(1.035);
  }
}

/* =========================================================
   TOUCH DEVICE STABILITY
========================================================= */

@media (hover: none), (pointer: coarse) {
  .button:hover,
  .motion-card:hover,
  .ddh-service:hover,
  .ddh-difference__card:hover,
  .service-image-card:hover,
  .grooming-card:hover,
  .grooming-photo-card:hover,
  .grooming-upgrade-card:hover,
  .contact-option:hover,
  .contact-arrival__item:hover,
  .purpose-gallery__item:hover,
  .team-card:hover,
  .boarding-card:hover,
  .boarding-includes__item:hover,
  .boarding-bath-feature:hover,
  .boarding-report__card:hover,
  .boarding-report__item:hover,
  .boarding-hours__card:hover,
  .boarding-policy-card:hover,
  .boarding-reservation-card:hover {
    transform: none;
  }
}

/* =========================================================
   OFFSCREEN PERFORMANCE
========================================================= */

.ddh-service,
.ddh-difference__card,
.service-image-card,
.grooming-card,
.grooming-photo-card,
.grooming-upgrade-card,
.contact-option,
.contact-arrival__item,
.purpose-gallery__item,
.team-card,
.boarding-card,
.boarding-includes__item,
.boarding-bath-feature,
.boarding-report__card,
.boarding-report__item,
.boarding-hours__card,
.boarding-policy-card,
.boarding-reservation-card {
  content-visibility: auto;
  contain-intrinsic-size: auto 420px;
}

/* =========================================================
   VISIBLE STATE STABILITY
========================================================= */

.reveal-on-scroll.is-visible,
.reveal-repeat.is-visible,
.reveal-from-left.is-visible,
.reveal-from-right.is-visible,
.reveal-pop.is-visible,
.motion-heading.is-visible {
  visibility: visible;
  pointer-events: auto;
}

/* =========================================================
   NON-JAVASCRIPT FALLBACK
========================================================= */

.no-js .reveal-on-scroll,
.no-js .reveal-repeat,
.no-js .reveal-from-left,
.no-js .reveal-from-right,
.no-js .reveal-pop,
.no-js .motion-heading {
  opacity: 1;
  visibility: visible;
  transform: none;
  animation: none;
}

/* =========================================================
   MOBILE FINAL POLISH
========================================================= */

@media (max-width: 700px) {
  .reveal-delay-1 {
    transition-delay: 60ms;
  }

  .reveal-delay-2 {
    transition-delay: 120ms;
  }

  .reveal-delay-3 {
    transition-delay: 180ms;
  }

  .reveal-delay-4 {
    transition-delay: 240ms;
  }

  .reveal-delay-5 {
    transition-delay: 300ms;
  }

  .reveal-delay-6 {
    transition-delay: 360ms;
  }

  .button {
    transition-duration: 280ms;
  }

  .motion-image-drift.is-visible img,
  .ddh-service.is-visible > img,
  .service-image-card.is-visible img {
    animation-duration: 20s;
  }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-delay: 0ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
  }

  .reveal-on-scroll,
  .reveal-repeat,
  .reveal-from-left,
  .reveal-from-right,
  .reveal-pop,
  .motion-heading,
  .motion-card,
  .motion-image,
  .motion-icon,
  .motion-image-reveal,
  .motion-icon-reveal {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    filter: none !important;
  }

  .ddh-home .ddh-home-hero::before,
  .boarding-page .boarding-hero__image img,
  .grooming-page .grooming-hero__image img,
  .contact-page .contact-hero__image img,
  .boarding-page .boarding-closing__image img,
  .grooming-page .grooming-closing__image img,
  .grooming-page .grooming-cta__image img,
  .contact-page .contact-cta__image img,
  .purpose-page .purpose-closing__image img,
  .team-page .team-closing__image img,
  .ddh-story__visual .ddh-story__photo,
  .ddh-nita__visual .ddh-nita__photo,
  .service-image-card img,
  .grooming-photo-card img,
  .grooming-gallery__item img,
  .purpose-gallery__item img,
  .team-card img,
  .cat-boarding__image-wrap img {
    animation: none !important;
    transform: none !important;
    filter: none !important;
  }

  .button:hover,
  .button:active,
  .motion-card:hover,
  .ddh-service:hover,
  .ddh-difference__card:hover,
  .service-image-card:hover,
  .grooming-card:hover,
  .grooming-photo-card:hover,
  .grooming-upgrade-card:hover,
  .contact-option:hover,
  .contact-arrival__item:hover,
  .purpose-gallery__item:hover,
  .team-card:hover,
  .boarding-card:hover,
  .boarding-includes__item:hover,
  .boarding-bath-feature:hover,
  .boarding-report__card:hover,
  .boarding-report__item:hover,
  .boarding-hours__card:hover,
  .boarding-policy-card:hover,
  .boarding-reservation-card:hover {
    transform: none !important;
  }
}