/* Progressive enhancement: content is always visible before and without JS. */
.sm-reveal {
  --sm-enter-x: 0px;
  --sm-enter-y: 26px;
  --sm-enter-rotate: 0deg;
  --sm-enter-delay: 0ms;
  transform-origin: 50% 60%;
}
.sm-reveal.sm-from-left { --sm-enter-x: -22px; }
.sm-reveal.sm-from-right { --sm-enter-x: 22px; }
.sm-reveal.sm-panel-turn {
  --sm-enter-y: 22px;
  --sm-enter-rotate: -4deg;
}
.sm-reveal.sm-panel-turn.sm-from-left { --sm-enter-rotate: 4deg; }
.sm-reveal.sm-reveal-in {
  animation: sm-arrive 780ms cubic-bezier(.18,.7,.25,1) var(--sm-enter-delay) both;
}
.sm-reveal.sm-reveal-in:focus-within { animation: none; }
@keyframes sm-arrive {
  from {
    opacity: .6;
    transform: perspective(1300px) translate3d(var(--sm-enter-x), var(--sm-enter-y), 0) rotateY(var(--sm-enter-rotate));
  }
  to { opacity: 1; transform: none; }
}

@media (hover:hover) and (pointer:fine) and (min-width:1000px) and (prefers-reduced-motion:no-preference) {
  .product-shot.sm-tilt-card {
    --sm-rotate-x: 0deg;
    --sm-rotate-y: 0deg;
    position: relative;
    transform: perspective(1300px) rotateX(var(--sm-rotate-x)) rotateY(var(--sm-rotate-y));
    transform-origin: center;
    transition: transform 420ms cubic-bezier(.2,.65,.25,1), box-shadow 420ms ease, border-color 420ms ease;
  }
  .product-shot.sm-tilt-active {
    transform: perspective(1300px) translateY(-4px) rotateX(var(--sm-rotate-x)) rotateY(var(--sm-rotate-y));
    box-shadow: 0 22px 44px #173f3521, 0 4px 12px #173f3510;
    border-color: #b8ccbc;
    transition-duration: 170ms, 420ms, 420ms;
  }
  .product-shot.sm-tilt-card:focus-within {
    transform: none;
    transition-duration: 180ms;
  }
  .heading-illustration {
    transition: transform 560ms cubic-bezier(.2,.7,.25,1);
    transform-origin: 50% 75%;
  }
  .business-row:hover .heading-illustration,
  .knowledge-grid:hover .heading-illustration,
  .live-grid:hover .heading-illustration {
    transform: translateY(-5px) rotate(-3deg);
  }
  .coverage-icon { transition: transform 420ms ease, color 420ms ease; }
  .coverage-grid article:hover .coverage-icon {
    transform: translateY(-3px) rotate(-5deg);
    color: #e1c682;
  }
}
@media (max-width:760px) {
  .sm-reveal,
  .sm-reveal.sm-from-left,
  .sm-reveal.sm-from-right,
  .sm-reveal.sm-panel-turn {
    --sm-enter-x: 0px;
    --sm-enter-y: 16px;
    --sm-enter-rotate: 0deg;
  }
  .sm-reveal.sm-reveal-in { animation-duration: 600ms; }
}
@media (prefers-reduced-motion:reduce) {
  .sm-reveal.sm-reveal-in { animation: none !important; opacity: 1; transform: none; }
  .sm-tilt-card,
  .sm-tilt-active,
  .heading-illustration,
  .coverage-icon { transform: none !important; transition: none !important; }
}
