/* Shared motion language. No scroll hijacking or perpetual subpage loops. */
:root {
  --motion-enter: cubic-bezier(.22,1,.36,1);
  --motion-content: 620ms;
  --motion-image: 780ms;
}
.button,.menu-toggle,.topic-filter,.filter,.faq-list summary {touch-action:manipulation}
.desktop-nav a[aria-current="page"],.desktop-nav a[data-section-active="true"] {text-decoration:underline;text-decoration-color:var(--lime);text-underline-offset:8px}
html[data-input="keyboard"] {scroll-behavior:auto}
html[data-input="keyboard"] .roll-track,
html[data-input="keyboard"] .faq-list summary>span {transition:none!important}
html[data-input="keyboard"] .roll-track {transform:none!important}
.sub-page .journal-card:focus-visible {outline-color:#111}
.sub-page .journal .journal-card:focus-visible {outline-color:var(--lime)}
.site-cta .button:focus-visible {outline-color:#111}

@media(prefers-reduced-motion:no-preference) {
  [data-scroll-reveal] {
    opacity:1;
    transform:none;
    transition:opacity var(--motion-content) var(--motion-enter) var(--reveal-delay,0ms),
               transform var(--motion-content) var(--motion-enter) var(--reveal-delay,0ms);
  }
  [data-scroll-reveal="image"] {--motion-content:var(--motion-image)}
  [data-scroll-reveal].is-reveal-pending {opacity:0;transform:translateY(28px)}
  [data-scroll-reveal]:focus-within,[data-scroll-reveal].reveal-instant {opacity:1;transform:none;transition:none}
  .button:active {transform:scale(.98);transition-duration:0s}
  html[data-input="keyboard"] .button:active {transform:none}
}
@media(max-width:767px) and (prefers-reduced-motion:no-preference) {
  [data-scroll-reveal] {--motion-content:480ms;--motion-image:580ms;--reveal-delay:0ms!important}
  [data-scroll-reveal].is-reveal-pending {transform:translateY(18px)}
}
@media(hover:hover) and (pointer:fine) {
  .directory-links .text-link,.footer-service-links a {transition:color 140ms ease}
  .directory-links .text-link:hover {text-decoration:underline;text-underline-offset:5px}
}
@media(hover:none) {
  .button:hover {transform:none}
  .journal-card:hover .journal-image img,.journal-card:hover .journal-open,
  .journal-card:hover .journal-read>span,.spotlight-image:hover>img,
  .directory-group:hover img,.case-visual:hover img {transform:none}
  .journal-image img,.directory-visual img,.spotlight-image>img,.case-visual img {filter:none}
}
@media(prefers-reduced-motion:reduce),print {
  [data-scroll-reveal],[data-scroll-reveal].is-reveal-pending {opacity:1!important;transform:none!important;transition:none!important}
}
