@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;700&family=Clash+Display:wght@400;500;600;700&family=Sora:wght@300;400;500;600;700;800&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #03050d;--bg2: #080d1a;--bg3: #0e1525;--surface: #121c2e;--border: #1a2840;--border2: #243550;--text: #eef2ff;--text2: #7a90b8;--text3: #334466;--accent: #3b82f6;--accent-bright: #60a5fa;--accent2: #10b981;--accent3: #f59e0b;--purple: #8b5cf6;--purple-bright: #a78bfa;--cyan: #06b6d4;--pink: #ec4899;--max-w: 1200px}html{background:var(--bg);color:var(--text);font-family:Sora,sans-serif;font-size:15px;line-height:1.6;scroll-behavior:smooth}body{overflow-x:hidden}::selection{background:#3b82f64d;color:var(--text)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:10px}.container{max-width:var(--max-w);margin:0 auto;padding:0 48px}.bg-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.orb{position:absolute;border-radius:50%;filter:blur(120px);opacity:.12;animation:drift 18s ease-in-out infinite alternate}.orb1{width:800px;height:800px;background:radial-gradient(circle,#3b82f6,transparent 70%);top:-300px;left:-200px;animation-duration:20s}.orb2{width:600px;height:600px;background:radial-gradient(circle,#8b5cf6,transparent 70%);top:20%;right:-150px;animation-duration:15s;animation-delay:-6s}.orb3{width:500px;height:500px;background:radial-gradient(circle,#10b981,transparent 70%);bottom:0;left:10%;animation-duration:22s;animation-delay:-10s;opacity:.08}.orb4{width:400px;height:400px;background:radial-gradient(circle,#06b6d4,transparent 70%);bottom:30%;right:0;animation-duration:17s;animation-delay:-4s;opacity:.07}@keyframes drift{0%{transform:translate(0) scale(1)}25%{transform:translate(50px,-60px) scale(1.08)}50%{transform:translate(-30px,40px) scale(.94)}75%{transform:translate(20px,-30px) scale(1.05)}to{transform:translate(-40px,20px) scale(.98)}}.noise{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.025;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;background-size:200px 200px}.grid-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;background-image:linear-gradient(rgba(59,130,246,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.03) 1px,transparent 1px);background-size:80px 80px}.content{position:relative;z-index:1}.btn-resume{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#10b98126,#06b6d426);color:var(--accent2);font-size:13px;font-family:JetBrains Mono,monospace;padding:13px 28px;border-radius:8px;text-decoration:none;font-weight:700;border:1px solid rgba(16,185,129,.5);transition:all .3s cubic-bezier(.34,1.56,.64,1);cursor:pointer;position:relative;overflow:hidden;box-shadow:0 0 20px #10b98126,inset 0 1px #ffffff0d}.btn-resume:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#10b98133,#06b6d433);opacity:0;transition:opacity .3s}.btn-resume:after{content:"";position:absolute;top:-50%;left:-60%;width:30%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:skew(-20deg);transition:left .5s ease}.btn-resume:hover{border-color:var(--accent2);color:#fff;background:linear-gradient(135deg,#10b9814d,#06b6d44d);transform:translateY(-3px);box-shadow:0 8px 30px #10b98159,0 0 60px #10b9811a,inset 0 1px #ffffff1a}.btn-resume:hover:before{opacity:1}.btn-resume:hover:after{left:120%}.section{padding:100px 0}.section-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:10px}.section-eyebrow-line{width:32px;height:1px;background:linear-gradient(90deg,var(--accent),transparent)}.section-eyebrow-text{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:3px;font-weight:700}.section-title{font-size:clamp(28px,4vw,40px);font-weight:800;margin-bottom:48px;letter-spacing:-1px;line-height:1.1;background:linear-gradient(135deg,var(--text) 60%,var(--text2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glow-card{background:#0e1525b3;border:1px solid var(--border);border-radius:16px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color .3s ease,transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease!important;position:relative;overflow:hidden;will-change:transform,box-shadow,border-color}.glow-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.5),transparent);opacity:0;transition:opacity .3s}.glow-card:after{content:"";position:absolute;width:300px;height:300px;background:radial-gradient(circle,rgba(59,130,246,.15),transparent 70%);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);left:var(--mouse-x, 50%);top:var(--mouse-y, 50%);opacity:0;transition:opacity .4s}.glow-card:hover{border-color:#3b82f666!important;transform:translateY(-10px) scale(1.02)!important;box-shadow:0 28px 80px #0009,0 0 50px #3b82f61f!important}.glow-card:hover:before{opacity:1}.glow-card:hover:after{opacity:1}.glow-card.active{border-color:#3b82f666!important;transform:translateY(-10px) scale(1.02)!important;box-shadow:0 28px 80px #0009,0 0 50px #3b82f61f!important}.glow-card.active:before{opacity:1}.glow-card.active:after{opacity:1}.badge{display:inline-flex;align-items:center;gap:6px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;padding:4px 12px;border-radius:20px;letter-spacing:.5px;text-transform:uppercase}.btn-primary{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--accent) 0%,var(--purple) 100%);color:#fff;font-weight:700;font-size:13px;font-family:JetBrains Mono,monospace;padding:13px 28px;border-radius:8px;text-decoration:none;border:none;cursor:pointer;letter-spacing:.5px;position:relative;overflow:hidden;transition:opacity .2s,transform .2s,box-shadow .2s;box-shadow:0 4px 24px #3b82f640}.btn-primary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.15),transparent);opacity:0;transition:opacity .2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 32px #3b82f659}.btn-primary:hover:before{opacity:1}.btn-secondary{display:inline-flex;align-items:center;gap:8px;background:#ffffff0a;color:var(--text);font-size:13px;font-family:JetBrains Mono,monospace;padding:13px 28px;border-radius:8px;text-decoration:none;font-weight:500;border:1px solid var(--border2);transition:border-color .2s,background .2s,transform .2s;cursor:pointer}.btn-secondary:hover{border-color:#3b82f680;background:#3b82f614;transform:translateY(-2px)}.box{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;will-change:transform}.box:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 20px 60px #0006,0 0 40px #3b82f614;border-color:#3b82f659}.tag{font-family:JetBrains Mono,monospace;font-size:10px;padding:3px 10px;border-radius:4px;color:var(--text2);background:#ffffff0a;border:1px solid var(--border);font-weight:500}.stack-tag{font-family:JetBrains Mono,monospace;font-size:10px;padding:3px 9px;border-radius:4px;font-weight:600;color:var(--accent2);background:#10b98112;border:1px solid rgba(16,185,129,.2)}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-dot{0%,to{opacity:1;box-shadow:0 0 #10b98180}50%{opacity:.7;box-shadow:0 0 0 8px #10b98100}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes gradshift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-width: 768px){.container{padding:0 20px}.section{padding:60px 0}}
