/* Cross-document transitions preserve ordinary links and browser history. */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: page-out 240ms ease-out both; }
::view-transition-new(root) { animation: page-in 360ms cubic-bezier(.22,1,.36,1) both; }
::view-transition-group(root) { animation-duration: 360ms; }
@keyframes page-out { to { opacity: 0; } }
@keyframes page-in { from { opacity: 0; } to { opacity: 1; } }
.nav, body > header { view-transition-name: site-header; }
::view-transition-group(site-header) { animation-duration: 360ms; animation-timing-function: cubic-bezier(.22,1,.36,1); }
.button, .primary, .time { transition: background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.button:hover, .primary:hover { transform: translateY(-1px); box-shadow: 0 5px 15px #6e29481a; }
.button:active, .primary:active { transform: translateY(0); }
.hero-copy { position: relative; isolation: isolate; overflow: hidden; }
.hero-copy::before { content: ''; position: absolute; inset: -20%; z-index: -1; pointer-events: none; background: radial-gradient(ellipse at 22% 30%, #edb5d36b, transparent 58%), radial-gradient(ellipse at 80% 75%, #ffc85d66, transparent 60%); transform: translate3d(-3%, -2%, 0); animation: warm-drift 18s ease-in-out infinite alternate; }
@keyframes warm-drift { to { transform: translate3d(5%, 4%, 0) scale(1.08); } }
.hero-copy.motion-paused::before { animation-play-state: paused; }
.motion-toggle { position: absolute; left: 24px; bottom: 16px; background: #fff8efcc; color: #684251; border: 1px solid #d7b9b6; border-radius: 30px; padding: 9px 13px; font: 12px Arial, sans-serif; cursor: pointer; }
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
  html { scroll-behavior: auto !important; }
  .hero-copy::before { animation: none; transform: none; }
  .motion-toggle { display: none; }
  .button, .primary, .time { transition: none; }
  .button:hover, .primary:hover { transform: none; }
}
