:root{--paper: #f2f4f6;--surface: #ffffff;--ink: #17202a;--muted: #56616d;--rule: #d6dce2;--accent: #2643a6;--accent-ink: #ffffff;--log-bg: #17202a;--log-ink: #dfe5ec;--log-dim: #7d8a99;--log-value: #9fb6ff;--log-border: transparent;--font: "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--max: 1120px;--gutter: clamp(16px, 4vw, 40px);color-scheme:light}@media(prefers-color-scheme:dark){:root{--paper: #0f1724;--surface: #162133;--ink: #e6ebf1;--muted: #9aa6b4;--rule: #26344a;--accent: #8ea6ff;--accent-ink: #0f1724;--log-bg: #0a111c;--log-ink: #dfe5ec;--log-dim: #6d7a8b;--log-value: #9fb6ff;--log-border: #26344a;color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,p,ol,ul,dl,dd,figure{margin:0}ol,ul{padding:0;list-style:none}a{color:var(--accent);text-underline-offset:3px}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}.skip-link{position:absolute;left:16px;top:-48px;z-index:20;background:var(--accent);color:var(--accent-ink);padding:8px 12px;border-radius:6px;text-decoration:none}.skip-link:focus{top:12px}.nav{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}.nav-inner{max-width:var(--max);margin:0 auto;padding:14px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px}.nav-name{font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:-.01em}.nav-links{display:flex;gap:24px;align-items:center;font-size:15px}.nav-links a{color:var(--muted);text-decoration:none}.nav-links a:hover{color:var(--ink)}.nav-links .nav-resume{color:var(--accent);font-weight:600;border:1.5px solid var(--accent);padding:5px 12px;border-radius:999px}.nav-toggle{display:none;font:inherit;font-size:15px;color:var(--ink);background:none;border:1px solid var(--rule);border-radius:999px;padding:5px 14px;cursor:pointer}@media(max-width:820px){.nav-toggle{display:block}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:4px;background:var(--paper);border-bottom:1px solid var(--rule);padding:8px var(--gutter) 20px}.nav-links.is-open{display:flex}.nav-links a{padding:8px 0;font-size:17px}.nav-links .nav-resume{margin-top:8px;padding:6px 14px}}.hero{max-width:var(--max);margin:0 auto;padding:clamp(48px,9vw,112px) var(--gutter) clamp(56px,8vw,96px);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}.hero-location{color:var(--muted);font-size:15px;margin-bottom:12px}.hero-name{font-size:clamp(44px,7.4vw,92px);line-height:.95;letter-spacing:-.035em;font-weight:700}.hero-role{margin-top:20px;font-size:clamp(20px,2.2vw,26px);font-weight:600;line-height:1.3;letter-spacing:-.01em}.hero-focus{display:block;font-weight:400;color:var(--muted)}.hero-summary{margin-top:20px;max-width:54ch;color:var(--ink)}.hero-actions{margin-top:28px;display:flex;flex-wrap:wrap;gap:10px}.hero-pills{margin-top:18px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;font-size:14px;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.pill:before{content:"✓"}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:999px;font:inherit;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer;color:var(--ink);background:transparent;border:1.5px solid var(--rule)}.btn:hover{border-color:var(--ink)}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn-primary:hover{border-color:var(--accent);filter:brightness(1.08)}.log{background:var(--log-bg);color:var(--log-ink);border:1px solid var(--log-border);border-radius:14px;padding:18px 20px 20px;font-family:var(--font);font-size:13.5px;line-height:1.5}.log-head{display:flex;align-items:center;gap:10px;color:var(--log-ink);padding-bottom:12px;margin-bottom:6px;border-bottom:1px solid rgb(255 255 255 / .08)}.log-dot{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 3px #4ade802e}.log-row{display:grid;grid-template-columns:3.2ch 1fr auto;column-gap:14px;padding:10px 0;border-bottom:1px dashed rgb(255 255 255 / .07);animation:consume .5s ease-out both;animation-delay:calc(.35s + var(--i) * .28s)}.log-row:last-child{border-bottom:0}.log-offset{color:var(--log-dim);grid-row:span 2}.log-topic{color:var(--log-ink)}.log-value{color:var(--log-value);font-weight:500;text-align:right;white-space:nowrap}.log-detail{grid-column:2 / 4;color:var(--log-dim);font-family:var(--font);font-size:14px}@keyframes consume{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(max-width:900px){.hero{grid-template-columns:1fr}}.section{max-width:var(--max);margin:0 auto;padding:clamp(56px,7vw,88px) var(--gutter);border-top:1px solid var(--rule);display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(24px,4vw,56px)}.section-rail{position:sticky;top:88px;align-self:start}.section-title{font-size:26px;letter-spacing:-.02em;line-height:1.2}.section-intro{margin-top:10px;color:var(--muted);font-size:15px;max-width:32ch}@media(max-width:820px){.section{grid-template-columns:1fr}.section-rail{position:static}.section-intro{max-width:60ch}}.timeline{display:grid;gap:44px}.job{display:grid;grid-template-columns:130px minmax(0,1fr);gap:20px}.job-period{color:var(--muted);font-size:15px;padding-top:4px;font-variant-numeric:tabular-nums}.job-company{font-size:22px;letter-spacing:-.015em}.job-meta{color:var(--muted);margin-top:2px}.job-points{margin-top:14px;display:grid;gap:10px;max-width:68ch}.job-points li{position:relative;padding-left:20px}.job-points li:before{content:"";position:absolute;left:0;top:.72em;width:8px;height:2px;background:var(--accent)}.education{margin-top:44px;color:var(--muted);font-size:15px}@media(max-width:560px){.job{grid-template-columns:1fr;gap:4px}}.cases{display:grid;gap:20px}.case{background:var(--surface);border:1px solid var(--rule);border-radius:14px;padding:clamp(20px,3vw,32px)}.case-context{color:var(--muted);font-size:15px}.case-title{margin-top:4px;font-size:22px;letter-spacing:-.015em;line-height:1.3}.case-body{margin-top:18px;display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px 20px;max-width:70ch}.case-body dt{color:var(--muted);font-size:15px;padding-top:1px}.case-result{font-weight:600}@media(max-width:560px){.case-body{grid-template-columns:1fr;gap:2px}.case-body dd{margin-bottom:10px}}.tags{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px}.tags li{font-size:14px;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--ink)}.ai-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.ai-item{border-top:3px solid var(--accent);padding-top:16px}.ai-item h3{font-size:19px;letter-spacing:-.01em}.ai-item p{margin-top:8px;color:var(--muted)}@media(max-width:1100px){.ai-grid{grid-template-columns:1fr;gap:28px}}.projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.project{background:var(--surface);border:1px solid var(--rule);border-radius:14px;padding:24px}.project h3{font-size:20px}.project p{margin-top:8px;color:var(--muted)}.project-links{display:flex;gap:18px;font-weight:600}@media(max-width:700px){.projects{grid-template-columns:1fr}}.skills{display:grid}.skill-row{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;padding:12px 0;border-bottom:1px solid var(--rule)}.skill-row:first-child{padding-top:0}.skill-row dt{font-weight:600}.skill-row dd{color:var(--muted)}@media(max-width:560px){.skill-row{grid-template-columns:1fr;gap:2px}}.certs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 32px}.certs li{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:14px;align-items:start}.certs li>:not(.cert-logo){grid-column:2}.cert-logo{grid-row:1 / span 2;width:32px;height:32px;margin-top:2px;background-color:currentColor;-webkit-mask:var(--logo) center / contain no-repeat;mask:var(--logo) center / contain no-repeat}.cert-name,.certs a{font-weight:600}.certs a{display:flex;flex-direction:column}.cert-verify{font-size:13px;font-weight:500;color:var(--muted)}.certs a:hover .cert-verify{color:var(--accent)}.cert-issuer{color:var(--muted);font-size:15px}@media(max-width:700px){.certs{grid-template-columns:1fr}}.contact{background:var(--accent);color:var(--accent-ink);padding:clamp(64px,9vw,112px) var(--gutter) 40px}.contact>*{max-width:var(--max);margin-left:auto;margin-right:auto}.contact-title{font-size:clamp(30px,4.6vw,52px);letter-spacing:-.03em;line-height:1.05}.contact-text{margin-top:16px;opacity:.85}.contact-rights{margin-top:8px;font-weight:600}.contact-phone{margin-top:16px;font-size:18px}.contact-phone a{color:inherit;font-weight:600;margin-left:6px}.contact-actions{margin-top:28px;display:flex;flex-wrap:wrap;align-items:center;gap:16px}.contact-email{color:inherit;font-size:clamp(20px,2.6vw,28px);font-weight:600;word-break:break-all}.contact .btn{color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent-ink) 45%,transparent)}.contact .btn:hover{border-color:var(--accent-ink)}.contact-links{margin-top:28px;display:flex;flex-wrap:wrap;gap:24px;font-weight:600}.contact-links a{color:inherit}.contact-fine{margin-top:64px;font-size:14px;opacity:.7}.contact :focus-visible{outline-color:var(--accent-ink)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.log-row{animation:none}}
