:root{--paper:#f7f6f2;--white:#fffefa;--ink:#17252b;--muted:#526167;--line:#d2d7d6;--cyan:#00b3e6;--teal:#00697b;--tint:#e8f1f0;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--mono:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',monospace;--max:1152px;--gutter:40px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:var(--teal)}button{font:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:5px}::selection{background:#b4eaf5;color:var(--ink)}h1,h2,h3,p,figure,blockquote,dl,dd{margin:0}h1,h2,h3{line-height:1.12}svg{vertical-align:middle}.wrap{width:min(calc(100% - var(--gutter)*2),var(--max));margin-inline:auto}.eyebrow,.meta,.section-label,.role-date,.work-kind,.tiny{font:11px/1.5 var(--mono);letter-spacing:.075em;text-transform:uppercase}.muted{color:var(--muted)}.skip{position:fixed;left:18px;top:-100px;z-index:99;padding:12px 20px;background:var(--ink);color:white}.skip:focus{top:12px}.site-header{height:85px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;background:var(--paper)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;height:100%}.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.wordmark{font:italic 34px/.8 var(--serif);letter-spacing:-2px}.brand-rule{width:1px;height:19px;background:var(--line)}.brand .tiny{color:var(--muted);font-size:10px;letter-spacing:.09em}.nav{display:flex;gap:27px;align-items:center;margin-left:auto}.nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-size:12px;border-bottom:1px solid transparent}.nav a[aria-current]{border-bottom-color:var(--teal);color:var(--teal)}.pdf-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:14px;border:1px solid var(--ink);background:var(--ink);color:var(--white);padding:10px 17px;text-decoration:none;font-size:12px;line-height:1.3;white-space:nowrap}.pdf-button:hover{background:var(--teal);border-color:var(--teal);color:white}.icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.hero{padding:52px 0 38px}.hero-kicker{display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--muted)}.kicker-left{display:flex;align-items:center;gap:10px}.cyan-line{width:29px;height:3px;background:var(--cyan);display:inline-block}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:60px;margin-top:25px;align-items:start}h1{font:normal clamp(65px,6.8vw,90px)/1.03 var(--serif);letter-spacing:-.065em;margin-bottom:21px}h1 .last{font-style:italic}.hero-title{font-size:26px;font-weight:500;letter-spacing:-.035em;line-height:1.3;max-width:620px;margin-bottom:18px}.hero-summary{font-size:16px;line-height:1.75;max-width:658px;color:var(--muted)}.hero-aside{border-left:1px solid var(--line);padding-left:26px;margin-top:10px}.aside-block+.aside-block{margin-top:25px}.aside-block .eyebrow{color:var(--muted);margin-bottom:5px}.aside-block p{font-size:14px;line-height:1.5}.aside-block strong{font-weight:600}.contact-link{font-size:15px;display:inline-flex;align-items:center;min-height:35px}.social-links{display:flex;gap:18px;margin-top:8px}.social-links a{font-size:12px;min-height:35px;display:inline-flex;align-items:center;gap:5px;text-decoration:none}.hero-application{margin-top:13px;font-size:12px;color:var(--muted);line-height:1.55}.proof-strip{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1.2fr;padding-block:21px;margin-top:34px;gap:30px}.proof-item{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}.proof-item+.proof-item{border-left:1px solid var(--line);padding-left:30px}.proof-number{font:normal 37px/1 var(--serif);letter-spacing:-.04em;white-space:nowrap}.proof-label{font-size:11px;line-height:1.45;color:var(--muted);max-width:150px}.proof-label strong{color:var(--ink);font-weight:500}.proof-label a:hover{color:var(--teal)}.resume-grid{display:grid;grid-template-columns:213px minmax(0,1fr);gap:67px;align-items:start;padding-top:31px}.sidebar{padding-top:8px}.side-nav{margin-bottom:45px}.side-nav>a{display:flex;align-items:center;min-height:37px;font-size:12px;text-decoration:none;color:var(--muted);justify-content:space-between}.side-nav>a:hover{color:var(--teal)}.side-nav .eyebrow{font-size:10px;color:var(--ink);margin-bottom:10px}.sidebar-heading{margin-bottom:17px;color:var(--muted)}.skill-block{margin-bottom:22px}.skill-block h3{font-size:13px;font-weight:600;line-height:1.4;margin-bottom:5px}.skill-block p{font-size:12px;line-height:1.9;color:var(--muted)}.side-note{border-top:2px solid var(--cyan);padding-top:14px;margin-top:34px}.side-note p{font:italic 22px/1.35 var(--serif);letter-spacing:-.02em}.side-note small{font-size:11px;display:block;color:var(--muted);margin-top:10px;line-height:1.6}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.section-label{font-size:11px;letter-spacing:.09em}.section-heading .tiny{color:var(--muted);font-size:10px}.role{position:relative;padding:0 0 30px;margin:0 0 30px;border-bottom:1px solid var(--line);scroll-margin-top:113px}.role:last-child{margin-bottom:0}.role-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px}.role h3{font-size:28px;letter-spacing:-.035em;font-weight:600}.role-date{color:var(--muted);font-size:10px;white-space:nowrap;letter-spacing:.03em}.role-title{font-size:14px;line-height:1.5;margin:7px 0 9px;color:var(--teal);font-weight:600;max-width:610px}.role-context{font-size:14px;line-height:1.7;color:var(--muted);margin-bottom:12px}.role ul{list-style:none;margin:0;padding:0}.role li{position:relative;padding-left:16px;margin-top:9px;line-height:1.65;font-size:14px}.role li::before{content:'•';position:absolute;left:0;top:0;color:var(--teal);font-size:12px}.outcome{border-left:2px solid var(--cyan);padding-left:14px;margin-top:18px;font-size:13px;line-height:1.65}.outcome small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.role-link{display:inline-flex;align-items:center;gap:8px;margin-top:10px;min-height:32px;font-size:12px;text-decoration:none;border-bottom:1px solid var(--ink)}.role-featured{background:var(--white);padding:25px 26px 28px;margin-left:-26px;margin-right:-26px;border-top:3px solid var(--cyan);border-bottom:1px solid var(--line)}.role-featured .role-context{max-width:640px}.education{padding:32px 0 30px}.education h3{font-size:25px;letter-spacing:-.025em;margin-top:20px}.education .role-title{font-size:13px}.education p{font-size:14px;line-height:1.7;max-width:680px}.education .detail{color:var(--muted);margin-top:10px}.earlier-experience{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:30px}.earlier h3{font-size:16px;margin:0 0 5px}.earlier .tiny{font-size:10px;letter-spacing:.02em;color:var(--muted);margin-bottom:9px}.earlier p{font-size:12px;line-height:1.75}.work-section{margin-top:55px;padding-top:35px;border-top:1px solid var(--ink)}.work-heading{display:flex;justify-content:space-between;align-items:baseline;gap:30px;margin-top:13px;margin-bottom:24px}.work-heading h2,.teaching h2{font:normal 42px/1.1 var(--serif);letter-spacing:-.04em}.work-heading p{font-size:12px;color:var(--muted)}.work-list{border-top:1px solid var(--line)}.work-row{display:grid;grid-template-columns:26px 180px 1fr 150px;gap:25px;align-items:center;border-bottom:1px solid var(--line);padding:22px 0;text-decoration:none;min-height:110px}.work-row:hover{color:var(--ink)}.work-row:hover .work-name{color:var(--teal)}.work-index{font:11px var(--mono);color:var(--muted);align-self:start;margin-top:4px}.work-name{font-size:22px;font-weight:500;letter-spacing:-.025em;line-height:1.2}.work-kind{color:var(--muted);font-size:9px;margin-top:7px;line-height:1.6;letter-spacing:.035em}.work-description{font-size:13px;line-height:1.7;max-width:450px;color:var(--muted)}.work-action{display:flex;align-items:center;justify-content:flex-end;gap:12px;font-size:11px;white-space:nowrap}.work-action svg{transition:transform .15s}.work-row:hover svg{transform:translate(2px,-2px)}.teaching{margin-top:65px;padding:36px 0 40px;border-top:1px solid var(--ink)}.teaching-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:25px}.teaching-quote{font:italic 43px/1.18 var(--serif);letter-spacing:-.035em;padding-bottom:17px}.teaching-cite{font:10px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-style:normal}.teaching-copy p{font-size:14px;color:var(--muted);line-height:1.8}.teaching-copy p+p{margin-top:14px}.teaching-link{display:inline-flex;align-items:center;gap:10px;margin-top:14px;min-height:44px;font-size:12px}.notes{margin-top:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.notes summary{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:48px;cursor:pointer;list-style:none}.notes summary::-webkit-details-marker{display:none}.notes summary::after{content:'+';font:20px var(--mono)}.notes[open] summary::after{content:'−'}.notes-body{max-width:850px;padding:0 0 17px}.notes-body p{font-size:12px;line-height:1.75;margin:9px 0}.notes-body a{min-height:28px;display:inline-block}.site-footer{margin-top:54px;padding:31px 0 34px;background:var(--ink);color:var(--paper)}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:35px}.footer-title{font:normal 35px var(--serif);letter-spacing:-.025em}.footer-top a{color:var(--paper);font-size:15px;text-decoration:none;display:inline-flex;align-items:center;gap:20px;min-height:44px;border-bottom:1px solid #657174}.footer-top a:hover{color:var(--cyan)}.footer-bottom{display:flex;justify-content:space-between;gap:25px;margin-top:24px;padding-top:18px;border-top:1px solid #415056}.footer-bottom p,.footer-bottom a{font:10px/1.6 var(--mono);color:#c3cccf;letter-spacing:.02em}.footer-bottom a{display:inline-flex;align-items:center;min-height:30px;text-underline-offset:3px}.footer-left{display:flex;flex-direction:column;justify-content:center}.print-only{display:none}.status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1100px){.sidebar-inner{position:sticky;top:117px}.sidebar{align-self:stretch}}
@media(max-width:1050px){:root{--gutter:30px}.hero-grid{gap:35px;grid-template-columns:minmax(0,1fr) 205px}.hero-title{font-size:23px}h1{font-size:75px}.proof-strip{gap:17px}.proof-item{gap:11px}.proof-item+.proof-item{padding-left:17px}.proof-number{font-size:33px}.resume-grid{grid-template-columns:175px minmax(0,1fr);gap:40px}.role-head{align-items:flex-start;gap:14px}.role h3{font-size:25px}.role-date{padding-top:5px}.work-row{grid-template-columns:24px 160px 1fr;gap:17px}.work-action{grid-column:3;justify-content:flex-start;margin-top:-10px}.teaching-grid{gap:45px}}
@media(max-width:760px){:root{--gutter:24px}.site-header{height:76px}.nav{gap:19px}.brand .tiny,.brand-rule{display:none}.pdf-button{padding:10px 13px;gap:8px}.hero{padding-top:34px}.hero-kicker .edition{display:none}.hero-grid{grid-template-columns:1fr;gap:25px;margin-top:26px}.hero-aside{display:grid;grid-template-columns:1fr 1fr;gap:22px;border-left:0;padding:19px 0 0;margin:0;border-top:1px solid var(--line)}.aside-block+.aside-block{margin:0}.hero-application{max-width:245px}.hero h1{font-size:76px}.hero-title{font-size:25px;max-width:550px}.hero-summary{font-size:15px}.proof-strip{margin-top:27px}.proof-item{display:block}.proof-label{margin-top:9px}.proof-number{font-size:35px}.resume-grid{display:flex;flex-direction:column;gap:27px;padding-top:12px}.resume-main{order:1;width:100%}.sidebar{order:2;width:100%;padding-top:0}.sidebar-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;border-top:1px solid var(--line);padding-top:23px}.side-nav,.side-note{display:none}.sidebar-heading{grid-column:1/-1;margin-bottom:-5px}.skill-block{margin-bottom:0}.role{scroll-margin-top:104px}.role-featured{margin-left:-15px;margin-right:-15px;padding:23px 15px 26px}.work-section{margin-top:43px}.work-heading h2{font-size:36px}.work-heading p{max-width:155px;line-height:1.5}.work-row{grid-template-columns:23px 152px 1fr}.teaching-grid{gap:28px}.teaching-quote{font-size:36px}.footer-title{font-size:32px}}
@media(max-width:520px){:root{--gutter:21px}.header-inner{gap:15px;flex-wrap:wrap;align-content:center;position:relative}.site-header{height:104px}.brand{height:44px}.wordmark{font-size:32px}.nav{order:3;width:100%;margin:0;justify-content:flex-start;gap:28px;height:30px}.nav a{font-size:11px;min-height:28px}.header-pdf{margin-left:auto}.hero{padding-top:28px;padding-bottom:26px}.hero-grid{margin-top:24px}.hero h1{font-size:70px;line-height:.99;margin-bottom:20px}.hero h1>span{display:block}.hero h1 .last{margin-top:4px}.hero-title{font-size:23px;line-height:1.35;margin-bottom:16px;max-width:320px}.hero-summary{font-size:14px;line-height:1.8}.hero-kicker{font-size:10px;letter-spacing:.025em}.hero-aside{gap:19px}.aside-block p{font-size:12px}.aside-block .eyebrow{font-size:9px}.contact-link{font-size:13px;min-height:35px}.social-links{gap:14px}.social-links a{font-size:11px;min-height:40px}.hero-application{font-size:11px;line-height:1.6}.proof-strip{grid-template-columns:1fr;gap:0;padding-block:0;margin-top:25px}.proof-item{display:grid;grid-template-columns:107px 1fr;align-items:center;gap:20px;min-height:75px;padding:13px 0}.proof-item+.proof-item{padding-left:0;border-left:0;border-top:1px solid var(--line)}.proof-number{font-size:36px}.proof-label{margin-top:0;font-size:11px;max-width:none}.role-head{display:block}.role-date{display:block;padding:0;margin-top:7px}.role h3{font-size:26px}.role-title{font-size:13px;line-height:1.6;margin-top:8px}.role-context{font-size:13px}.role li{font-size:13px;line-height:1.75;margin-top:10px}.section-heading{margin-bottom:26px}.section-heading .tiny{font-size:9px}.role{margin-bottom:27px;padding-bottom:27px}.role-featured{margin-left:-13px;margin-right:-13px;padding:23px 13px 26px}.outcome{font-size:12px}.outcome small{font-size:10px}.role-link{min-height:44px;font-size:12px}.education{padding-top:30px}.education h3{font-size:24px}.education p{font-size:13px}.earlier-experience{grid-template-columns:1fr;gap:25px}.earlier h3{font-size:17px}.earlier p{font-size:12px}.sidebar-inner{grid-template-columns:1fr;gap:19px}.sidebar-heading{margin:0}.skill-block{display:grid;grid-template-columns:75px 1fr;gap:20px}.skill-block h3{font-size:12px;padding-top:3px}.skill-block p{font-size:12px;line-height:1.8}.work-heading{display:block;margin-top:14px}.work-heading p{max-width:none;margin-top:12px}.work-heading h2{font-size:37px}.work-row{grid-template-columns:21px 1fr;gap:10px 16px;padding:23px 0}.work-description{grid-column:2;font-size:12px}.work-action{grid-column:2;margin:2px 0 0;min-height:25px;font-size:11px}.work-name{font-size:24px}.work-kind{font-size:9px;margin-top:5px}.teaching{margin-top:45px;padding-top:28px;padding-bottom:25px}.teaching-grid{grid-template-columns:1fr;gap:25px;margin-top:22px}.teaching-quote{font-size:42px;max-width:300px}.teaching-copy p{font-size:13px;line-height:1.85}.notes{margin-top:13px}.notes summary{font-size:11px;min-height:54px}.notes-body p{font-size:11px}.site-footer{margin-top:39px}.footer-top{display:block}.footer-top a{margin-top:13px;font-size:14px}.footer-bottom{display:block;margin-top:24px}.footer-bottom a{margin-top:12px;min-height:44px}html{scroll-padding-top:124px}.role{scroll-margin-top:126px}}
@media(max-width:350px){:root{--gutter:18px}.hero h1{font-size:61px}.hero-title{font-size:21px}.hero-aside{grid-template-columns:1fr;gap:18px}.aside-block+.aside-block{border-top:1px solid var(--line);padding-top:16px}.nav{gap:24px}.section-heading .tiny{display:none}.teaching-quote{font-size:37px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{@page{size:letter;margin:.5in .6in}:root{--paper:#fff;--ink:#000;--muted:#333;--teal:#17252b}html{scroll-behavior:auto}body{font-size:10pt;background:white;color:black}.wrap{width:100%;max-width:none}.site-header,.hero-aside,.hero-kicker,.side-nav,.side-note,.work-section,.teaching,.notes,.site-footer,.role-link,.proof-strip,.header-pdf{display:none!important}.hero{padding:0 0 16px}.hero-grid{display:block;margin:0}h1,.hero h1{font-size:37pt;line-height:1;margin:0 0 10px}.hero h1>span{display:inline!important}.hero-title{font-size:14pt;margin-bottom:8px;max-width:none}.hero-summary{font-size:9.5pt;line-height:1.5;max-width:none}.print-only{display:block;font-size:9pt;margin-top:10px}.resume-grid{display:block;padding-top:10px}.resume-main{display:block}.sidebar{margin-top:16px;display:block}.sidebar-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;position:static;padding-top:10px}.sidebar-heading{display:none}.skill-block{display:block}.skill-block h3{font-size:9pt}.skill-block p{font-size:8pt}.section-heading{margin-bottom:14px}.role{padding:0 0 13px;margin:0 0 14px;break-inside:avoid;page-break-inside:avoid}.role-head{display:flex}.role h3{font-size:16pt}.role-date{font-size:8pt;margin-top:0;white-space:nowrap}.role-title{font-size:9pt;margin:5px 0}.role-context{font-size:9pt;line-height:1.4;margin-bottom:7px}.role li{font-size:9pt;line-height:1.5;margin-top:5px}.outcome{font-size:8.5pt;margin-top:8px;padding-left:8px}.outcome small{font-size:7pt}.role-featured{background:white;margin:0 0 14px;padding:0 0 13px;border-top:0}.education{padding:7px 0}.education h3{font-size:15pt;margin-top:10px}.education p{font-size:9pt;line-height:1.5}.education .detail{font-size:8.5pt}.earlier-experience{margin-top:15px;padding-top:13px;grid-template-columns:1fr 1fr;gap:25px;break-inside:avoid}.earlier h3{font-size:10pt}.earlier .tiny{font-size:7pt}.earlier p{font-size:8pt}.section-label{font-size:8pt}a{text-decoration:none;color:inherit}}

/* Comfortable reading and touch targets on smaller screens. */
@media screen and (max-width:520px){.site-header{height:116px}.nav{height:44px}.nav a{min-height:44px}.hero-summary{font-size:15px}.role li{font-size:15px;line-height:1.7}.role-context{font-size:14px}.education p{font-size:14px}.teaching-copy p{font-size:15px;line-height:1.75}.work-description{font-size:14px}.contact-link,.social-links a{min-height:44px}.notes summary{font-size:12px}.notes-body p{font-size:12px}html{scroll-padding-top:136px}.role{scroll-margin-top:138px}}
