:root{color-scheme:light dark;--bg:light-dark(#ffffff, #0e1622);--surface:light-dark(#f4f6f9, #142031);--surface-hover:light-dark(#ebf0f6, #1a2940);--text:light-dark(#1c2633, #dbe3ec);--heading:light-dark(#15233a, #eef3f8);--muted:light-dark(#596678, #98a6b7);--border:light-dark(#dfe4ea, #243246);--accent:light-dark(#2f5f8f, #8db4de);--accent-strong:light-dark(#21476d, #b5cfea);--accent-soft:light-dark(#e6eef7, #1b2b41);--sidebar-bg:light-dark(#15233a, #09101b);--sidebar-text:#e9eef4;--sidebar-muted:#a9b6c6;--sidebar-accent:#9cc0e4;--sidebar-line:rgb(255 255 255 / 0.12);--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--radius:10px;--sidebar-width:20rem}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}h1,h2,h3{color:var(--heading);line-height:1.25;text-wrap:balance}a{color:var(--accent);text-underline-offset:.18em}a:hover{color:var(--accent-strong)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}ul,ol{padding-left:1.25rem}.icon{width:1.1em;height:1.1em;flex:none}.skip-link{position:absolute;left:1rem;top:-3rem;z-index:10;padding:.5rem 1rem;border-radius:var(--radius);background:var(--accent);color:#fff;text-decoration:none}.skip-link:focus{top:1rem}.layout{display:grid;grid-template-columns:var(--sidebar-width)minmax(0,1fr);min-height:100vh}.content{width:100%;max-width:54rem;margin-inline:auto;padding:4.5rem clamp(1.5rem,5vw,4.5rem)2rem}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--sidebar-bg);color:var(--sidebar-text);border-right:1px solid var(--sidebar-line)}.sidebar-inner{display:flex;flex-direction:column;gap:1.75rem;min-height:100%;padding:3rem 2rem 2rem}.sidebar a{color:var(--sidebar-text);text-decoration:none}.sidebar a:hover{color:var(--sidebar-accent)}.sidebar :focus-visible{outline-color:var(--sidebar-accent)}.profile p{margin:0}.avatar-link{display:inline-block;border-radius:50%;margin-bottom:1.25rem}.avatar{display:block;width:160px;height:160px;border-radius:50%;object-fit:cover;border:3px solid var(--sidebar-line)}.avatar-monogram{display:grid;place-items:center;background:linear-gradient(145deg,#2f5f8f,#1c3a5e);color:#fff;font-size:3.25rem;font-weight:700;letter-spacing:.04em}.name{margin:0;font-size:1.6rem;font-weight:700;letter-spacing:-.01em;color:var(--sidebar-text)}.profile .role{margin-top:.35rem;color:var(--sidebar-accent);font-weight:500;text-wrap:balance}.profile .location{display:flex;align-items:center;gap:.45rem;margin-top:.6rem;color:var(--sidebar-muted);font-size:.925rem}.contact{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;font-size:.925rem}.contact a{display:inline-flex;align-items:center;gap:.6rem;overflow-wrap:anywhere}.contact .icon{color:var(--sidebar-muted)}.contact a:hover .icon{color:var(--sidebar-accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.65rem 1.1rem;border-radius:var(--radius);font-weight:600;font-size:.95rem;text-decoration:none}.sidebar .btn-resume{background:var(--sidebar-text);color:#15233a;align-self:flex-start}.sidebar .btn-resume:hover{background:#fff;color:#15233a}.btn-outline{border:1px solid var(--border);color:var(--text)}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.section-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}.section-nav a{display:block;padding:.3rem 0 .3rem .85rem;border-left:2px solid var(--sidebar-line);color:var(--sidebar-muted);font-size:.925rem}.section-nav a:hover{color:var(--sidebar-text);border-left-color:var(--sidebar-accent)}.sidebar-footer{margin-top:auto}.theme-toggle{display:inline-flex;align-items:center;gap:.55rem;padding:.45rem .8rem;border:1px solid var(--sidebar-line);border-radius:999px;background:0 0;color:var(--sidebar-muted);font:inherit;font-size:.85rem;cursor:pointer}.theme-toggle[hidden]{display:none}.theme-toggle:hover{color:var(--sidebar-text);border-color:var(--sidebar-muted)}.theme-toggle .icon-sun{display:none}.theme-toggle[aria-pressed=true] .icon-sun{display:inline}.theme-toggle[aria-pressed=true] .icon-moon{display:none}.section{margin-bottom:4.5rem;scroll-margin-top:2rem}.section-title{display:flex;align-items:center;gap:1rem;margin:0 0 1.75rem;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.section-title::after{content:"";flex:1;height:1px;background:var(--border)}.page-title{margin:0 0 .75rem;font-size:clamp(1.75rem,4vw,2.4rem);letter-spacing:-.02em}.subhead{margin:0 0 .85rem;font-size:.95rem;font-weight:650}.prose>:first-child{margin-top:0}.prose h2{margin:2.25rem 0 .75rem;font-size:1.3rem}.prose h3{margin:1.75rem 0 .5rem;font-size:1.1rem}.prose li+li{margin-top:.35rem}.prose strong{color:var(--heading)}.lead-prose{font-size:1.075rem}.lead{font-size:1.15rem;color:var(--muted);margin:0 0 1.25rem}.section-intro{color:var(--muted);margin-bottom:1.5rem}.timeline,.entries{list-style:none;margin:0;padding:0}.timeline{border-left:2px solid var(--border);margin-left:.35rem}.timeline>.entry{position:relative;padding:0 0 2.25rem 1.75rem}.timeline>.entry:last-child{padding-bottom:.25rem}.timeline>.entry::before{content:"";position:absolute;left:-.47rem;top:.38rem;width:.8rem;height:.8rem;border-radius:50%;background:var(--bg);border:2px solid var(--accent)}.timeline>.entry:first-child::before{background:var(--accent)}.entries>.entry+.entry{margin-top:1.75rem}.entry-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1rem}.entry-org{margin:0;font-size:1.1rem}.entry-location{color:var(--muted);font-size:.9rem}.roles{list-style:none;margin:.35rem 0 0;padding:0}.roles li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 1rem}.role-title{font-weight:550}.role-dates{color:var(--muted);font-size:.9rem;font-variant-numeric:tabular-nums;white-space:nowrap}.highlights{margin:.75rem 0 0}.highlights li{margin-top:.3rem}.highlights li::marker{color:var(--accent)}.entry-note{margin:.25rem 0 0;color:var(--muted);font-size:.95rem}.tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}.tags li{padding:.25rem .7rem;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:.875rem;line-height:1.4}.tags-small li{padding:.15rem .55rem;font-size:.8rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1.25rem}.card{display:flex;flex-direction:column;gap:.6rem;padding:1.5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);text-decoration:none;transition:border-color .15s,background-color .15s,transform .15s}.card:hover{color:var(--text);border-color:var(--accent);background:var(--surface)}@media(prefers-reduced-motion:no-preference){.card:hover{transform:translateY(-2px)}}.card-title{margin:0;font-size:1.1rem}.card-meta{margin:-.3rem 0 0;color:var(--muted);font-size:.875rem}.card-text{margin:0;font-size:.95rem}.card .tags{margin-top:.25rem}.card-more{display:inline-flex;align-items:center;gap:.35rem;margin-top:auto;padding-top:.5rem;color:var(--accent);font-weight:600;font-size:.9rem}.skill-groups{display:grid;gap:1.75rem}.cert-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:2rem}.cert-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.cert{display:grid;grid-template-columns:1fr auto;gap:.1rem 1rem;padding:.9rem 1.1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.cert-name{font-weight:650;color:var(--heading)}.cert-full{grid-column:1;color:var(--text);font-size:.9rem}.cert-issuer{grid-column:1;color:var(--muted);font-size:.85rem}.cert-pursuing{background:var(--bg);border-style:dashed}.cert-pursuing .status{grid-column:2;grid-row:1/span 2;align-self:center}.status{padding:.15rem .6rem;border-radius:999px;border:1px solid var(--border);color:var(--muted);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.status-active{background:var(--accent-soft);border-color:transparent;color:var(--accent-strong)}.back-link{margin:0 0 2rem;font-size:.925rem}.back-link a{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none}.article-header{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}.article-meta{margin:0 0 1rem;color:var(--muted);font-weight:500}.article .prose{max-width:42rem}.not-found .btn{margin-top:.5rem}.site-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border);color:var(--muted);font-size:.85rem}.site-footer p{margin:0}@media(max-width:56rem){.layout{grid-template-columns:minmax(0,1fr)}.sidebar{position:static;height:auto;overflow:visible;border-right:0}.sidebar-inner{position:relative;gap:1.25rem;padding:2.25rem 1.25rem 1.5rem}.avatar{width:112px;height:112px}.avatar-monogram{font-size:2.4rem}.avatar-link{margin-bottom:1rem}.section-nav ul{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem}.section-nav a{padding:.2rem 0;border-left:0}.sidebar-footer{position:absolute;top:1.25rem;right:1.25rem;margin:0}.theme-toggle-label{display:none}.theme-toggle{padding:.5rem}.content{padding:2.75rem 1.25rem 1.5rem}.section{margin-bottom:3.5rem}}@media(max-width:36rem){.entry-head,.roles li{flex-direction:column;gap:0}.roles li+li{margin-top:.4rem}}@media print{:root{color-scheme:light}.layout{display:block}.sidebar{position:static;height:auto;background:0 0;color:#000;border:0}.sidebar a,.name,.role{color:#000}.section-nav,.sidebar-footer,.btn-resume,.skip-link,.avatar-link{display:none}.card{break-inside:avoid}}