:root{--bg-color: #050b14;--bg-grid: rgba(34, 211, 238, .03);--text-primary: #f8fafc;--text-secondary: #94a3b8;--accent-cyan: #22d3ee;--accent-hover: #67e8f9;--glass-bg: rgba(10, 15, 28, .6);--glass-border: rgba(34, 211, 238, .2);--font-body: "Inter", sans-serif;--font-heading: "Outfit", sans-serif;--font-mono: "Fira Code", "Courier New", monospace}html.lenis{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-body);line-height:1.6;overflow-x:hidden}.tech-grid-bg{position:fixed;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(var(--bg-grid) 1px,transparent 1px),linear-gradient(90deg,var(--bg-grid) 1px,transparent 1px);background-size:40px 40px;background-position:center;z-index:-2;pointer-events:none}.ambient-glow{position:fixed;top:30%;left:50%;width:80vw;height:80vh;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(34,211,238,.15) 0%,transparent 60%);filter:blur(80px);z-index:-1;pointer-events:none}.ambient-glow-2{position:fixed;top:70%;left:20%;width:60vw;height:60vh;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(14,165,233,.1) 0%,transparent 60%);filter:blur(100px);z-index:-1;pointer-events:none}#app{display:flex;flex-direction:column;min-height:100vh}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:800;line-height:1.2}.tech-h2{font-family:var(--font-mono);font-size:2rem;font-weight:600;letter-spacing:-.5px}.gradient-text{background:linear-gradient(135deg,#fff,var(--accent-cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{color:var(--text-secondary);font-size:1.1rem;margin-top:.5rem}.section-header{margin-bottom:3rem;text-align:center}nav{position:fixed;top:0;width:100%;padding:1.5rem 5%;display:flex;justify-content:space-between;align-items:center;z-index:1000;background:#050b14cc;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-bottom:1px solid rgba(255,255,255,.05)}.logo{display:flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:1.2rem;font-weight:600;color:var(--text-primary)}.logo-icon{color:var(--accent-cyan);width:24px;height:24px}.nav-links{display:flex;gap:2rem}.nav-links a{color:var(--text-secondary);text-decoration:none;font-size:.95rem;font-weight:500;font-family:var(--font-mono);transition:color .3s,text-shadow .3s}.nav-links a:hover{color:var(--accent-cyan);text-shadow:0 0 12px rgba(34,211,238,.6)}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;padding-top:5rem}.hero-content{display:flex;flex-direction:column;align-items:center;gap:2rem;z-index:10}.hero-logo-container{position:relative;width:220px;height:220px;border-radius:50%;background:linear-gradient(145deg,#ffffff0d,#00000080);border:4px solid #334155;box-shadow:inset 0 0 40px #000c,0 0 30px #22d3ee1a,0 20px 50px #00000080;display:flex;justify-content:center;align-items:center;margin-bottom:-40px;z-index:2;overflow:hidden;animation:pulseGlow 4s ease-in-out infinite,floatHero 6s ease-in-out infinite}@keyframes pulseGlow{0%{box-shadow:inset 0 0 40px #000c,0 0 30px #22d3ee1a,0 20px 50px #00000080}50%{box-shadow:inset 0 0 40px #000c,0 0 60px #22d3ee66,0 20px 60px #0009}to{box-shadow:inset 0 0 40px #000c,0 0 30px #22d3ee1a,0 20px 50px #00000080}}@keyframes floatHero{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.hero-logo-container:before{content:"";position:absolute;top:8px;left:8px;right:8px;bottom:8px;border-radius:50%;border:1px solid rgba(34,211,238,.3);box-shadow:inset 0 0 20px #22d3ee33}.hero-logo-number{font-family:var(--font-heading);font-size:8rem;font-weight:800;color:transparent;-webkit-text-stroke:3px var(--accent-cyan);text-shadow:0 0 20px rgba(34,211,238,.6),0 0 40px rgba(34,211,238,.4);background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(34,211,238,.1) 10px,rgba(34,211,238,.1) 20px);-webkit-background-clip:text;background-clip:text}.hero-card{background:var(--glass-bg);border:1px solid rgba(255,255,255,.08);border-top:1px solid rgba(255,255,255,.15);border-radius:16px;padding:4rem 3rem 3rem;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 30px 60px #0009;z-index:1;min-width:450px}.hero-card h1{font-size:2.5rem;color:#fff;margin-bottom:.5rem;letter-spacing:-1px}.hero-card p{color:var(--text-secondary);font-size:1.1rem;margin-bottom:2rem}.hero-socials{display:flex;justify-content:center;gap:1.5rem}.hero-socials a{color:var(--accent-cyan);display:flex;align-items:center;justify-content:center;width:45px;height:45px;border-radius:12px;background:#22d3ee0d;border:1px solid var(--glass-border);transition:all .3s ease}.hero-socials a:hover{background:#22d3ee26;box-shadow:0 0 15px #22d3ee66;transform:translateY(-3px)}.hero-socials a.instagram:hover{background:#e1306c26;border-color:#e1306c;box-shadow:0 0 15px #e1306c66}.hero-socials a.instagram:hover i{color:#e1306c}.hero-socials a.mail:hover{background:#ea433526;border-color:#ea4335;box-shadow:0 0 15px #ea433566}.hero-socials a.mail:hover i{color:#ea4335}.hero-socials i{width:22px;height:22px}section:not(.hero){padding:8rem 5% 4rem;max-width:1200px;margin:0 auto;width:100%}.glass-card:not(.hero-card){background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:2.5rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .4s ease,border-color .4s ease,box-shadow .4s ease}.glass-card:not(.hero-card):hover{border-color:var(--accent-hover);box-shadow:0 0 25px #22d3ee26}.tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;margin-top:3rem}.tech-card{background:#0a0f1ccc;border:1px solid var(--glass-border);border-radius:12px;padding:2rem 1rem;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .4s ease;display:flex;flex-direction:column;align-items:center;gap:1rem}.tech-card:hover{border-color:var(--accent-cyan);box-shadow:0 5px 25px #22d3ee33;transform:translateY(-5px)}.tech-card i{color:var(--accent-cyan);width:32px;height:32px}.tech-card span{font-family:var(--font-mono);font-size:.9rem;color:var(--text-secondary)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-top:3rem}.project-card{display:flex;flex-direction:column;gap:1rem}.project-card:hover{transform:translateY(-5px)}.project-icon{width:48px;height:48px;border-radius:8px;background:#22d3ee1a;display:flex;align-items:center;justify-content:center;color:var(--accent-cyan);margin-bottom:.5rem}.project-card h3{font-size:1.5rem;color:#fff}.project-card p{color:var(--text-secondary);font-size:1rem;line-height:1.5}.contact-box{text-align:center;padding:5rem 2rem;max-width:800px;margin:0 auto}.contact-box h2{margin-bottom:1rem}.contact-box p{color:var(--text-secondary);font-size:1.1rem;margin-bottom:2.5rem}.contact-links{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.social-btn{display:flex;align-items:center;gap:.8rem;padding:1rem 2rem;border-radius:8px;font-family:var(--font-mono);font-weight:500;font-size:1rem;text-decoration:none;transition:all .3s ease;background:#22d3ee0d;border:1px solid var(--glass-border);color:var(--text-primary)}.social-btn:hover{background:#22d3ee26;transform:translateY(-2px);border-color:var(--accent-cyan);box-shadow:0 0 20px #22d3ee33}.social-btn i{width:20px;height:20px;color:var(--accent-cyan)}footer{text-align:center;padding:3rem;border-top:1px solid var(--glass-border);color:var(--text-secondary);font-size:.9rem;margin-top:auto}.sys-msg{font-family:var(--font-mono);color:var(--accent-cyan);font-size:.8rem}.reveal{opacity:0;transform:translateY(40px);transition:opacity 1.4s cubic-bezier(.22,1,.36,1),transform 1.4s cubic-bezier(.22,1,.36,1)}.reveal.visible{opacity:1;transform:translateY(0)}.stagger,.stagger-item{opacity:0;transform:translateY(25px);transition:opacity 1s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1)}.stagger.visible,.stagger-item.visible{opacity:1;transform:translateY(0);transition-delay:calc(var(--stagger-idx) * .15s)}
