@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/Inter-400_800.woff2)format("woff2")}:root{--bg:#0b0e14;--card:#11151e;--raised:#171c27;--hairline:#eef0f514;--hairline-strong:#eef0f529;--text:#e8ebf1;--text-secondary:#b4bccb;--text-muted:#8f98aa;--accent:#4f8cff;--accent-strong:#2f6bdf;--accent-strong-hover:#2a64d6;--radius-sm:4px;--radius:8px;--radius-lg:12px;--max-w:880px;--ease:cubic-bezier(.22, 1, .36, 1);--fast:.15s;--font:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.65}.skip-link{background:var(--accent-strong);color:#fff;border-radius:var(--radius);z-index:1000;transition:top var(--fast) var(--ease);padding:8px 16px;font-size:15px;font-weight:500;position:absolute;top:-100px;left:16px}.skip-link:focus{top:12px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.container{max-width:var(--max-w);margin:0 auto;padding:0 24px}a{color:var(--accent);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}img{max-width:100%;display:block}h1,h2,h3{color:var(--text);margin:0 0 8px;font-weight:500;line-height:1.2}p a{text-underline-offset:3px;-webkit-text-decoration:underline #4f8cff66;text-decoration:underline #4f8cff66}p a:hover{text-decoration-color:currentColor}.site-header{-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--hairline);z-index:50;background:#0b0e14eb;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;height:56px;display:flex}.nav__brand{color:var(--text);font-size:16px;font-weight:600}.nav__brand:hover{color:var(--text-secondary);text-decoration:none}.nav__links{gap:24px;margin:0;padding:0;list-style:none;display:flex}.nav__links a{color:var(--text-muted);transition:color var(--fast) var(--ease);font-size:15px;font-weight:500}.nav__links a:hover{color:var(--text);text-decoration:none}.hero{align-items:center;gap:48px;padding:96px 24px 80px;display:flex}.hero__photo{object-fit:cover;border:1px solid var(--hairline-strong);background:var(--card);border-radius:50%;flex-shrink:0;width:160px;height:160px}.hero__text h1{letter-spacing:-.02em;margin:0 0 8px;font-size:40px;line-height:1.1}.hero__tagline{color:var(--text);margin:0 0 16px;font-size:20px;line-height:1.4}.hero__summary{color:var(--text-secondary);max-width:52ch;margin:0 0 12px;line-height:1.6}.hero__location{color:var(--text-muted);align-items:center;gap:8px;margin:0 0 24px;font-size:14px;display:inline-flex}.hero__location svg{width:16px;height:16px;fill:var(--text-muted)}.hero__actions{flex-wrap:wrap;gap:12px;display:flex}.btn{border-radius:var(--radius);height:44px;color:var(--text);background:var(--raised);border:1px solid var(--hairline-strong);transition:background-color var(--fast) var(--ease), border-color var(--fast) var(--ease), transform var(--fast) var(--ease);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:0 20px;font-size:15px;font-weight:500;display:inline-flex;box-shadow:inset 0 1px #ffffff0f}.btn:hover{background:#1d2330;text-decoration:none}.btn:active{transform:scale(.98)}.btn--primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff;box-shadow:inset 0 1px #ffffff24}.btn--primary:hover{background:var(--accent-strong-hover);border-color:var(--accent-strong-hover)}.section{padding:64px 24px}.section+.section{border-top:1px solid var(--hairline)}.section__title{letter-spacing:-.01em;margin-bottom:32px;font-size:28px}.xp{grid-template-columns:72px 1fr;gap:24px;padding:32px 0;display:grid}.xp:first-of-type{padding-top:0}.xp+.xp{border-top:1px solid var(--hairline)}.xp__logo{object-fit:contain;background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius-lg);width:72px;height:72px;padding:8px}.xp h3{margin:0 0 4px;font-size:18px;line-height:1.4}.xp h3 a{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--hairline-strong);text-decoration-color:var(--hairline-strong);text-underline-offset:4px;transition:text-decoration-color var(--fast) var(--ease)}.xp h3 a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.xp__role{color:var(--text-secondary);font-weight:400}.xp__dates{font-size:13px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-muted);align-items:center;gap:8px;margin:0 0 12px;display:flex}.xp__live{background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px}.xp__body{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin:0 0 12px;line-height:1.65}.xp__tech,.tags{flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.xp__tech li,.tags li{font-size:12px;line-height:16px;font-family:var(--font-mono);color:var(--text-muted);border-radius:var(--radius-sm);background:var(--card);border:1px solid var(--hairline);padding:4px 8px}.skills{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.skills__group{background:var(--card);border:1px solid var(--hairline);border-radius:var(--radius-lg);flex-direction:column;padding:24px;display:flex}.skills__group h3{margin-bottom:8px;font-size:17px}.skills__group p{color:var(--text-secondary);flex-grow:1;margin:0;font-size:15px;line-height:1.6}.skills__group .tags li{background:var(--raised)}.contact__intro{color:var(--text-secondary);max-width:54ch;margin:0 0 24px}.contact__links{flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none;display:flex}.contact__links a{background:var(--raised);border:1px solid var(--hairline-strong);border-radius:var(--radius);height:44px;color:var(--text);transition:background-color var(--fast) var(--ease), transform var(--fast) var(--ease);align-items:center;gap:8px;padding:0 20px;font-size:15px;font-weight:500;display:inline-flex;box-shadow:inset 0 1px #ffffff0f}.contact__links a:hover{background:#1d2330;text-decoration:none}.contact__links a:active{transform:scale(.98)}.contact__links svg{width:16px;height:16px;fill:var(--text-muted);transition:fill var(--fast) var(--ease)}.contact__links a:hover svg{fill:var(--text)}.site-footer{border-top:1px solid var(--hairline);text-align:center;color:var(--text-muted);padding:32px 0;font-size:14px}.site-footer p{margin:0}.site-footer p+p{margin-top:4px}.error-page{flex-direction:column;justify-content:center;align-items:flex-start;min-height:70vh;padding:64px 24px;display:flex}.error-code{font-family:var(--font-mono);color:var(--text-muted);margin:0 0 16px;font-size:13px}.error-title{letter-spacing:-.02em;margin:0 0 16px;font-size:40px;line-height:1.1}.error-desc{color:var(--text-secondary);max-width:48ch;margin:0 0 32px}.error-actions{flex-wrap:wrap;gap:12px;display:flex}@media (width<=680px){.hero{text-align:center;flex-direction:column;gap:24px;padding:48px 20px 40px}.hero__photo{width:128px;height:128px}.hero__text h1{font-size:32px}.hero__tagline{margin:0 0 12px;font-size:18px}.hero__location{justify-content:center;margin:0 0 20px}.hero__actions{justify-content:center}.section{padding:48px 20px}.section__title{margin-bottom:24px;font-size:24px}.xp{grid-template-columns:1fr;gap:16px;padding:24px 0}.xp__logo{width:56px;height:56px}.skills{grid-template-columns:1fr}.contact__links{grid-template-columns:1fr 1fr;display:grid}.contact__links a{justify-content:center}.nav__brand{white-space:nowrap;font-size:15px}.nav__links{gap:12px}.nav__links a{font-size:14px}.error-title{font-size:32px}}@media (width<=400px){.nav{justify-content:flex-end}.nav__brand{display:none}}.nowrap{white-space:nowrap}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
