@font-face{font-family:Cabinet Grotesk;src:url(/fonts/cabinet-grotesk.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/satoshi.woff2)format("woff2");font-weight:300 900;font-style:normal;font-display:swap}:root{--font-body:"Satoshi",system-ui,sans-serif;--font-display:"Satoshi",system-ui,sans-serif;--font-editorial:Georgia,"Times New Roman",serif;--font-detail:ui-monospace,monospace;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--text-body:16px;--text-intro:20px;--text-title:32px;--text-display:clamp(64px,11vw,176px);--radius-panel:0px;--gutter:clamp(20px,4vw,72px);--header-clearance:96px;--media-paper:#fff;--media-ink:#111315;--code-comment:#adb6c0}:root,:root[data-resolved=light]{--surface-page:#f2f2ee;--surface-panel:#f2f2ee;--surface-navigation:#e8e8e3;--surface-placeholder:#e8e8e3;--surface-hover:#deded8;--surface-input:#fff;--text-primary:#20211f;--text-secondary:#565851;--link-text:#20211f;--selection-bg:#20211f;--selection-text:#f2f2ee;--button-bg:#20211f;--button-text:#f2f2ee;--button-edge:#20211f;--focus-ring:#20211f;--focus-selected:#f2f2ee;--rule-decorative:#c6c8c0;--rule-control:#73756d;--shadow-color:#20211f;--shadow-floating:none;color-scheme:light}:root[data-resolved=dark]{--surface-page:#1c1d1b;--surface-panel:#1c1d1b;--surface-navigation:#292a27;--surface-placeholder:#292a27;--surface-hover:#353630;--surface-input:#242522;--text-primary:#eeefe7;--text-secondary:#c0c2b7;--link-text:#eeefe7;--selection-bg:#eeefe7;--selection-text:#1c1d1b;--button-bg:#eeefe7;--button-text:#1c1d1b;--button-edge:#eeefe7;--focus-ring:#eeefe7;--focus-selected:#1c1d1b;--rule-decorative:#4c4e46;--rule-control:#94978a;--shadow-color:#000;--shadow-floating:none;color-scheme:dark}:root{--color-paper:var(--surface-page);--color-white:var(--surface-panel);--color-ink:var(--text-primary);--color-muted:var(--text-secondary);--color-rule:var(--rule-decorative);--color-wash:var(--surface-navigation);--color-accent:var(--link-text);--header-clearance:calc(8px + env(safe-area-inset-top,0px));--anchor-margin:0px;--dock-height:calc(77px + env(safe-area-inset-bottom,0px))}*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{scroll-padding-top:var(--header-clearance);scroll-padding-bottom:calc(var(--dock-height) + 24px)}body{padding-top:env(safe-area-inset-top,0px);padding-bottom:var(--dock-height);background:var(--surface-page);color:var(--text-primary);font:16px/1.6 var(--font-body)}h1,h2,h3,h4,p,figure,dl,dd{margin:0}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.045em;overflow-wrap:anywhere;min-width:0;font-style:normal;font-weight:400;line-height:1.08}h1{font-size:clamp(40px,5.4vw,84px)}h2{font-size:clamp(36px,5vw,72px)}h3{font-size:30px}img,video{max-width:100%;display:block}a{color:var(--link-text);text-underline-offset:5px}button,select,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.65;cursor:wait}a,button,select{touch-action:manipulation}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,[tabindex="-1"]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:5px}::selection{background:var(--selection-bg);color:var(--selection-text)}[hidden]{display:none!important}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:calc(8px + env(safe-area-inset-top,0px));left:max(8px,env(safe-area-inset-left,0px));z-index:60;background:var(--surface-panel);padding:12px 20px;position:fixed;transform:translateY(-160%)}.skip-link:focus{transform:none}.layout,.detail-layout{max-width:1680px;margin-inline:auto}.site-navigation{min-width:0;padding-top:0}.identity-row{z-index:30;padding:16px max(var(--gutter),env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(var(--gutter),env(safe-area-inset-left,0px));background:var(--surface-page);border-top:1px solid var(--rule-decorative);justify-content:space-between;align-items:center;gap:8px;min-height:76px;display:flex;position:fixed;inset:auto 0 0}.identity-row .name{min-height:44px;color:var(--text-primary);font:500 18px/1.3 var(--font-body);letter-spacing:-.035em;white-space:nowrap;align-items:center;text-decoration:none;display:flex}.identity-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.menu-toggle{border:1px solid var(--rule-control);min-width:64px;min-height:44px;color:var(--text-primary);background:0 0;border-radius:30px;padding:8px 12px}.navigation-panel{flex-direction:column;gap:24px;padding-block:24px;display:flex}.site-navigation[data-enhanced] .navigation-panel{z-index:25;bottom:calc(var(--dock-height) + 8px);left:max(var(--gutter),env(safe-area-inset-left,0px));right:max(var(--gutter),env(safe-area-inset-right,0px));max-height:calc(100vh - var(--dock-height) - 24px - env(safe-area-inset-top,0px));max-height:calc(100dvh - var(--dock-height) - 24px - env(safe-area-inset-top,0px));overscroll-behavior:contain;background:var(--surface-panel);border:1px solid var(--rule-control);padding:24px;scroll-padding:8px;position:fixed;overflow:auto}.sections,.profile-links,.contact-resources{flex-direction:column;gap:0;min-width:0;display:flex}.site-navigation :is(nav a,.back,.contact-resources a,.contact-resources button){width:100%;min-width:44px;min-height:44px;color:var(--text-primary);font:400 16px/1.4 var(--font-body);text-align:left;overflow-wrap:anywhere;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:10px 8px;text-decoration:none;display:flex}.sections a.subsection{padding-left:24px;font-size:14px}.sections a[aria-current=location]{text-underline-offset:6px;text-decoration:underline 1px}.site-navigation .back{color:var(--link-text);text-decoration:underline}.navigation-caption{color:var(--text-secondary);font-size:13px}.action,.secondary-action{border:1px solid var(--rule-control);min-width:44px;max-width:100%;min-height:48px;font:500 15px/1.4 var(--font-body);text-align:center;white-space:nowrap;border-radius:32px;justify-content:space-between;align-items:center;gap:24px;padding:10px 20px;text-decoration:none;display:inline-flex}.action{background:var(--button-bg);color:var(--button-text);border-color:var(--button-bg)}.secondary-action{color:var(--text-primary);background:0 0}.arrow{flex-shrink:0;display:inline-block}.copy-status{overflow-wrap:anywhere;margin-top:8px;font-size:14px}.copy-status:empty{display:none}.email-fallback{margin-top:12px;font-size:14px;display:block}.email-fallback input{border:1px solid var(--rule-control);background:var(--surface-input);width:100%;min-height:44px;color:var(--text-primary);margin-top:4px;padding:8px;display:block}.action:active,.secondary-action:active,.menu-toggle:active,.copy-email:active{transform:translateY(1px)}@media (hover:hover) and (pointer:fine){.secondary-action:hover,.menu-toggle:hover,.site-navigation :is(nav a,.contact-resources a,.contact-resources button):hover{background:var(--surface-hover)}.action:hover{text-decoration:underline}.arrow{transition:transform .18s ease-out}a:hover>.arrow{transform:translate(3px)}a:hover{text-decoration-thickness:2px}}.masthead-links{gap:32px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.site-navigation .masthead-links a{white-space:nowrap;width:auto;font-size:14px}.site-navigation:not([data-enhanced]) .masthead-links{display:none}@media (width>=1200px) and (hover:hover) and (pointer:fine){:root{--header-clearance:96px;--anchor-margin:104px;--dock-height:0px}body{padding-top:0}.site-navigation{padding-top:76px}.identity-row{padding:16px var(--gutter);border-top:0;border-bottom:1px solid var(--rule-decorative);inset:0 0 auto}.site-navigation:not([data-enhanced]) .masthead-links{display:flex}.identity-row .name{font-size:20px}.rail{padding-top:76px}.rail[data-enhanced] .navigation-panel,.rail .navigation-panel{z-index:31;background:0 0;border:0;max-height:44px;margin:0;padding:0;display:block;position:fixed;inset:16px 20% auto 32%;overflow:visible}.rail .sections{flex-direction:row;justify-content:center;gap:24px}.rail .sections a{white-space:nowrap;width:auto;padding:10px 8px;font-size:14px}.rail:not([data-enhanced]) .profile-links,.rail:not([data-enhanced]) .navigation-panel>.resume-link{display:none}.detail-layout{grid-template-columns:minmax(220px,1fr) minmax(0,3fr);align-items:start;gap:8%;display:grid}.detail-sidebar{z-index:30;overscroll-behavior:contain;scrollbar-width:thin;max-height:calc(100dvh - 136px);padding:0 6px;scroll-padding:12px;position:sticky;top:112px;overflow-y:auto}.detail-sidebar .identity-row{position:fixed}.detail-sidebar[data-enhanced] .navigation-panel,.detail-sidebar .navigation-panel{background:0 0;border:0;gap:28px;max-height:none;padding:0;position:static;overflow:visible}.detail-sidebar .sections a{font-size:14px}.detail-sidebar .contact-resources{border-top:1px solid var(--rule-decorative);padding-top:20px}}@media (width<=359px){.identity-row{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.identity-row .name{font-size:16px}.identity-actions{gap:0}.menu-toggle{min-width:56px;padding-inline:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}.arrow{transition:none!important;transform:none!important}.action:active,.secondary-action:active,.menu-toggle:active,.copy-email:active{transform:none}}.theme-toggle[data-astro-cid-unphgk4c]{width:44px;height:44px;color:var(--text-primary);background:0 0;border:1px solid #0000;border-radius:8px;flex-shrink:0;place-items:center;padding:10px;transition:background-color .16s,border-color .16s,transform .12s;display:grid}[data-astro-cid-unphgk4c][data-theme-icon]{display:none}[data-mode=light] [data-astro-cid-unphgk4c][data-theme-icon=light],[data-mode=dark] [data-astro-cid-unphgk4c][data-theme-icon=dark],[data-mode=system] [data-astro-cid-unphgk4c][data-theme-icon=system]{display:block}.theme-toggle[data-astro-cid-unphgk4c]:active{background:var(--surface-hover);transform:scale(.96)}@media (hover:hover) and (pointer:fine){.theme-toggle[data-astro-cid-unphgk4c]:hover{background:var(--surface-hover);border-color:var(--rule-control)}}@media (prefers-reduced-motion:reduce){.theme-toggle[data-astro-cid-unphgk4c]{transition:none}.theme-toggle[data-astro-cid-unphgk4c]:active{transform:none}}
