body {
  -webkit-user-select: text;
  user-select: text;
}

  [data-reveal-step="1"] {
    --reveal-delay: 70ms;
  }

  [data-reveal-step="2"] {
    --reveal-delay: 140ms;
  }

  [data-reveal-step="3"] {
    --reveal-delay: 210ms;
  }

  [data-sequence-step="1"] {
    --sequence-delay: 60ms;
  }

  [data-sequence-step="2"] {
    --sequence-delay: 120ms;
  }

  [data-sequence-step="3"] {
    --sequence-delay: 180ms;
  }

  [data-sequence-step="4"] {
    --sequence-delay: 240ms;
  }

  .has-motion [data-reveal] {
    opacity: 0;
    translate: 0 16px;
    transition:
      opacity 500ms cubic-bezier(0.22, 1, 0.36, 1),
      translate 500ms cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: var(--reveal-delay, 0ms);
  }

  .has-motion [data-reveal].is-visible {
    opacity: 1;
    translate: 0 0;
  }

  .has-motion [data-reveal][data-reveal-sequence] {
    opacity: 1;
    translate: none;
    transition: none;
  }

  .has-motion [data-reveal][data-reveal-sequence] > * {
    opacity: 0;
    translate: 0 12px;
    transition:
      opacity 520ms cubic-bezier(0.22, 1, 0.36, 1),
      translate 520ms cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: var(--sequence-delay, 0ms);
  }

  .has-motion [data-reveal][data-reveal-sequence].is-visible > * {
    opacity: 1;
    translate: 0 0;
  }

  .has-motion .motion-image {
    opacity: 0;
    transition:
      opacity 420ms cubic-bezier(0.22, 1, 0.36, 1),
      transform 280ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  .has-motion .motion-image.is-loaded {
    opacity: 1;
  }

  .site-header .brand,
  .legal-header .legal-brand,
  .order-header .order-brand {
    animation: pharaohs-brand-arrival 460ms 30ms cubic-bezier(0.22, 1, 0.36, 1) both;
  }

  .hero__copy[data-reveal] > * {
    transition-duration: 540ms;
  }

  .hero-media[data-reveal] {
    --reveal-delay: 150ms;
  }

  :where(
    .button,
    .primary-button,
    .secondary-button,
    .category-filter,
    .mobile-basket-bar,
    .mobile-nav-toggle,
    .mobile-nav-drawer__links a,
    .mobile-nav-drawer__order,
    .order-header__link,
    .legal-header__nav a,
    .legal-footer__links a
  ) {
    transition-duration: 180ms;
    transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  }

  :where(.button, .primary-button, .secondary-button, .mobile-basket-bar):active:not(:disabled) {
    transform: translateY(1px) scale(0.985);
    transition-duration: 90ms;
  }

  :where(.button, .primary-button, .secondary-button) > [aria-hidden="true"] {
    transition: translate 180ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  :where(.button, .primary-button, .secondary-button):hover > [aria-hidden="true"] {
    translate: 3px 0;
  }

  :where(.favourite-card, .service-card, .info-card, .enquiry-card, .product-card) {
    transition-duration: 260ms;
    transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  }

  :where(.favourite-card, .service-card, .info-card, .enquiry-card, .product-card):focus-within {
    box-shadow: 0 22px 50px rgba(38, 45, 43, 0.16);
  }

  @media (hover: hover) and (pointer: fine) {
    :where(.favourite-card, .service-card, .info-card, .enquiry-card, .product-card):hover {
      transform: translateY(-4px);
    }

    :where(.hero-media, .story-van, .visit-van-card):hover .motion-image,
    .product-card:hover .product-card__media .motion-image,
    .menu-item:hover .motion-image {
      transform: scale(1.03);
    }
  }
@keyframes pharaohs-brand-arrival {
  from {
    opacity: 0;
    translate: 0 -7px;
  }

  to {
    opacity: 1;
    translate: 0 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  html:not([data-motion-preference="full"]) .site-header .brand,
  html:not([data-motion-preference="full"]) .legal-header .legal-brand,
  html:not([data-motion-preference="full"]) .order-header .order-brand {
    animation: none;
  }

  html:not([data-motion-preference="full"]).has-motion [data-reveal],
  html:not([data-motion-preference="full"]).has-motion [data-reveal][data-reveal-sequence] > *,
  html:not([data-motion-preference="full"]).has-motion .motion-image {
    opacity: 1;
    translate: none;
    transition: none;
  }

  html:not([data-motion-preference="full"]).has-motion .motion-image {
    transform: none !important;
  }

  html:not([data-motion-preference="full"]) :where(
    .button,
    .primary-button,
    .secondary-button,
    .category-filter,
    .mobile-basket-bar,
    .mobile-nav-toggle,
    .mobile-nav-drawer__links a,
    .mobile-nav-drawer__order,
    .order-header__link,
    .legal-header__nav a,
    .legal-footer__links a,
    .favourite-card,
    .service-card,
    .info-card,
    .enquiry-card,
    .product-card
  ) {
    transition: none;
  }

  html:not([data-motion-preference="full"]) :where(
    .button,
    .primary-button,
    .secondary-button,
    .mobile-basket-bar,
    .mobile-nav-toggle,
    .mobile-nav-drawer__links a,
    .mobile-nav-drawer__order,
    .favourite-card,
    .service-card,
    .info-card,
    .enquiry-card,
    .product-card
  ):is(:hover, :active) {
    transform: none !important;
  }
}

@media print {
  .has-motion [data-reveal],
  .has-motion [data-reveal][data-reveal-sequence] > *,
  .has-motion .motion-image {
    opacity: 1 !important;
    translate: none !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }
}
