:root{--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1)}
.reveal{opacity:1;transform:none}.js-ready .reveal:not(.is-visible){opacity:0;transform:translateY(16px)}.reveal.is-visible{animation:reveal-in .6s var(--ease-out) both}.hero .reveal:nth-child(2){animation-delay:70ms}.hero .reveal:nth-child(3){animation-delay:140ms}.hero .reveal:nth-child(4){animation-delay:210ms}.hero .reveal:nth-child(5){animation-delay:280ms}
.js-ready .reveal-section > :not(svg){opacity:0;transform:translateY(18px)}.reveal-section.is-visible > :not(svg){animation:reveal-in .65s var(--ease-out) both}.reveal-section.is-visible > :nth-child(2){animation-delay:50ms}.reveal-section.is-visible > :nth-child(3){animation-delay:110ms}.reveal-section.is-visible > :nth-child(4){animation-delay:170ms}.reveal-section.is-visible > .gallery-grid{animation-delay:170ms}
.doodle{animation:float 5s ease-in-out infinite}.wordmark i{animation:spin 16s linear infinite}.section-doodle{transform-origin:center;animation:drift 7s ease-in-out infinite}.doodle-concept{animation:rock 8s ease-in-out infinite}.doodle-contact{animation:spin-slow 20s linear infinite}.contact-social::after{animation:ring 8s linear infinite}
@keyframes reveal-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes float{50%{transform:translateY(-8px)}}@keyframes drift{50%{transform:translate(0,-8px) rotate(4deg)}}@keyframes rock{50%{transform:rotate(-5deg) translateY(-5px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spin-slow{to{transform:rotate(360deg)}}@keyframes ring{to{transform:rotate(357deg)}}
@media (prefers-reduced-motion:reduce){.reveal.is-visible,.reveal-section.is-visible > :not(svg){animation:fade-in .2s ease both}.section-doodle,.doodle,.wordmark i,.contact-social::after{animation:none!important}*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}@keyframes fade-in{from{opacity:0}to{opacity:1}}}
html[data-motion="paused"] .reveal,html[data-motion="paused"] .reveal-section > :not(svg){opacity:1!important;transform:none!important;animation:none!important}html[data-motion="paused"] .section-doodle,html[data-motion="paused"] .doodle,html[data-motion="paused"] .hero-stars,html[data-motion="paused"] .wordmark i,html[data-motion="paused"] .contact-social::after,html[data-motion="paused"] .contact-ring,html[data-motion="paused"] .contact-star,html[data-motion="paused"] .contact-arc{animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce){.contact-ring,.contact-star,.contact-arc,.hero-stars{animation:none!important}}
