/* DFF motion layer: readable content remains available without JavaScript. */
.hero{position:relative;isolation:isolate}
.hero-copy,.hero-art{z-index:1}
.hero::before{content:'';position:absolute;inset:-30%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 75% 35%,#a58bea24,transparent 44%),radial-gradient(ellipse at 25% 80%,#c8ff4014,transparent 40%)}
.dff-motion .hero::before{animation:dff-ambient 12s ease-in-out infinite alternate}
.dff-motion .hero-copy{animation:dff-enter .75s ease-out both}
.dff-motion .illustrated-hero>img{animation:dff-image-in .95s cubic-bezier(.2,.7,.2,1) both}
.motion-card{transform-style:preserve-3d;transition:transform .25s ease,box-shadow .25s ease;backface-visibility:hidden}
.dff-motion .motion-card:hover{box-shadow:0 18px 36px #17181724}
.dff-motion .button{transition:transform .2s ease,box-shadow .2s ease}
.dff-motion .button:hover{transform:translateY(-3px);box-shadow:0 6px 0 #805ac766}
.dff-motion .archive-arrow{transition:transform .25s ease}
.dff-motion .archive-row:hover .archive-arrow{transform:translate(4px,-4px)}
.dff-motion .dff-arrive{animation:dff-enter .65s ease-out both}
.dff-trail{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:20}
.effects-toggle{position:fixed;right:16px;bottom:16px;z-index:21;border:1px solid #a58bea70;background:#171817;color:#f3f2e9;border-radius:30px;padding:10px 15px;font-size:11px;box-shadow:0 4px 18px #0002}
.effects-toggle[aria-pressed=true]::before{content:'●';color:#c8ff40;margin-right:7px}
.effects-toggle:disabled{opacity:.7;cursor:default}
@keyframes dff-ambient{to{transform:translate(5%,-3%) rotate(8deg)}}
@keyframes dff-enter{from{transform:translateY(22px)}to{transform:translateY(0)}}
@keyframes dff-image-in{from{transform:perspective(1000px) rotateY(-10deg) translateY(20px)}to{transform:perspective(1000px) rotateY(0) translateY(0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.dff-trail{display:none}.motion-card,.button{transition:none!important;transform:none!important}.hero-copy,.hero::before,.illustrated-hero>img,.dff-arrive{animation:none!important}}
@media(hover:none),(pointer:coarse){.dff-trail{display:none}.motion-card{transform:none!important}.effects-toggle{bottom:10px;right:10px}}
@media print{.dff-trail,.effects-toggle{display:none}}
