:root{--bg:#0b0f14;--bg-2:#0f141b;--txt:#e7ecef;--muted:#a4b0be;--card:#0f151c;--line:#1d2633;--acc:#3E8F50;--acc-2:#66A97A;--ring: rgba(102,169,122,.45);--noise:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><filter id=%22n%22><feTurbulence baseFrequency=%220.9%22 numOctaves=%222%22/><feColorMatrix type=%22saturate%22 values=%220%22/></filter><rect width=%22100%25%22 height=%22100%25%22 filter=%22url(%23n)%22 opacity=%220.03%22/></svg>')}[data-theme=light]{--bg:#f7f9fc;--bg-2:#fff;--txt:#0f141b;--muted:#475569;--card:#fff;--line:#e5eaf0;--ring:rgba(62,143,80,.25)}*{box-sizing:border-box}html,body{height:100%}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--txt);background:radial-gradient(1200px 600px at 80% -10%,rgba(102,169,122,.12),transparent 60%),radial-gradient(1000px 600px at -10% 80%,rgba(62,143,80,.12),transparent 60%),linear-gradient(180deg,var(--bg),var(--bg));background-attachment:fixed;letter-spacing:.2px}body::after{content:"";position:fixed;inset:0;pointer-events:none;background:var(--noise);mix-blend-mode:overlay;z-index:1;opacity:.6}img,svg{max-width:100%;display:block}a{color:var(--txt);text-decoration:none}a:hover{opacity:.9}.container{max-width:1100px;margin:0 auto;padding:0 20px}.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{left:16px;top:10px;width:auto;height:auto;background:#fff;color:#000;padding:6px 10px;border-radius:8px;z-index:50}.site-header{position:sticky;top:0;z-index:40;backdrop-filter:saturate(140%) blur(10px);background:linear-gradient(180deg,rgba(12,18,25,.85),rgba(12,18,25,.6));border-bottom:1px solid var(--line)}[data-theme=light] .site-header{background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,.6))}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}.brand{display:flex;align-items:center;gap:10px;font-weight:700}.brand-name{font-weight:800;letter-spacing:.4px}.logo-dot{width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--acc-2),var(--acc));box-shadow:0 0 18px var(--ring)}.nav-toggle{display:none;background:transparent;border:0;cursor:pointer;padding:6px;border-radius:8px}.nav-toggle span{display:block;width:22px;height:2px;background:currentColor;margin:4px;border-radius:2px}.menu{display:flex;gap:20px;list-style:none;margin:0;padding:0}.menu a{padding:8px 10px;border-radius:10px}.menu a:hover{background:rgba(255,255,255,.06)}[data-theme=light] .menu a:hover{background:rgba(15,20,27,.06)}.ghost-btn{background:transparent;color:inherit;border:1px solid var(--line);padding:8px 12px;border-radius:12px;cursor:pointer}.icon-moon{display:inline-block;width:18px;height:18px;background:radial-gradient(circle at 70% 30%,currentColor 0,currentColor 28%,transparent 29%),radial-gradient(circle at 30% 70%,currentColor 0,currentColor 35%,transparent 36%);mix-blend-mode:screen}.snap{scroll-snap-type:y mandatory}.panel{min-height:100svh;scroll-snap-align:start;display:flex;align-items:center}.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;padding:72px 0 54px}.hero-copy .badge{display:inline-block;background:rgba(255,255,255,.06);padding:6px 10px;border-radius:999px;border:1px solid var(--line);font-size:12px;color:#cdd6df}[data-theme=light] .hero-copy .badge{background:rgba(15,20,27,.06);color:#334155}.hero h1{font-size:44px;line-height:1.05;margin:.35em 0}.hero .lead{font-size:18px;color:#cbd5e1;max-width:52ch}[data-theme=light] .hero .lead{color:#475569}.roles{color:#c0cad4;margin-top:8px}.role-prefix{opacity:.75;margin-right:6px}.cta{display:flex;gap:12px;margin-top:20px}.btn{background:linear-gradient(90deg,var(--acc),var(--acc-2));color:#091218;border:0;padding:12px 16px;border-radius:14px;font-weight:700;box-shadow:0 6px 20px rgba(102,169,122,.18)}.btn.secondary{background:rgba(255,255,255,.06);color:inherit;border:1px solid var(--line)}.btn.small{padding:8px 10px;border-radius:12px;font-size:14px}.btn.outline{background:transparent;border:1px solid var(--line);color:inherit}.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:18px 0 0;position:relative}.chips li{font-size:12px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#0d151d}[data-theme=light] .chips li{background:#fff}.hero-visual{position:relative;min-height:320px}.orb{position:absolute;filter:blur(24px);opacity:.75;border-radius:50%}.orb.one{width:160px;height:160px;background:var(--acc);top:12%;right:16%}.orb.two{width:220px;height:220px;background:var(--acc-2);bottom:6%;right:-6%}.grid{position:absolute;inset:10% -5% 10% 15%;background-image:linear-gradient(to right,transparent 0 31px,rgba(255,255,255,.05) 31px 32px),linear-gradient(to bottom,transparent 0 31px,rgba(255,255,255,.05) 31px 32px);background-size:32px 32px;border-radius:18px;border:1px solid var(--line);transform:perspective(1000px) rotateX(22deg) rotateY(-14deg)}.hero-shape{position:absolute;right:8%;top:12%;width:320px;height:auto;opacity:.9;filter:drop-shadow(0 20px 50px rgba(102,169,122,.25))}.section{padding:70px 0}.section.muted{background:linear-gradient(180deg,#0c151d,#0b1016);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}[data-theme=light] .section.muted{background:linear-gradient(180deg,#f3f7fb,#fff)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:28px}.section h2{margin:0;font-size:28px}.section-head p{margin:0;color:#b6c2cf}[data-theme=light] .section-head p{color:#64748b}.cards{display:grid;gap:14px}.cards.three{grid-template-columns:repeat(3,1fr)}.card{background:linear-gradient(180deg,#0e151c,#0c131a);border:1px solid var(--line);border-radius:16px;padding:18px;min-height:120px;transition:transform .2s ease,box-shadow .2s ease}[data-theme=light] .card{background:#fff}.card:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,0,0,.25)}.glow{position:relative}.glow::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(120deg,transparent,rgba(102,169,122,.6),transparent);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.35;pointer-events:none}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.skill{background:#0e141b;border:1px solid var(--line);border-radius:16px;padding:18px}[data-theme=light] .skill{background:#fff}.kicker{display:block;font-size:12px;color:#9fb0c3;margin-bottom:8px;text-transform:uppercase;letter-spacing:.12em}[data-theme=light] .kicker{color:#64748b}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project{display:grid;grid-template-rows:auto 1fr;background:#0e141b;border:1px solid var(--line);border-radius:16px;overflow:hidden}[data-theme=light] .project{background:#fff}.project-media{aspect-ratio:16/10;background:#0c1218;position:relative;border-bottom:1px solid var(--line)}[data-theme=light] .project-media{background:#eef5ef}.project-body{padding:16px}.project h3{margin:2px 0 6px}.tags{display:flex;gap:8px;list-style:none;padding:0;margin:10px 0 0}.tags li{font-size:12px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#0d151d}[data-theme=light] .tags li{background:#fff}.actions{margin-top:14px;display:flex;gap:8px}.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:18px}.contact-card,.contact-form{background:#0e141b;border:1px solid var(--line);border-radius:16px;padding:18px}[data-theme=light] .contact-card,[data-theme=light] .contact-form{background:#fff}.contact-card ul{list-style:none;margin:0;padding:0}.contact-card li+li{margin-top:10px}.contact-form label{display:block;font-size:14px;color:#bfd0e0;margin:10px 0 6px}[data-theme=light] .contact-form label{color:#475569}.contact-form input,.contact-form textarea{width:100%;background:#0c131a;border:1px solid var(--line);color:#e6eef6;border-radius:12px;padding:10px 12px;outline:none}[data-theme=light] .contact-form input,[data-theme=light] .contact-form textarea{background:#f8fafc;color:#0f141b}.contact-form input:focus,.contact-form textarea:focus{box-shadow:0 0 0 3px var(--ring)}.site-footer{border-top:1px solid var(--line);padding:22px 0}.foot-inner{display:flex;justify-content:space-between;align-items:center;color:#b5c1ce}[data-theme=light] .foot-inner{color:#475569}#preloader{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(1200px 600px at 80% -10%,rgba(102,169,122,.12),transparent 60%),linear-gradient(180deg,var(--bg),var(--bg));z-index:1000}.pre-wrap{position:relative;display:grid;gap:14px;place-items:center}.pre-logo{font-weight:900;font-size:28px;letter-spacing:.12em;padding:14px 18px;border-radius:14px;color:#091218;background:linear-gradient(90deg,var(--acc),var(--acc-2));text-shadow:0 2px 10px rgba(0,0,0,.15);box-shadow:0 12px 40px rgba(102,169,122,.35)}.pre-glow{position:absolute;inset:-80px;-webkit-mask:radial-gradient(closest-side,#000 75%,transparent 76%);background:conic-gradient(from 0deg,rgba(102,169,122,0),rgba(102,169,122,.6),rgba(62,143,80,0));filter:blur(40px);animation:spin 4s linear infinite;opacity:.65}@keyframes spin{to{transform:rotate(360deg)}}.pre-progress{display:flex;align-items:center;gap:10px;width:260px}.pre-bar{flex:1;height:6px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;border:1px solid var(--line)}.pre-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--acc),var(--acc-2))}.pre-num{font-family:'JetBrains Mono',monospace;font-size:12px;opacity:.8}@media (max-width:980px){.hero-inner{grid-template-columns:1fr;gap:24px}.cards.three{grid-template-columns:1fr 1fr}.skills-grid{grid-template-columns:1fr 1fr}.project-grid{grid-template-columns:1fr 1fr}.contact{grid-template-columns:1fr}}@media (max-width:640px){.menu{display:none;position:absolute;top:60px;right:20px;background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:10px;flex-direction:column;gap:8px;min-width:180px}.nav-toggle{display:block}.cards.three{grid-template-columns:1fr}.skills-grid{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}.hero h1{font-size:36px}}[data-tilt]{transform:perspective(800px) rotateX(0) rotateY(0);transition:transform .1s linear}#sparkles{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.9}