:root{--ink:#132c38;--muted:#526566;--cream:#f6f5ef;--green:#265442;--lime:#d7edaa;--line:#d9e1d8;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-family:var(--sans);color:var(--ink);line-height:1.65;background:var(--cream);font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}img{display:block;max-width:100%;height:auto}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #46745d;outline-offset:4px}[hidden]{display:none!important}.skip{position:absolute;left:20px;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}.wrap{width:min(1220px,calc(100% - 64px));margin:auto}.topbar{background:var(--ink);color:#e3ebe5;text-align:center;padding:8px 16px;font-size:12px;letter-spacing:.045em}.siteHeader{position:sticky;top:0;z-index:30;background:#f6f5eff5;backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.headerInner{display:flex;align-items:center;gap:30px;min-height:88px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}.brand svg{width:38px;height:44px}.brand b{display:block;font-size:14px;letter-spacing:.07em;line-height:1.2}.brand small{font-size:11px;letter-spacing:.21em;font-weight:650;line-height:1.5}.mainNav{display:flex;align-items:center;gap:24px;margin-left:auto}.mainNav>a{font-size:13px;font-weight:650;text-decoration:none}.mainNav>a:hover{color:var(--green)}.headerPhone{font-size:13px;font-weight:750;text-decoration:none;white-space:nowrap}.headerCta{font-size:12px!important;padding:12px 15px!important}.menuButton{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:9px 12px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:20px;min-height:52px;background:var(--green);color:white;text-decoration:none;padding:15px 24px;border:1px solid var(--green);border-radius:5px;font-size:14px;font-weight:700;cursor:pointer;transition:background .18s,transform .18s}.btn:hover{background:#183d2e;transform:translateY(-1px)}.btn.light{background:var(--lime);border-color:var(--lime);color:var(--ink)}.btn.outline{background:transparent;color:var(--ink);border-color:#9eaea3}.btn:disabled{opacity:.4;cursor:default;transform:none}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.17em;font-weight:750;color:var(--green);display:flex;align-items:center;gap:10px}.eyebrow:before{content:'';display:inline-block;width:26px;height:1px;background:currentColor}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:1.04}h1{font-size:clamp(50px,5.6vw,79px);margin-bottom:25px}h1 em,h2 em{font-weight:400;color:var(--green)}h2{font-size:clamp(38px,4vw,56px);margin-bottom:24px}h3{line-height:1.25;letter-spacing:-.025em;font-size:22px;font-weight:600}p{color:var(--muted);font-size:16px}.hero{padding:64px 0 56px}.heroGrid{display:grid;grid-template-columns:1fr 1.05fr;gap:65px;align-items:center}.heroCopy>.eyebrow{margin-bottom:25px}.heroCopy>p{max-width:480px;font-size:17px;line-height:1.75}.heroActions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin:30px 0 18px}.textLink{font-size:14px;font-weight:650}.micro{font-size:12px;color:var(--muted)}.heroVisual{position:relative;margin:0}.heroVisual>img{width:100%;height:520px;object-fit:cover;border-radius:8px 8px 92px 8px}.visualTag{position:absolute;left:-24px;bottom:46px;background:var(--ink);color:white;padding:20px 26px;box-shadow:0 14px 40px #132c381a}.visualTag small{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--lime)}.visualTag strong{font-family:var(--serif);font-size:25px;font-weight:400}.imageNote{font-size:10px;margin-top:9px;color:#63726c;text-align:right}.imageNote a{color:inherit}.promiseStrip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:25px 0;margin-top:36px}.promiseStrip>div{display:flex;align-items:center;gap:14px;padding:0 26px;border-right:1px solid var(--line)}.promiseStrip>div:first-child{padding-left:0}.promiseStrip>div:last-child{border:0}.promiseStrip span{color:var(--green);font-size:22px}.promiseStrip strong{font-size:13px;display:block}.promiseStrip small{font-size:11px;color:var(--muted)}.section{padding:90px 0}.sectionHead{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:36px}.sectionHead>div{max-width:630px}.sectionHead .eyebrow{margin-bottom:18px}.sectionHead p{max-width:340px;margin-bottom:0}.serviceGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.serviceCard{display:flex;flex-direction:column;min-height:260px;background:white;padding:30px;border:1px solid var(--line);border-radius:6px;text-decoration:none;transition:transform .2s,border-color .2s}.serviceCard:hover{transform:translateY(-4px);border-color:var(--green)}.serviceCard .num{color:#78937a;letter-spacing:.1em;font-size:11px;margin-bottom:36px}.serviceCard h3{font-family:var(--serif);font-size:29px;font-weight:400;margin-bottom:14px}.serviceCard p{font-size:14px}.serviceCard .cardLink{margin-top:auto;color:var(--green);font-size:12px;font-weight:750}.serviceCard:first-child{background:var(--green);color:white}.serviceCard:first-child p,.serviceCard:first-child .num,.serviceCard:first-child .cardLink{color:#dfebdd}.serviceCard:last-child{grid-column:span 3;min-height:unset;display:grid;grid-template-columns:70px 1fr 1.1fr auto;align-items:center;gap:20px}.serviceCard:last-child .num,.serviceCard:last-child h3,.serviceCard:last-child p{margin:0}.dark{background:var(--ink);color:white}.dark p{color:#bdcbc7}.dark .eyebrow{color:var(--lime)}.dark h2 em{color:var(--lime)}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.principles{display:grid;grid-template-columns:1fr 1fr;gap:40px 32px}.principles .icon{display:block;font-size:24px;color:var(--lime);margin-bottom:15px}.principles h3{font-size:18px;margin-bottom:13px}.principles p{font-size:14px}.processGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.processCard{border-top:1px solid #a5b5a1;padding-top:25px}.processCard .num{font-family:var(--serif);font-size:44px;color:#6e8b72;margin-bottom:25px}.processCard h3{font-size:17px}.processCard p{font-size:14px}.cityGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.cityCard{margin:0}.cityCard>a{display:block;text-decoration:none}.cityCard img{height:240px;width:100%;object-fit:cover;border-radius:6px;transition:filter .2s}.cityCard a:hover img{filter:brightness(1.06)}.cityCard h3{font-family:var(--serif);font-size:31px;font-weight:400;display:flex;justify-content:space-between;margin:20px 0 10px}.cityCard p{font-size:14px}.cityCard figcaption{font-size:10px;color:var(--muted)}.soft{background:#e9eee3}.faqGrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.faq details{border-bottom:1px solid #c4d0c0;padding:20px 0}.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:30px;font-size:16px;font-weight:600;line-height:1.45}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font-size:22px;font-weight:400}.faq details[open] summary:after{content:'−'}.faq details p{margin:16px 25px 0 0;font-size:14px}.estimateSection{padding:85px 0;scroll-margin-top:104px}.estimateLayout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}.estimateInfo{position:sticky;top:130px}.estimateInfo .eyebrow{margin-bottom:20px}.estimateInfo p{max-width:340px}.estimateInfo .estimateSteps{margin:30px 0;padding:0;list-style:none}.estimateSteps li{display:flex;gap:15px;align-items:center;font-size:13px;padding:13px 0;border-bottom:1px solid var(--line)}.estimateSteps span{background:#e5eadf;border-radius:50%;width:28px;height:28px;text-align:center;line-height:28px;font-size:11px}.estimateCard{background:white;padding:36px;border:1px solid var(--line);border-radius:8px;box-shadow:0 14px 35px #132c3808}.formHead{display:flex;gap:20px;align-items:start;justify-content:space-between;margin-bottom:25px}.formHead h2{font-family:var(--sans);font-size:20px;letter-spacing:-.02em;line-height:1.35;margin:0}.counter{flex:0 0 auto;white-space:nowrap;font-size:12px;letter-spacing:.08em;background:#eef2e8;border-radius:4px;padding:6px 10px}.step h3{font-size:23px;margin-bottom:6px}.step .hint{font-size:13px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}.choices button{position:relative;min-height:62px;background:white;border:1px solid #cbd5c8;border-radius:5px;text-align:left;padding:15px 35px 15px 14px;color:var(--ink);font-size:13px;font-weight:600;cursor:pointer}.choices button:after{content:'+';position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:18px;color:#7c8d7c}.choices button.selected{background:#edf3e4;border:2px solid var(--green);padding:14px 34px 14px 13px}.choices button.selected:after{content:'✓';color:var(--green)}.fieldGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:13px;font-weight:600;margin:19px 0}label small{font-weight:400;color:var(--muted)}input,textarea{display:block;width:100%;min-width:0;font-size:16px;border:1px solid #c8d2c5;border-radius:5px;padding:13px 14px;background:#fff;margin-top:8px;color:var(--ink)}input{min-height:51px}textarea{min-height:125px;resize:vertical}.row{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:26px}.back{border:0;background:none;color:var(--green);font-weight:650;font-size:13px;min-height:48px;padding:10px;cursor:pointer}.next{min-height:52px}.privacy{font-size:11px;margin:26px 0 0}.privacy a{white-space:nowrap}.trap{position:absolute;left:-10000px}#formError{font-size:14px;line-height:1.6;color:#802d2d;background:#fff0ed;border-left:3px solid #a34235;padding:16px;border-radius:3px}.selectionSummary{font-size:12px;background:#eef3e8;padding:12px;margin:22px 0 0;color:var(--green)}.success{padding:20px 0}.successIcon{width:48px;height:48px;line-height:48px;text-align:center;background:var(--lime);border-radius:50%;font-size:25px;margin-bottom:25px}.success h3{font-family:var(--serif);font-size:35px;font-weight:400}.success p{font-size:15px}.finalCta{padding:70px 0;background:var(--green);color:white}.finalCta .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.finalCta h2{font-size:44px;margin-bottom:12px}.finalCta p{color:#dce5d7;margin:0;font-size:14px}.footer{background:#0c232c;color:#e2e8df;padding:60px 0 24px}.footerGrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}.footer .brand{margin-bottom:20px}.footer p{font-size:13px;color:#a4b8b2;max-width:250px}.footer h3{font-size:12px;font-weight:700;margin-bottom:18px;letter-spacing:.1em;text-transform:uppercase}.footer a{display:block;text-decoration:none;font-size:12px;color:#c5d3ca;padding:5px 0}.footer .brand{display:flex;color:white}.footerBottom{border-top:1px solid #2a4249;display:flex;justify-content:space-between;gap:20px;margin-top:45px;padding-top:22px;font-size:11px;color:#8fa7a1}.footerBottom a{display:inline}.crumbs{font-size:11px;display:flex;gap:8px;flex-wrap:wrap;padding-top:27px;color:var(--muted)}.subHero{padding-top:42px}.subHero .heroVisual>img{height:430px}.subHero h1{font-size:clamp(46px,5vw,67px)}.contentGrid{display:grid;grid-template-columns:1fr .42fr;gap:100px}.prose{max-width:720px}.prose h2{font-size:39px;margin-top:45px}.prose h2:first-child{margin-top:0}.prose p{font-size:16px;line-height:1.9}.sideBox{background:#e9eee3;padding:28px;border-radius:6px;height:max-content;position:sticky;top:120px}.sideBox h3{font-family:var(--serif);font-size:27px;font-weight:400}.sideBox ul{padding-left:18px;font-size:14px;color:var(--muted)}.sideBox li{margin-bottom:12px}.sideBox .btn{width:100%;margin-top:15px}.scope{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:30px 0 10px}.scope div{background:white;border:1px solid var(--line);padding:18px;font-size:14px;display:flex;gap:12px}.scope div:before{content:'✓';color:var(--green)}.articleHead{padding:60px 0}.articleHead h1{max-width:860px;font-size:65px}.articleHead p{font-size:18px;max-width:680px}.guideGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.guideCard{border:1px solid var(--line);padding:30px;background:white;text-decoration:none;border-radius:6px}.guideCard small{color:var(--green);font-size:10px;letter-spacing:.14em;text-transform:uppercase}.guideCard h3{font-family:var(--serif);font-size:28px;font-weight:400;margin:25px 0 14px}.guideCard p{font-size:14px}.guideCard span{font-size:12px;font-weight:700}.checkList{padding:0;list-style:none}.checkList li{border-bottom:1px solid var(--line);padding:18px 0;font-size:15px;color:var(--muted)}.checkList strong{color:var(--ink)}.contactCards{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contactCards article{padding:30px;background:white;border:1px solid var(--line)}.mobileBar{display:none}.colourStory{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.colourStory img{border-radius:6px;max-height:480px;object-fit:cover;width:100%}.swatches{display:flex;gap:10px;margin:28px 0}.swatches span{width:42px;height:42px;border-radius:50%;border:4px solid white;box-shadow:0 0 0 1px #c8d2c5}.swatches span:nth-child(1){background:#eee9db}.swatches span:nth-child(2){background:#9baa88}.swatches span:nth-child(3){background:#173c46}.swatches span:nth-child(4){background:#c4aa85}@media(min-width:1500px){.heroVisual>img{height:560px}}@media(max-width:1100px){.mainNav{gap:16px}.headerInner{gap:20px}.headerPhone{display:none}.heroGrid{gap:40px}.heroVisual>img{height:470px}.split,.faqGrid,.estimateLayout{gap:45px}.contentGrid{gap:55px}.promiseStrip>div{padding:0 16px}.footerGrid{gap:25px}}@media(max-width:800px){.wrap{width:calc(100% - 40px)}.topbar{font-size:10px;padding:7px 12px}.headerInner{min-height:72px;gap:10px}.brand svg{width:29px;height:34px}.brand b{font-size:11px}.brand small{font-size:9px}.menuButton{display:block;margin-left:auto}.mainNav{display:none;position:absolute;left:0;right:0;top:72px;background:var(--cream);padding:20px;border-bottom:1px solid var(--line);box-shadow:0 16px 20px #132c3810;margin:0;align-items:stretch;gap:4px}.mainNav.open{display:flex;flex-direction:column}.mainNav>a{padding:12px;min-height:45px}.headerPhone{display:block;font-size:11px;padding:10px 4px}.headerCta{display:none!important}.hero{padding:36px 0 30px}.heroGrid{grid-template-columns:1fr;gap:32px}.heroCopy>.eyebrow{font-size:10px;margin-bottom:20px}.heroCopy>p{font-size:16px;max-width:unset}h1{font-size:57px;line-height:1.03}.heroActions{gap:19px;margin-top:25px}.heroVisual>img{height:360px;border-radius:6px 6px 65px 6px}.visualTag{left:12px;bottom:35px;padding:15px 20px}.visualTag strong{font-size:21px}.promiseStrip{grid-template-columns:1fr 1fr;gap:24px 15px;margin-top:24px;padding:25px 0}.promiseStrip>div{padding:0;border:0}.promiseStrip span{font-size:18px}.promiseStrip strong{font-size:12px}.promiseStrip small{font-size:10px}.section{padding:58px 0}.sectionHead{display:block;margin-bottom:27px}.sectionHead p{max-width:unset;margin-top:20px}.sectionHead .eyebrow{margin-bottom:15px}h2{font-size:42px}.serviceGrid{grid-template-columns:1fr 1fr;gap:12px}.serviceCard{padding:22px;min-height:255px}.serviceCard .num{margin-bottom:24px}.serviceCard h3{font-size:25px}.serviceCard p{font-size:13px}.serviceCard:last-child{grid-column:span 2;display:flex;align-items:start;gap:12px;min-height:220px}.serviceCard:last-child .cardLink{margin-top:auto}.split,.faqGrid,.estimateLayout,.contentGrid,.colourStory{grid-template-columns:1fr;gap:34px}.principles{gap:30px 25px}.processGrid{grid-template-columns:1fr 1fr;gap:30px}.processCard .num{font-size:34px;margin-bottom:14px}.cityGrid{grid-template-columns:1fr;gap:32px}.cityCard img{height:280px}.cityCard h3{margin-top:16px}.estimateSection{padding:58px 0;scroll-margin-top:88px}.estimateInfo{position:static}.estimateInfo p{max-width:unset}.estimateSteps{display:none}.estimateCard{padding:25px}.estimateInfo h2{margin-bottom:18px}.formHead h2{font-size:17px;max-width:240px}.step h3{font-size:21px}.choices{margin:20px 0;gap:10px}.choices button{font-size:12px;min-height:65px}.row .next{padding:14px 18px;font-size:13px;gap:10px}.row{gap:8px}.privacy{font-size:11px}.finalCta{padding:50px 0}.finalCta .wrap{display:block}.finalCta h2{font-size:38px}.finalCta .btn{margin-top:26px}.footer{padding-top:45px;padding-bottom:100px}.footerGrid{grid-template-columns:1fr 1fr;gap:35px 20px}.footerGrid>div:first-child{grid-column:span 2}.footerBottom{display:block;font-size:10px}.footerBottom>span{display:block;margin-bottom:12px}.mobileBar{display:flex;position:fixed;bottom:0;left:0;right:0;background:#f6f5effa;backdrop-filter:blur(12px);padding:10px 20px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);z-index:25;gap:12px}.mobileBar a:first-child{flex:1;background:white;border:1px solid #afbead;color:var(--ink)}.mobileBar a:last-child{flex:2}.mobileBar .btn{min-height:46px;padding:10px 12px;font-size:12px;gap:12px}.subHero{padding-top:28px}.subHero h1{font-size:48px}.subHero .heroVisual>img{height:320px}.sideBox{position:static}.scope{grid-template-columns:1fr}.articleHead{padding:38px 0 25px}.articleHead h1{font-size:49px}.articleHead p{font-size:16px}.prose h2{font-size:34px}.guideGrid{grid-template-columns:1fr}.contactCards{grid-template-columns:1fr}.crumbs{font-size:10px}.colourStory img{max-height:380px}}@media(max-width:390px){.wrap{width:calc(100% - 32px)}h1{font-size:50px}.headerPhone{font-size:10px}.headerInner{gap:7px}.menuButton{padding:8px}.serviceGrid{grid-template-columns:1fr}.serviceCard:last-child{grid-column:auto}.serviceCard{min-height:220px}.choices{grid-template-columns:1fr}.estimateCard{padding:20px}.fieldGrid{grid-template-columns:1fr;gap:0}.row .next{font-size:12px;padding:14px}.formHead{gap:12px}.principles{grid-template-columns:1fr}.counter{padding:5px 7px}.subHero h1{font-size:43px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.estimateInfo h1{font-size:56px}@media(max-width:800px){.estimateInfo h1{font-size:42px}}
