:root{--ink:#17201d;--green:#526657;--paper:#f5f3ee;--tint:#ebe7df;--line:#c9cbc1;--muted:#667271}
.site-nav a[aria-current=page]{color:var(--green);border-bottom:1px solid var(--green)}
.page-hero{padding:150px 6vw 75px;background:var(--paper);border-bottom:1px solid var(--line)}
.page-hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(45px,7vw,92px);line-height:.94;letter-spacing:-.05em;max-width:1100px;margin:18px 0 30px}
.page-hero h1 span,.project-question{color:var(--green);font-style:italic}
.page-hero .large-copy{max-width:850px}
.page-contents{position:sticky;top:70px;z-index:5;display:flex;gap:20px;align-items:center;overflow:auto;padding:15px 6vw;background:rgba(245,243,238,.96);border-bottom:1px solid var(--line);white-space:nowrap}
.page-contents strong,.page-contents a{font-family:'DM Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.page-contents a{color:var(--green);text-decoration:none}
.project-page,.cv-section{padding:90px 6vw;scroll-margin-top:120px;border-bottom:1px solid var(--line)}
.project-page>h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(38px,5vw,70px);line-height:1;margin:18px 0 22px;max-width:1000px}
.project-kicker{display:flex;align-items:center;gap:18px;font-family:'DM Mono',monospace;font-size:10px;text-transform:uppercase;color:var(--green)}
.project-kicker span{border:1px solid var(--green);border-radius:999px;padding:7px 11px}.project-kicker p{margin:0}
.project-question{font-family:Georgia,'Times New Roman',serif;font-size:clamp(22px,3vw,34px);line-height:1.25;max-width:920px;margin:0 0 50px}
.project-columns,.method-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:35px 7vw;margin-top:35px}
.project-columns h3,.method-grid h3{font-family:'DM Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--green)}
.project-columns p,.project-columns li,.method-grid p{color:var(--muted);line-height:1.7}.project-columns ul{padding-left:18px}
.record-actions{display:flex;flex-wrap:wrap;gap:20px;margin-top:32px}.record-actions a{font-family:'DM Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:inherit}
.section-dark .project-kicker,.section-dark .method-grid h3{color:#c2d0c5}.section-dark .method-grid p{color:#ccd2cf}
.catalogue-controls{padding:40px 6vw;background:var(--tint);border-bottom:1px solid var(--line)}
.search-label{display:block;font-family:'DM Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;color:var(--green)}
.catalogue-search{width:100%;font:24px Georgia,serif;padding:16px 0;border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);outline:none}
.catalogue-search:focus{border-bottom:3px solid var(--green)}
.filter-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
.filter-groups strong{display:block;font-family:'DM Mono',monospace;font-size:9px;text-transform:uppercase;color:var(--green);margin-bottom:7px}
.filter-groups select{width:100%;padding:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}
.result-count{font-family:'DM Mono',monospace;font-size:10px;color:var(--green);text-transform:uppercase;margin:20px 0 0}
.catalogue{padding:0 6vw;background:var(--paper)}
.record{padding:38px 0;border-bottom:1px solid var(--line);scroll-margin-top:120px}
.record.hidden{display:none}.record-meta{display:flex;flex-wrap:wrap;gap:10px 22px;font-family:'DM Mono',monospace;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--green)}
.record-meta span:not(:last-child):after{content:'·';margin-left:22px}.record-meta .access{padding:3px 8px;background:#ddd8cd;color:var(--ink)}.record-meta .access.open{background:#d3e1d5}
.record h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(24px,3vw,39px);line-height:1.1;max-width:1000px;margin:15px 0 12px}
.record>p:not(.record-actions){max-width:960px;color:var(--muted);line-height:1.65}.record-tags{display:flex;gap:8px;flex-wrap:wrap}.record-tags span{font-size:10px;border:1px solid var(--line);padding:4px 7px}
.earlier-archive{padding:30px 0;border-bottom:1px solid var(--line)}.earlier-archive summary{font-family:Georgia,serif;font-size:24px;cursor:pointer}.archive-list{columns:2;column-gap:50px;color:var(--muted)}.archive-list p{break-inside:avoid}
.no-results{padding:80px 6vw}.hidden{display:none!important}
.portfolio-search{margin-top:35px;max-width:670px}.portfolio-search label{display:block;font-family:'DM Mono',monospace;font-size:9px;text-transform:uppercase;color:var(--green);margin-bottom:7px}.portfolio-search div{display:flex;border-bottom:1px solid var(--ink)}.portfolio-search input{flex:1;padding:12px 0;border:0;background:transparent;font:16px Georgia,serif}.portfolio-search button{border:0;background:transparent;font-family:'DM Mono',monospace;font-size:10px;text-transform:uppercase;cursor:pointer}
.role-list{border-top:1px solid var(--line)}.role{border-bottom:1px solid var(--line)}.role summary{display:grid;grid-template-columns:1fr auto;gap:20px;padding:22px 0;cursor:pointer;list-style:none}.role summary::-webkit-details-marker{display:none}.role summary strong,.role summary em{display:block}.role summary strong{font-family:Georgia,serif;font-weight:400;font-size:25px}.role summary em{font-style:normal;color:var(--muted);font-size:13px;margin-top:5px}.role summary time{font-family:'DM Mono',monospace;font-size:9px;text-transform:uppercase;color:var(--green);padding-top:7px}.role summary span:after{content:'+';float:right;margin-right:20px;color:var(--green)}.role[open] summary span:after{content:'−'}.role>ul{max-width:880px;color:var(--muted);line-height:1.65;margin:0 0 25px 20px}.education-grid,.funding-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.education-grid article,.funding-grid>div{border:1px solid var(--line);padding:24px}.education-grid span,.funding-grid span{font-family:'DM Mono',monospace;font-size:9px;text-transform:uppercase;color:var(--green)}.education-grid h3{font-family:Georgia,serif;font-size:24px;font-weight:400}.education-grid p{color:var(--muted);line-height:1.6}.funding-grid>div{display:flex;justify-content:space-between;gap:16px}.training-list{columns:2}
.site-footer a{color:inherit}
@media(max-width:850px){.page-hero{padding-top:115px}.page-contents{top:62px}.project-columns,.method-grid,.filter-groups,.education-grid,.funding-grid{grid-template-columns:1fr}.archive-list,.training-list{columns:1}.role summary{grid-template-columns:1fr}.role summary time{grid-row:2}.record-meta span:not(:last-child):after{display:none}.portfolio-search div{display:block}.portfolio-search button{padding:12px 0}}

