:root{color:#1d2422;background:#f5f1e8;font-family:Avenir Next,Gill Sans,Candara,Trebuchet MS,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #1d2422;--paper: #f5f1e8;--bone: #fffaf0;--clay: #b85233;--ochre: #efbd28;--teal: #0a6656;--blueprint: #2e4f74;--line: rgba(29, 36, 34, .18)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--paper)}a{color:inherit}.skip-link{position:fixed;top:12px;left:12px;z-index:10;padding:10px 14px;border-radius:8px;background:var(--ochre);color:#1b1a12;font-weight:800;transform:translateY(-140%);transition:transform .15s ease}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100vh;overflow-x:clip}.hero{position:relative;min-height:86vh;display:flex;align-items:center;padding:72px clamp(20px,6vw,96px) 96px;color:var(--bone);isolation:isolate}.hero-image,.hero-shade{position:absolute;top:0;right:0;bottom:0;left:0}.hero-image{z-index:-2;width:100%;height:100%;object-fit:cover}.hero-shade{z-index:-1;background:linear-gradient(90deg,#101917eb,#142420b8 47%,#14242029),linear-gradient(0deg,#1d2422d1,#1d242214 46%)}.hero-copy{width:min(760px,100%)}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.86rem;font-weight:800;text-transform:uppercase;letter-spacing:0;color:var(--ochre)}.eyebrow.dark{color:var(--teal)}h1{margin:18px 0;max-width:12ch;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,5.7rem,6.25rem);font-weight:700;line-height:.95}.hero p{margin:0;max-width:660px;font-size:1.18rem;line-height:1.6;color:#fffaf0e0}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:8px;font-weight:800;text-decoration:none;border:1px solid transparent}.button.primary{background:var(--ochre);color:#1b1a12}.button.secondary{border-color:#fffaf07a;color:var(--bone);background:#ffffff14}.button:focus-visible,a:focus-visible{outline:3px solid var(--ochre);outline-offset:4px}.impact-section,.methodology-section,.portfolio-section,.narrative-grid{padding:72px clamp(18px,5vw,80px)}.section-intro{display:grid;gap:12px;max-width:780px;margin-bottom:28px}.section-intro p{margin:0;color:#1d2422b8;font-size:1rem;line-height:1.6}.section-intro h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,2.8rem,3.15rem);line-height:1.04}.impact-section{background:var(--ink);color:var(--bone)}.impact-section .section-intro p{color:#fffaf0b8}.impact-section .eyebrow.dark{color:var(--ochre)}.metrics-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;border:1px solid rgba(255,250,240,.16);background:#fffaf029}.metric-card{min-width:0;min-height:176px;display:grid;align-content:start;gap:10px;padding:22px;background:#26302d}.metric-card strong{color:var(--ochre);font-family:Georgia,Times New Roman,serif;font-size:2rem;line-height:1;overflow-wrap:anywhere}.metric-card span{font-weight:800}.metric-card p{margin:0;color:#fffaf0b3;line-height:1.5}.narrative-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.narrative-card{min-width:0;padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--bone)}.narrative-card span{color:var(--clay);font-size:.78rem;font-weight:800;text-transform:uppercase}.narrative-card h3{margin:12px 0 10px;font-size:1.15rem;line-height:1.2}.narrative-card p,.narrative-card li{color:#1d2422c2;line-height:1.55}.narrative-card p{margin:0}.narrative-card ul{display:grid;gap:8px;margin:18px 0 0;padding-left:20px}.methodology-section{background:#efe6d6}.methodology-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:20px;align-items:stretch}.methodology-media{min-height:360px;border-radius:8px;overflow:hidden;background:var(--bone);border:1px solid var(--line)}.methodology-media img{width:100%;height:100%;display:block;object-fit:cover}.methodology-control{display:grid;grid-template-rows:auto 1fr;gap:14px;min-width:0}.methodology-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.methodology-tabs button{min-width:0;min-height:46px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--bone);color:var(--ink);font:inherit;font-weight:800;white-space:normal;cursor:pointer}.methodology-tabs button.is-active{border-color:var(--teal);background:var(--teal);color:var(--bone)}.methodology-tabs button:focus-visible,.project-card:focus-visible,.filter-button:focus-visible{outline:3px solid var(--ochre);outline-offset:3px}.filter-button:focus-visible{outline:3px solid var(--ochre);outline-offset:3px}.project-card:focus-visible{outline:3px solid var(--ochre);outline-offset:3px}.methodology-panel{min-width:0;min-height:250px;display:grid;align-content:start;gap:14px;padding:28px;border-radius:8px;background:var(--blueprint);color:var(--bone)}.methodology-panel span{color:var(--ochre);font-weight:800;text-transform:uppercase}.methodology-panel h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:2rem;line-height:1.08}.methodology-panel p{margin:0;color:#fffaf0c7;line-height:1.6}.portfolio-section{background:var(--bone)}.portfolio-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px;align-items:start}.portfolio-list{min-width:0;display:grid;gap:16px}.filter-bar{display:flex;flex-wrap:wrap;gap:8px}.filter-button{min-height:42px;padding:0 16px;border:1px solid var(--line);border-radius:8px;background:#f5f1e8;color:var(--ink);font:inherit;font-weight:800;cursor:pointer}.filter-button.is-active{border-color:var(--clay);background:var(--clay);color:var(--bone)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.project-card{min-width:0;min-height:230px;display:grid;align-content:start;gap:10px;padding:18px;border:1px solid var(--line);border-radius:8px;background:#f8f3e7;color:var(--ink);text-align:left;font:inherit;cursor:pointer}.project-card.is-selected{border-color:var(--teal);box-shadow:inset 0 0 0 2px var(--teal)}.project-card span,.project-card small,.project-detail span{color:var(--teal);font-size:.78rem;font-weight:800;text-transform:uppercase}.project-card-title{margin:0;font-size:1.12rem;font-weight:800;line-height:1.2;overflow-wrap:anywhere}.project-card-summary{margin:0;color:#1d2422b8;line-height:1.5}.project-detail{position:sticky;top:18px;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--ink);color:var(--bone)}.project-detail img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;border-bottom:1px solid rgba(255,250,240,.16)}.project-detail div{min-width:0}.project-detail>div{display:grid;gap:14px;padding:22px}.project-detail h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:2rem;line-height:1.08}.project-card-title,.project-detail h3{overflow-wrap:anywhere}.project-detail p{margin:0;color:#fffaf0c2;line-height:1.6}.project-detail dl{display:grid;gap:10px;margin:0}.project-detail dl div{display:grid;gap:3px;padding-top:10px;border-top:1px solid rgba(255,250,240,.16)}.project-detail dt{color:var(--ochre);font-size:.74rem;font-weight:800;text-transform:uppercase}.project-detail dd{margin:0;color:#fffaf0e0;overflow-wrap:anywhere}.empty-state{margin:0;padding:24px;border:1px dashed var(--line);border-radius:8px}@media (max-width: 980px){.metrics-grid,.narrative-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.methodology-layout,.portfolio-layout{grid-template-columns:1fr}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail{position:static}}@media (max-width: 640px){.hero{min-height:82vh;padding:52px 18px 72px}.hero-shade{background:#101917cc}.hero p{font-size:1rem}.button{width:100%}.impact-section,.methodology-section,.portfolio-section,.narrative-grid{padding:48px 16px}.metrics-grid,.narrative-cards{grid-template-columns:1fr}.methodology-media{min-height:220px}.methodology-tabs{grid-template-columns:1fr}.methodology-panel{min-height:0;padding:22px}.project-grid{grid-template-columns:1fr}.project-card{min-height:0}}@media (max-width: 420px){.hero{min-height:760px;padding:42px 14px 58px}.hero-actions{flex-direction:column}h1{font-size:3rem}.section-intro h2,.methodology-panel h3,.project-detail h3{font-size:1.75rem}.impact-section,.methodology-section,.portfolio-section,.narrative-grid{padding:42px 14px}.metric-card,.narrative-card,.project-card,.project-detail>div{padding:18px}.filter-button{flex:1 1 100%}}
