/* A restrained editorial identity. System fonts keep the portfolio fast and private. */
:root{--paper:#f4f0e8;--sheet:#fcfaf5;--ink:#232d2c;--muted:#686b60;--brass:#806a3e;--rule:#d8cfbe;--serif:Baskerville,"Iowan Old Style","Palatino Linotype",Georgia,serif}
body{background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
.wrap{width:min(1180px,calc(100% - 96px))}h1,h2,h3,.brand,.metric strong{font-family:var(--serif);font-weight:400}a:hover{color:var(--brass)}a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:var(--brass)}
.nav{background:#f4f0e8f7;border-bottom:1px solid var(--rule);backdrop-filter:blur(14px)}.nav .wrap{min-height:92px}.brand{font-size:27px;letter-spacing:-.045em}.brand span{color:var(--brass)}nav{font-size:11px;gap:30px;letter-spacing:.035em}nav a{position:relative;padding:8px 0}nav a:after{content:"";position:absolute;bottom:2px;left:0;width:0;height:1px;background:var(--brass);transition:width .2s}nav a:hover:after{width:100%}
.hero{background:var(--paper);color:var(--ink);padding:83px 0 62px}.hero .eyebrow{color:var(--brass);font:10px/1.5 "Helvetica Neue",Arial,sans-serif;letter-spacing:.22em;margin-bottom:32px}.hero h1{font-family:var(--serif);font-size:clamp(60px,7.8vw,108px);line-height:1.02;letter-spacing:-.055em;max-width:1120px}.hero h1 em{color:var(--brass);font-weight:400}.hero .intro{font-size:15px;color:#62675f;max-width:590px;line-height:1.95;margin-top:32px}.actions{margin-top:29px;gap:26px;align-items:center}.button{border-radius:0;font-size:11px;letter-spacing:.045em;padding:15px 23px}.primary{background:var(--ink);border-color:var(--ink);color:var(--sheet)}.primary:hover{background:#3b4540;border-color:#3b4540;color:white}.secondary{border:0;border-bottom:1px solid var(--rule);padding:13px 0;color:var(--ink)}.secondary:hover{color:var(--brass)}
.hero-footnote{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--rule);padding-top:21px;margin-top:58px;font:10px/1.5 "Helvetica Neue",Arial,sans-serif;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}.hero-footnote span:last-child{color:var(--brass)}
.strip{background:var(--paper);border-color:var(--rule)}.strip .wrap{padding:22px 0;font-size:10px;letter-spacing:.025em;color:var(--muted)}.strip b{color:var(--ink);font-weight:500}section.section{padding:105px 0}.eyebrow{color:var(--brass);font-family:"Helvetica Neue",Arial,sans-serif;font-size:10px;letter-spacing:.2em}h2{font-size:clamp(38px,4.2vw,57px);letter-spacing:-.04em}.section-head{align-items:end;margin-bottom:42px}.section-head>p{font-size:13px;max-width:350px;color:var(--muted)}
.filters{gap:0;border-bottom:1px solid var(--rule);margin-bottom:42px}.filters button{border:0;border-radius:0;padding:12px 18px 14px;background:transparent;color:var(--muted);font:11px "Helvetica Neue",Arial,sans-serif;letter-spacing:.025em;border-bottom:2px solid transparent}.filters button:first-child{padding-left:0}.filters button[aria-pressed=true]{background:transparent;color:var(--ink);border-color:var(--brass)}.filters button:hover{color:var(--brass)}
.grid{gap:38px 32px}.card,.small-work{background:var(--sheet);border:1px solid var(--rule);border-radius:0;box-shadow:none}.card h3{font-size:34px;letter-spacing:-.035em}.card-body{padding:35px}.card-top{font:9px/1.7 "Helvetica Neue",Arial,sans-serif;color:#737568;letter-spacing:.09em}.number{color:var(--brass);font-weight:500}.description{font-size:13px;color:#62685f;line-height:1.9}.metric{border-color:#a68c58;margin:27px 0}.metric strong{font-size:25px}.metric span{font-size:10px;color:var(--muted)}.tools{font:10px/1.8 "Helvetica Neue",Arial,sans-serif;color:#757766;letter-spacing:.025em}.photo,.project-media,.feature-lead{background:#eae6dc;border-color:var(--rule)}.project-media{padding:26px 26px 15px}.project-media img{background:#fcfaf5}.media-figure a{border-color:var(--rule);border-radius:0}.media-figure figcaption,.project-media figcaption,.lead-caption{color:#717366;font-size:10px}.card.featured{background:var(--sheet)}.card.featured .case-intro{padding:50px}.card.featured h3{font-size:48px;line-height:1.1}.card.featured .description{font-size:14px}.card.featured>details,.card-body>details{border-color:var(--rule)}.card.featured>details{padding:23px 42px 30px}.project-notebook{border-color:var(--rule);padding:32px 42px 24px}.notebook-heading span{font-family:"Helvetica Neue",Arial,sans-serif;color:var(--brass);letter-spacing:.16em}.notebook-heading h4{font-family:var(--serif);font-size:28px}.notebook-grid a{background:#f0ede5;border-color:#dfd8c9}.notebook-grid figcaption,.gallery-note{color:var(--muted)}summary{color:#6d5936;font-size:11px;letter-spacing:.035em}details h4{color:var(--ink);font-size:13px;font-weight:500}details p{font-size:13px;color:#62685f}.video-evidence{background:#eeeae1;border-radius:0}.video-evidence video{border-radius:0}.case-link a,.zoom-hint{color:var(--brass)}
.dark{background:#26332f;color:var(--sheet)}.dark .eyebrow{color:#c5b58d}.dark h2{font-size:53px}.dark p{color:#d0d5c8;font-size:14px}.toolkit{border-color:#596256}.toolkit h3{font:11px/1.6 "Helvetica Neue",Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#dbd0b5}.toolkit p{font-size:12px;color:#bfc7b9}.small-work{padding:36px}.small-work h3{font-size:32px}.small-work p{font-size:13px;color:#62685f}.timeline,.row{border-color:var(--rule)}.row{padding:32px 0;grid-template-columns:160px 1fr 1fr;gap:40px}.row time{font:10px/1.8 "Helvetica Neue",Arial,sans-serif;letter-spacing:.04em;color:var(--brass)}.row h3{font-size:25px}.row .org,.row p{font-size:12px;color:var(--muted)}
.hobbies{background:#eee9df;border-color:var(--rule);padding:36px 0}.hobbies h2{font-size:25px}.hobbies .personal-columns h3{font-size:12px;font-weight:500}.hobbies .personal-columns p{font-size:12px;color:var(--muted)}.hobbies .poem{border-color:var(--rule)}.hobbies .poem-title,.hobbies .poem-toggle{color:var(--brass)}.hobbies .poem-text p{font-family:var(--serif);color:var(--ink)}
.contact{background:var(--paper);border-color:var(--rule)}.contact h2{font-size:clamp(44px,5vw,68px)}.contact p{font-size:13px;color:var(--muted)}.contact .button{background:var(--ink);border-color:var(--ink);padding:18px 30px}.footer{background:var(--paper);border-top:1px solid var(--rule);padding:27px 0;color:var(--muted);font-size:10px;letter-spacing:.03em}
@media(max-width:900px){.wrap{width:calc(100% - 56px)}nav{gap:18px}.hero h1{font-size:76px}.card.featured .case-intro{padding:34px}.card.featured h3{font-size:40px}.row{grid-template-columns:130px 1fr;gap:24px}.row>p{grid-column:2}.dark h2{font-size:43px}}
@media(max-width:580px){.wrap{width:calc(100% - 40px)}.nav .wrap{min-height:74px;gap:12px}.brand{font-size:22px}nav{gap:12px;font-size:10px;letter-spacing:0}.hero{padding:51px 0 30px}.hero .eyebrow{font-size:9px;letter-spacing:.14em;margin-bottom:25px}.hero h1{font-size:clamp(47px,11.7vw,65px);line-height:1.04;letter-spacing:-.05em}.hero .intro{font-size:13px;line-height:1.9;margin-top:25px}.actions{gap:22px;margin-top:26px}.button{font-size:10px;padding:13px 17px}.secondary{padding-inline:0}.hero-footnote{margin-top:38px;padding-top:18px;font-size:8px;letter-spacing:.07em;gap:16px}.strip .wrap{font-size:10px;padding-block:20px;gap:8px}section.section{padding:65px 0}h2{font-size:38px}.section-head{margin-bottom:27px}.section-head>p{font-size:12px;margin-top:17px}.filters{margin-bottom:28px}.filters button{font-size:10px;padding:11px 12px}.grid{gap:28px}.card-body,.card.featured .case-intro{padding:27px}.card h3{font-size:31px}.card.featured h3{font-size:37px}.card.featured .description{font-size:13px}.project-media{padding:20px 20px 13px}.metric strong{font-size:23px}.project-notebook{padding:25px}.notebook-heading h4{font-size:25px}.card.featured>details{padding:20px 25px 26px}.dark h2{font-size:39px}.row{grid-template-columns:1fr;gap:10px;padding:26px 0}.row>p{grid-column:1}.small-work{padding:27px}.small-work h3{font-size:30px}.hobbies{padding:30px 0}.hobbies h2{font-size:24px}.contact h2{font-size:44px}}
@media(prefers-reduced-motion:reduce){nav a:after{transition:none}}
