:root{--bg-color:#fafafa;--bg-gradient:radial-gradient(circle at center top,#ffffff 0%,#f1f5f9 100%);--text-primary:#0f172a;--text-secondary:#475569;--primary:#7c3aed;--primary-rgb:124 58 237;--primary-hover:#6d28d9;--primary-soft:#f3edff;--primary-border:#d8c7fa;--primary-on-dark:#d8b4fe;--primary-glow:rgb(var(--primary-rgb)/0.3);--accent:#a21caf;--accent-glow:rgba(162,28,175,0.3);--secondary:#db2777;--glass-bg:rgba(255,255,255,0.7);--glass-hover:rgba(255,255,255,0.9);--glass-border:rgba(15,23,42,0.08);--glass-blur:blur(16px);--radius-lg:24px;--radius-md:16px;--radius-sm:8px;--container-width:1200px;--nav-height:80px;--transition-fast:0.2s ease;--transition-normal:0.3s cubic-bezier(0.25,0.8,0.25,1);--transition-slow:0.5s cubic-bezier(0.25,0.8,0.25,1)}*{box-sizing:border-box;padding:0;margin:0}body,html{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-inter),sans-serif;overflow-x:clip;scroll-behavior:smooth;min-height:100vh}body:before{content:"";position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--bg-gradient);z-index:-1}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit}ul{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-outfit),sans-serif;font-weight:700;line-height:1.1;letter-spacing:-.02em}p{line-height:1.6;color:var(--text-secondary)}.container{width:100%;max-width:var(--container-width);margin:0 auto;padding:0 2rem}.text-gradient{background:linear-gradient(135deg,var(--primary),var(--accent),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}.glass-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:all var(--transition-normal)}.glass-card:hover{background:var(--glass-hover);border-color:rgba(255,255,255,.15);transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,0,0,.5)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes pulse-glow{0%,to{opacity:.5}50%{opacity:.8}}.animate-fade-in{animation:fadeIn .8s cubic-bezier(.25,.8,.25,1) forwards}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (prefers-reduced-motion:reduce){body,html{scroll-behavior:auto}}