:root{--bg:#f8f6f2;--surface:#f1eee8;--chip:#e9e5dd;--line:#e0dbd1;--fg:#1d1a17;--muted:#5a534b;--faint:#716961;--accent:#c2553a;--accent-soft:#f6e4de;--inv-fg:#f8f6f2;--ok:#2f8f4e;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--sidebar-w:300px;--content-w:640px;--header-h:60px;--radius:6px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#131416;--surface:#1b1d21;--chip:#23262b;--line:#2e323a;--fg:#e9eaed;--muted:#a1a7b0;--faint:#7a818b;--accent:#e88a68;--accent-soft:#332622;--inv-fg:#131416;--ok:#52bf72;color-scheme:dark}}:root[data-theme=dark]{--bg:#131416;--surface:#1b1d21;--chip:#23262b;--line:#2e323a;--fg:#e9eaed;--muted:#a1a7b0;--faint:#7a818b;--accent:#e88a68;--accent-soft:#332622;--inv-fg:#131416;--ok:#52bf72;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 20px);-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:15.5px;line-height:1.65}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}img,svg,video,iframe{max-width:100%;display:block}img,video{height:auto}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3,h4{font-family:var(--serif);letter-spacing:-.012em;text-wrap:balance;margin:0;font-weight:400;line-height:1.22}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}code,pre,kbd{font-family:var(--mono)}code{background:var(--chip);overflow-wrap:anywhere;border-radius:4px;padding:1px 5px;font-size:.9em}pre code{background:0 0;padding:0}.skip-link{z-index:50;background:var(--fg);color:var(--inv-fg);border-radius:var(--radius);padding:9px 14px;transition:top .15s;position:absolute;top:-60px;left:12px}.skip-link:focus{top:12px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sidebar{width:var(--sidebar-w);z-index:20;background:var(--bg);border-right:1px solid var(--line);overscroll-behavior:contain;flex-direction:column;gap:24px;padding:26px 28px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.sidebar__name{font-family:var(--serif);margin:16px 0 2px;font-size:25px}.sidebar__role{color:var(--muted);margin:0;font-size:13.5px}.sidebar__bio{color:var(--muted);margin:20px 0 0;font-size:14px}.sidebar__bottom{gap:18px;margin-top:auto;display:grid}.avatar{border-radius:var(--radius);background:var(--chip);border:1px solid var(--line);width:128px;height:128px;display:block;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.facts{border-top:1px solid var(--line);gap:10px;margin-top:22px;padding-top:20px;font-size:13.5px;display:grid}.facts li{align-items:flex-start;gap:10px;min-width:0;display:flex}.facts svg{width:15px;height:15px;color:var(--faint);flex:none;margin-top:4px}.facts span,.facts a{overflow-wrap:anywhere;min-width:0}.facts a:hover{color:var(--accent)}.socials{color:var(--muted);flex-wrap:wrap;gap:14px 16px;display:flex}.socials svg{width:17px;height:17px}.socials a:hover{color:var(--fg)}.btn{border-radius:var(--radius);white-space:nowrap;justify-content:center;align-items:center;gap:8px;height:42px;padding:0 18px;font-size:13.5px;font-weight:500;transition:opacity .15s,background .15s,border-color .15s;display:inline-flex}.btn svg{flex:none;width:15px;height:15px}.btn--primary{background:var(--fg);color:var(--inv-fg)}.btn--primary:hover{opacity:.88}.btn--ghost{border:1px solid var(--line);color:var(--fg)}.btn--ghost:hover{background:var(--chip)}.btn--sm{height:34px;padding:0 13px;font-size:13px}.icon-btn{border-radius:var(--radius);width:34px;height:34px;color:var(--fg);place-items:center;display:grid}.icon-btn:hover{background:var(--chip)}.icon-btn svg{width:16px;height:16px}.shell{margin-left:var(--sidebar-w)}.header{z-index:15;height:var(--header-h);background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid #0000;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:0 32px;transition:border-color .2s;display:grid;position:sticky;top:0}.header.is-scrolled{border-bottom-color:var(--line)}.header__left{display:flex}.header__right{justify-content:flex-end;align-items:center;gap:10px;display:flex}.nav{justify-content:center;gap:2px;display:flex}.nav a{color:var(--muted);border-radius:999px;padding:5px 10px;font-size:13.5px;transition:background .2s,color .2s}.nav a:hover{color:var(--fg)}.nav a.is-active{background:var(--chip);color:var(--fg)}.menu-btn{display:none}.sidebar-backdrop{z-index:19;background:#0000006b;border:0;padding:0;position:fixed;inset:0}:root[data-theme=dark] .icon-moon,.icon-sun{display:none}:root[data-theme=dark] .icon-sun{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .icon-moon{display:none}:root:not([data-theme=light]) .icon-sun{display:block}}.main{max-width:var(--content-w);margin:0 auto;padding:44px 32px 0}.section{border-top:1px solid var(--line);padding:46px 0}.section--first{border-top:0;padding-top:8px}.section__title{margin-bottom:22px;font-size:25px}.section__lead{color:var(--muted);margin:0 0 24px}.prose{color:var(--muted)}.prose>*{margin:0}.prose>*+*{margin-top:14px}.prose strong{color:var(--fg);font-weight:600}.prose a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.bleed{margin-inline:0}@media (width>=1140px){.bleed{margin-inline:-72px}}.hero{padding-bottom:50px}.hero__badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;margin:0 0 16px;padding:4px 11px;font-size:12.5px;font-weight:500;display:inline-block}.hero__title{font-size:clamp(32px,6vw,44px)}.hero__text{color:var(--muted);max-width:46ch;margin:16px 0 0}.hero__actions{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}.timeline{gap:34px;display:grid}.timeline__item{padding-left:22px;position:relative}.timeline__item:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:7px;left:0}.timeline__item:after{content:"";background:var(--line);width:1px;position:absolute;top:20px;bottom:-34px;left:3px}.timeline__item:last-child:after{display:none}.timeline__role{font-family:var(--sans);letter-spacing:0;font-size:16px;font-weight:600}.timeline__meta{color:var(--faint);flex-wrap:wrap;gap:4px 10px;margin:3px 0 0;font-size:13px;display:flex}.timeline__company{color:var(--muted);font-weight:500}.timeline__company a:hover{color:var(--accent)}.timeline__body{margin-top:12px}.bullets{color:var(--muted);gap:8px;font-size:14.5px;display:grid}.bullets li{padding-left:16px;position:relative}.bullets li:before{content:"";background:var(--faint);width:4px;height:1px;position:absolute;top:10px;left:2px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--chip);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12.5px;display:inline-flex}.chip svg{flex:none;width:13px;height:13px}.skills{gap:22px;display:grid}.skills__group-name{font-family:var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--faint);margin:0 0 10px;font-size:12px;font-weight:600}.cards{gap:14px;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:12px;padding:18px 20px;display:grid}.card__top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:6px 20px;display:flex}.card__head{gap:3px;display:grid}.card__kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin:0;font-size:11.5px}.card__title{font-family:var(--sans);letter-spacing:0;font-size:16px;font-weight:600}.card__text{color:var(--muted);margin:0;font-size:14px}.card__links{flex-wrap:wrap;gap:16px;display:flex}.card__link{color:var(--accent);align-items:center;gap:6px;font-size:13px;display:inline-flex}.card__link svg{flex:none;width:14px;height:14px}.card__link:hover{text-underline-offset:3px;text-decoration:underline}.timeline svg{flex:none;width:15px;height:15px}.certs{border-top:1px solid var(--line);margin-top:30px;padding-top:24px}.certs__list{gap:16px;display:grid}.certs__title{margin:0;font-size:15px;font-weight:600}.certs__meta{color:var(--faint);flex-wrap:wrap;gap:4px 10px;margin:3px 0 0;font-size:13px;display:flex}.certs__link{color:var(--accent);align-items:center;gap:6px;margin-top:6px;font-size:13px;display:inline-flex}.certs__link svg{flex:none;width:14px;height:14px}.certs__link:hover{text-underline-offset:3px;text-decoration:underline}.mailbox{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-items:center;gap:10px;padding:12px 14px;font-size:14.5px;display:flex}.mailbox>svg{width:17px;height:17px;color:var(--faint);flex:none}.mailbox a{text-overflow:ellipsis;overflow:hidden}.mailbox a:hover{color:var(--accent)}.mailbox button{color:var(--muted);background:var(--chip);border-radius:999px;flex:none;margin-left:auto;padding:4px 10px;font-size:12.5px}.mailbox button:hover{color:var(--fg)}.footer{border-top:1px solid var(--line);color:var(--faint);flex-wrap:wrap;justify-content:space-between;gap:10px;padding:28px 0 36px;font-size:13px;display:flex}@media (width<=980px){:root{--header-h:56px}.shell{margin-left:0}.menu-btn{display:grid}.sidebar{transition:transform .25s;transform:translate(-100%);box-shadow:0 0 40px #0000002e}.sidebar.is-open{transform:none}.nav{z-index:16;padding:8px 14px calc(8px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--bg) 92%, transparent);backdrop-filter:blur(8px);border-top:1px solid var(--line);scrollbar-width:none;justify-content:flex-start;gap:4px;position:fixed;bottom:0;left:0;right:0;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.main{padding:32px 20px 90px}.header{grid-template-columns:auto 1fr auto;padding:0 16px}.header .nav{grid-column:auto}}@media (width>=981px){.sidebar-backdrop{display:none}}@media (width>=981px) and (width<=1100px){.header{padding:0 20px}}@media (width<=560px){.section{padding:36px 0}.hero{padding-bottom:36px}.footer{padding-bottom:28px}}@media print{.sidebar{border:0;width:auto;position:static}.shell{margin-left:0}.header,.nav,.icon-btn,.sidebar-backdrop{display:none!important}body{font-size:11pt}}
