:root{--color-primary:#8b5cf6;--color-primary-light:#a78bfa;--color-secondary:#ec4899;--color-secondary-light:#f472b6;--bg-primary-light:#ffffff;--bg-secondary-light:#f9fafb;--bg-accent-light:#f3f4f6;--text-primary-light:#111827;--text-secondary-light:#6b7280;--text-accent-light:#374151;--border-light:#e5e7eb;--border-accent-light:#d1d5db}[data-theme=dark]{--bg-primary-dark:#111827;--bg-secondary-dark:#1f2937;--bg-accent-dark:#374151;--text-primary-dark:#ffffff;--text-secondary-dark:#d1d5db;--text-accent-dark:#9ca3af;--border-dark:#374151;--border-accent-dark:#4b5563}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.gradient-text{background:linear-gradient(to right,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.gradient-bg{background:linear-gradient(to bottom right,var(--color-primary),var(--color-secondary))}.glass-effect{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.theme-transition{transition:background-color .5s ease,color .5s ease,border-color .5s ease}.focus-outline:focus{outline:2px solid var(--color-primary);outline-offset:2px}.scroll-indicator{position:relative}.scroll-indicator:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:linear-gradient(to right,var(--color-primary),var(--color-secondary));transform:scaleX(0);transition:transform .3s ease}.scroll-indicator.active:after{transform:scaleX(1)}@keyframes fade-in-up{0%{opacity:0;transform:translateY(2rem)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translateX(-2.5rem)}to{opacity:1;transform:translateX(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translateX(2.5rem)}to{opacity:1;transform:translateX(0)}}.animate-fade-in-up{animation:fade-in-up 1s ease-out forwards}.animate-slide-in-left{animation:slide-in-left 1s ease-out forwards}.animate-slide-in-right{animation:slide-in-right 1s ease-out forwards}.animate-load-nav{animation:fade-in-up 1s ease-out forwards}.animate-load-hero{animation:fade-in-up 1.5s ease-out forwards}.hover-scale{transition:transform .3s ease,box-shadow .3s ease}.hover-scale:hover{transform:scale(1.05)}.animate-bg-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-bg-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}