@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-in-up{from{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-down{from{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{from{opacity:0;transform:translateY(2rem)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse-soft{0%,100%{opacity:1}50%{opacity:.6}}@keyframes float-slow{0%,100%{transform:translateY(0)}50%{transform:translateY(-.75rem)}}@keyframes float-slower{0%,100%{transform:translateY(0)}50%{transform:translateY(-.5rem)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-ring{0%{transform:scale(.5);opacity:.75}80%{transform:scale(2.4);opacity:0}100%{transform:scale(2.4);opacity:0}}@keyframes route-flow{to{stroke-dashoffset:-32}}@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes shimmer{from{background-position:-200% 0}to{background-position:200% 0}}@keyframes glow-pulse{0%,100%{box-shadow:0 0 0 0 rgba(0,184,217,.35)}50%{box-shadow:0 0 0 .5rem rgba(0,184,217,0)}}.reveal{opacity:0;transform:translateY(1.75rem);transition:opacity var(--duration-slower) var(--ease-out),transform var(--duration-slower) var(--ease-out);will-change:opacity,transform}.reveal--left{transform:translateX(-2rem)}.reveal--right{transform:translateX(2rem)}.reveal--scale{transform:scale(.94)}.reveal--none{transform:none}.reveal.is-revealed{opacity:1;transform:none}.reveal-stagger>*{opacity:0;transform:translateY(1.5rem);transition:opacity var(--duration-slower) var(--ease-out),transform var(--duration-slower) var(--ease-out)}.reveal-stagger.is-revealed>*{opacity:1;transform:none}.reveal-stagger.is-revealed>:first-child{transition-delay:0s}.reveal-stagger.is-revealed>:nth-child(2){transition-delay:80ms}.reveal-stagger.is-revealed>:nth-child(3){transition-delay:160ms}.reveal-stagger.is-revealed>:nth-child(4){transition-delay:240ms}.reveal-stagger.is-revealed>:nth-child(5){transition-delay:320ms}.reveal-stagger.is-revealed>:nth-child(6){transition-delay:0.4s}.reveal-stagger.is-revealed>:nth-child(7){transition-delay:480ms}.reveal-stagger.is-revealed>:nth-child(8){transition-delay:560ms}.reveal-stagger.is-revealed>:nth-child(n+9){transition-delay:640ms}.no-js .reveal,.no-js .reveal-stagger>*{opacity:1;transform:none}.hover-lift{transition:transform var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.hover-grow{transition:transform var(--duration-fast) var(--ease-out)}.hover-grow:hover{transform:scale(1.03)}.link-underline{position:relative;text-decoration:none}.link-underline::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;background:var(--color-accent);transform:scaleX(0);transform-origin:right;transition:transform var(--duration-base) var(--ease-out)}.link-underline:hover::after{transform:scaleX(1);transform-origin:left}.animate-fade-in{animation:fade-in var(--duration-slow) var(--ease-out) both}.animate-fade-up{animation:fade-in-up var(--duration-slow) var(--ease-out) both}.animate-scale-in{animation:scale-in var(--duration-base) var(--ease-out) both}.animate-pulse{animation:pulse-soft 2s var(--ease-in-out) infinite}.animate-float{animation:float-slow 5s var(--ease-in-out) infinite}.animate-float-slow{animation:float-slower 7s var(--ease-in-out) infinite}.animate-spin{animation:spin 1s linear infinite}.animate-pulse-ring{animation:pulse-ring 2.4s var(--ease-out) infinite}.animate-glow{animation:glow-pulse 2.6s var(--ease-in-out) infinite}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}