/* Editorial motion tokens. Visible content is always the baseline. */
:root {
 --ed-motion-fast:150ms;
 --ed-motion-ui:220ms;
 --ed-motion-reveal:380ms;
 --ed-motion-overlay:300ms;
 --ed-motion-stagger:48ms;
 --ed-motion-distance:6px;
 --ed-motion-ease:cubic-bezier(.22,1,.36,1);
 --ed-motion-ui-ease:cubic-bezier(.2,0,0,1);
}
.nav-links a::after { bottom:-5px; transition:transform var(--ed-motion-ui) var(--ed-motion-ease); }
.nav-links a:is(:focus-visible,[aria-current="page"])::after { transform:scaleX(1); }
.nav-links a,.mobile-drawer a,.front-story h3,.ed-news-story h2 a,.editorial-event h3 a {
 transition:color var(--ed-motion-fast) var(--ed-motion-ui-ease),text-decoration-color var(--ed-motion-fast) var(--ed-motion-ui-ease);
}
:is(.front-story,.ed-news-story):focus-within { outline-offset:4px; }
:is(.front-lead-image,.front-story-image,.ed-news-story-image) { overflow:hidden; }
:is(.front-lead-image,.front-story-image,.ed-news-story-image) img { transition:transform var(--ed-motion-reveal) var(--ed-motion-ease); }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 :is(.front-lead,.front-story,.ed-news-story):hover :is(.front-lead-image,.front-story-image,.ed-news-story-image) img { transform:scale(1.018); }
}
:is(.front-lead,.front-story,.ed-news-story):focus-visible h1,
:is(.front-story,.ed-news-story):focus-within :is(h2,h3) { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.mobile-drawer { transition:transform var(--ed-motion-overlay) var(--ed-motion-ease); }
.mobile-drawer-backdrop { transition:opacity var(--ed-motion-overlay) var(--ed-motion-ui-ease); }
.site-search { transform-origin:top; }
:where(input,textarea,select) { transition:border-color var(--ed-motion-fast) var(--ed-motion-ui-ease),background-color var(--ed-motion-fast) var(--ed-motion-ui-ease); }
:where(button,a):focus-visible { outline-offset:4px; }
.editorial-venue-pin>span { transition:background-color var(--ed-motion-fast) var(--ed-motion-ui-ease),border-color var(--ed-motion-fast) var(--ed-motion-ui-ease),transform var(--ed-motion-ui) var(--ed-motion-ease); }
.editorial-venue-pin.is-selected>span { transform:scale(1.12); }
.ed-events-editorial .editorial-event { transition:background-color var(--ed-motion-ui) var(--ed-motion-ui-ease),box-shadow var(--ed-motion-ui) var(--ed-motion-ui-ease); }
.ed-events-editorial :is(.filter-chip,.editorial-view-toggle button) { transition:color var(--ed-motion-fast) var(--ed-motion-ui-ease),background-color var(--ed-motion-fast) var(--ed-motion-ui-ease); }
.ed-toast { transition:opacity var(--ed-motion-ui) var(--ed-motion-ui-ease),transform var(--ed-motion-ui) var(--ed-motion-ease); }
.progress-bar { width:100%; transform:scaleX(0); transform-origin:left; transition:none; }
@media(prefers-reduced-motion:no-preference) {
 .member-feedback-success,.member-feedback-error,.event-form-status,.submission-dialog[open] { animation:ed-feedback-arrive var(--ed-motion-ui) var(--ed-motion-ease); }
 .submission-dialog[open] { animation-duration:var(--ed-motion-overlay); }
 .kg-toggle-card[data-kg-toggle-state="open"] .kg-toggle-content,details[open]>:not(summary) { animation:ed-feedback-arrive var(--ed-motion-ui) var(--ed-motion-ease); }
}
@keyframes ed-feedback-arrive { from { opacity:.85; transform:translateY(3px); } to { opacity:1; transform:none; } }
/* Related stories and existing Mix listening links receive state feedback only. */
.related-item { transition:background-color var(--ed-motion-fast) var(--ed-motion-ui-ease); }
.related-item:is(:hover,:focus-visible) .related-title { color:var(--ed-brand); text-decoration:underline; text-underline-offset:4px; }
.mix-play { transition:color var(--ed-motion-fast) var(--ed-motion-ui-ease),border-color var(--ed-motion-fast) var(--ed-motion-ui-ease); }
:is(.article-card,.news-card,.feature-card,.mix-card,.review-card,.side-story,.hero-secondary-card) { transition:border-color var(--ed-motion-fast) var(--ed-motion-ui-ease); }
:is(.article-card,.news-card,.feature-card,.mix-card,.review-card,.side-story,.hero-secondary-card):hover { transform:none; box-shadow:none; }
.features-hero-image img { transition:transform var(--ed-motion-reveal) var(--ed-motion-ease); }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .features-hero-card:hover .features-hero-image img { transform:scale(1.018); }
}
@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
 .editorial-venue-pin.is-selected>span { transform:none; }
 :is(.front-lead-image,.front-story-image,.ed-news-story-image,.features-hero-image,.card-image) img { transform:none!important; }
 .icon-btn:active,.subscribe-btn:active { transform:none!important; }
}
