:root{--bg-primary: #fafafa;--bg-secondary: #f0f0f0;--bg-tertiary: #e8e8e8;--bg-card: #ffffff;--text-primary: #111111;--text-secondary: #555555;--text-muted: #888888;--accent-primary: #2563eb;--accent-secondary: #0891b2;--accent-tertiary: #64748b;--accent-warning: #f59e0b;--gradient-primary: linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));--gradient-glow: linear-gradient(135deg, var(--accent-primary), var(--accent-secondary), var(--accent-tertiary));--gradient-dark: linear-gradient(180deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);--font-display: "Space Grotesk", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 2rem;--space-xl: 4rem;--space-2xl: 8rem;--space-3xl: 12rem;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);--ease-in-out-circ: cubic-bezier(.85, 0, .15, 1);--blur-sm: 4px;--blur-md: 12px;--blur-lg: 24px;--blur-xl: 48px;--glow-sm: 0 0 20px;--glow-md: 0 0 40px;--glow-lg: 0 0 80px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden;cursor:none;background-image:radial-gradient(circle at 20% 50%,rgba(37,99,235,.06) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(8,145,178,.06) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(100,116,139,.04) 0%,transparent 50%)}@media(hover:none){body{cursor:auto}}a{color:inherit;text-decoration:none}img,video,svg{display:block;max-width:100%}button{font:inherit;cursor:none;border:none;background:none}ul,ol{list-style:none}.cursor{position:fixed;top:0;left:0;pointer-events:none;z-index:99999;mix-blend-mode:difference}.cursor-dot{width:8px;height:8px;background:var(--accent-primary);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 10px var(--accent-primary)}.cursor-outline{width:40px;height:40px;border:2px solid var(--accent-primary);border-radius:50%;transform:translate(-50%,-50%);transition:all .15s var(--ease-out-expo);opacity:.5}.cursor-outline.hovering{width:60px;height:60px;background:#2563eb1a;border-color:var(--accent-secondary);opacity:1}.cursor-outline.clicking{transform:translate(-50%,-50%) scale(.8)}.noise-overlay{position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.015;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");background-repeat:repeat}.grid-bg{position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(rgba(0,0,0,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.03) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse 80% 50% at 50% 50%,black 40%,transparent 100%)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.1;letter-spacing:-.02em}.heading-display{font-size:clamp(3rem,12vw,10rem);font-weight:800;text-transform:uppercase;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.heading-xl{font-size:clamp(2.5rem,8vw,6rem)}.heading-lg{font-size:clamp(2rem,5vw,4rem)}.heading-md{font-size:clamp(1.5rem,3vw,2.5rem)}.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-glow{text-shadow:var(--glow-sm) var(--accent-primary)}.mono{font-family:var(--font-mono)}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);font-family:var(--font-display);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;border-radius:var(--radius-full);transition:all .4s var(--ease-out-expo);overflow:hidden}.btn-primary{background:var(--gradient-primary);color:var(--bg-primary)}.btn-primary:before{content:"";position:absolute;inset:0;background:var(--text-primary);transform:translateY(100%);transition:transform .4s var(--ease-out-expo)}.btn-primary:hover:before{transform:translateY(0)}.btn-primary span{position:relative;z-index:1}.btn-outline{border:1px solid var(--text-muted);color:var(--text-primary)}.btn-outline:hover{border-color:var(--accent-primary);color:var(--accent-primary);box-shadow:var(--glow-sm) var(--accent-primary)}.btn-magnetic{transition:transform .3s var(--ease-out-expo)}.card{position:relative;background:var(--bg-card);border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-lg);overflow:hidden;transition:all .5s var(--ease-out-expo);box-shadow:0 4px 20px #0000000d}.card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(37,99,235,.04) 0%,transparent 50%,transparent 100%);opacity:0;transition:opacity .5s var(--ease-out-expo)}.card:hover{border-color:#2563eb4d;transform:translateY(-4px);box-shadow:0 20px 40px -20px #2563eb26,0 0 60px -30px var(--accent-primary)}.card:hover:before{opacity:1}.glass{background:#ffffffb3;backdrop-filter:blur(var(--blur-md));border:1px solid rgba(0,0,0,.08);box-shadow:0 8px 32px #00000014}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--space-lg)}.section{padding:var(--space-3xl) 0}.bento-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md)}.bento-item{min-height:300px}.bento-item.span-2{grid-column:span 2}.bento-item.span-3{grid-column:span 3}.bento-item.row-2{grid-row:span 2}@media(max-width:1024px){.bento-grid{grid-template-columns:repeat(2,1fr)}.bento-item.span-3{grid-column:span 2}}@media(max-width:640px){.bento-grid{grid-template-columns:1fr}.bento-item.span-2,.bento-item.span-3{grid-column:span 1}}[data-reveal]{opacity:0;transform:translateY(60px);transition:all 1s var(--ease-out-expo)}[data-reveal].revealed{opacity:1;transform:translateY(0)}[data-reveal=left]{transform:translate(-60px)}[data-reveal=left].revealed{transform:translate(0)}[data-reveal=right]{transform:translate(60px)}[data-reveal=right].revealed{transform:translate(0)}[data-reveal=scale]{transform:scale(.9)}[data-reveal=scale].revealed{transform:scale(1)}[data-delay="1"]{transition-delay:.1s}[data-delay="2"]{transition-delay:.2s}[data-delay="3"]{transition-delay:.3s}[data-delay="4"]{transition-delay:.4s}[data-delay="5"]{transition-delay:.5s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.float{animation:float 8s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 10px var(--accent-primary)}50%{box-shadow:0 0 20px var(--accent-primary)}}.pulse-glow{animation:pulse-glow 4s ease-in-out infinite}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.gradient-animate{background-size:200% 200%;animation:gradient-shift 8s ease infinite}.line-reveal{overflow:hidden}.line-reveal span{display:block;transform:translateY(100%);transition:transform .8s var(--ease-out-expo)}.line-reveal.revealed span{transform:translateY(0)}.marquee{overflow:hidden;white-space:nowrap}.marquee-inner{display:inline-flex;animation:marquee 30s linear infinite}.marquee:hover .marquee-inner{animation-play-state:paused}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee-item{padding:0 var(--space-xl);font-size:clamp(2rem,5vw,4rem);font-family:var(--font-display);font-weight:700;text-transform:uppercase;opacity:.3;transition:opacity .3s}.marquee-item:hover{opacity:1}.form-group{position:relative;margin-bottom:var(--space-lg)}.form-input{width:100%;padding:var(--space-md) 0;font-family:var(--font-body);font-size:1rem;color:var(--text-primary);background:transparent;border:none;border-bottom:1px solid var(--text-muted);outline:none;transition:border-color .3s}.form-input:focus{border-color:var(--accent-primary)}.form-input::placeholder{color:var(--text-muted)}.form-label{position:absolute;left:0;top:var(--space-md);font-size:1rem;color:var(--text-muted);pointer-events:none;transition:all .3s var(--ease-out-expo)}.form-input:focus~.form-label,.form-input:not(:placeholder-shown)~.form-label{top:-.75rem;font-size:.75rem;color:var(--accent-primary)}.form-input-line{position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--gradient-primary);transition:width .4s var(--ease-out-expo)}.form-input:focus~.form-input-line{width:100%}textarea.form-input{resize:none;min-height:120px}.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}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.text-center{text-align:center}.text-right{text-align:right}.w-full{width:100%}.h-full{height:100%}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.overflow-hidden{overflow:hidden}.opacity-50{opacity:.5}.opacity-70{opacity:.7}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--accent-secondary)}html{scrollbar-width:thin;scrollbar-color:var(--accent-primary) var(--bg-secondary)}::selection{background:var(--accent-primary);color:var(--bg-primary)}.gradient-bg{position:fixed;inset:0;z-index:-2;background:linear-gradient(125deg,#fff,#f0f8ff,#f5fff5,#fff5f8,#fff);background-size:400% 400%;animation:gradient-flow 15s ease infinite}@keyframes gradient-flow{0%,to{background-position:0% 50%}25%{background-position:50% 100%}50%{background-position:100% 50%}75%{background-position:50% 0%}}.gradient-orb{position:fixed;border-radius:50%;filter:blur(150px);opacity:.1;pointer-events:none;z-index:-1}.gradient-orb-1{width:50vw;height:50vw;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));top:-20%;right:-20%}[data-parallax]{will-change:transform;transition:transform .1s linear}.parallax-container{perspective:1000px;overflow:hidden}.morph-shape{position:absolute;pointer-events:none;opacity:.1}.morph-shape svg{width:100%;height:100%}.morph-shape path{fill:none;stroke:url(#morph-gradient);stroke-width:1;animation:morph-path 10s ease-in-out infinite}@keyframes morph-path{0%,to{d:path("M 100,50 Q 150,0 200,50 Q 250,100 200,150 Q 150,200 100,150 Q 50,100 100,50")}25%{d:path("M 100,30 Q 180,20 200,80 Q 220,140 150,170 Q 80,200 60,130 Q 40,60 100,30")}50%{d:path("M 120,40 Q 200,60 180,120 Q 160,180 100,160 Q 40,140 50,80 Q 60,20 120,40")}75%{d:path("M 80,60 Q 140,10 200,70 Q 260,130 180,170 Q 100,210 50,140 Q 0,70 80,60")}}.reveal-clip{clip-path:inset(0 100% 0 0);transition:clip-path 1s var(--ease-out-expo)}.reveal-clip.revealed{clip-path:inset(0 0% 0 0)}.reveal-slide{overflow:hidden}.reveal-slide-inner{transform:translateY(100%);transition:transform .8s var(--ease-out-expo)}.reveal-slide.revealed .reveal-slide-inner{transform:translateY(0)}.stagger-reveal>*{opacity:0;transform:translateY(40px);transition:all .6s var(--ease-out-expo)}.stagger-reveal.revealed>*:nth-child(1){transition-delay:0s;opacity:1;transform:translateY(0)}.stagger-reveal.revealed>*:nth-child(2){transition-delay:.1s;opacity:1;transform:translateY(0)}.stagger-reveal.revealed>*:nth-child(3){transition-delay:.2s;opacity:1;transform:translateY(0)}.stagger-reveal.revealed>*:nth-child(4){transition-delay:.3s;opacity:1;transform:translateY(0)}.stagger-reveal.revealed>*:nth-child(5){transition-delay:.4s;opacity:1;transform:translateY(0)}.stagger-reveal.revealed>*:nth-child(6){transition-delay:.5s;opacity:1;transform:translateY(0)}.magnetic{transition:transform .3s var(--ease-out-expo)}.magnetic-strong{transition:transform .2s var(--ease-out-expo)}.section{position:relative}.section:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:1px;height:100px;background:linear-gradient(to bottom,transparent,var(--accent-primary),transparent);opacity:.3}.section:first-of-type:before{display:none}.section-divider{width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--accent-primary) 20%,var(--accent-secondary) 80%,transparent);opacity:.2;margin:var(--space-2xl) 0}.glow-text{text-shadow:0 0 10px var(--accent-primary),0 0 20px var(--accent-primary),0 0 40px var(--accent-primary)}.glow-box{box-shadow:0 0 20px #2563eb33,0 0 40px #2563eb1a,0 0 60px #2563eb0d}.glow-line{box-shadow:0 0 10px var(--accent-primary)}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:10000;background:#0000000d}.scroll-progress-bar{height:100%;width:0%;background:var(--gradient-primary);box-shadow:0 0 20px var(--accent-primary),0 0 40px var(--accent-secondary);transition:width .1s ease-out}.scroll-progress-percent{position:absolute;right:20px;top:10px;font-family:var(--font-mono);font-size:.625rem;color:var(--accent-primary);opacity:0;transform:translateY(-10px);transition:all .3s var(--ease-out-expo);text-shadow:0 0 10px var(--accent-primary)}.scroll-progress:hover .scroll-progress-percent,.scroll-progress.scrolling .scroll-progress-percent{opacity:1;transform:translateY(0)}.breathing-glow{animation:breathing 4s ease-in-out infinite}@keyframes breathing{0%,to{box-shadow:0 0 20px var(--accent-primary);border-color:var(--accent-primary)}50%{box-shadow:0 0 40px var(--accent-secondary),0 0 60px var(--accent-primary);border-color:var(--accent-secondary)}}.card-holographic{position:relative;background:var(--bg-card);border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-lg);overflow:hidden;transition:all .3s ease;box-shadow:0 2px 10px #0000000a}.card-holographic:hover{border-color:var(--accent-primary);box-shadow:0 10px 40px #00000014;transform:translateY(-4px)}
