@import url('https://fonts.googleapis.com/css2?family=Sora:wght@200;300;400;500;600;700;800&family=Inter:wght@300;400;500;600;700&family=Space+Grotesk:wght@300;400;500;600;700&display=swap');
:root{--bg:#0B0F19;--surface:#161B26;--primary:#3B82F6;--secondary:#06B6D4;--muted:#94A3B8;--success:#22C55E;--warning:#F59E0B;--error:#EF4444;--gp:rgba(59,130,246,.15);--gs:rgba(6,182,212,.15)}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--primary) var(--bg)}
::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--primary);border-radius:3px}
body{background:var(--bg);color:#fff;font-family:'Inter',sans-serif;overflow-x:hidden;cursor:none}
::selection{background:var(--primary);color:#fff}
a{text-decoration:none;color:inherit}
.cursor-dot{width:6px;height:6px;background:#fff;border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:99999;mix-blend-mode:difference}
.cursor-ring{width:40px;height:40px;border:1.5px solid rgba(255,255,255,.5);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:99998;transition:width .3s,height .3s,border-color .3s}
.cursor-ring.hover{width:60px;height:60px;border-color:var(--primary)}
#loader{position:fixed;inset:0;background:var(--bg);z-index:100000;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .6s,visibility .6s}
#loader.hidden{opacity:0;visibility:hidden;pointer-events:none}
.loader-text{font-family:'Sora',sans-serif;font-size:3rem;font-weight:800;background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:lp 1.5s ease-in-out infinite}
.loader-bar{width:200px;height:2px;background:rgba(255,255,255,.1);border-radius:1px;margin-top:1.5rem;overflow:hidden}
.loader-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:1px;animation:lf 2s ease-in-out forwards}
@keyframes lp{0%,100%{opacity:1}50%{opacity:.5}}
@keyframes lf{0%{width:0}100%{width:100%}}
@keyframes float{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(3deg)}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
@keyframes sp{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}
.aurora-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.3}
.aurora-blob{position:absolute;border-radius:50%;filter:blur(120px);animation:am 15s ease-in-out infinite}
.aurora-blob:nth-child(1){width:600px;height:600px;background:var(--gp);top:-10%;left:-10%}
.aurora-blob:nth-child(2){width:500px;height:500px;background:var(--gs);top:50%;right:-10%;animation-delay:-5s}
.aurora-blob:nth-child(3){width:400px;height:400px;background:rgba(139,92,246,.1);bottom:-10%;left:30%;animation-delay:-10s}
@keyframes am{0%,100%{transform:translate(0,0) scale(1)}25%{transform:translate(50px,-30px) scale(1.1)}50%{transform:translate(-20px,40px) scale(.9)}75%{transform:translate(-40px,-20px) scale(1.05)}}
#particles{position:fixed;inset:0;z-index:1;pointer-events:none}
.glass{background:rgba(22,27,38,.6);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(148,163,184,.08);border-radius:16px}
.glass-sm{background:rgba(22,27,38,.4);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(148,163,184,.06);border-radius:12px}
.mag-btn{position:relative;display:inline-flex;align-items:center;gap:8px;padding:14px 32px;border-radius:12px;font-family:'Sora',sans-serif;font-weight:600;font-size:.95rem;transition:transform .3s cubic-bezier(.25,.46,.45,.94),box-shadow .3s;cursor:none;background:none;border:none;color:inherit}
.mag-btn-primary{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;box-shadow:0 0 30px rgba(59,130,246,.2)}
.mag-btn-primary:hover{box-shadow:0 0 50px rgba(59,130,246,.4)}
.mag-btn-outline{background:transparent;color:#fff;border:1px solid rgba(148,163,184,.2)}
.mag-btn-outline:hover{border-color:var(--primary);background:rgba(59,130,246,.05)}
.sl{font-family:'Space Grotesk',sans-serif;font-size:.75rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--primary)}
.st{font-family:'Sora',sans-serif;font-weight:700;line-height:1.1}
.reveal{opacity:1;transform:none}
.reveal.active{opacity:1;transform:none}
.tilt-card{transition:transform .15s ease;transform-style:preserve-3d}
.tilt-card .tg{position:absolute;inset:0;border-radius:inherit;opacity:0;transition:opacity .3s;pointer-events:none;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(59,130,246,.15),transparent 60%)}
.tilt-card:hover .tg{opacity:1}
.gc{position:relative;overflow:hidden;border-radius:16px;cursor:none;transition:transform .4s cubic-bezier(.25,.46,.45,.94)}
.gc:hover{transform:translateY(-8px)}
.gc img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.gc:hover img{transform:scale(1.08)}
.gc .ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,15,25,.95) 0%,transparent 60%);opacity:0;transition:opacity .4s;display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem}
.gc:hover .ov{opacity:1}
.td{width:14px;height:14px;border-radius:50%;background:var(--primary);border:3px solid var(--bg);position:absolute;left:0;top:4px;z-index:2;box-shadow:0 0 20px rgba(59,130,246,.4)}
.nl{position:relative;font-size:.875rem;font-weight:500;color:var(--muted);transition:color .3s;cursor:none}
.nl:hover,.nl.active{color:#fff}
.nl::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--primary);transition:width .3s}
.nl:hover::after,.nl.active::after{width:100%}
.sk{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;font-size:.8rem;font-weight:500;background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.15);color:var(--primary);transition:all .3s;cursor:none}
.sk:hover{background:rgba(59,130,246,.15);border-color:rgba(59,130,246,.3);transform:translateY(-2px)}
.mo{position:fixed;inset:0;background:rgba(0,0,0,.85);backdrop-filter:blur(12px);z-index:40000;opacity:0;visibility:hidden;transition:all .4s;display:flex;align-items:center;justify-content:center;padding:2rem}
.mo.open{opacity:1;visibility:visible}
.mc{background:var(--surface);border:1px solid rgba(148,163,184,.1);border-radius:20px;max-width:900px;width:100%;max-height:85vh;overflow-y:auto;transform:scale(.9) translateY(30px);transition:transform .4s cubic-bezier(.25,.46,.45,.94)}
.mo.open .mc{transform:scale(1) translateY(0)}
.toast{position:fixed;bottom:2rem;right:2rem;padding:14px 24px;border-radius:12px;font-size:.875rem;font-weight:500;z-index:99999;transform:translateY(100px);opacity:0;transition:all .4s cubic-bezier(.25,.46,.45,.94)}
.toast.show{transform:translateY(0);opacity:1}
.t-s{background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.3);color:var(--success)}
.t-e{background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.3);color:var(--error)}
.cs{position:relative;padding-left:2rem}
.cs::before{content:'';position:absolute;left:0;top:8px;width:12px;height:12px;border-radius:50%;background:var(--primary);box-shadow:0 0 15px rgba(59,130,246,.4)}
.cs::after{content:'';position:absolute;left:5px;top:24px;width:2px;height:calc(100% - 8px);background:linear-gradient(to bottom,var(--primary),transparent)}
.mn{position:fixed;inset:0;background:rgba(11,15,25,.98);backdrop-filter:blur(20px);z-index:30000;opacity:0;visibility:hidden;transition:all .4s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem}
.mn.open{opacity:1;visibility:visible}
.mn a{font-family:'Sora',sans-serif;font-size:1.5rem;font-weight:600;color:var(--muted);transition:color .3s}
.mn a:hover{color:#fff}
.sb{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:1px;text-transform:uppercase}
.sdot{width:6px;height:6px;border-radius:50%;animation:sp 2s infinite}
.cn{font-family:'Space Grotesk',sans-serif;font-weight:700;font-variant-numeric:tabular-nums}
.af{animation:float 6s ease-in-out infinite}.afd{animation:float 6s ease-in-out 2s infinite}.afs{animation:float 8s ease-in-out 1s infinite}
#so{position:fixed;inset:0;background:rgba(11,15,25,.95);backdrop-filter:blur(20px);z-index:45000;opacity:0;visibility:hidden;transition:all .4s;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh}
@media(max-width:1024px){.hg,.csg{grid-template-columns:1fr!important}.ag{grid-template-columns:1fr!important}.hv{display:none!important}.ftg{grid-template-columns:1fr 1fr!important}}
@media(max-width:768px){.cursor-dot,.cursor-ring{display:none}body{cursor:auto}.mag-btn,.gc,.nl,.sk{cursor:auto}.ftg{grid-template-columns:1fr!important}.fgr{grid-template-columns:1fr!important}#mb{display:block!important}.dn{display:none!important}.loader-text{font-size:2rem}.st{font-size:2rem!important}}
@media(max-width:480px){.st{font-size:1.6rem!important}.mag-btn{padding:12px 24px;font-size:.85rem}}
@media print{.aurora-bg,#particles,.cursor-dot,.cursor-ring,#loader,.mo,.toast{display:none!important}body{background:#fff;color:#000}}