:root{color-scheme:light dark;--bg:#faf9f6;--paper:#fff;--text:#20201d;--muted:#706f68;--line:#deddd7;--accent:#44574a;--focus:#155e75;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=light]{color-scheme:light;--bg:#faf9f6;--paper:#fff;--text:#20201d;--muted:#706f68;--line:#deddd7;--accent:#44574a}@media(prefers-color-scheme:dark){:root{--bg:#191a18;--paper:#222320;--text:#efeee8;--muted:#b3b1a8;--line:#3b3c38;--accent:#b8d1b9;--focus:#6bbce0}}:root[data-theme=dark]{color-scheme:dark;--bg:#191a18;--paper:#222320;--text:#efeee8;--muted:#b3b1a8;--line:#3b3c38;--accent:#b8d1b9}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;color:var(--text);background:var(--bg);line-height:1.6}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:3px}.shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid var(--line);padding:25px 14px;background:var(--paper)}.side-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin:0 6px 35px}.wordmark{font-weight:800;line-height:1.06;letter-spacing:.08em;text-decoration:none;font-size:14px}.icon-button{border:0;background:transparent;color:var(--text);cursor:pointer;font:inherit;padding:7px;border-radius:5px;letter-spacing:.08em}.nav-group{margin:0 0 21px}.nav-group summary{color:var(--muted);font-size:13px;font-weight:700;letter-spacing:.05em;cursor:pointer;list-style:none;padding:4px 7px;display:flex}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:before{content:"›";margin-right:7px;transition:transform .15s}.nav-group[open] summary:before{transform:rotate(90deg)}.nav-group summary a{text-decoration:none;flex:1}.nav-items{display:grid;padding:4px 0 0 22px;gap:2px}.nav-items a{text-decoration:none;padding:6px 8px;border-radius:5px;font-size:14px}.active{background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent)!important;font-weight:700}.shell:has(.sidebar.is-collapsed){grid-template-columns:58px minmax(0,1fr)}.sidebar.is-collapsed{padding:25px 8px;overflow:hidden}.sidebar.is-collapsed .wordmark,.sidebar.is-collapsed nav{display:none}.sidebar.is-collapsed .side-top{justify-content:center;margin:0}.sidebar.is-collapsed .collapse{transform:rotate(180deg)}main{min-width:0}.topbar{min-height:71px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 clamp(20px,5vw,72px)}.expand{display:none}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:13px;color:var(--muted)}.breadcrumbs a{color:var(--text)}.crumb{display:flex;gap:7px}.global-menu{position:relative}.preferences{position:absolute;right:0;top:42px;z-index:10;width:200px;padding:12px;border:1px solid var(--line);background:var(--paper);box-shadow:0 8px 20px #0000001f}.preferences fieldset{border:0;padding:5px 0 12px;margin:0;display:grid;gap:3px}.preferences fieldset+fieldset{border-top:1px solid var(--line);padding-bottom:0}.preferences legend{font-size:12px;font-weight:700;color:var(--muted);padding:0 0 3px}.preferences a,.preferences button{background:none;color:var(--text);border:0;font:inherit;text-align:left;padding:5px;cursor:pointer;text-decoration:none}.preferences button:hover,.preferences a:hover{color:var(--accent)}.page{max-width:850px;padding:clamp(40px,7vw,88px) clamp(22px,6vw,96px)}.page h1{font-size:clamp(2.25rem,5vw,4.3rem);letter-spacing:-.055em;line-height:1.03;margin:0 0 27px}.page h2{font-size:1.12rem;margin:0 0 8px}.page p{max-width:68ch;font-size:1.04rem;margin:0 0 18px}.eyebrow{color:var(--accent);font-size:.78rem!important;font-weight:800;text-transform:uppercase;letter-spacing:.11em;margin-bottom:10px!important}.home{padding-top:clamp(45px,10vw,120px)}.profile{display:block;width:105px;height:105px;border-radius:50%;object-fit:cover;margin:0 0 28px;filter:grayscale(1)}.identity{display:flex;flex-wrap:wrap;margin:0 0 18px;padding:0;color:var(--muted);font-size:clamp(1.15rem,2vw,1.4rem);list-style:none}.identity li{white-space:nowrap}.identity li:not(:last-child):after{content:" ·";white-space:pre}.hero-links{display:flex;flex-wrap:wrap;gap:10px;margin:33px 0 65px}.button{border:1px solid var(--text);border-radius:4px;padding:8px 13px;text-decoration:none;font-weight:700;font-size:.94rem}.button:hover{background:var(--text);color:var(--bg)}.home-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:55px;border-top:1px solid var(--line);padding-top:28px}.home-index div{display:grid;gap:8px}.home-index a{font-size:.95rem}.expertise-groups{display:grid;gap:14px;margin-top:34px}.expertise-groups div,.entry-list a{border-top:1px solid var(--line);padding:18px 0}.expertise-groups p{margin:0;color:var(--muted);font-size:.95rem}.entry-list{margin-top:35px}.entry-list a{display:block;text-decoration:none}.entry-list a:last-child{border-bottom:1px solid var(--line)}.entry-list p{margin:0;color:var(--muted);font-size:.96rem}.content-meta{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);border-top:1px solid var(--line);margin-top:40px;padding-top:16px;font-size:.86rem}@media(max-width:760px){.shell{display:block}.sidebar{transform:translate(-100%);transition:transform .16s ease;position:fixed;z-index:20;width:min(290px,85vw);box-shadow:8px 0 20px #00000026}.sidebar.is-open{transform:translate(0)}.expand,.collapse{display:block}.topbar{padding:0 16px;min-height:60px}.breadcrumbs{font-size:12px;max-width:calc(100vw - 105px);overflow:hidden;white-space:nowrap}.page{padding:45px 22px}.home-index{grid-template-columns:1fr;gap:30px}.preferences{right:-4px}}.page.home{max-width:none}.contact-details{margin-top:34px}.contact-details h2{font-size:1.3rem;margin-bottom:10px}.contact-details h3{font-size:1rem;margin:28px 0 4px}.cv-section,.work-style{margin-top:46px}.cv-section>h2,.work-style>h2{border-top:1px solid var(--line);padding-top:20px;font-size:1.3rem}.cv-organization{margin-top:28px}.cv-organization>h3,.cv-role h3{font-size:1.1rem;margin:0 0 14px}.cv-role{margin:0 0 26px}.cv-role h4{font-size:1rem;margin:0 0 2px}.cv-role .dates{color:var(--muted);font-size:.92rem;margin-bottom:10px}.cv-role ul,.cv-section>ul{max-width:68ch;padding-left:20px;margin:0}.cv-role li,.cv-section li{margin-bottom:5px}.work-style h3{font-size:1.05rem;margin:24px 0 10px}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
