:root{--paper:#f4f2e9;--ink:#172d28;--muted:#53645b;--line:#c6cec0;--accent:#a44829;--surface:#e8ece0;--max:1180px;color-scheme:light;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);line-height:1.65}a{color:inherit;text-underline-offset:.22em}a:hover{text-decoration-thickness:2px}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,.project-title{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.13;letter-spacing:-.035em}h1{font-size:clamp(2.8rem,5.7vw,5rem)}h2{font-size:clamp(1.9rem,3.3vw,2.8rem)}h3{font-size:1.12rem;line-height:1.35}p{max-width:72ch}.wrap{max-width:var(--max);margin:auto;padding:0 36px}.skip{position:absolute;top:-100px;left:24px;background:var(--ink);color:var(--paper);padding:12px;z-index:10}.skip:focus{top:12px}.nav{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:26px 0;border-bottom:1px solid var(--line)}.brand{font-size:1.1rem;font-weight:750;text-decoration:none;letter-spacing:-.04em}.brand span{display:inline-block;width:10px;height:10px;background:var(--accent);border-radius:50%;margin-right:10px}.nav-links{display:flex;gap:24px;align-items:center;font-size:.9rem}.nav-links a{text-decoration:none}.nav-links a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px}.nav-contact{border-bottom:1px solid var(--line);padding-bottom:2px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:750;margin-bottom:18px;color:var(--muted)}.hero{padding:60px 0 58px}.resume-hero{display:grid;grid-template-columns:1fr 260px;gap:75px}.resume-hero h1{margin-bottom:13px}.hero-line{font-family:Georgia,serif;font-size:clamp(1.6rem,3vw,2.5rem);letter-spacing:-.025em;line-height:1.22;margin-bottom:23px}.lead{font-size:1.04rem;line-height:1.7;max-width:610px}.specialties{font-size:.82rem;color:var(--muted);margin:20px 0}.location{font-size:.8rem;color:var(--muted);margin:25px 0 0}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:25px}.button{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border:1px solid var(--ink);text-decoration:none;min-height:47px;font-size:.86rem;font-weight:650;border-radius:2px}.button.primary{background:var(--ink);color:var(--paper)}.button:hover{background:var(--accent);border-color:var(--accent);color:#fff}.text-link{font-size:.87rem;padding:10px}.hero-aside{align-self:center;border-left:1px solid var(--line);padding-left:28px}.hero-aside h2{font-size:2rem;margin-bottom:14px}.hero-aside p{font-size:.9rem;color:var(--muted)}.hero-aside .small{font-size:.8rem}.aside-downloads{border-top:1px solid var(--line);padding-top:20px;margin-top:25px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:.8rem}.print-button{background:none;border:0;padding:0;color:inherit;text-decoration:underline;text-underline-offset:.22em;cursor:pointer;min-height:30px}.section,.proof-section{border-top:1px solid var(--line);padding:45px 0}.section-top{display:flex;justify-content:space-between;align-items:end;gap:26px;margin-bottom:28px}.section-top h2{margin-bottom:0}.section-top>a{font-size:.84rem}.proof-grid,.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.proof{min-width:0}.proof h3{font-family:Georgia,serif;font-size:1.45rem;font-weight:400;letter-spacing:-.02em;margin-bottom:12px}.proof p:not(.eyebrow){font-size:.9rem;color:var(--muted);margin-bottom:17px}.proof>a{font-size:.77rem}.proof .eyebrow{margin-bottom:13px;font-size:.65rem;color:var(--accent)}.service-grid h3{margin-bottom:11px}.service-grid p{font-size:.91rem;color:var(--muted)}.service-grid .tools{font-size:.77rem;border-top:1px solid var(--line);padding-top:15px;margin-top:17px}.section-grid{display:grid;grid-template-columns:250px 1fr;gap:60px}.section-label h2{font-size:2.4rem}.section-label p:not(.eyebrow){font-size:.86rem;color:var(--muted)}.job{padding-bottom:27px;margin-bottom:27px;border-bottom:1px solid var(--line)}.job:last-child{margin:0;padding:0;border:0}.job-head{display:flex;justify-content:space-between;align-items:baseline;gap:22px}.job h3{margin-bottom:6px}.job-date{font-size:.75rem;color:var(--muted);white-space:nowrap;margin:0}.role{font-size:.8rem;color:var(--muted);margin-bottom:14px}.job ul{padding-left:18px;margin:0;font-size:.95rem}.job li+li{margin-top:6px}.leadership-title{font-family:Georgia,serif;font-size:1.8rem;font-weight:400;letter-spacing:-.02em;margin-bottom:16px}.structure{font-size:.88rem;color:var(--muted)}.education+.education{margin-top:25px}.education h3{margin-bottom:9px}.education p{font-size:.91rem}.closing{padding:43px 0 50px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:55px;align-items:center}.closing h2{font-size:2.7rem;margin-bottom:16px}.closing p:not(.eyebrow){font-size:.9rem;color:var(--muted);max-width:540px;margin-bottom:0}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.email{font-size:.84rem}.footer{border-top:1px solid var(--line);padding:23px 36px 28px;display:flex;justify-content:space-between;gap:20px;font-size:.76rem;color:var(--muted)}.footer p{margin:0}.projects{--paper:#132523;--ink:#f0f1e5;--muted:#bdc9c1;--line:#435b51;--accent:#f0b68c;--surface:#233930;color-scheme:dark}.projects .hero{padding:54px 0 48px}.projects .hero h1{font-size:clamp(3rem,5.8vw,5.2rem);margin-bottom:23px}.projects .hero .lead{max-width:620px;color:var(--muted)}.projects .button.primary{background:var(--ink);color:var(--paper)}.projects .button:hover{background:var(--accent);color:var(--paper)}.projects .eyebrow{color:var(--accent)}.featured{border:1px solid var(--line);background:#20362f;padding:36px;display:grid;grid-template-columns:1.2fr 1fr;gap:60px;margin-bottom:55px}.featured h2{font-size:2.55rem}.featured p:not(.eyebrow):not(.fact-number){font-size:.93rem;color:var(--muted)}.featured a{font-size:.84rem}.feature-facts{display:flex;flex-direction:column;justify-content:center}.fact-number{font-family:Georgia,serif;font-size:3.7rem;line-height:1;margin-bottom:22px}.fact-number span{font-family:ui-sans-serif,system-ui,sans-serif;display:block;font-size:.78rem;color:var(--muted);margin-top:9px}.feature-facts ul{margin:0;padding-left:17px;font-size:.81rem;color:var(--muted)}.feature-facts li+li{margin-top:10px}.filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:28px}.filter{background:transparent;border:1px solid var(--line);color:var(--ink);padding:9px 15px;border-radius:100px;font-size:.8rem;cursor:pointer;min-height:43px}.filter[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filter:hover{border-color:var(--accent)}.project-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:45px}.project{padding:29px 0 32px;border-top:1px solid var(--line);min-width:0;scroll-margin-top:25px}.project[hidden]{display:none}.project-meta{display:flex;justify-content:space-between;gap:18px;font-size:.69rem;color:var(--muted);margin-bottom:15px}.project-meta p{margin:0;max-width:220px}.project-meta span{color:var(--accent);text-align:right;max-width:145px}.project-title{font-size:1.8rem;margin-bottom:17px}.project-details{font-size:1rem;color:var(--muted);margin-bottom:18px}.project .role{font-size:.75rem;margin-bottom:15px}.tags{display:flex;flex-wrap:wrap;gap:7px}.tag{padding:3px 8px;background:var(--surface);border:1px solid var(--line);font-size:.67rem;color:var(--muted)}.count{font-size:.8rem;color:var(--muted);white-space:nowrap;margin-bottom:3px}.internal-section{border-top:1px solid var(--line);padding:46px 0 44px;margin-top:18px}.internal-intro{font-size:.91rem;color:var(--muted);max-width:730px;margin-bottom:28px}.internal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.internal-project{border-left:2px solid var(--line);padding-left:20px}.internal-project .eyebrow{font-size:.6rem;letter-spacing:.08em}.internal-project h3{font-family:Georgia,serif;font-weight:400;font-size:1.35rem;letter-spacing:-.02em}.internal-project p:not(.eyebrow){font-size:.85rem;color:var(--muted)}.projects .practice{border-top:1px solid var(--line);padding:43px 0;display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.practice h2{font-size:2.3rem}.practice p:not(.eyebrow){font-size:.89rem;color:var(--muted)}.practice a{font-size:.82rem}.print-only{display:none}
@media(max-width:900px){.resume-hero{grid-template-columns:1fr 220px;gap:35px}.hero-aside{padding-left:23px}.section-grid{grid-template-columns:185px 1fr;gap:35px}.job-head{display:block}.job-date{margin:0 0 8px}.proof-grid,.service-grid{gap:25px}.featured{gap:35px}.internal-grid{grid-template-columns:1fr;gap:25px}.internal-project{max-width:750px}}
@media(max-width:640px){.wrap{padding:0 22px}.nav{padding:21px 0;gap:15px}.brand{white-space:nowrap;font-size:1rem}.nav-links{gap:17px;font-size:.81rem}.nav-contact{display:none}.hero{padding:39px 0 35px}.resume-hero{display:block}.resume-hero h1{font-size:3.2rem}.hero-line{font-size:1.8rem}.lead{font-size:.98rem}.specialties{font-size:.76rem;max-width:320px}.hero-aside{margin-top:30px;padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}.hero-aside .eyebrow{margin-bottom:10px}.hero-aside h2{font-size:1.7rem;margin-bottom:8px}.hero-aside p{font-size:.85rem;margin-bottom:10px}.aside-downloads{border:0;padding:0;margin-top:16px;flex-direction:row;align-items:center;gap:25px}.actions{gap:9px}.button{font-size:.8rem;padding:10px 15px}.text-link{font-size:.8rem;padding:10px 0}.section,.proof-section{padding:31px 0}.section-top{display:block;margin-bottom:25px}.section-top h2{font-size:2rem}.section-top>a{display:inline-block;margin-top:15px}.proof-grid,.service-grid{grid-template-columns:1fr;gap:25px}.proof+.proof,.service-grid article+article{border-top:1px solid var(--line);padding-top:24px}.proof h3{font-size:1.4rem}.proof p:not(.eyebrow){font-size:.88rem}.section-grid{display:block}.section-label{margin-bottom:25px}.section-label h2{font-size:2.1rem}.job{margin-bottom:24px;padding-bottom:24px}.job-head{display:block}.job-date{font-size:.73rem}.job ul{font-size:.9rem}.leadership-title{font-size:1.7rem}.closing{display:block;padding:34px 0 40px}.closing h2{font-size:2.2rem}.contact-actions{margin-top:24px}.footer{display:block;padding:23px 22px 28px}.footer p+p{margin-top:10px}.projects .hero{padding:38px 0 36px}.projects .hero h1{font-size:3rem}.featured{display:block;padding:25px;margin-bottom:35px}.featured h2{font-size:2.15rem}.feature-facts{margin-top:27px;border-top:1px solid var(--line);padding-top:24px}.fact-number{font-size:3.2rem}.project-grid{grid-template-columns:1fr}.project-meta{font-size:.67rem}.project-title{font-size:1.8rem}.project-details{font-size:.97rem}.count{margin-top:15px}.internal-section{padding:33px 0}.internal-project{padding-left:18px}.projects .practice{display:block;padding:33px 0}.practice h2{font-size:2.1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{:root,.projects{--paper:#fff;--ink:#000;--muted:#444;--line:#ccc;--surface:#fff;color-scheme:light}body{font-size:9pt;background:white;line-height:1.4}.wrap{max-width:none;padding:0}.nav,.skip,.actions,.filters,.closing,.footer,.print-button,.hero-aside,.proof-section,.featured{display:none}.hero,.projects .hero{padding:0 0 10pt}.resume-hero{display:block}.resume-hero h1,.projects .hero h1{font-size:27pt;margin-bottom:7pt}.hero-line{font-size:14pt;line-height:1.2;margin-bottom:10pt}.hero-line br{display:none}.eyebrow{font-size:7pt;margin-bottom:8pt}.lead{font-size:9pt}.location,.specialties{font-size:8pt;margin:8pt 0 7pt}.section{padding:12pt 0}.section-top{margin-bottom:12pt}.section-top h2,.section-label h2{font-size:15pt}.section-grid,.projects .practice{display:block}.section-label{margin-bottom:10pt}.section-label p:not(.eyebrow){display:none}.service-grid{gap:20pt}.service-grid p{font-size:8pt;margin-bottom:5pt}.service-grid h3{font-size:10pt}.service-grid .tools{font-size:7.5pt;padding-top:7pt;margin-top:7pt}.job{margin-bottom:10pt;padding-bottom:10pt;break-inside:avoid}.job-head{display:flex}.job h3{font-size:10pt}.job-date{font-size:8pt}.role{font-size:8pt;margin-bottom:6pt}.job ul{font-size:8.5pt}.job li+li{margin-top:3pt}.leadership-title{font-size:13pt}.structure{font-size:8pt}.education+.education{margin-top:12pt}.education h3{font-size:10pt}.education p{font-size:8.5pt}.print-only{display:block;font-size:8pt;margin:12pt 0}.project-grid{display:block}.project{break-inside:avoid;padding:12pt 0}.project[hidden]{display:block}.project-title{font-size:14pt}.project-details{font-size:9pt}.project-meta,.project .role{font-size:7.5pt}.tags{display:none}.projects .practice,.internal-section{padding:14pt 0}.internal-grid{display:block}.internal-project{break-inside:avoid;margin-bottom:16pt}.internal-project p:not(.eyebrow),.internal-intro,.practice p:not(.eyebrow){font-size:8.5pt}.internal-project h3{font-size:12pt}.count{font-size:8pt}a{text-decoration:none}@page{size:letter;margin:.6in}}

@media(max-width:640px){.hero-aside{margin-top:20px;padding:0;border:0}.hero-aside>h2,.hero-aside>p{display:none}.aside-downloads{margin:0}}

@media print{:root,.projects{--accent:#000}section[aria-labelledby="capabilities"]{display:none}h2,h3,.section-label,.section-top{break-after:avoid}.section-label h2 br{display:none}.practice h2{font-size:16pt}.education{break-inside:avoid}}
