/* Shared motion roles; page-specific art direction keeps its own timing. */
:root {
  --motion-feedback: 180ms;
  --motion-reveal: 600ms;
  --motion-ease: cubic-bezier(.625, .05, 0, 1);
}

/* Reading never depends on the reveal initializer succeeding. */
[data-animation-transition="fade-up"] {
  opacity: 1;
  visibility: visible;
  transform: none;
}

html:not(.w-mod-js) :is(.loading-screen, .home-loading, .transition-screen, .main-transition-overlay) {
  display: none;
}
html:not(.w-mod-js) body.body.is-home-loading .header :is(.nav-logo, .desktop-nav, .btn-hamburger__wrap) {
  opacity: 1;
  visibility: visible;
  transform: none;
}

.pidw-motion-pause {
  min-height: 44px;
  padding: .65rem 1rem;
  border: 1px solid currentColor;
  background: transparent;
  color: inherit;
  font: 400 .875rem/1.4 Axiforma, Arial, sans-serif;
  cursor: pointer;
  transition: color var(--motion-feedback) var(--motion-ease),
    background-color var(--motion-feedback) var(--motion-ease);
}
.pidw-motion-pause:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.pidw-route-recovery {
  position: relative;
  z-index: 4;
  padding: calc(var(--site-header-offset, 7rem) + 1rem) var(--container-padding, 1rem) 1rem;
  background: var(--site-panel, #fafafa);
  color: var(--site-ink, #121215);
  border-bottom: 2px solid var(--color-primary, #742a20);
}
.pidw-route-recovery a { display: inline-block; min-height: 44px; padding: .75rem 0; text-decoration: underline; }
@media (hover: hover) and (pointer: fine) {
  .pidw-motion-pause:hover {
    background: var(--color-primary, #742a20);
    color: var(--color-light, #fafafa);
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation: none !important;
    transition-duration: 0s !important;
    scroll-behavior: auto !important;
  }

  .loading-screen, .home-loading, .transition-screen, .main-transition-overlay {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body.is-home-loading :is(.nav-logo, .desktop-nav, .btn-hamburger__wrap),
  [data-animation-transition="fade-up"],
  [data-animate-scroll][data-animation-transition="fade"],
  [data-animation-scroll="target"], [data-animation-scroll="target-before"],
  [data-scroll-animation="fade-in"], [data-scroll-animation-target],
  .timeline-item, .single-word-inner, .single-char-inner {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  [data-marquee-target] :is(.marquee-scroll, .marquee-content) {
    transform: none !important;
    width: auto;
    flex-wrap: wrap;
  }
  [data-marquee-target] .marquee-scroll { display: block; }
  [data-marquee-target], [data-marquee-target] .marquee-group { overflow: visible; }
}
