/* EB Garamond web typography; no trackers, JavaScript, or build step. */
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&display=swap');
:root{--ink:#17363d;--muted:#52676b;--teal:#216458;--paper:#f9f8f4;--line:#d8dfd9;--serif:'EB Garamond',Garamond,Georgia,'Times New Roman',serif;--sans:var(--serif)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid #b37323;outline-offset:6px}.wrap{width:min(1160px,calc(100% - 96px));margin-inline:auto}.skip{position:absolute;left:20px;top:-100px;background:white;padding:12px;z-index:5}.skip:focus{top:10px}.site-header{display:flex;justify-content:space-between;align-items:center;min-height:110px;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:12px;font-weight:650;font-size:16px;letter-spacing:-.4px}.monogram{display:grid;place-items:center;width:40px;height:40px;background:var(--ink);color:var(--paper);font:19px var(--serif)}nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:550}.nav-contact{padding:10px 15px;border:1px solid #a7bab4}.hero{display:grid;grid-template-columns:1.45fr 1fr;gap:72px;padding-block:86px 90px;align-items:center}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;margin:0 0 22px;line-height:1.6}.dot{display:inline-block;width:7px;height:7px;background:var(--teal);border-radius:100%;margin:0 7px 1px 0}h1,h2,h3,p{margin-top:0}h1{font:clamp(42px,4.8vw,66px)/1.13 var(--serif);letter-spacing:-2.6px;margin-bottom:25px}em{font-weight:400;color:var(--teal)}.hero-description{font-size:18px;line-height:1.65;max-width:490px;margin-bottom:12px;color:#425b60}.hero-context{font-size:12px;color:var(--muted);letter-spacing:.2px}.hero-actions{display:flex;align-items:center;gap:29px;margin-top:32px}.button{padding:13px 21px;display:inline-flex;justify-content:space-between;align-items:center;gap:27px;font-size:13px;font-weight:600}.button:hover{text-decoration:none;filter:brightness(1.12)}.primary{background:var(--ink);color:white}.text-link{font-size:13px;font-weight:650;display:inline-flex;gap:18px}.hero-card{background:#e9efea;padding:26px 30px;border:1px solid #dbe4dc;position:relative}.card-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;font-weight:700}.card-top>span:last-child{font-size:22px;line-height:1}.card-statement{font:31px/1.24 var(--serif);letter-spacing:-.5px;margin-block:28px}.approach-step{display:flex;gap:14px;border-top:1px solid #cad6cd;padding:13px 0}.step-number{font-size:10px;padding-top:3px;color:var(--teal)}.approach-step strong{font-size:12px;font-weight:650}.approach-step p{font-size:11px;margin:1px 0 0;color:var(--muted)}.card-bottom{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px;border-top:1px solid #cad6cd;padding-top:15px;margin-top:3px}.card-bottom span{color:#81938a}.impact-band{background:#f0f1eb;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.impact-grid{display:grid;grid-template-columns:repeat(3,1fr);padding-block:31px}.impact-grid>div{padding-inline:36px;border-right:1px solid #d0d9d0}.impact-grid>div:first-child{padding-left:0}.impact-grid>div:last-child{border:0}.metric{font:44px/1.1 var(--serif);letter-spacing:-1.5px;margin-bottom:9px}.metric span{font-size:30px}.impact-grid p:not(.metric){font-size:12px;font-weight:650;margin:0}.impact-grid small{font-size:10px;color:var(--muted)}.work-section{padding-block:83px 70px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:36px}.section-heading .eyebrow{margin-bottom:15px}h2{font:39px/1.2 var(--serif);letter-spacing:-1.2px;margin-bottom:0}.section-heading>p{font-size:12px;color:var(--muted);margin-bottom:4px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.project{background:#fffefa;border:1px solid var(--line);padding:29px 30px 0}.project-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:27px}.project-category{font-size:9px;letter-spacing:1.2px;font-weight:700;color:var(--teal)}.project-number{font:15px var(--serif);color:#627671}.company{font-size:12px;font-weight:650;margin-bottom:9px}.project h3{font:29px/1.24 var(--serif);letter-spacing:-.7px;max-width:410px;margin-bottom:15px}.project>p:not(.company){font-size:13px;color:var(--muted);margin-bottom:24px;min-height:67px}.project-result{display:flex;gap:18px;align-items:center;border-top:1px solid var(--line);padding-top:21px;margin-bottom:20px}.project-result strong{font:40px/1 var(--serif);letter-spacing:-1px;white-space:nowrap}.project-result span{font-size:10px;line-height:1.5;color:var(--muted)}.tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:25px}.tags span{font-size:9px;background:#edf2ec;padding:3px 9px;color:#3d5f52}details{border-top:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding-block:17px;font-size:12px;font-weight:650}summary::-webkit-details-marker{display:none}summary:hover{color:var(--teal)}summary span{font-size:18px;font-weight:400}details[open] summary span{transform:rotate(90deg)}.case-body{border-top:1px solid var(--line);padding-top:20px;padding-bottom:12px;font-size:13px;color:var(--muted)}.case-body h4{color:var(--ink);font-size:12px;margin:0 0 5px}.case-body p{margin-bottom:18px}.case-meta{font-size:11px;border-top:1px solid var(--line);padding-top:14px}.work-note{font-size:10px;color:var(--muted);max-width:830px;margin:23px 0 0}.about-section{background:#edf0e9;padding-block:76px}.about-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:95px}.about-grid h2{margin-bottom:25px}.about-grid p:not(.eyebrow){font-size:13px;color:#425b60}.about-grid>div>p:not(.eyebrow){font-size:16px!important;line-height:1.7}.about-grid .text-link{margin-top:10px}.expertise{padding-top:7px}.expertise h3{font-size:12px;font-weight:650;margin-bottom:15px}.expertise>div{display:flex;gap:19px;border-top:1px solid #cbd6cb;padding-top:15px}.expertise>div>span{font-size:10px;color:var(--teal);padding-top:4px}.expertise strong{display:block;font-size:12px;color:var(--ink);margin-bottom:3px}.expertise p{font-size:12px!important;line-height:1.6}.academic-section{padding-block:61px;display:flex;align-items:center;gap:60px;justify-content:space-between}.academic-section .eyebrow{margin-bottom:12px}.academic-section h2{font-size:29px;margin-bottom:15px}.academic-section p:not(.eyebrow){font-size:13px;max-width:750px;color:var(--muted)}.academic-note{font-size:10px!important;margin:16px 0 0}.academic-mark{font:68px var(--serif);color:#56796a}.contact-section{background:var(--ink);color:#f4f5ec;padding-block:65px}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:50px}.contact-section .eyebrow{color:#b4d0bd}.contact-section h2{font-size:46px}.contact-section em{color:#bad6bb}.contact-section p:last-child{font-size:13px;color:#c5d4ce;margin:20px 0 0}.contact-actions{display:flex;flex-direction:column;gap:19px;align-items:start;font-size:12px}.light{background:#ecf2e7;color:var(--ink);margin-bottom:3px}.contact-actions>a:not(.button){display:flex;justify-content:space-between;width:100%;padding-right:2px}footer{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:90px;font-size:10px;color:var(--muted)}footer p{margin:0}
@media(min-width:1300px){.hero{gap:100px}}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.hero{gap:30px;padding-block:60px}.hero h1{font-size:46px}.hero-description{font-size:16px}.hero-card{padding:22px}.card-statement{font-size:27px}.about-grid{gap:40px}nav{gap:18px}.section-heading>p{max-width:230px}.project{padding-inline:22px}.project h3{font-size:26px}}
@media(max-width:640px){.wrap{width:calc(100% - 40px)}.site-header{min-height:100px;align-items:flex-start;flex-direction:column;justify-content:center;gap:13px;padding-block:17px}.brand{font-size:14px}.monogram{width:30px;height:30px;font-size:15px}nav{gap:21px;font-size:11px;width:100%;justify-content:space-between}.nav-contact{padding:0;border:0}.hero{grid-template-columns:1fr;padding-block:46px;gap:38px}.eyebrow{font-size:9px;letter-spacing:1.3px}.hero h1{font-size:44px;letter-spacing:-1.8px}.hero-description{max-width:360px}.hero-actions{gap:24px;margin-top:25px}.hero-card{padding:24px}.card-statement{font-size:31px;margin-block:22px}.approach-step{padding:12px 0}.impact-grid{gap:20px;padding-block:26px;grid-template-columns:1fr}.impact-grid>div{padding:0 0 18px;border:0;border-bottom:1px solid #d0d9d0;display:grid;grid-template-columns:85px 1fr;column-gap:15px;align-items:center}.impact-grid>div:last-child{padding-bottom:0}.metric{font-size:36px;grid-row:span 2;margin:0}.metric span{font-size:25px}.impact-grid small{grid-column:2}.impact-grid p:not(.metric){font-size:11px}.work-section{padding-block:50px}.section-heading{display:block;margin-bottom:27px}.section-heading>p{margin-top:18px;max-width:none}h2{font-size:33px}.project-grid{grid-template-columns:1fr;gap:19px}.project{padding:25px 24px 0}.project h3{font-size:29px}.project>p:not(.company){min-height:0}.project-top{margin-bottom:23px}.project-category{font-size:8px}.project-result strong{font-size:39px}.about-section{padding-block:48px}.about-grid{grid-template-columns:1fr;gap:35px}.academic-section{gap:15px;padding-block:45px}.academic-section h2{font-size:27px}.academic-mark{font-size:40px;align-self:start}.contact-section{padding-block:47px}.contact-inner{align-items:start;flex-direction:column;gap:26px}.contact-section h2{font-size:39px}.contact-actions{width:100%;max-width:300px}footer{flex-wrap:wrap;justify-content:space-between;padding-block:25px;min-height:85px}footer>p:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Shared reading sizes across the portfolio; headings retain their hierarchy. */
.hero-description,.section-heading>p,.project>p:not(.company),.case-body,.academic-section p:not(.eyebrow),.contact-section p:last-child{font-size:16px}
.approach-step p,.expertise p{font-size:16px!important}
.academic-note{font-size:16px!important}
nav,.button,.text-link,summary,.contact-actions,.hero-context,.company,.approach-step strong,.expertise h3,.expertise strong,.impact-grid p:not(.metric),.impact-grid small,.project-result span,.case-meta,.work-note,footer{font-size:14px}
.eyebrow,.card-top,.card-bottom,.project-category,.tags span,.step-number,.expertise>div>span{font-size:12px}
.project>p:not(.company){min-height:0}
.card-top{align-items:center}
.approach-link{display:grid;place-items:center;min-width:44px;min-height:44px;font-size:24px;line-height:1}
.toolkit-link{display:flex;align-items:center;gap:16px;flex-shrink:0;font-size:14px;font-weight:650;min-height:44px}
.toolkit-link .academic-mark{line-height:1}
summary{min-height:48px}
details[open] summary span{transform:rotate(45deg)}
@media(max-width:640px){nav{gap:12px;flex-wrap:wrap}.hero-actions{gap:18px;flex-wrap:wrap}.project-top{align-items:start}.project-category{max-width:85%}.academic-section{align-items:start;flex-direction:column;gap:20px}.toolkit-link .academic-mark{font-size:32px}.card-bottom{letter-spacing:.6px}.resume .contact{overflow-wrap:anywhere}}

@media print{nav,.hero-card,.hero-actions,.contact-actions,footer,summary{display:none}.wrap{width:100%}.hero,.work-section,.about-section,.academic-section,.contact-section{padding-block:20px}.hero,.about-grid{display:block}.impact-band,.contact-section,.about-section{background:white;color:#17363d}.project{break-inside:avoid}.contact-section em{color:#216458}body{font-size:11px}.project-grid{gap:12px}.project h3{font-size:20px}}
