@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/dm-sans-400.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/dm-sans-500.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/dm-sans-600.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/dm-sans-700.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/manrope-400.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/manrope-500.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/manrope-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/manrope-700.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/manrope-800.ttf) format('truetype');
}

@view-transition{navigation:auto}::view-transition-old(root){animation:fade-out .22s ease both}::view-transition-new(root){animation:fade-in .4s ease both}@keyframes fade-out{to{opacity:0;transform:translateY(-8px)}}@keyframes fade-in{from{opacity:0;transform:translateY(12px)}}.reading-progress{height:3px;background:#b99966;position:fixed;top:0;left:0;width:100%;transform:scaleX(0);transform-origin:left;z-index:1000}.hero-content>*{animation:headline-in 1s both}.hero-content h1{animation-delay:.12s}.hero-content p{animation-delay:.25s}.hero-content .button{animation-delay:.4s}@keyframes headline-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}.button{transition:transform .25s,background .25s,box-shadow .25s}.button:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0002}.photo-strip{padding:80px 0;background:#ded5c5;overflow:hidden}.strip-heading{padding:0 7%;display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}.strip-controls{display:flex;gap:10px}.strip-controls button{width:48px;height:48px;background:transparent;border:1px solid #8e816b;font-size:23px}.strip-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 7% 25px;scrollbar-color:#9b835e #ded5c5}.strip-track figure{margin:0;flex:0 0 340px;scroll-snap-align:center}.strip-track .photo{height:330px}.strip-track figcaption{font-size:14px;margin-top:13px}.strip-track .photo img{transition:transform .6s,filter .6s}.strip-track figure:hover img{transform:scale(1.07)}.zone-section{background:#ece7de}.zone-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:50px}.zone-layout h3{font-size:26px;letter-spacing:-.7px}.zone-layout p{margin:18px 0}.radius-number{font:600 100px/1 'Manrope',sans-serif;color:#887152;letter-spacing:-6px;margin-bottom:20px}.radius-number span{font-size:28px;letter-spacing:0;margin-left:10px}.town-list{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.town-list button{background:transparent;border:1px solid #c5bcad;padding:6px 10px;font-size:13px;transition:background .2s,transform .2s}.town-list button:hover,.town-list button[aria-pressed=true]{background:#252725;color:white;transform:translateY(-2px)}.map-wrap{align-self:start;position:sticky;top:25px}#intervention-map{height:530px;background:#d7d6cc;z-index:1;border:1px solid #c5bcad}#intervention-map img{max-width:none;height:auto}.map-reset{margin-top:15px;padding:12px 20px;border:1px solid #9a8d77;background:transparent}.map-selection{font-size:14px}.map-source{font-size:12px;color:#68685f}.map-source a{text-decoration:underline}.before-after-feature{padding-top:80px}.pair-credit{font-size:13px;max-width:850px;margin-top:20px!important;color:#bfbcb3}.pair-credit a{text-decoration:underline}.gallery-extra{margin-top:65px}.gallery-extra .projects{grid-template-columns:repeat(2,1fr)}.gallery-extra .project:nth-child(2){padding-top:0}@media(max-width:800px){.zone-layout{grid-template-columns:1fr;gap:30px}.map-wrap{position:static}#intervention-map{height:420px}.strip-track figure{flex-basis:280px}.strip-track .photo{height:290px}}@media(max-width:600px){.gallery-extra .projects{grid-template-columns:1fr}.strip-heading{align-items:start}.strip-heading h2{font-size:32px}.strip-controls{flex-shrink:0}.radius-number{font-size:80px}.town-list button{font-size:14px}.hero h1{font-size:45px}}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}.reading-progress{display:none}}
.brand{display:block;width:285px;flex-shrink:0}.brand img{width:100%;height:auto;object-fit:contain}footer .brand{background:#f3f0e9;padding:12px;width:300px}h1 em,h2 em{font-family:'Manrope',sans-serif!important;font-style:normal;font-weight:600!important}h1{font-weight:700!important}@media(max-width:600px){.brand{width:220px}footer .brand{width:270px}}
:root{--ink:#252725;--paper:#f3f0e9;--taupe:#b9ab94;--line:#d8d3c9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--paper);position:relative;z-index:20;border-bottom:1px solid var(--line)}.brand{font:800 25px/1 'Manrope',sans-serif;letter-spacing:3px}.brand small{font:500 10px/1.8 'DM Sans';display:block;letter-spacing:4.7px;margin-top:5px}nav{display:flex;align-items:center;gap:30px;font-size:14px}nav a.active{border-bottom:1px solid var(--ink)}.button{display:inline-flex;justify-content:center;align-items:center;gap:32px;padding:17px 25px;background:var(--ink);color:white;border:1px solid var(--ink);font-size:14px}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.outline{background:transparent;color:inherit;border-color:currentColor}.menu{display:none;background:none;border:0;font-size:24px}.hero{position:relative;min-height:690px;height:calc(100svh - 104px);max-height:960px;color:#fff;overflow:hidden;background:#454740}.hero>img{position:absolute;inset:0;filter:brightness(.65);transform:scale(1.06);animation:unveil 1.8s ease-out}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#171b1870,transparent 90%)}.hero-content{position:relative;z-index:2;padding:9% 7% 8%;max-width:1150px}.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:12px;font-weight:600;margin-bottom:25px}.eyebrow:before{content:'';width:28px;height:1px;background:currentColor;display:inline-block;vertical-align:middle;margin-right:14px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Manrope',sans-serif;font-weight:500;line-height:1.07;letter-spacing:-2px}h1{font-size:clamp(48px,5.7vw,88px);max-width:950px}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;color:#d1c4ae}p{max-width:620px}.hero p{margin:28px 0 33px;color:#eee;max-width:500px;font-size:17px}.hero-bottom{position:absolute;bottom:27px;left:7%;right:7%;z-index:2;display:flex;justify-content:space-between;font-size:12px;letter-spacing:2px;text-transform:uppercase}.hero-bottom span:last-child{letter-spacing:0;text-transform:none;color:#ddd}.intro-strip{display:flex;justify-content:space-between;gap:20px;padding:25px 7%;border-bottom:1px solid var(--line);font-size:13px}.intro-strip span:before{content:'✧';margin-right:12px}section{padding:110px 7%}.section-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:50px}h2{font-size:clamp(36px,4.2vw,62px);max-width:730px}h2 em{color:#95866e}.text-link{border-bottom:1px solid;padding:5px 0;white-space:nowrap;font-size:14px}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{padding:32px 25px;min-height:220px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .3s,transform .3s}.service:hover{background:#e8e2d7;transform:translateY(-4px)}.service .number{color:#897c67;font-size:13px}.service h3{font-size:23px;letter-spacing:-.6px;margin:24px 0 12px}.service p{font-size:14px;color:#68685f}.dark{background:var(--ink);color:var(--paper)}.projects{display:grid;grid-template-columns:1.2fr 1fr;gap:35px}.project:nth-child(2){padding-top:90px}.project .photo{height:470px;overflow:hidden;position:relative}.photo img{transition:transform .8s}.photo:hover img{transform:scale(1.055)}.photo button{position:absolute;right:15px;bottom:15px;border:0;border-radius:50%;width:48px;height:48px;background:var(--paper);font-size:23px}.project h3{font-size:25px;letter-spacing:-.5px;margin-top:20px}.project p{font-size:13px;color:#aaa99f;margin-top:8px}.split{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.split .photo{height:580px}.split p{margin:25px 0;color:#68685f}.steps{margin-top:36px}.steps div{padding:16px 0;border-top:1px solid var(--line)}.steps b{font-size:13px;color:#95866e;margin-right:22px}.cta{text-align:center;padding:100px 7%;background:#ddd4c5}.cta h2{margin:auto}.cta p{margin:25px auto 30px}.page-head{padding:85px 7% 65px;border-bottom:1px solid var(--line)}.page-head h1{font-size:clamp(46px,6vw,82px)}.page-head p{margin-top:25px;color:#68685f}.page-head+.content{padding-top:70px}.note{font-size:13px;color:#77786e;margin-top:25px}.compare{height:540px;position:relative;overflow:hidden;margin-top:35px;background:#888}.compare img{position:absolute;inset:0}.compare .after{clip-path:inset(0 0 0 var(--position,50%))}.compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:4}.compare .divider{position:absolute;top:0;bottom:0;left:var(--position,50%);width:2px;background:white;pointer-events:none}.divider:after{content:'↔';position:absolute;top:48%;left:-24px;background:white;color:#252725;border-radius:50%;width:50px;height:50px;text-align:center;line-height:50px;font-size:25px}.compare-labels{position:absolute;bottom:20px;left:20px;right:20px;display:flex;justify-content:space-between;color:white;pointer-events:none}.compare-labels span{background:#252725d0;padding:7px 14px;font-size:13px}.filter{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px}.filter button{padding:9px 20px;border:1px solid var(--line);background:none}.filter button.selected{background:var(--ink);color:white}.contact-grid{display:grid;grid-template-columns: .8fr 1.2fr;gap:10%}.contact-grid h2{font-size:40px}.contact-grid p{margin:24px 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}label{font-size:14px;display:block}input,select,textarea{width:100%;padding:13px;border:1px solid #bfb9ad;background:transparent;border-radius:0;margin-top:7px;color:var(--ink)}textarea{min-height:150px;resize:vertical}.full{grid-column:1/-1}.check{display:flex;gap:12px;align-items:start}.check input{width:18px;flex-shrink:0}.status{padding:20px;background:#e3dccf;margin-top:20px}footer{background:#202320;color:#f3f0e9;padding:60px 7% 25px}.footer-top{display:flex;justify-content:space-between;gap:35px;padding-bottom:60px}.footer-links{display:flex;gap:30px;font-size:14px}.footer-bottom{border-top:1px solid #52554c;padding-top:22px;display:flex;justify-content:space-between;color:#a5a69e;font-size:12px}.reveal{opacity:1}.js .reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.js .reveal.seen{opacity:1;transform:none}dialog{padding:0;border:0;width:min(1100px,94vw);background:#252725;color:white}dialog::backdrop{background:#000b}dialog img{max-height:78svh;object-fit:contain}dialog button{position:absolute;right:15px;top:15px;border:0;background:white;padding:9px 17px}dialog p{padding:20px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ac8f54;outline-offset:5px}.skip{position:fixed;top:-80px;z-index:100;background:white;padding:15px}.skip:focus{top:0}@keyframes unveil{from{transform:scale(1.14)}to{transform:scale(1.06)}}@media(max-width:900px){header{height:85px}.menu{display:block}nav{display:none;position:absolute;top:85px;left:0;right:0;background:var(--paper);padding:25px;flex-direction:column;align-items:stretch}nav.open{display:flex}.hero{height:760px;min-height:650px}.hero-content{padding-top:105px}.hero-bottom span:last-child{display:none}.services-grid{grid-template-columns:repeat(2,1fr)}section{padding:75px 6%}.split{gap:35px}.split .photo{height:460px}.projects .photo{height:360px}.contact-grid{gap:35px}.intro-strip{flex-wrap:wrap}.footer-links{flex-wrap:wrap}}@media(max-width:600px){h1{font-size:49px;letter-spacing:-2px}.hero{height:740px}.hero p{font-size:16px}.hero-content{padding:95px 6% 0}.eyebrow{font-size:11px;letter-spacing:2px}.section-top{display:block}.section-top .text-link{display:inline-block;margin-top:25px}.services-grid{grid-template-columns:1fr 1fr}.service{padding:23px 16px;min-height:210px}.service h3{font-size:20px}.projects,.split,.contact-grid{grid-template-columns:1fr}.project:nth-child(2){padding-top:0}.projects .photo{height:380px}.split .photo{height:400px}.compare{height:350px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.footer-top,.footer-bottom{flex-direction:column;gap:25px}.footer-links{gap:15px}.intro-strip{font-size:12px}.page-head{padding:65px 6% 45px}.page-head h1{font-size:48px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}
