:root{--font-main:"SF Pro Text","SF Pro Display",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}body{font-family:var(--font-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes fadeDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeZoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes kenBurns{0%{transform:scale(1) translate(0)}50%{transform:scale(1.08) translate(-1%,-1%)}to{transform:scale(1) translate(0)}}@keyframes pulse{0%,to{opacity:.4;scale:1}50%{opacity:.7;scale:1.05}}@keyframes float{0%,to{transform:translateY(0) translateX(0)}25%{transform:translateY(-10px) translateX(5px)}50%{transform:translateY(-5px) translateX(-5px)}75%{transform:translateY(-15px) translateX(3px)}}.animate-pulse{opacity:.55}@media (prefers-reduced-motion:no-preference){.animate-fade-down{animation:fadeDown .6s ease-out forwards}.animate-fade-zoom-in{animation:fadeZoomIn .8s ease-out forwards}.animate-ken-burns{animation:kenBurns 25s ease-in-out infinite}.animate-pulse{animation:pulse 4s ease-in-out infinite}.animate-float{animation:float 6s ease-in-out infinite}}.hero-motion-paused .animate-float,.hero-motion-paused .animate-ken-burns,.hero-motion-paused .animate-pulse{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.hero-motion-toggle{display:none!important}[data-aos]{opacity:1!important;transform:none!important;transition:none!important}}@media (prefers-reduced-motion:no-preference){@supports ((animation-timeline:view()) and (animation-range:entry)){@keyframes scrollReveal{0%{opacity:0;translate:0 20px}}.scroll-reveal{animation:scrollReveal auto linear both;animation-timeline:view();animation-range:entry 0 entry 200px;animation-range:entry 0 entry min(100%,200px)}}}.card-accent-stripe{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#ffc700,rgba(255,199,0,.6) 50%,rgba(255,199,0,0));transform-origin:left;opacity:.85;transition:opacity .3s ease}.card-with-accent:hover .card-accent-stripe{opacity:1}@media (prefers-reduced-motion:no-preference){@supports ((animation-timeline:view()) and (animation-range:entry)){@keyframes accentStripeIn{0%{scale:0 1}}.card-with-accent{view-timeline-name:--card-reveal}.card-with-accent .card-accent-stripe{animation:accentStripeIn auto cubic-bezier(.25,1,.5,1) both;animation-timeline:--card-reveal;animation-range:entry 40% entry 100%}}}