
:root{--black:#141614;--black2:#1f2220;--chalk:#f1f1ed;--grey:#d9dcd6;--light:#e9eae5;--line:#a8ada4;--oxide:#eb5837;--orange:#ec5c3b;--font-head:'Barlow Condensed','Roboto Condensed','Liberation Sans Narrow',Arial,sans-serif;--font-body:'DM Sans',Arial,Helvetica,sans-serif;--font-mono:'IBM Plex Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--chalk);color:var(--black);font-family:var(--font-body);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--oxide);outline-offset:4px}::selection{background:var(--oxide);color:#fff}
.wrap{max-width:1600px;margin:auto}.mono{font-family:var(--font-mono);text-transform:uppercase;font-size:11px;letter-spacing:.045em;line-height:1.5}.visually-hidden{position:absolute!important;width:1px;height:1px;clip:rect(0,0,0,0);white-space:nowrap;overflow:hidden}.skip{position:absolute;top:-90px;left:10px;z-index:100;background:#fff;padding:12px}.skip:focus{top:10px}.arrow{font-family:Arial,sans-serif;font-weight:400;font-size:1.3em;line-height:1;display:inline-block}.link-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;border:0;padding:20px 24px;min-height:68px;background:var(--oxide);color:#fff;text-transform:uppercase;font:700 14px var(--font-body);letter-spacing:.01em;transition:background .18s,color .18s}.link-btn:hover{background:#c33b23}.link-btn.black{background:var(--black)}.link-btn.black:hover{background:#313630}.link-btn.outline{background:transparent;border:1px solid currentColor;color:inherit}.link-btn.outline:hover{background:#fff;color:var(--black)}
.header{z-index:60;position:relative;background:var(--black);color:#fff;border-bottom:1px solid #454945}.header-in{height:94px;display:flex;align-items:stretch;padding:0 38px;gap:24px}.brand{display:flex;gap:16px;align-items:center;flex:0 0 auto}.brand-logo{font:900 48px/.8 var(--font-head);letter-spacing:-.045em}.brand-logo span{color:var(--oxide)}.brand-caption{font-family:var(--font-mono);font-size:9px;line-height:1.55;letter-spacing:.03em;text-transform:uppercase;color:#bfc3bb;border-left:1px solid #595e57;padding-left:15px}.header-spot{flex:1;display:flex;align-items:center;justify-content:center;gap:17px}.header-spot .dot{width:7px;height:7px;background:var(--oxide);border-radius:50%}.header-spot span{color:#adb1a8}.navlinks{display:flex;align-items:stretch;gap:0}.navlinks a{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;display:flex;align-items:center;padding:0 21px;border-left:1px solid #454945;transition:background .15s}.navlinks a:hover{background:#30342e}.navlinks a:last-child{background:var(--oxide);font-weight:600;font-size:12px;padding:0 24px;border-left:0;color:white;gap:30px}.navlinks a:last-child:hover{background:#c33b23}.nav-toggle{display:none;margin:auto 0 auto auto;width:52px;height:52px;border:1px solid #4e554d;background:transparent;color:#fff;align-items:center;justify-content:center;font-size:28px}.mobile-links{display:none}
.hero{display:grid;grid-template-columns:44% 56%;min-height:730px;border-bottom:1px solid var(--black);background:var(--chalk)}.hero-left{position:relative;display:flex;flex-direction:column;padding:42px 36px 40px 48px;border-right:1px solid var(--black);min-width:0}.mini-head{display:flex;justify-content:space-between;gap:15px}.mini-head .mono:last-child{color:#6b6f69}.hero-head{font-family:var(--font-head);font-weight:800;font-size:clamp(78px,7.6vw,119px);letter-spacing:-.032em;line-height:.755;text-transform:uppercase;margin:clamp(65px,7.5vw,134px) 0 45px;max-width:870px}.hero-head .hero-second{display:block;margin-left:-.012em}.hero-head .hero-last{display:block;color:var(--oxide)}.hero-head .hero-first{display:block}.hero-desc{display:grid;grid-template-columns:1fr 1.45fr;gap:26px;margin-top:auto;align-items:start}.hero-desc .mono{color:#73776d}.hero-desc p{font-size:17px;line-height:1.58;margin:-4px 0 26px;max-width:360px}.hero-desc .link-btn{min-height:62px;width:100%;padding:16px 18px;font-size:12px}.hero-right{position:relative;min-height:730px;background:#70726a;overflow:hidden}.hero-right:before{content:'';position:absolute;z-index:0;inset:0;background:linear-gradient(135deg,#bbc5bc 0%,#4c544e 55%,#858781 100%)}.hero-img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:56% center}.hero-right:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0004,transparent 25%,transparent 68%,#0008);pointer-events:none}.photo-top{position:absolute;top:26px;right:29px;z-index:2;background:var(--chalk);padding:12px 13px;font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--black);transform:rotate(1.25deg)}.photo-bottom{position:absolute;bottom:30px;left:36px;right:36px;z-index:2;display:flex;align-items:end;justify-content:space-between;gap:24px;color:#fff}.photo-bottom strong{display:block;font:700 44px/.9 var(--font-head);text-transform:uppercase;letter-spacing:.01em}.photo-bottom small{display:block;font:500 11px/1.4 var(--font-mono);text-transform:uppercase;margin-top:12px}.photo-bottom .photo-count{font:500 11px var(--font-mono);border-top:1px solid #fff9;padding-top:9px;white-space:nowrap}
.proofbar{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr 1.1fr;background:var(--black);color:#fff}.proof{padding:25px 19px 28px 31px;border-right:1px solid #4d544d;min-height:106px}.proof .mono{color:#9ea79b;margin-bottom:14px}.proof strong{font:600 24px/1.05 var(--font-head);text-transform:uppercase}.proof:nth-child(1){background:var(--oxide);display:flex;flex-direction:column;justify-content:space-between}.proof:nth-child(1) .mono{color:#fff9}.proof:nth-child(1) strong{font-size:27px}.proof:last-child{display:flex;align-items:center;justify-content:center;padding:0}.proof:last-child a{display:flex;align-items:center;justify-content:space-between;width:100%;height:100%;font:700 15px var(--font-head);text-transform:uppercase;font-size:23px;padding:24px 20px;gap:16px}.proof:last-child a:hover{background:#313630}.proof:last-child .arrow{color:var(--oxide);font-size:27px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:38px}.index{font:500 11px var(--font-mono);text-transform:uppercase;letter-spacing:.04em}.section-head h2{font:700 clamp(60px,7.5vw,125px)/.82 var(--font-head);letter-spacing:-.025em;text-transform:uppercase;margin:18px 0 0}.section-head p{max-width:320px;font-size:14px;line-height:1.65;color:#4a514a;margin:0}.works{padding:115px 42px 130px;background:#e3e5df}.works .section-head{margin-bottom:48px}.case{display:grid;grid-template-columns:1.13fr .87fr;background:var(--black);color:#fff;border:1px solid var(--black)}.case-photo{position:relative;min-height:640px;background:#777d75}.case-photo:before{content:'';position:absolute;inset:0;background:linear-gradient(130deg,#a3ada2,#444b41)}.case-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.case-stamp{position:absolute;bottom:0;left:0;background:var(--oxide);padding:15px 22px;color:#fff;font:600 11px var(--font-mono);letter-spacing:.03em;text-transform:uppercase}.case-text{display:flex;flex-direction:column;padding:40px 46px 0}.case-text .topline{display:flex;justify-content:space-between;border-bottom:1px solid #525951;padding-bottom:23px}.case-text .topline span:last-child{color:#a7afa6}.case-text h3{font:700 clamp(63px,6vw,101px)/.83 var(--font-head);letter-spacing:-.018em;text-transform:uppercase;margin:80px 0 28px}.case-text .story{font-size:16px;line-height:1.65;color:#cdd2cb;max-width:410px;margin:0 0 50px}.project-numbers{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #525951;margin-top:auto}.project-numbers div{padding:26px 8px 23px 0}.project-numbers div+div{border-left:1px solid #525951;padding-left:27px}.project-numbers strong{font:600 45px/.9 var(--font-head);display:block}.project-numbers small{font:400 10px var(--font-mono);text-transform:uppercase;display:block;margin-top:8px;color:#bbc4b9}.project-more{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #525951;margin:0 -46px;padding:20px 32px 20px 46px;font:600 11px var(--font-mono);text-transform:uppercase;transition:background .15s}.project-more:hover{background:#303530}.project-more .arrow{font-size:25px;color:var(--oxide)}
.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.project-small{display:grid;grid-template-columns:48% 52%;border:1px solid #a3a79f;min-height:270px}.project-small-photo{position:relative;background:#8a8d80;min-height:270px;overflow:hidden}.project-small-photo:before{content:'';position:absolute;inset:0;background:#8a8d80}.project-small-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .25s}.project-small:hover img{transform:scale(1.035)}.project-small-text{padding:23px 23px 20px;display:flex;flex-direction:column;min-width:0}.project-small-text h3{font:700 clamp(34px,3.3vw,55px)/.91 var(--font-head);text-transform:uppercase;margin:33px 0 13px}.project-small-text p{font-size:13px;line-height:1.5;color:#555b52;max-width:250px;margin:0}.project-small-text .forward{font:600 11px var(--font-mono);text-transform:uppercase;margin-top:auto;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #b5b9b0;padding-top:13px}.project-small-text .arrow{font-size:22px;color:var(--oxide)}
.services{background:var(--chalk);padding:107px 42px 130px}.services-grid{display:grid;grid-template-columns:36% 64%;gap:0;min-width:0}.service-aside,.services-list{min-width:0}.service-aside{padding-right:50px}.service-aside h2{font:700 clamp(65px,6vw,97px)/.83 var(--font-head);text-transform:uppercase;margin:33px 0}.service-aside p{color:#596058;font-size:15px;line-height:1.7;max-width:300px}.service-aside .aside-note{display:flex;gap:17px;align-items:flex-start;margin-top:65px;border-top:1px solid #a6aba2;padding-top:23px}.service-aside .aside-note .symbol{font:700 51px/.8 var(--font-head);color:var(--oxide)}.service-aside .aside-note p{margin:0;font-size:13px;max-width:270px}.services-list{border-top:1px solid #8f958b}.service-row{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;padding:31px 14px 32px 8px;border-bottom:1px solid #8f958b;transition:padding .2s,background .2s}.service-row:hover{padding-left:20px;background:#e3e5df}.service-row .index{color:var(--oxide)}.service-row strong{font:700 clamp(45px,5.2vw,85px)/.92 var(--font-head);letter-spacing:-.005em;text-transform:uppercase}.service-row .more{display:flex;flex-direction:column;align-items:flex-end;gap:16px;min-width:130px;text-align:right}.service-row .more small{font:500 10px var(--font-mono);text-transform:uppercase;color:#535951}.service-row .more .arrow{font-size:28px}
.method{background:var(--oxide);padding:90px 42px 105px;color:#1c211b}.method-top{display:grid;grid-template-columns:1.25fr .75fr;gap:90px;align-items:end;margin-bottom:80px}.method-top h2{font:800 clamp(71px,9.5vw,152px)/.8 var(--font-head);text-transform:uppercase;letter-spacing:-.04em;margin:30px 0 0}.method-top p{font-size:22px;line-height:1.47;max-width:430px;margin:0;padding-bottom:5px}.method-row{display:grid;grid-template-columns:24% 1fr 26%;border-top:1px solid #803d2c;padding:23px 0 27px;gap:24px;align-items:start}.method-row:last-child{border-bottom:1px solid #803d2c}.method-row .number{font:600 88px/.76 var(--font-head);letter-spacing:-.03em}.method-row h3{font:700 clamp(35px,4.3vw,69px)/.96 var(--font-head);text-transform:uppercase;margin:0}.method-row p{font-size:13px;line-height:1.66;margin:0;max-width:280px;padding-top:3px}.method-foot{display:flex;align-items:center;justify-content:space-between;margin-top:35px;gap:20px}.method-foot span{font:500 11px var(--font-mono);text-transform:uppercase}.method-foot a{text-decoration:underline;text-underline-offset:6px;font-weight:700;font-size:13px}
.callout{display:grid;grid-template-columns:57% 43%;background:#d8dbd4;min-height:530px}.callout-image{position:relative;min-height:530px;background:#8b9385}.callout-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.callout-stamp{position:absolute;top:25px;left:28px;background:#f1f1ed;font:500 10px var(--font-mono);text-transform:uppercase;padding:13px 17px}.callout-text{display:flex;flex-direction:column;justify-content:space-between;padding:43px}.callout-text h2{font:700 clamp(57px,6.1vw,99px)/.84 var(--font-head);text-transform:uppercase;margin:40px 0}.callout-text .small-text{font:500 11px var(--font-mono);text-transform:uppercase}.callout-text p{font-size:17px;line-height:1.55;max-width:380px}.callout-text a{font:600 12px var(--font-mono);text-transform:uppercase;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #9da49a;padding-top:15px}.callout-text .arrow{font-size:24px;color:var(--oxide)}
.last{background:var(--black);color:#f1f1ed;padding:115px 42px 35px}.last-top{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;padding-bottom:125px}.last-title{font:800 clamp(83px,11vw,190px)/.78 var(--font-head);letter-spacing:-.035em;text-transform:uppercase;margin:45px 0 0}.last-title span{color:var(--oxide)}.last-right{display:flex;flex-direction:column;justify-content:flex-end;gap:40px}.last-right p{font-size:20px;line-height:1.55;max-width:450px;margin:0}.last-actions{display:flex;flex-direction:column;gap:12px;max-width:430px}.last-actions .link-btn{width:100%}.last-actions .link-btn.outline{color:#f1f1ed}.last-contact{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #545951;border-bottom:1px solid #545951;padding:31px 0}.last-contact .label{color:#9da69a}.last-contact a{font:600 clamp(20px,2.9vw,40px)/1 var(--font-head);text-transform:uppercase}.last-contact a:hover{color:var(--oxide)}.footer{display:flex;align-items:end;justify-content:space-between;padding-top:36px;gap:30px}.footer-logo{font:800 91px/.76 var(--font-head);letter-spacing:-.045em;text-transform:uppercase}.footer-right{text-align:right;color:#aab1a9;font:400 10px/1.85 var(--font-mono);text-transform:uppercase}.footer-right a{text-decoration:underline;text-underline-offset:3px}.footer-right a:hover{color:#fff}
.floating-quote{display:none}
@media(max-width:1280px){.header-in{padding:0 24px}.header-spot{display:none}.navlinks{margin-left:auto}.hero-left{padding:35px 28px}.hero-head{font-size:clamp(78px,8vw,116px)}.hero-desc{grid-template-columns:1fr;gap:10px}.hero-desc p{max-width:410px}.hero-desc .link-btn{max-width:360px}.project-small{grid-template-columns:42% 58%}}
@media(max-width:960px){.navlinks{display:none}.header-in{height:75px;padding:0 20px}.brand-logo{font-size:40px}.nav-toggle{display:flex}.mobile-links{display:none;position:absolute;top:75px;left:0;right:0;background:var(--black);padding:10px 20px 24px;border-bottom:1px solid #696f68}.mobile-links.open{display:flex;flex-direction:column}.mobile-links a{font:650 33px/1 var(--font-head);text-transform:uppercase;border-bottom:1px solid #484d47;padding:19px 0}.mobile-links a:last-child{background:var(--oxide);padding:20px;margin-top:22px;border:0;display:flex;justify-content:space-between;font-size:28px}.hero{grid-template-columns:1fr}.hero-left{min-height:690px;padding:33px 28px 38px}.hero-head{font-size:clamp(79px,12vw,118px);margin:80px 0 60px}.hero-desc{grid-template-columns:1fr 2fr;align-items:end}.hero-right{min-height:660px}.proofbar{grid-template-columns:repeat(4,1fr)}.proof:first-child{grid-column:1/-1;min-height:70px;flex-direction:row;align-items:center}.proof:last-child{grid-column:1/-1;height:78px}.works,.services,.method,.last{padding-left:28px;padding-right:28px}.case{grid-template-columns:1fr}.case-photo{min-height:610px}.case-text{min-height:510px}.case-text h3{margin:44px 0 20px}.project-pair{grid-template-columns:1fr}.project-small{min-height:300px;grid-template-columns:50% 50%}.project-small-photo{min-height:300px}.services-grid{grid-template-columns:1fr}.service-aside{padding-bottom:50px}.service-aside h2{max-width:520px}.service-aside .aside-note{margin-top:32px}.method-top{gap:40px}.callout{grid-template-columns:1fr}.callout-image{min-height:520px}.callout-text{min-height:420px}.last-top{grid-template-columns:1fr;gap:50px}.last-right{max-width:560px}}
@media(max-width:600px){.header-in{height:73px}.brand-caption{font-size:8px}.brand-logo{font-size:37px}.mobile-links{top:73px}.hero-left{padding:22px 19px 27px;min-height:0}.mini-head .mono{font-size:9px}.mini-head .mono:last-child{display:none}.hero-head{font-size:clamp(50px,15.8vw,85px);margin:87px 0 62px}.hero-desc{display:block}.hero-desc .mono{display:none}.hero-desc p{font-size:15px;max-width:390px;margin:0 0 22px}.hero-desc .link-btn{min-height:61px;width:100%;max-width:none}.hero-right{min-height:440px}.photo-top{top:13px;right:13px;padding:9px;font-size:8px}.photo-bottom{left:21px;right:21px;bottom:20px}.photo-bottom strong{font-size:31px}.photo-bottom small{font-size:9px}.photo-bottom .photo-count{font-size:9px}.proofbar{grid-template-columns:1fr 1fr}.proof{min-height:97px;padding:17px 13px;border-bottom:1px solid #454b45}.proof strong{font-size:22px}.proof .mono{font-size:9px;margin-bottom:13px}.proof:first-child{grid-column:1/-1;min-height:58px}.proof:first-child strong{font-size:26px}.proof:last-child{grid-column:1/-1;height:65px}.proof:last-child a{font-size:21px}.works,.services,.method,.last{padding-left:19px;padding-right:19px}.works{padding-top:76px;padding-bottom:86px}.section-head{display:block}.section-head h2{font-size:81px;margin-top:24px}.section-head p{margin:20px 0 0}.works .section-head{margin-bottom:28px}.case-photo{min-height:340px}.case-stamp{padding:12px;font-size:9px}.case-text{padding:27px 20px 0;min-height:490px}.case-text h3{font-size:80px;margin:48px 0 23px}.case-text .story{font-size:14px;margin-bottom:36px}.project-numbers strong{font-size:42px}.project-more{margin:0 -20px;padding:19px 20px;font-size:10px}.project-small{display:flex;flex-direction:column;min-height:0}.project-small-photo{min-height:270px}.project-small-text{min-height:255px;padding:21px}.project-small-text h3{font-size:50px;margin:28px 0 15px}.services{padding-top:75px;padding-bottom:75px}.service-aside h2{font-size:84px;margin:23px 0}.service-aside p{font-size:14px}.service-row{grid-template-columns:28px 1fr 43px;padding:23px 4px;gap:5px}.service-row strong{font-size:clamp(31px,9.8vw,57px)}.service-row .more{min-width:0}.service-row .more small{display:none}.service-row .more .arrow{font-size:23px}.method{padding-top:69px;padding-bottom:83px}.method-top{display:block;margin-bottom:50px}.method-top h2{font-size:clamp(88px,19vw,125px);margin:28px 0 35px}.method-top p{font-size:17px}.method-row{grid-template-columns:69px 1fr;gap:14px;padding:21px 0 25px}.method-row .number{font-size:64px}.method-row h3{font-size:47px}.method-row p{grid-column:2;font-size:13px}.method-foot{align-items:start;flex-direction:column}.callout-image{min-height:390px}.callout-text{padding:25px 20px;min-height:360px}.callout-text h2{font-size:80px;margin:30px 0}.callout-text p{font-size:15px}.last{padding-top:80px;padding-bottom:93px}.last-top{padding-bottom:70px}.last-title{font-size:clamp(72px,18vw,128px);margin-top:35px}.last-right p{font-size:17px}.last-contact{flex-direction:column;padding:24px 0;gap:28px}.last-contact a{font-size:clamp(23px,6.1vw,35px);overflow-wrap:anywhere}.footer{align-items:start;flex-direction:column}.footer-logo{font-size:86px}.footer-right{text-align:left}.floating-quote{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:55;background:var(--oxide);color:#fff;min-height:63px;align-items:center;justify-content:space-between;padding:0 22px;font:700 14px var(--font-body);box-shadow:0 -5px 22px #0003}.floating-quote .arrow{font-size:27px}}
@media(max-width:360px){.brand-caption{display:none}.hero-head{font-size:49px}.callout-text h2{font-size:66px}.method-top h2{font-size:65px}.service-row strong{font-size:31px}.last-contact a{font-size:22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* Refinements to the approved V2: safe areas, keyboard use and narrow screens. */
.all-work{display:flex;justify-content:space-between;border-bottom:1px solid var(--black);padding:25px 0;font:600 12px var(--font-mono);text-transform:uppercase}
.hero-right:before,.case-photo:before{background:#70726a}
.floating-quote{box-shadow:none;padding-bottom:env(safe-area-inset-bottom);min-height:calc(63px + env(safe-area-inset-bottom))}
.last-actions .link-btn.outline:hover{color:var(--black)}
.link-btn:not(.black):not(.outline),.floating-quote,.navlinks a:last-child,.mobile-links a:last-child{color:var(--black)}
.hero-left,.method-top>* ,.method-row>*,.last-top>*{min-width:0}
@media(max-width:960px){.proofbar{grid-template-columns:repeat(3,1fr)}.mobile-links.open{max-height:calc(100dvh - 75px);overflow:auto}}
@media(max-width:600px){.proofbar{grid-template-columns:1fr 1fr}.proof:nth-child(4){grid-column:1/-1}.last{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.method-row h3{font-size:clamp(33px,10vw,47px)}.section-head h2{font-size:clamp(65px,18vw,81px)}.case-text h3{font-size:clamp(64px,18vw,80px)}}


.archive{padding:80px 42px 100px}.archive-intro{max-width:650px;font-size:17px;line-height:1.6;margin:30px 0 50px}.archive-jump{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:80px}.archive-jump a{border:1px solid var(--black);padding:12px;font:500 11px var(--font-mono);text-transform:uppercase}.archive-jump a:hover{background:var(--black);color:var(--chalk)}.archive-project{padding:55px 0 65px;border-top:1px solid var(--black)}.archive-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:32px}.archive-heading h2{font:700 clamp(50px,6.5vw,100px)/.87 var(--font-head);margin:25px 0 0}.archive-copy p{font-size:16px;line-height:1.7;max-width:550px}.archive-meta{display:flex;gap:35px;margin-top:24px}.archive-meta strong{display:block;font:700 38px var(--font-head)}.archive-meta small{font:400 10px var(--font-mono);text-transform:uppercase}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.gallery figure{margin:0}.gallery a{display:block;background:var(--grey)}.gallery img{width:100%;height:270px;object-fit:cover}.gallery figure:first-child{grid-column:span 2}.gallery figure:first-child img{height:440px}.gallery figure:nth-child(2) img{height:440px}.gallery figcaption{font:400 10px var(--font-mono);text-transform:uppercase;padding:10px 0 16px}.archive-end{display:flex;justify-content:space-between;align-items:center;border-top:1px solid;padding-top:40px;gap:25px}.archive-end>a:first-child{font:700 45px var(--font-head)}
@media(max-width:768px){.archive{padding:55px 20px 100px}.archive-heading{grid-template-columns:1fr;gap:15px}.gallery{grid-template-columns:1fr 1fr}.gallery figure:first-child{grid-column:1/-1}.gallery figure:first-child img{height:350px}.gallery figure:nth-child(2) img,.gallery img{height:230px}.archive-end{align-items:start;flex-direction:column}}
@media(max-width:400px){.gallery{grid-template-columns:1fr}.gallery figure:first-child{grid-column:auto}.gallery figure:first-child img{height:300px}}


.page-hero{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--black);background:var(--chalk)}.page-hero-copy{padding:62px 42px 65px;display:flex;flex-direction:column;align-items:start;min-width:0}.page-hero h1{font:800 clamp(68px,7.8vw,125px)/.81 var(--font-head);letter-spacing:-.025em;margin:65px 0 36px;text-transform:uppercase;overflow-wrap:normal}.page-hero h1 em{font-style:normal;color:var(--oxide)}.page-hero p{font-size:18px;line-height:1.6;max-width:480px;margin:0 0 30px}.page-hero-photo{position:relative;min-height:630px;background:var(--grey)}.page-hero-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.page-hero-photo small{position:absolute;bottom:20px;left:20px;background:var(--chalk);padding:12px;font:500 10px var(--font-mono);text-transform:uppercase}.page-intro{background:var(--black);color:var(--chalk);padding:70px 42px}.page-intro h1{font:800 clamp(65px,9vw,145px)/.83 var(--font-head);margin:35px 0;letter-spacing:-.025em}.page-intro p{font-size:18px;line-height:1.65;max-width:660px}.page-section{padding:80px 42px}.page-section.tinted{background:#e3e5df}.page-section.orange{background:var(--oxide)}.section-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:70px}.section-layout>*,.page-hero>*{min-width:0}.subhead{font:700 clamp(45px,5.7vw,85px)/.88 var(--font-head);text-transform:uppercase;margin:25px 0 30px}.body-copy{font-size:16px;line-height:1.75;max-width:660px}.editorial-row{display:grid;grid-template-columns:40px 1fr;gap:18px;border-top:1px solid #959d92;padding:26px 0}.editorial-row:last-child{border-bottom:1px solid #959d92}.editorial-row h3{font:700 34px/1 var(--font-head);text-transform:uppercase;margin:0 0 12px}.editorial-row p{font-size:15px;line-height:1.65;margin:0;max-width:620px}.editorial-row .index{color:#7f2b19;padding-top:5px}.project-feature{display:grid;grid-template-columns:1.2fr 1fr;background:var(--black);color:var(--chalk)}.project-feature img{width:100%;height:480px;object-fit:cover}.project-feature>div{padding:45px;display:flex;flex-direction:column;align-items:start}.project-feature p{font-size:16px;line-height:1.6}.project-feature .link-btn{margin-top:auto}.site-footer{background:var(--black);color:var(--chalk);padding:60px 42px 90px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:45px}.footer-grid h2{font:700 50px/1 var(--font-head);margin:0 0 24px}.footer-grid h3{font:500 11px var(--font-mono);color:#bac1b6;text-transform:uppercase;margin:0 0 20px}.footer-grid a:not(.footer-logo){display:block;font-size:14px;padding:7px 0;line-height:1.4}.footer-grid a:hover{color:var(--oxide)}.footer-base{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #545951;margin-top:40px;padding-top:25px}.footer-base .footer-logo{font-size:60px}.footer-base p{font:400 10px/1.7 var(--font-mono);text-transform:uppercase}.faq-list details{border-top:1px solid #91988e;padding:0}.faq-list details:last-child{border-bottom:1px solid #91988e}.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:30px;font:600 28px/1.2 var(--font-head);padding:25px 0;text-transform:uppercase}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';color:#a5331c;font:400 29px Arial}.faq-list details[open] summary:after{content:'−'}.faq-list p{font-size:16px;line-height:1.7;margin:0 0 25px;max-width:720px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-field{display:flex;flex-direction:column;gap:10px}.form-field label,.form-field legend{font:500 11px var(--font-mono);text-transform:uppercase}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #858d80;border-radius:0;background:var(--chalk);color:var(--black);padding:16px;font:400 16px var(--font-body);min-height:55px}.form-field textarea{min-height:150px;resize:vertical}.form-field.full{grid-column:1/-1}.form-note{font-size:13px;line-height:1.65;color:#4a514a}.estimator-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:50px}.estimate-panel{background:var(--black);color:var(--chalk);padding:35px;align-self:start}.estimate-panel h2{font:700 35px var(--font-head);margin:18px 0}.estimate-range{font:700 clamp(40px,4vw,65px)/1 var(--font-head);margin:25px 0;overflow-wrap:anywhere}.estimate-panel p{line-height:1.65;font-size:14px}.estimate-panel .link-btn{width:100%;margin-top:20px}.estimate-panel .muted{color:#b8c0b3}.estimate-breakdown{border-top:1px solid #596154;padding-top:20px;line-height:1.75;font-size:14px}.check-field{display:flex;align-items:start;gap:12px;font-size:15px;line-height:1.5}.check-field input{accent-color:var(--black);width:20px;height:20px;flex:none}.checks{border:0;padding:0;margin:30px 0}.checks legend{font:500 11px var(--font-mono);text-transform:uppercase;margin-bottom:20px}.checks>label{margin:14px 0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:15px}th,td{border-bottom:1px solid #a6afa0;text-align:left;padding:18px 12px;line-height:1.5}th{font:500 11px var(--font-mono);text-transform:uppercase}.contact-meta a{font:700 clamp(22px,2.5vw,36px) var(--font-head);overflow-wrap:anywhere;display:block;margin:15px 0 30px}.email-preview{margin:25px 0;padding:20px;border-left:4px solid var(--oxide);white-space:pre-wrap;font-size:14px;line-height:1.6}.email-preview[hidden]{display:none}.page-cta{background:var(--oxide);padding:65px 42px}.page-cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:35px}.page-cta h2{font:800 clamp(48px,6vw,85px)/.86 var(--font-head);margin:0;text-transform:uppercase}.page-cta p{font-size:16px;line-height:1.6;max-width:400px}.page-cta a{flex:none}.service-row .more{min-width:100px}
@media(max-width:1100px){.navlinks a{padding:0 14px}.page-hero h1{font-size:8.7vw}.page-hero-copy{padding:45px 30px}.section-layout{gap:35px}}
@media(max-width:800px){.page-hero{grid-template-columns:1fr}.page-hero h1{font-size:clamp(66px,13vw,104px);margin:50px 0 30px}.page-hero-photo{min-height:480px}.section-layout,.estimator-grid{grid-template-columns:1fr;gap:35px}.project-feature{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.page-cta .wrap{align-items:start;flex-direction:column}.page-section{padding:65px 25px}.estimate-panel{padding:28px}.estimate-range{font-size:clamp(38px,7vw,60px)}}
@media(max-width:600px){.page-hero-copy{padding:30px 20px 45px}.page-hero-photo{min-height:360px}.page-hero p{font-size:16px}.page-intro,.page-section,.site-footer,.page-cta{padding-left:20px;padding-right:20px}.page-intro{padding-top:50px;padding-bottom:50px}.page-intro h1{font-size:clamp(59px,16vw,95px)}.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.project-feature>div{padding:28px}.project-feature img{height:330px}.footer-grid{gap:25px}.footer-base{align-items:start;flex-direction:column}.site-footer{padding-bottom:calc(95px + env(safe-area-inset-bottom))}.editorial-row{grid-template-columns:28px 1fr;gap:10px}.editorial-row h3{font-size:30px}.faq-list summary{font-size:25px}.estimate-panel .link-btn{gap:12px}.page-hero .link-btn{gap:25px}}
[hidden]{display:none!important}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:14px;padding:25px 42px;font:400 11px/1.6 var(--font-mono);text-transform:uppercase}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.area-links{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:35px 0}.area-links a{padding:22px 15px 22px 0;border-top:1px solid #8f9887;font:600 24px/1.1 var(--font-head)}.area-links a:hover{color:#992d17}.local-actions{display:flex;gap:15px;flex-wrap:wrap;margin:25px 0}.local-actions .link-btn{gap:20px}.borough-row{display:grid;grid-template-columns:1fr 1.6fr;gap:35px;border-top:1px solid #8f9887;padding:35px 0}.borough-row h2{font:700 clamp(35px,4.3vw,60px)/.94 var(--font-head);text-transform:uppercase;margin:20px 0 0}.borough-row p{font-size:16px;line-height:1.8;margin:0}.borough-list{margin-top:35px}.policy-copy{max-width:850px}.policy-copy h3{font:700 32px/1.1 var(--font-head);text-transform:uppercase;margin:40px 0 15px}.policy-copy p{font-size:16px;line-height:1.8}.policy-copy a{text-decoration:underline;text-underline-offset:3px}.footer-control{display:block;border:0;padding:7px 0;background:transparent;color:inherit;font:400 14px/1.4 var(--font-body);text-align:left}.footer-control:hover{color:var(--oxide)}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:1000000001;background:var(--chalk);border-top:3px solid var(--black);padding:22px 28px max(22px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center;max-height:70dvh;overflow:auto}.cookie-banner h2,.cookie-dialog h2{font:700 29px/1 var(--font-head);margin:0 0 10px}.cookie-banner p{font-size:13px;line-height:1.6;margin:0;max-width:750px}.cookie-banner a,.cookie-dialog a{text-decoration:underline;text-underline-offset:3px}.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}.cookie-actions button{border:1px solid var(--black);background:var(--black);color:var(--chalk);padding:14px 16px;font:600 12px var(--font-body);min-height:46px}.cookie-actions button:hover{background:var(--oxide);color:var(--black)}.cookie-dialog{border:1px solid var(--black);border-top:8px solid var(--oxide);border-radius:0;max-width:620px;width:calc(100% - 30px);max-height:85dvh;overflow:auto;background:var(--chalk);color:var(--black);padding:30px}.cookie-dialog::backdrop{background:#0009}.cookie-dialog-head{display:flex;justify-content:space-between;gap:20px}.cookie-dialog-head button{border:1px solid;background:none;font:400 27px Arial;width:40px;height:40px;flex:none}.cookie-dialog p{font-size:14px;line-height:1.65}.cookie-option{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #8f9887;padding:22px 0;font-size:14px;line-height:1.5}.cookie-option strong{display:block;font-size:16px;margin-bottom:8px}.cookie-option span>span{display:block}.cookie-option p{margin:0}.cookie-option input{appearance:auto;accent-color:var(--black);width:24px;height:24px;flex:none}.cookie-dialog .cookie-actions{margin-top:20px}.chat-helper{font-size:13px;line-height:1.5}.chat-helper a{text-decoration:underline}
@media(max-width:960px){.cookie-banner{grid-template-columns:1fr;gap:15px}.area-links{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.breadcrumbs{padding:20px}.borough-row{grid-template-columns:1fr;gap:20px}.cookie-banner{padding:17px 16px max(17px,env(safe-area-inset-bottom))}.cookie-actions{gap:8px}.cookie-actions button{flex:1;padding:12px 10px}.cookie-banner h2{font-size:25px}.cookie-dialog{padding:22px}.area-links a{font-size:22px}.page-section .subhead{overflow-wrap:anywhere}}

/* Meet the team: natural portraits, matching the existing editorial grid. */
.team-section{border-bottom:1px solid var(--line)}
.team-section .section-head{gap:40px;margin-bottom:45px;align-items:end}
.team-section .section-head h2{font-size:clamp(50px,6.3vw,96px);line-height:.88}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.team-person{min-width:0}
.team-portrait{width:min(100%,240px);aspect-ratio:1/1;overflow:hidden}.team-person img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center 30%}
.team-caption{border-top:2px solid var(--black);margin-top:20px;padding-top:18px}
.team-caption h3{font:700 52px/1 var(--font-head);text-transform:uppercase;margin:0 0 12px}
.team-caption .mono{display:block;color:#555c52;min-height:33px}
.team-caption p{font-size:15px;line-height:1.7;margin:14px 0 0;max-width:410px}
@media(max-width:960px){.team-grid{gap:20px}.team-caption h3{font-size:44px}}
@media(max-width:700px){.team-grid{grid-template-columns:1fr;gap:42px}.team-section .section-head{display:block}.team-section .section-head h2{font-size:clamp(49px,12vw,81px)}.team-portrait{width:min(100%,200px)}.team-caption .mono{min-height:0}.team-caption p{max-width:100%}}

/* Vector arrows stay monochrome on iOS and desktop; no emoji font fallback. */
.plain-arrow{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:square;stroke-linejoin:miter}.arrow .plain-arrow,.symbol .plain-arrow{vertical-align:0}

/* Enquiries and appointment requests */
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.privacy-check{margin:25px 0}.privacy-check a{text-decoration:underline}.form-status{font-size:15px;line-height:1.7;margin:22px 0}.form-status:empty{display:none}.form-status.is-error{color:#9b2818;border-left:3px solid;padding-left:15px}.form-status.is-success{border-left:4px solid #496b3f;padding:20px;background:#e3e5df}button:disabled{cursor:wait;opacity:.65}.booking-open{overflow:hidden}.booking-dialog{width:min(760px,calc(100vw - 30px));max-height:88dvh;overflow:auto;border:1px solid var(--black);border-top:7px solid var(--oxide);border-radius:0;background:var(--chalk);color:var(--black);padding:32px}.booking-dialog::backdrop{background:#141614b3}.booking-heading{display:flex;justify-content:space-between;gap:20px;align-items:start}.booking-heading h2{font:700 clamp(42px,7vw,68px)/.9 var(--font-head);margin:18px 0}.booking-dialog>p{font-size:15px;line-height:1.65}.booking-close{border:1px solid;background:transparent;font:400 30px Arial;width:42px;height:42px;flex:none}.booking-dialog .form-grid{margin-top:25px}.booking-dialog [type=date]{min-width:0}.inbox-notice{padding:25px;background:#e3e5df;line-height:1.6}.inbox-entry{border-top:1px solid;padding:30px 0;overflow-wrap:anywhere}.inbox-entry p{line-height:1.6}.inbox-entry a{text-decoration:underline}.inbox-title{display:flex;gap:20px;justify-content:space-between;align-items:center}.inbox-entry select,.inbox-entry button{margin:10px;padding:12px}.inbox-entry h2{font:700 32px var(--font-head)}
@media(max-width:600px){.booking-dialog{padding:23px 18px}.booking-dialog .form-grid{grid-template-columns:1fr}.booking-dialog .link-btn{width:100%;padding:18px 15px;gap:10px}.inbox-title{display:block}}

/* Hither Green: an evidence-led project story. */
.case-study-intro{padding-top:35px}.case-study-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end;margin:32px 0 50px}.case-study-heading h1{font:800 clamp(68px,9vw,140px)/.83 var(--font-head);letter-spacing:-.025em;margin:0}.case-study-heading p{font-size:18px;line-height:1.65;max-width:520px}.case-study-facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid;border-bottom:1px solid;margin:0 0 40px}.case-study-facts>div{padding:25px 20px;border-right:1px solid var(--line)}.case-study-facts>div:first-child{padding-left:0}.case-study-facts>div:last-child{border:0}.case-study-facts dt{font:400 11px var(--font-mono);text-transform:uppercase}.case-study-facts dd{font:700 clamp(34px,4vw,62px)/1 var(--font-head);margin:14px 0 0}.case-study-hero{margin:0}.case-study-hero img{width:100%;height:auto}.case-study-hero figcaption,.case-comparison figcaption,.build-sequence figcaption,.roof-sequence figcaption,.finished-gallery figcaption{font:400 11px/1.6 var(--font-mono);text-transform:uppercase;padding:14px 0}.case-comparison{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:35px}.case-comparison figure,.build-sequence figure,.roof-sequence figure,.finished-gallery figure{margin:0;min-width:0}.case-comparison img{width:100%;aspect-ratio:3/2;object-fit:cover}.build-sequence{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:35px}.build-sequence img{width:100%;aspect-ratio:3/4;object-fit:cover}.roof-sequence{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:45px}.roof-sequence img{width:100%;aspect-ratio:3/4;object-fit:cover}.finished-gallery{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:35px}.finished-gallery img{width:100%;height:auto}.finished-gallery figure:last-child{grid-column:1/-1;width:70%;margin:0 auto}.earlier-project{display:grid;grid-template-columns:1.3fr 1fr;gap:25px;margin-top:40px}.earlier-project img{width:100%;height:360px;object-fit:cover}.case-note{padding:30px 42px 60px}.case-note p{font-size:13px;line-height:1.7;max-width:700px}
@media(max-width:850px){.case-study-heading{grid-template-columns:1fr;gap:25px}.build-sequence{grid-template-columns:1fr 1fr}.case-study-facts{grid-template-columns:1fr 1fr}.case-study-facts>div{border-bottom:1px solid var(--line);padding-left:15px!important}.earlier-project{grid-template-columns:1fr}.earlier-project img{height:auto}}
@media(max-width:600px){.case-comparison,.roof-sequence,.finished-gallery{grid-template-columns:1fr}.finished-gallery figure:last-child{width:100%;grid-column:auto}.case-study-heading h1{font-size:clamp(54px,15vw,88px)}.case-study-heading p{font-size:16px}.case-study-facts dd{font-size:43px}.case-note{padding:25px 20px 50px}.build-sequence{gap:12px}.roof-sequence img{aspect-ratio:4/5}.page-cta .link-btn{max-width:100%;gap:15px}}

/* Let project photographs retain their original proportions at every breakpoint. */
.case-study-hero img,.case-comparison img,.build-sequence img,.roof-sequence img,.finished-gallery img,.earlier-project img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.case-comparison,.build-sequence,.roof-sequence,.finished-gallery,.earlier-project{align-items:start}
.case-photo-full{min-height:0;display:flex;flex-direction:column;justify-content:center;background:var(--black)}
.case-photo-full:before{display:none}
.case-photo-full img{position:static;display:block;width:100%;height:auto;object-fit:contain}
.case-photo-full .case-stamp{position:static;align-self:flex-start}
#hither-green .gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
#hither-green .gallery figure:first-child{grid-column:auto}
#hither-green .gallery img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:600px){#hither-green .gallery{grid-template-columns:1fr}.build-sequence{grid-template-columns:1fr}}

/* Mobile viewport containment: allow layout items and text to shrink before clipping overflow. */
html{overflow-x:hidden;overscroll-behavior-x:none}
body{width:100%;min-width:0;overflow-x:hidden}
@supports(overflow:clip){html,body{overflow-x:clip}}
@media(max-width:960px){
 :where(.hero,.hero-desc,.case,.project-pair,.project-small,.services-grid,.service-row,.method-top,.method-row,.last-top,.proofbar,.page-hero,.section-layout,.archive-heading,.gallery,.project-feature,.footer-grid,.form-grid,.estimator-grid,.area-links,.borough-row,.case-study-heading,.case-study-facts,.earlier-project)>*{min-width:0}
 .wrap,main,.hero-right,.case-photo,.case-text,.archive-copy,.form-field,.estimate-panel{min-width:0;max-width:100%}
 .link-btn{max-width:100%;gap:20px;white-space:normal;overflow-wrap:anywhere}
 .footer-grid a,.footer-control,.breadcrumbs,.archive-jump a,.case-text .topline,.case-stamp{overflow-wrap:anywhere}
 .form-field input,.form-field select,.form-field textarea{min-width:0;max-width:100%}
}
@media(max-width:600px){
 h1,h2,h3,.service-row strong,.area-links a{overflow-wrap:anywhere}
 .page-hero h1{font-size:clamp(48px,13vw,78px);overflow-wrap:anywhere}
 .service-row{grid-template-columns:28px minmax(0,1fr) 30px}
 .service-row strong{font-size:clamp(27px,8.2vw,49px)}
 .photo-bottom{gap:12px;flex-wrap:wrap}
 .photo-bottom>*{min-width:0;max-width:100%}
 .case-text .topline{gap:12px;flex-wrap:wrap}
 .archive-meta{gap:20px;flex-wrap:wrap}
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .booking-heading>div{min-width:0}
 .case-photo-full{min-height:0}
}

.gallery .gallery-full-photo{grid-column:1/-1}.gallery .gallery-full-photo img{width:100%;height:auto;object-fit:contain}

.gallery-se21-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.gallery-se21-pair figure,.gallery-se21-pair figure:first-child,.gallery-se21-pair .gallery-full-photo{grid-column:auto}.gallery-se21-pair img,.gallery-se21-pair figure:first-child img,.gallery-se21-pair figure:nth-child(2) img{width:100%;height:auto;object-fit:contain}@media(max-width:600px){.gallery-se21-pair{gap:12px}}
