@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#103b42;--lime:#dbf48b;--paper:#fff;--muted:#53656a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit}header{max-width:1440px;margin:auto;min-height:110px;padding:24px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:23px;letter-spacing:-1px}.brand small{display:block;font-size:10px;letter-spacing:2px;font-weight:600}.mark{width:43px;height:46px;background:var(--ink);color:white;border-radius:9px;display:grid;place-items:center;position:relative;font-size:33px}.mark span{position:absolute;right:3px;top:-2px;font-size:16px;color:var(--lime)}nav{display:flex;gap:28px;font-size:14px}nav a{text-decoration:none}.header-call{font-weight:700;font-size:16px;text-decoration:none;border-bottom:1px solid}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;min-height:690px}.hero-copy{padding:55px 7% 50px 10%;background:#f1f6f5}.eyebrow{font-weight:700;font-size:12px;letter-spacing:1.9px;margin:0 0 26px}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.1;letter-spacing:-2px;margin:0;font-weight:600}h1{font-size:clamp(44px,4.6vw,69px)}h1 em{font-style:normal;color:#44796b}.intro{max-width:365px;font-size:18px;margin:25px 0}.actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:25px;min-height:55px;padding:15px 23px;border:0;border-radius:5px;text-decoration:none;font-family:inherit;font-size:16px;font-weight:700;cursor:pointer}.lime{background:var(--lime);color:var(--ink)}.text-link{font-size:14px;font-weight:600}.micro{font-size:13px;color:var(--muted);max-width:330px;margin-top:22px}.hero-photo{position:relative;overflow:hidden;background:#cbd9d6}.hero-photo img{width:100%;height:100%;object-fit:cover;position:absolute}.hero-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#102c3599)}.photo-note{position:absolute;z-index:1;bottom:40px;left:40px;color:white}.photo-note span{font-size:11px;letter-spacing:2px}.photo-note strong{display:block;font-size:28px;font-weight:500;line-height:1.25;margin-top:12px}.service-strip{background:var(--ink);color:white;display:flex;justify-content:space-evenly;gap:24px;padding:24px 5%;font-size:12px;letter-spacing:1.7px}.section{padding:85px 6%;max-width:1440px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}h2{font-size:clamp(33px,3.6vw,48px)}.section-heading p,.note{color:var(--muted)}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.services article{padding:30px;border:1px solid #dce5e4;border-radius:8px}.services .featured{grid-row:span 2;background:var(--ink);color:white;display:flex;flex-direction:column;align-items:start}.featured a{margin-top:auto;color:var(--lime);padding-top:30px}.number{font-size:12px;letter-spacing:1px;display:block;margin-bottom:25px}h3{font-size:24px;letter-spacing:-.7px}.services p{font-size:15px;line-height:1.7;margin-bottom:0}.note{font-size:14px;margin-top:20px}.process{background:#f1f6f5}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:45px}.steps span{display:block;border-top:1px solid #bacfca;padding-top:17px;margin-bottom:22px;color:#50796f}.steps p{color:var(--muted)}.review{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.review>div>p:last-child{color:var(--muted);font-size:14px;margin-top:24px}blockquote{margin:0;border-left:1px solid #cfded9;padding-left:50px}blockquote>p{font-size:30px;line-height:1.4;font-family:Manrope,Arial,sans-serif;letter-spacing:-1px}.stars{color:#47796b;letter-spacing:4px;font-size:23px}blockquote footer{font-size:14px;line-height:2}.quote{background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr;gap:70px}.quote>div>p{max-width:390px}.big-phone{display:inline-block;font-size:29px;letter-spacing:-1px;margin:12px 0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{font-size:14px;display:block;margin-bottom:18px}input,textarea,select{font:inherit;font-size:16px;width:100%;display:block;margin-top:8px;padding:12px;border:1px solid #809c9f;border-radius:4px;background:white;color:var(--ink);min-height:48px}textarea{resize:vertical}.quote button{width:100%}.form-help{font-size:12px;line-height:1.6;color:#d1e0e2}.site-footer{padding:35px 6%;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:13px}.site-footer .brand{font-size:18px}.site-footer p{color:var(--muted)}a:hover{text-decoration:underline}.button:hover{background:#c6e774;text-decoration:none}:focus-visible{outline:3px solid #b38522;outline-offset:4px}@media(max-width:950px){nav{display:none}.hero-copy{padding:45px 8%}.actions{gap:15px}.services{grid-template-columns:1fr 1fr}.services .featured{grid-column:span 2;grid-row:auto}.section{padding:60px 6%}.quote,.review{gap:35px}.site-footer{flex-wrap:wrap}}@media(max-width:650px){header{min-height:90px;padding:20px 5%;gap:12px}.brand{font-size:18px}.brand small{font-size:9px;letter-spacing:1px}.mark{width:34px;height:38px;font-size:27px}.header-call{font-size:13px}.hero{grid-template-columns:1fr}.hero-copy{padding:38px 6% 40px}h1{font-size:51px}.hero-photo{min-height:350px}.photo-note{left:25px;bottom:25px}.service-strip{display:grid;grid-template-columns:1fr 1fr;text-align:center;font-size:10px;gap:15px}.section-heading{display:block}.section-heading>p{margin-top:20px}.services,.steps,.quote,.review{grid-template-columns:1fr}.services .featured{grid-column:auto}.services article{padding:25px}.steps{gap:20px}.review{gap:25px}blockquote{padding-left:22px}.form-row{grid-template-columns:1fr}.form-row{gap:0}.site-footer{align-items:start;flex-direction:column;gap:10px}.site-footer p{margin:0}.eyebrow{font-size:11px}h2{letter-spacing:-1px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Detailed quote form */
[hidden]{display:none!important}.quote{grid-template-columns:minmax(230px,.75fr) minmax(0,1.25fr);align-items:start}.quote>div:first-child{position:sticky;top:30px}.quote-lead{font-family:Manrope,Arial,sans-serif;font-size:26px;font-weight:600;margin:0 0 8px}.quote-hint,.field-help{font-size:14px;line-height:1.6;color:#d1e0e2;margin:0 0 20px}.quote fieldset{min-width:0;margin:28px 0;padding:25px 0 4px;border:0;border-top:1px solid #608187}.quote legend{font-size:19px;font-weight:600;padding:0 12px 0 0}.quote select{white-space:normal}.quote label{line-height:1.5}.field-label{font-size:15px;font-weight:600;margin:8px 0 12px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.check-grid label{display:flex;align-items:center;gap:10px;background:#1d4850;border:1px solid #628087;border-radius:5px;padding:12px;margin:0;font-size:14px;min-height:50px;cursor:pointer}.check-grid input{width:19px;height:19px;min-height:0;margin:0;flex-shrink:0;accent-color:#dbf48b}.photo-guidance{background:#1d4850;padding:22px;border-radius:6px;margin:20px 0 25px}.photo-guidance h3{font-size:21px;letter-spacing:-.4px}.photo-guidance p{font-size:15px}.photo-guidance .field-help{font-size:14px;margin-bottom:0}.quote .form-help{font-size:14px}#quote-status{font-size:14px;overflow-wrap:anywhere}.quote input,.quote select,.quote textarea{max-width:100%}@media(max-width:950px){.quote{grid-template-columns:1fr}.quote>div:first-child{position:static}.quote form{width:100%;max-width:760px}}@media(max-width:450px){.check-grid{grid-template-columns:1fr}.quote legend{font-size:18px}}
/* Simple first-step quote form */
.quick-form{max-width:610px;margin-top:28px}.quick-form .form-row{grid-template-columns:1fr 1fr;gap:12px}.quick-form label{font-size:14px;font-weight:600}.quick-form .button{width:100%;margin-top:3px}.quick-help{font-size:13px;line-height:1.5;color:var(--muted);margin:12px 0 0}.quick-form #quote-status{font-size:14px;margin:12px 0}.scope-notes{margin-top:34px;border-top:1px solid #bacfca;border-bottom:1px solid #bacfca;padding:16px 0}.scope-notes summary{font-weight:600;cursor:pointer}.scope-notes div{max-width:850px;color:var(--muted);font-size:14px;line-height:1.7}.scope-notes p{margin:12px 0}.quote-contact{align-self:center}.quote-contact .button{min-width:240px}.quote-contact p{max-width:390px;color:#d1e0e2;font-size:14px}
@media(max-width:650px){.quick-form .form-row{grid-template-columns:1fr}.quick-form{margin-top:20px}}
# Stage two, compact FAQ and quote terms
.stage2-intro{padding-bottom:8px}.back-button{background:none;border:0;color:#dbf48b;font:inherit;font-weight:600;cursor:pointer;padding:8px 0;text-align:left}.quote-lead{font-size:23px}.faq{max-width:1000px}.faq h2{margin-bottom:30px}.faq details{border-top:1px solid #dce5e4;padding:17px 0}.faq details:last-child{border-bottom:1px solid #dce5e4}.faq summary{font-weight:600;cursor:pointer}.faq details p{max-width:780px;color:var(--muted);font-size:14px;line-height:1.7;margin:12px 0 0}.faq .small-print{font-size:13px;color:var(--muted)}.faq .small-print summary{font-size:13px}.quick-form .quick-help{max-width:490px}
.hero{grid-template-columns:1.08fr .92fr}.quick-form{max-width:680px}
/* Mobile landing: put the service and postcode quote form in the first screen. */
@media(max-width:650px){.hero{min-height:0}.hero-copy{padding:26px 6% 24px}.intro{display:none}.hero-photo{display:none}.quick-form{margin-top:14px}}
/* Keep the single-column quote landing full-width on phones. */
@media(max-width:650px){.hero{grid-template-columns:minmax(0,1fr);width:100%}.hero-copy{width:100%;min-width:0;padding:26px 6% 24px}h1{font-size:clamp(40px,11vw,51px);line-height:1.06}.quick-form{width:100%;max-width:none}.quick-form .form-row{grid-template-columns:1fr 1fr}.quick-form input,.quick-form select,.quick-form button{width:100%;min-width:0}}
/* Review draft: make the quote starter the clear focus on every screen. */
.hero{grid-template-columns:minmax(0,1fr);min-height:0;max-width:none;background:#f1f6f5}
.hero-copy{width:min(100%,1040px);margin:0 auto;padding:54px 6% 60px;background:transparent}
.hero-photo{display:none}
.hero h1{max-width:760px;font-size:clamp(42px,5.3vw,66px)}
.hero .intro{margin:16px 0 0}
.quick-form{max-width:800px;margin:24px auto 0;padding:24px;background:white;border:1px solid #dce5e4;border-radius:8px}
.quick-form .form-row{grid-template-columns:1fr 1fr;gap:16px}
.quick-form button{max-width:100%;margin-top:4px}
.quick-help{max-width:620px}
@media(max-width:650px){.hero-copy{padding:28px 6% 36px}.hero h1{font-size:clamp(38px,10vw,48px)}.quick-form{padding:18px;margin-top:18px}.quick-form .form-row{grid-template-columns:1fr}.quick-form button{width:100%}}
/* Customer-first quote landing: clear promise, centered form, low-friction next step. */
.hero-copy{text-align:center;padding-top:48px;padding-bottom:52px}
.hero-copy>.eyebrow{margin-bottom:14px;color:#44796b}
.hero h1{max-width:850px;margin:0 auto;font-size:clamp(42px,5vw,62px);letter-spacing:-2.4px}
.hero .intro{max-width:660px;margin:18px auto 0;font-size:18px}
.quick-form{max-width:860px;margin:28px auto 0;padding:28px;background:#fff;border:1px solid #d6e2df;border-radius:10px;box-shadow:0 12px 32px #103b4210;text-align:left}
.quick-form .form-row{gap:18px}
.quick-form label{font-size:14px;font-weight:600}
.quick-form input,.quick-form select{min-height:54px}
.quick-form .button{min-height:58px;margin-top:5px}
.quick-help{max-width:none;text-align:center;margin:14px auto 0}
@media(max-width:650px){.hero-copy{padding:32px 5% 38px}.hero h1{font-size:clamp(36px,9vw,46px);line-height:1.08;letter-spacing:-1.6px}.hero-copy>.eyebrow{font-size:10px;letter-spacing:1.4px}.hero .intro{display:block;font-size:16px;line-height:1.55;margin-top:14px}.quick-form{padding:18px;margin-top:20px}.quick-form .form-row{grid-template-columns:1fr;gap:0}.quick-help{font-size:13px}}

.customer-estimate{background:#eef6f1;border:1px solid #c3d9cf;border-radius:14px;padding:24px;margin:24px 0;color:#103d43}.customer-estimate h3{margin:0}.estimate-price{font-size:clamp(26px,5vw,42px);font-weight:700;margin:12px 0}.customer-estimate ul{padding-left:20px}.customer-estimate li{margin:7px 0}

.customer-estimate{text-align:center;background:linear-gradient(135deg,#eef7f1,#f8fbef);padding:clamp(22px,5vw,36px);overflow:hidden}.customer-estimate.is-ready{border-color:#9ac9ad}.customer-estimate h3{font-size:20px;font-weight:600}.customer-estimate .estimate-price{font-size:clamp(46px,9vw,72px);line-height:1.08;letter-spacing:-2px;margin:18px 0 6px;color:#103d43}.estimate-caption{font-size:15px;margin:8px 0}.estimate-pending{font-size:clamp(22px,4vw,30px);line-height:1.25;font-weight:700;margin:20px 0 10px}.estimate-short-note{font-size:13px;line-height:1.5;max-width:420px;margin:14px auto 0;color:#496665}.estimate-details{text-align:left;border-top:1px solid #c9dfd0;margin-top:24px;padding-top:0}.estimate-details summary{padding:18px 0 4px;cursor:pointer;font-size:14px;font-weight:600}.estimate-detail-content{padding-top:12px;font-size:14px;line-height:1.6}.estimate-detail-content h4{margin:14px 0 8px}.estimate-detail-content p{margin:10px 0}
