/* Markers are in the generated HTML, never added to already-painted content.
 * Opacity/translate only: normal flow, card hover, mirrors and parallax survive.
 */
html.hee-motion-enabled [data-hee-reveal] {
  --hee-enter-x: 0px;
  --hee-enter-y: 18px;
  --hee-enter-delay: 0ms;
  opacity: 0;
  translate: var(--hee-enter-x) var(--hee-enter-y);
}
html.hee-motion-enabled [data-hee-reveal="left"] { --hee-enter-x: -20px; --hee-enter-y: 0px; }
html.hee-motion-enabled [data-hee-reveal="right"] { --hee-enter-x: 20px; --hee-enter-y: 0px; }
html.hee-motion-enabled [data-hee-delay="60"] { --hee-enter-delay: 60ms; }
html.hee-motion-enabled [data-hee-delay="120"] { --hee-enter-delay: 120ms; }
html.hee-motion-enabled [data-hee-delay="180"] { --hee-enter-delay: 180ms; }
html.hee-motion-enabled [data-hee-reveal].hee-is-visible {
  opacity: 1;
  translate: none;
  animation: hee-enter 560ms cubic-bezier(.2, .7, .2, 1) var(--hee-enter-delay) both;
}
html.hee-motion-enabled [data-hee-reveal].hee-reveal-instant,
html.hee-motion-enabled [data-hee-reveal]:focus-within {
  opacity: 1;
  translate: none;
  animation: none;
}
@keyframes hee-enter {
  from { opacity: 0; translate: var(--hee-enter-x) var(--hee-enter-y); }
  to { opacity: 1; translate: 0px 0px; }
}
@media (max-width: 700px) {
  /* Small movements remain inside the page gutters on narrow screens. */
  html.hee-motion-enabled [data-hee-reveal] { --hee-enter-y: 12px; }
  html.hee-motion-enabled [data-hee-reveal="left"] { --hee-enter-x: -10px; --hee-enter-y: 0px; }
  html.hee-motion-enabled [data-hee-reveal="right"] { --hee-enter-x: 10px; --hee-enter-y: 0px; }
}
@media (prefers-reduced-motion: reduce) {
  html.hee-motion-enabled [data-hee-reveal] {
    opacity: 1; translate: none; animation: none;
  }
  .hee-contact__phone { transition: none; }
}
@media print {
  html.hee-motion-enabled [data-hee-reveal] {
    opacity: 1; translate: none; animation: none;
  }
}
