@font-face{font-family:'Instrument Serif';src:url('../fonts/instrument-serif-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url('../fonts/instrument-serif-italic.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url('../fonts/ibm-plex-sans-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url('../fonts/ibm-plex-sans-500.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
:root{--ink:#171916;--paper:#f5f3ed;--basalt:#4c504a;--glass:#afc2ba;--koa:#a65432;--line:rgba(23,25,22,.18);--display:'Instrument Serif',Georgia,serif;--body:'IBM Plex Sans',Arial,sans-serif;--gutter:clamp(1.25rem,4vw,4rem);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;overflow-x:hidden}img{display:block;width:100%;height:100%;object-fit:cover}button,a{font:inherit}a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;height:82px;padding:0 var(--gutter);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line)}
.brand{text-decoration:none;display:flex;align-items:center;gap:.28rem;font-family:var(--display);font-size:1.55rem}.brand i{color:var(--koa);font-style:italic}.desktop-nav{display:flex;gap:2.2rem}.desktop-nav a{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none}.header-action{justify-self:end;border:0;border-bottom:1px solid var(--ink);background:none;padding:.6rem 0;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}.menu-toggle{display:none;background:none;border:0;width:46px;height:46px}.menu-toggle span:not(.sr-only){display:block;height:1px;background:var(--ink);margin:7px}.mobile-menu{position:fixed;z-index:40;inset:0;background:var(--ink);color:var(--paper);padding:clamp(5rem,10vw,8rem) var(--gutter);flex-direction:column;gap:1.4rem}.mobile-menu:not([hidden]){display:flex}.mobile-menu a{font-family:var(--display);font-size:clamp(2.5rem,10vw,5rem);text-decoration:none}.mobile-menu .review-control{align-self:flex-start;color:var(--paper);background:none;border:1px solid rgba(255,255,255,.35);padding:1rem}.menu-close{position:absolute;right:var(--gutter);top:1.25rem;color:var(--paper);background:none;border:1px solid rgba(255,255,255,.35);min-width:64px;min-height:44px}
.hero{position:relative;min-height:100vh;min-height:100svh;padding:calc(82px + clamp(2.5rem,6vh,5rem)) var(--gutter) clamp(2rem,5vh,4rem);display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(2rem,5vw,6rem);align-items:center}
.hero-copy{max-width:38rem;position:relative;z-index:2}.eyebrow{margin:0 0 1.4rem;font-size:.66rem;line-height:1.4;letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:var(--koa)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);font-weight:400}h1{font-size:clamp(3.7rem,6.4vw,7rem);line-height:.87;letter-spacing:-.045em;margin-bottom:1.8rem}h1 em{font-weight:400;color:var(--koa)}.hero-lead{max-width:33rem;line-height:1.65;color:var(--basalt);font-size:clamp(.95rem,1.2vw,1.1rem)}.text-action{display:inline-block;margin-top:1rem;padding-bottom:.35rem;text-decoration:none;border-bottom:1px solid var(--ink);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.hero-media{height:min(72vh,730px);margin:0;position:relative;clip-path:polygon(8% 0,100% 0,100% 91%,0 100%)}.hero-media figcaption{position:absolute;right:1rem;bottom:1.4rem;left:1rem;display:flex;justify-content:space-between;padding:.75rem 1rem;background:rgba(23,25,22,.9);color:white;font-size:.62rem;text-transform:uppercase;letter-spacing:.13em}.hero-datum{position:absolute;left:calc(var(--gutter) + 43%);bottom:2rem;display:flex;align-items:center;gap:.65rem;writing-mode:vertical-rl;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--basalt)}.hero-datum i{height:48px;width:1px;background:var(--koa)}
.project-field{background:var(--ink);color:var(--paper);padding:clamp(5rem,10vw,10rem) var(--gutter)}.section-head{display:grid;grid-template-columns:.45fr 1.2fr .65fr;gap:3rem;align-items:start;margin-bottom:clamp(3rem,7vw,7rem)}.section-head h2,.lens-title h2,.practice h2,.inquiry h2{font-size:clamp(3rem,6vw,6.5rem);line-height:.93;letter-spacing:-.035em;margin:0}.section-head>p:last-child{color:rgba(245,243,237,.68);line-height:1.65;max-width:24rem}.project-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(1rem,2vw,2rem)}.project{margin:0}.project img{aspect-ratio:4/3}.project-feature{grid-row:span 2}.project-feature img{height:clamp(36rem,66vw,60rem)}.project-small img{aspect-ratio:1/1}.project-wide img{aspect-ratio:4/3}.project>div{display:grid;grid-template-columns:.7fr 1fr;gap:1rem;padding:1rem 0 2rem;border-top:1px solid rgba(255,255,255,.25)}.project span{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--glass)}.project h3{font-size:clamp(2rem,3vw,3.8rem);line-height:.95;margin:0}.project p{grid-column:2;line-height:1.5;color:rgba(245,243,237,.65);font-size:.88rem}
.climate-lens{padding:clamp(5rem,10vw,10rem) var(--gutter);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(3rem,10vw,10rem)}.climate-lens>*{min-width:0}.lens-interface{align-self:end}.lens-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:100%}.lens-tabs button{min-height:68px;border:0;border-right:1px solid var(--line);background:none;text-align:left;padding:1rem .8rem;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.lens-tabs button[aria-selected=true]{background:var(--glass)}.lens-panel{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:1rem;padding-top:2rem}.lens-index{font-family:var(--display);font-size:2rem;color:var(--koa)}.lens-panel p{line-height:1.7;font-size:clamp(1.05rem,1.5vw,1.3rem)}
.practice{background:#dedbd1;padding:clamp(5rem,10vw,10rem) var(--gutter);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(3rem,8vw,8rem);align-items:center}.practice-image{height:min(70vw,760px);clip-path:polygon(0 7%,93% 0,100% 92%,7% 100%)}.practice-copy>p:not(.eyebrow){line-height:1.7;max-width:43rem;margin:2rem 0 3rem}.partner-facts{display:grid;grid-template-columns:.6fr 1fr;border-top:1px solid var(--line)}.partner-facts span{padding:1rem 0;border-bottom:1px solid var(--line);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.partner-facts span:nth-child(2n){text-transform:none;letter-spacing:0;font-size:.9rem}
.inquiry{text-align:center;padding:clamp(6rem,12vw,12rem) var(--gutter);background:var(--koa);color:white}.inquiry .eyebrow{color:white}.inquiry h2{margin-bottom:2rem}.inquiry>p:not(.eyebrow,.review-note){max-width:36rem;margin:0 auto 2rem;line-height:1.65}.inquiry-button{min-height:50px;border:1px solid white;background:var(--ink);color:white;padding:.95rem 1.4rem;text-transform:uppercase;font-size:.7rem;letter-spacing:.14em;cursor:pointer}.review-note{margin:1rem auto 0;font-size:.82rem}footer{background:var(--ink);color:var(--paper);padding:2rem var(--gutter);display:grid;grid-template-columns:1fr auto auto;gap:2rem;align-items:center}footer p{margin:0;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6)}
@media(max-width:900px){.desktop-nav,.header-action{display:none}.site-header{grid-template-columns:1fr auto}.menu-toggle{display:block}.hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2rem}.hero-datum{display:none}.section-head{grid-template-columns:1fr 1fr}.section-head .eyebrow{grid-column:1/-1}.section-head>p:last-child{grid-column:2}.climate-lens{grid-template-columns:1fr}.practice{grid-template-columns:1fr 1fr}footer{grid-template-columns:1fr 1fr}footer p:last-child{text-align:right}}
@media(max-width:640px){.site-header{height:70px}.hero{min-height:100svh;padding-top:calc(70px + 1.5rem);padding-bottom:1.25rem;grid-template-columns:1fr;gap:1.2rem;align-content:center}.hero-copy{padding-top:1rem}h1{font-size:clamp(3.2rem,16vw,4.6rem);margin-bottom:1.1rem}.hero-lead{font-size:.91rem;line-height:1.5}.text-action{margin-top:.3rem}.hero-media{height:34vh;min-height:230px;clip-path:polygon(5% 0,100% 0,100% 91%,0 100%)}.hero-media figcaption{font-size:.52rem;padding:.6rem}.section-head{display:block}.section-head h2{margin-bottom:1.5rem}.project-grid{display:block}.project-feature img,.project-small img,.project-wide img{height:auto;aspect-ratio:4/3}.project>div{grid-template-columns:1fr}.project p{grid-column:1}.climate-lens{gap:3rem}.lens-tabs{overflow-x:auto;grid-template-columns:repeat(3,minmax(120px,1fr))}.lens-panel{grid-template-columns:3rem 1fr}.practice{grid-template-columns:1fr}.practice-image{height:70vh;min-height:420px}.partner-facts{grid-template-columns:1fr 1.2fr}.inquiry h2{font-size:clamp(3.3rem,15vw,5rem)}footer{grid-template-columns:1fr;gap:1rem}footer p:last-child{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.hero-media figcaption{background:#171916}.hero-datum{background:var(--paper);padding:.35rem .2rem}.project-field .eyebrow{color:#efb39a}.project>div{position:relative;z-index:2;background:var(--ink)}.practice .eyebrow{color:#713421}.climate-lens .eyebrow{display:inline-block;background:var(--paper);padding:.2rem .35rem;color:#713421}
