:root{--bg: #090d16;--bg-raised: #0d1220;--bg-card: #111728;--line: #1d2438;--text: #eef1f8;--text-mute: #8993ac;--accent: #3aa8ff;--accent-soft: #3aa8ff22;--accent-2: #6fd6ff;--ok: #34d399}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;min-height:100vh}h1,h2,h3{font-family:Space Grotesk,Inter,sans-serif;margin:0;letter-spacing:-.02em}.mono{font-family:JetBrains Mono,monospace}a{color:inherit}.bg-network{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.bg-network svg{position:absolute;top:-5%;right:-10%;width:70%;height:auto;opacity:.35}.bg-glow{position:fixed;top:-10%;right:-10%;width:60vw;height:60vw;z-index:0;pointer-events:none;background:radial-gradient(circle,var(--accent-soft),transparent 65%)}nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:22px 6vw;transition:background .3s ease,border-color .3s ease,padding .3s ease;border-bottom:1px solid transparent}nav.solid{background:#090d16d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:15px 6vw}.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px}.logo-mark{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:flex;align-items:center;justify-content:center;font-family:Space Grotesk,sans-serif;font-weight:700;color:#06101d;font-size:14px}.nav-links{display:flex;gap:30px;align-items:center}.nav-links a{color:var(--text-mute);text-decoration:none;font-size:14px;font-weight:500;transition:color .2s ease}.nav-links a:hover{color:var(--text)}.nav-cta{padding:9px 18px;border-radius:8px;background:var(--accent);color:#06101d!important;font-weight:600!important}section{position:relative;z-index:1;padding:120px 6vw 40px;max-width:1180px;margin:0 auto}section.tight{padding-top:40px}@media (max-width: 720px){section{padding:90px 6vw 20px}}.eyebrow{font-family:JetBrains Mono,monospace;text-transform:uppercase;font-size:12px;letter-spacing:.14em;color:var(--accent);display:flex;align-items:center;gap:10px;margin-bottom:18px}.eyebrow:before{content:"";width:20px;height:1px;background:var(--accent)}.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:13px;color:var(--text-mute);margin-bottom:26px}.dot{width:7px;height:7px;border-radius:50%;background:var(--ok);position:relative;flex-shrink:0}.dot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:var(--ok);animation:ping 1.8s cubic-bezier(0,0,.2,1) infinite}@keyframes ping{0%{transform:scale(1);opacity:.7}to{transform:scale(2.6);opacity:0}}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding-top:110px}.hero h1{font-size:clamp(36px,5.2vw,64px);line-height:1.08;font-weight:700;max-width:900px}.hero h1 .accent{background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-sub{margin-top:22px;font-size:18px;line-height:1.65;color:var(--text-mute);max-width:620px}.hero-ctas{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:9px;font-weight:600;font-size:14.5px;text-decoration:none;cursor:pointer;border:1px solid transparent;background:none;color:var(--text);transition:transform .18s ease,background .18s ease,border-color .18s ease;font-family:inherit}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--accent);color:#06101d}.btn-primary:hover{background:var(--accent-2)}.btn-dark{background:var(--bg-card);border-color:var(--line)}.btn-dark:hover{border-color:var(--accent)}.btn-ghost{background:transparent;border-color:var(--line)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.stats-row{display:flex;gap:56px;margin-top:70px;flex-wrap:wrap}.stat-num{font-family:Space Grotesk,sans-serif;font-size:32px;font-weight:700}.stat-label{font-size:12.5px;color:var(--text-mute);margin-top:4px;letter-spacing:.04em;text-transform:uppercase}.hero-heading-row{display:flex;align-items:center;justify-content:flex-start;gap:32px;flex-wrap:wrap}.hero-heading-row h1{flex:1;min-width:280px;margin:0}.hero-photo-wrap{flex-shrink:0;width:220px;height:220px;border-radius:50%}.hero-photo{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}@media (max-width: 640px){.hero-heading-row{flex-direction:column;text-align:center}.hero-photo-wrap{width:130px;height:130px}}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal-in{opacity:1;transform:translateY(0)}.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}@media (max-width: 800px){.about-grid{grid-template-columns:1fr}}.about-text p{color:var(--text-mute);line-height:1.75;font-size:16px;margin:0 0 16px}.education-card{border:1px solid var(--line);border-radius:14px;padding:26px;background:var(--bg-card)}.education-card h3{font-size:17px;margin-bottom:4px}.education-card .sub{color:var(--text-mute);font-size:14px;margin-bottom:18px}.edu-row{display:flex;justify-content:space-between;padding:11px 0;border-top:1px solid var(--line);font-size:14px}.edu-row:first-of-type{border-top:none}.edu-row .l{color:var(--text-mute)}.edu-row .r{font-family:JetBrains Mono,monospace;color:var(--accent)}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}@media (max-width: 900px){.skills-grid{grid-template-columns:repeat(2,1fr)}}.skill-card{border:1px solid var(--line);border-radius:14px;padding:24px;background:var(--bg-card)}.skill-card-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.skill-icon{width:34px;height:34px;border-radius:8px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center}.skill-icon svg{width:17px;height:17px;color:var(--accent)}.skill-card-head h3{font-size:15px}.chip{font-family:JetBrains Mono,monospace;font-size:12px;padding:6px 11px;border:1px solid var(--line);border-radius:999px;color:var(--text-mute);background:var(--bg-raised);display:inline-block;margin:0 6px 6px 0}.project-featured{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start;border:1px solid var(--line);border-radius:18px;padding:34px;background:var(--bg-card);margin-bottom:24px}@media (max-width: 850px){.project-featured{grid-template-columns:1fr}}.project-tag{font-family:JetBrains Mono,monospace;font-size:11.5px;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.project-featured h3{font-size:26px;margin-bottom:10px}.project-featured>div>p.lede{color:var(--text-mute);font-size:15px;margin-bottom:8px}.project-visual{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:radial-gradient(circle at 30% 20%,#14203a,var(--bg-raised));display:flex;align-items:center;justify-content:center;min-height:220px;position:relative}.feature-list{display:flex;flex-direction:column;gap:12px;margin:20px 0}.feature-row{display:flex;gap:12px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg-raised)}.feature-row svg{width:18px;height:18px;color:var(--accent);flex-shrink:0;margin-top:2px}.feature-row .t{font-weight:600;font-size:14px;margin-bottom:2px}.feature-row .d{font-size:13px;color:var(--text-mute);line-height:1.5}.other-work-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width: 800px){.other-work-grid{grid-template-columns:1fr}}.other-work-card{border:1px solid var(--line);border-radius:14px;padding:26px;background:var(--bg-card)}.other-work-card .tag{color:var(--accent);font-family:JetBrains Mono,monospace;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;display:block}.other-work-card h3{font-size:19px;margin-bottom:10px}.other-work-card p{color:var(--text-mute);font-size:14px;line-height:1.65;margin-bottom:16px}.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width: 800px){.services-grid{grid-template-columns:1fr}}.service-card{border:1px solid var(--line);border-radius:14px;padding:26px;background:var(--bg-card);display:flex;gap:16px}.service-icon{width:44px;height:44px;border-radius:10px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0}.service-icon svg{width:20px;height:20px;color:var(--accent)}.service-card h3{font-size:16px;margin-bottom:6px}.service-card p{color:var(--text-mute);font-size:14px;line-height:1.6;margin:0}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px}@media (max-width: 850px){.contact-grid{grid-template-columns:1fr}}.contact-links{display:flex;flex-direction:column;gap:14px;margin-top:26px}.contact-link{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:15px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--bg-card)}.contact-link svg{color:var(--accent);width:18px;height:18px}.contact-link:hover{border-color:var(--accent)}.field{margin-bottom:16px}.field label{display:block;font-size:12px;font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.06em;color:var(--text-mute);margin-bottom:8px}.field input,.field textarea{width:100%;background:var(--bg-card);border:1px solid var(--line);border-radius:9px;padding:13px 14px;color:var(--text);font-family:Inter,sans-serif;font-size:14.5px;outline:none;transition:border-color .2s ease}.field input:focus,.field textarea:focus{border-color:var(--accent)}.field textarea{resize:vertical;min-height:120px}.form-status{font-size:13.5px;margin-top:10px}.form-status.ok{color:var(--ok)}.form-status.err{color:#f87171}footer{position:relative;z-index:1;border-top:1px solid var(--line);padding:32px 6vw;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}footer .mono{color:var(--text-mute);font-size:12.5px}.footer-socials{display:flex;gap:16px}.footer-socials a{color:var(--text-mute)}.footer-socials a:hover{color:var(--accent)}h2.section-title{font-size:clamp(26px,3.2vw,36px);margin-bottom:12px}p.section-lead{color:var(--text-mute);font-size:15.5px;max-width:560px;margin-bottom:44px}.admin-shell{min-height:100vh;background:var(--bg);color:var(--text);font-family:Inter,sans-serif}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center}.admin-card{border:1px solid var(--line);border-radius:16px;padding:36px;background:var(--bg-card);width:100%;max-width:380px}.admin-card h1{font-size:22px;margin-bottom:6px}.admin-card p.sub{color:var(--text-mute);font-size:13.5px;margin-bottom:24px}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:24px 4vw;border-bottom:1px solid var(--line)}.admin-body{padding:40px 4vw;max-width:980px;margin:0 auto}.admin-stats{display:flex;gap:20px;margin-bottom:36px;flex-wrap:wrap}.admin-stat-card{border:1px solid var(--line);border-radius:12px;padding:22px 28px;background:var(--bg-card);min-width:180px}.admin-stat-card .num{font-family:Space Grotesk,sans-serif;font-size:30px;font-weight:700;color:var(--accent)}.admin-stat-card .label{color:var(--text-mute);font-size:13px;margin-top:4px}.message-row{border:1px solid var(--line);border-radius:12px;padding:20px;background:var(--bg-card);margin-bottom:14px}.message-row .top{display:flex;justify-content:space-between;margin-bottom:8px;flex-wrap:wrap;gap:6px}.message-row .name{font-weight:600}.message-row .email{color:var(--accent);font-size:13.5px}.message-row .time{color:var(--text-mute);font-size:12.5px;font-family:JetBrains Mono,monospace}.message-row .body{color:var(--text-mute);font-size:14.5px;line-height:1.6}.error-text{color:#f87171;font-size:13.5px;margin-top:12px}
