/* Quixotesco v0.15.0 — motion supports navigation; content stays available. */
:root {
 --qx-motion-micro: 150ms;
 --qx-motion-ui: 280ms;
 --qx-motion-editorial: 360ms;
 --qx-motion-slow: 420ms;
 --qx-ease-out: cubic-bezier(.22, 1, .36, 1);
 --qx-ease-inout: cubic-bezier(.65, 0, .35, 1);
 --qx-ease-snap: cubic-bezier(.2, .8, .2, 1);
}
a, button { transition: color var(--qx-motion-micro) var(--qx-ease-out), background-color var(--qx-motion-micro) var(--qx-ease-out), border-color var(--qx-motion-micro) var(--qx-ease-out); }
.qx-menu-overlay, .qx-search-overlay {
 opacity: 0;
 pointer-events: none;
 transition: opacity 200ms var(--qx-ease-out);
}
.qx-menu-overlay.is-open, .qx-search-overlay.is-open {
 opacity: 1;
 pointer-events: auto;
 transition-duration: 280ms;
}
/* The actual opaque overlay animates. Panels and controls have no delayed reveal. */
.qx-menu-panel, .qx-search-panel { clip-path: none; }
.qx-js [data-qx-hero-image] { opacity: .85; }
.qx-js.qx-ready [data-qx-hero-image] { opacity: 1; transition: opacity 360ms var(--qx-ease-out); }
.qx-js .qx-cats-card { opacity: .85; }
.qx-js.qx-ready .qx-cats-card { opacity: 1; transition: opacity 240ms var(--qx-ease-out); }
.qx-js [data-qx-reveal] { opacity: 0; transform: translateY(8px); }
.qx-js [data-qx-reveal].is-revealed, .qx-js [data-qx-reveal]:focus-within { opacity: 1; transform: none; transition: opacity 280ms var(--qx-ease-out), transform 280ms var(--qx-ease-out); }
/* No opacity change for section surfaces or for a list waiting for the server. */
.qx-recent-results, .qx-recent-results[aria-busy="true"] { opacity: 1; }
.qx-recent-arrow, .qx-link-arrow { transition: transform 150ms var(--qx-ease-out); }
.qx-menu-primary .label { transition: color 150ms var(--qx-ease-out); }
@media (hover: hover) and (pointer: fine) {
 .qx-recent-row-link:hover .qx-recent-arrow,
 .qx-secondary-story a:hover .qx-link-arrow,
 .qx-recent-archive a:hover .qx-link-arrow { transform: translateX(3px); }
 .qx-menu-primary a:hover .label { color: var(--qx-gold-brand); }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
 *, *::before, *::after { animation: none !important; transition-duration: 0ms !important; transition-delay: 0ms !important; scroll-behavior: auto !important; }
 .qx-js [data-qx-reveal], .qx-js [data-qx-hero-image], .qx-js .qx-cats-card { opacity: 1; transform: none; }
}
