@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&family=Space+Grotesk:wght@500;600;700&display=swap");:root{--background:#0b0f19;--accent:#10b981;--accent-soft:color-mix(in oklab,var(--accent) 18%,transparent);--text:rgba(255,255,255,0.88);--muted:rgba(255,255,255,0.6);--border:rgba(255,255,255,0.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--background)}body,button,input,textarea{font-family:Inter,system-ui,sans-serif}a{color:inherit}::selection{background:var(--accent);color:#0b0f19}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:#1e2534;border-radius:6px}.portfolio-shell{min-height:100vh;overflow-x:hidden;background:var(--background);color:var(--text)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(11,15,25,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-container{max-width:1180px;margin:0 auto;padding:16px 20px;display:flex;align-items:center;justify-content:space-between}.brand{font-family:Space Grotesk,sans-serif;font-size:18px;font-weight:700;letter-spacing:-.01em;color:#fff;text-decoration:none}.brand span,.hero h1 span,.section-kicker{color:var(--accent)}.desktop-nav{display:flex}nav.desktop-nav{gap:32px}nav.desktop-nav a{color:rgba(255,255,255,.7);font-size:14.5px;font-weight:500;text-decoration:none;transition:color .16s ease}nav.desktop-nav a:hover{color:#fff}.nav-cta{align-items:center;padding:9px 18px;border-radius:8px;background:var(--accent);color:#06110c;font-size:13.5px;font-weight:600;text-decoration:none}.menu-button{width:42px;height:42px;display:none;align-items:center;justify-content:center;flex-direction:column;gap:4px;padding:0;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:transparent;cursor:pointer}.menu-button span{width:18px;height:2px;border-radius:2px;background:#fff;transition:.18s ease}.menu-button.is-open span:first-child{transform:translateY(6px) rotate(45deg)}.menu-button.is-open span:nth-child(2){opacity:0}.menu-button.is-open span:last-child{transform:translateY(-6px) rotate(-45deg)}.mobile-nav{display:none}.hero{position:relative;max-width:1180px;margin:0 auto;padding:96px 20px 110px;display:flex;flex-direction:column;align-items:flex-start}.hero-glow{position:absolute;top:-60px;right:-80px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,var(--accent-soft) 0,transparent 70%);filter:blur(10px);animation:float 7s ease-in-out infinite;pointer-events:none}.profile-pill{display:inline-flex;align-items:center;gap:8px;margin-bottom:28px;padding:7px 14px;border:1px solid rgba(255,255,255,.1);border-radius:999px;color:rgba(255,255,255,.65);font-size:12.5px}.profile-pill span{width:7px;height:7px;border-radius:50%;background:var(--accent)}.hero h1{max-width:820px;margin:0 0 20px;color:#fff;font-family:Space Grotesk,sans-serif;font-size:clamp(34px,6vw,64px);font-weight:700;letter-spacing:-.02em;line-height:1.08}.hero-copy{max-width:560px;margin:0 0 40px;color:var(--muted);font-size:clamp(15px,2vw,18px);line-height:1.65}.hero-actions{display:flex;flex-wrap:wrap;gap:14px}.button{padding:14px 26px;border-radius:10px;font-size:14.5px;font-weight:600;text-decoration:none;transition:.16s ease}.button-primary{background:var(--accent);color:#06110c}.button-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.button-secondary{border:1px solid rgba(255,255,255,.15);color:#fff}.button-secondary:hover{border-color:rgba(255,255,255,.4)}.section-container{max-width:1180px;margin:0 auto;padding-inline:20px;scroll-margin-top:84px}.section-kicker{font-family:ui-monospace,monospace;font-size:12.5px;letter-spacing:.06em}.section-container h2{margin:12px 0 0;color:#fff;font-family:Space Grotesk,sans-serif;font-size:clamp(24px,3.4vw,34px);font-weight:600;letter-spacing:-.01em}.section-title{margin-bottom:44px;text-align:center}.about{padding-top:50px;padding-bottom:100px;display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:40px;gap:40px}.about-content{display:flex;flex-direction:column;gap:18px}.about-content p{margin:0;color:rgba(255,255,255,.62);font-size:15.5px;line-height:1.75}.metrics{display:flex;flex-wrap:wrap;gap:28px;margin-top:6px}.metrics div{display:flex;flex-direction:column}.metrics strong{color:#fff;font-family:Space Grotesk,sans-serif;font-size:26px}.metrics span{color:rgba(255,255,255,.5);font-size:12.5px}.skills{padding-top:20px;padding-bottom:110px}.skills-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px}.contact-card,.skill-panel{border:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015))}.skill-panel{padding:32px;border-radius:16px}.skill-heading{display:flex;align-items:center;gap:12px;margin-bottom:22px}.skill-heading h3{margin:0;color:#fff;font-family:Space Grotesk,sans-serif;font-size:19px;font-weight:600}.skill-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-family:ui-monospace,monospace;font-weight:700}.skill-row{margin-bottom:16px}.skill-row:last-child{margin-bottom:0}.skill-meta{display:flex;justify-content:space-between;gap:16px;margin-bottom:7px;font-size:13.5px}.skill-meta span:first-child{color:rgba(255,255,255,.82);font-weight:500}.skill-meta span:last-child{flex-shrink:0;color:rgba(255,255,255,.4)}.skill-track{height:5px;overflow:hidden;border-radius:3px;background:rgba(255,255,255,.07)}.skill-track span{display:block;height:100%;border-radius:3px;background:var(--accent)}.projects{padding-top:20px;padding-bottom:110px}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:22px;gap:22px}.project-card{min-width:0;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.03)}.project-visual{height:150px;display:flex;align-items:center;justify-content:center;padding:20px;background:repeating-linear-gradient(135deg,rgba(255,255,255,.04) 0 10px,rgba(255,255,255,.015) 10px 20px);color:rgba(255,255,255,.3);font-family:ui-monospace,monospace;font-size:11.5px;letter-spacing:.04em;text-align:center}.project-visual img{width:100%;height:100%;object-fit:cover}.project-body{padding:22px;display:flex;flex:1 1;flex-direction:column;gap:10px}.project-category{align-self:flex-start;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.75);font-size:11px;font-weight:600;letter-spacing:.05em}.project-category.accent{background:var(--accent-soft);color:var(--accent)}.project-body h3{margin:0;color:#fff;font-family:Space Grotesk,sans-serif;font-size:17px;font-weight:600}.project-body p{flex:1 1;margin:0;color:rgba(255,255,255,.55);font-size:13.5px;line-height:1.6}.stack-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.stack-list span{padding:3px 9px;border-radius:6px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.55);font-size:11px}.project-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}.project-links a{color:var(--accent);font-size:12px;font-weight:600;text-decoration:none}.project-links a:hover{text-decoration:underline}.portfolio-empty{margin:12px 0 0;color:rgba(255,255,255,.45);font-size:13px;line-height:1.6}.projects-empty{grid-column:1/-1;text-align:center}.contact{padding-top:20px;padding-bottom:110px}.contact-card{padding:clamp(28px,5vw,56px);display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:40px;gap:40px;border-radius:20px}.contact-card h2{font-size:clamp(24px,3.4vw,32px)}.contact-card>div>p{max-width:400px;margin:16px 0 24px;color:rgba(255,255,255,.55);font-size:14.5px;line-height:1.7}.socials{display:flex;gap:12px}.socials a{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:#fff;font-size:13px;font-weight:600;text-decoration:none}.socials a:hover{border-color:var(--accent);color:var(--accent)}.contact-form{display:flex;flex-direction:column;gap:0}.contact-form label{margin-bottom:6px;color:rgba(255,255,255,.55);font-size:12.5px}.contact-form input,.contact-form textarea{width:100%;margin-bottom:14px;padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:9px;outline:none;background:rgba(255,255,255,.04);color:#fff;font-size:14px}.contact-form textarea{min-height:106px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)}.contact-form button{margin-top:6px;padding:13px 22px;border:0;border-radius:9px;background:var(--accent);color:#06110c;font-size:14px;font-weight:600;cursor:pointer}.contact-form button:hover{filter:brightness(1.1)}footer{padding:26px 20px;border-top:1px solid rgba(255,255,255,.07);color:rgba(255,255,255,.4);font-size:12.5px;text-align:center}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal-delay-short{transition-delay:.05s}.reveal-delay,.reveal-delay-medium{transition-delay:.08s}.reveal-delay-long{transition-delay:.15s}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@media (max-width:999px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:860px){.desktop-nav{display:none!important}.menu-button,.mobile-nav{display:flex}.mobile-nav{flex-direction:column;padding:8px 20px 20px;border-top:1px solid rgba(255,255,255,.07)}.mobile-nav a{padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.05);color:rgba(255,255,255,.85);font-size:15px;text-decoration:none}.mobile-nav a:last-child{border-bottom:0}}@media (max-width:719px){.about,.contact-card,.skills-grid{grid-template-columns:1fr}.about,.contact-card{gap:40px}}@media (max-width:619px){.hero{padding-top:72px;padding-bottom:90px}.projects-grid{grid-template-columns:1fr}.skill-panel{padding:26px 22px}.skill-meta{font-size:12.5px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-glow{animation:none}.reveal{opacity:1;transform:none;transition:none}}