@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,200..800&family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Syne:wght@400;500;600;700;800&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#050505;--bg-secondary:#0a0a0a;--bg-card:#0f0f0f;--bg-elevated:#141414;--text-primary:#f5f5f5;--text-secondary:#888;--text-muted:#555;--accent-blue:#4d7cfe;--accent-pink:#ff3c78;--accent-green:#00e87b;--accent-purple:#9747ff;--accent-orange:#ff6b2b;--accent-cyan:#00d4ff;--accent-yellow:#ffe135;--gradient-1:linear-gradient(135deg, #4d7cfe, #ff3c78);--gradient-2:linear-gradient(135deg, #ff3c78, #9747ff);--gradient-3:linear-gradient(135deg, #00e87b, #00d4ff);--gradient-4:linear-gradient(135deg, #ff6b2b, #ffe135);--gradient-text:linear-gradient(135deg, #4d7cfe, #ff3c78, #9747ff);--gradient-rainbow:linear-gradient(135deg, #4d7cfe, #00e87b, #ff3c78, #9747ff, #00d4ff);--font-display:"Bricolage Grotesque", sans-serif;--font-body:"DM Sans", sans-serif;--font-accent:"Syne", sans-serif}html{scroll-behavior:auto;background-color:var(--bg-primary)}section[id]{scroll-margin-top:80px}:focus-visible{outline:2px solid var(--accent-blue);outline-offset:3px;border-radius:4px}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}html,body,#root{width:100%;height:100%}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}input,textarea{cursor:text}::selection{background:var(--accent-pink);color:#fff}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--gradient-1);border-radius:2px}.gradient-text{background:var(--gradient-text);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.gradient-text-rainbow{background:var(--gradient-rainbow);-webkit-text-fill-color:transparent;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;animation:4s infinite gradientShift}@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:100%}}.container{max-width:1400px;margin:0 auto;padding:0 2rem}.grain-overlay{pointer-events:none;z-index:9999;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");width:100%;height:100%;position:fixed;top:0;left:0}.section-alt{background:var(--bg-secondary)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}@keyframes float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-20px)rotate(2deg)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #4d7cfe4d}50%{box-shadow:0 0 40px #ff3c7866}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=768px){.container{padding:0 1rem}body,button,input,textarea{cursor:auto}.hero-laptop{display:none!important}.hero-cta{justify-content:center;width:100%}.services-line,.projects-line,.about-line,.contact-line{margin-bottom:3rem!important}}
