@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg: #070b14;--bg-card: rgba(255,255,255,.05);--bg-hover: rgba(255,255,255,.08);--border: rgba(255,255,255,.08);--border-strong: rgba(255,255,255,.16);--text: #f0f3fa;--text-muted: #8b93a7;--accent: #2563EB;--accent-grad: linear-gradient(135deg,#2563EB,#60A5FA);--success: #4ade80;--danger: #f87171;--warning: #fbbf24;--radius-sm: 8px;--radius: 14px;--radius-lg: 20px;--shadow: 0 4px 24px rgba(0,0,0,.4);--shadow-lg: 0 12px 48px rgba(0,0,0,.5);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;line-height:1.6;color:var(--text);background:var(--bg)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{min-height:100dvh;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.glow{position:fixed;inset:-40% -20% auto -20%;height:70vh;pointer-events:none;background:radial-gradient(ellipse at 50% 0%,rgba(37,99,235,.25),transparent 60%);z-index:0}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.4rem;border-radius:999px;font-size:.9rem;font-weight:600;cursor:pointer;border:none;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,opacity .15s}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent-grad);color:#fff;box-shadow:0 6px 28px #2563eb4d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 36px #2563eb73}.btn-ghost{border:1.5px solid var(--border-strong);color:var(--text);background:transparent}.btn-ghost:hover:not(:disabled){background:var(--bg-hover)}.navbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:64px;background:#070b14cc;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.nav-logo{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:1.15rem;letter-spacing:-.02em}.nav-logo span{color:var(--accent)}.nav-links{display:flex;gap:1.5rem;align-items:center}.nav-link{color:var(--text-muted);font-size:.9rem;cursor:pointer;text-decoration:none;transition:color .2s}.nav-link:hover,.nav-link.active{color:var(--text)}.hero{text-align:center;padding:6rem 1rem 4rem;position:relative;z-index:1}.hero h1{font-family:Space Grotesk,sans-serif;font-size:clamp(2.25rem,5.5vw,3.75rem);font-weight:700;letter-spacing:-.04em;line-height:1.1;margin-bottom:.75rem}.hero h1 .highlight{background:var(--accent-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero .subtitle{color:var(--text-muted);font-size:clamp(1rem,2vw,1.2rem);max-width:600px;margin:0 auto 1.5rem}.hero-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:1rem;border:1px solid rgba(37,99,235,.25);padding:.35rem .85rem;border-radius:999px}.hero-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}.section{max-width:1100px;margin:0 auto;padding:4rem 1.5rem;position:relative;z-index:1}.section-title{font-family:Space Grotesk,sans-serif;font-size:clamp(1.5rem,3vw,2rem);font-weight:700;letter-spacing:-.03em;margin-bottom:.5rem}.section-sub{color:var(--text-muted);font-size:.95rem;margin-bottom:2.5rem;max-width:600px}.grid{display:grid;gap:1.25rem}.grid-2{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.skill-tag{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:500;padding:.35rem .75rem;border-radius:999px;background:#ffffff0a;border:1px solid var(--border);color:var(--text-muted);transition:all .2s}.skill-tag:hover{border-color:var(--accent);color:var(--text);background:#2563eb14}.badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:600;padding:.2rem .6rem;border-radius:999px;background:#2563eb26;color:var(--accent)}.badge.green{background:#4ade801f;color:var(--success)}.badge.amber{background:#fbbf241f;color:var(--warning)}.timeline{position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:0;top:.5rem;bottom:.5rem;width:2px;background:var(--border)}.timeline-item{position:relative;padding-bottom:2rem}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";position:absolute;left:-2rem;top:.5rem;width:12px;height:12px;border-radius:50%;background:var(--accent);border:3px solid var(--bg)}.timeline-item h4{font-size:1rem;font-weight:600}.timeline-item .meta{font-size:.82rem;color:var(--text-muted);margin-bottom:.4rem}.timeline-item p{font-size:.88rem;color:var(--text-muted);line-height:1.5}.project-card{overflow:hidden}.project-card .card-img{width:100%;height:180px;object-fit:cover;border-radius:var(--radius-sm);margin-bottom:1rem}.project-card h3{font-size:1.05rem;font-weight:600;margin-bottom:.35rem}.project-card p{font-size:.85rem;color:var(--text-muted);line-height:1.5;margin-bottom:.75rem}.project-tags{display:flex;flex-wrap:wrap;gap:.4rem}.contact-form{max-width:520px}.form-group{margin-bottom:1rem}.form-group label{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.form-group input,.form-group textarea{width:100%;padding:.65rem 1rem;background:#ffffff0f;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.95rem;outline:none;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb33}.form-group input.error,.form-group textarea.error{border-color:var(--danger)}.field-error{color:var(--danger);font-size:.78rem;margin-top:.25rem}.footer{text-align:center;padding:2.5rem 1.5rem;border-top:1px solid var(--border);position:relative;z-index:1}.footer p{font-size:.85rem;color:var(--text-muted)}.footer-socials{display:flex;justify-content:center;gap:1rem;margin-bottom:1rem}.footer-socials a{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--border);color:var(--text-muted);transition:all .2s;font-size:1rem}.footer-socials a:hover{border-color:var(--accent);color:var(--accent);background:#2563eb14}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.fade-up{animation:fadeUp .5s ease forwards}.delay-1{animation-delay:.1s;opacity:0}.delay-2{animation-delay:.2s;opacity:0}.delay-3{animation-delay:.3s;opacity:0}.delay-4{animation-delay:.4s;opacity:0}.toast-wrap{position:fixed;bottom:1.5rem;right:1.5rem;z-index:100;display:flex;flex-direction:column;gap:.5rem}.toast{padding:.75rem 1.25rem;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;box-shadow:var(--shadow-lg);animation:fadeUp .3s ease}.toast.success{background:#4ade8026;border:1px solid rgba(74,222,128,.3);color:var(--success)}.toast.error{background:#f8717126;border:1px solid rgba(248,113,113,.3);color:var(--danger)}.skeleton{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14,#ffffff0a 75%);background-size:200%;animation:shimmer 1.4s infinite;border-radius:var(--radius-sm);height:1rem;margin-bottom:.5rem}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin:2rem 0}.stat-card{text-align:center;padding:1.25rem}.stat-card .num{font-family:Space Grotesk,sans-serif;font-size:clamp(1.5rem,3vw,2rem);font-weight:700;background:var(--accent-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-card .label{font-size:.8rem;color:var(--text-muted);margin-top:.25rem}@media (max-width: 640px){.navbar{padding:0 1rem}.nav-links{display:none}.hero{padding:4rem 1rem 2.5rem}.section{padding:2.5rem 1rem}.grid-2,.grid-3{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}}
