:root{--ink:#09232c;--muted:#63777d;--cyan:#79d9ee;--line:#dce5e7;--bg:#f2f6f6}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink);font-size:15px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #1694bb;outline-offset:4px}header{height:86px;padding:0 max(28px,calc((100vw - 1370px)/2));background:#071f29;color:white;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #28404b}.brand{font-size:18px;font-weight:800;letter-spacing:1px}.brand span{font-size:10px;color:var(--cyan);letter-spacing:1.4px;margin-left:5px}.nav-title{color:#9eb2b9;font-size:13px}.demo-badge{border:1px solid #36505b;border-radius:30px;padding:8px 13px;font-size:9px;letter-spacing:1.5px;color:#a7c2cb}main{max-width:1370px;margin:auto;padding:0 28px}.intro{display:flex;align-items:end;justify-content:space-between;padding:48px 0 35px}.eyebrow,.step-label{font:10px monospace;letter-spacing:2px;color:#277488}.eyebrow{margin:0 0 14px}h1{font-size:clamp(42px,4.4vw,64px);letter-spacing:-3px;font-weight:550;line-height:1.04;margin:0}h1 span{color:#719198}.intro>p{color:#536e77;line-height:1.8;font-size:15px;margin:0 0 2px}.quiet{color:#89999e;font-size:12px}.workspace{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(370px,.9fr);gap:26px;align-items:start}.config{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 9px 30px #092b3304}.steps{display:flex;border-bottom:1px solid var(--line);padding:0 26px;gap:18px;background:#fbfcfc}.steps button{border:0;border-bottom:2px solid transparent;background:none;padding:23px 0;color:#83949b;font-size:12px;flex:1;white-space:nowrap}.steps b{font-family:monospace;font-size:10px;margin-right:5px}.steps button[aria-current]{color:#146e86;border-color:#1684a1}.steps button:disabled{opacity:.65}form{padding:32px 36px 24px}.step-label{font-size:9px;color:#8a9ea4;margin-bottom:17px}h2{font-size:32px;line-height:1.14;letter-spacing:-1.25px;font-weight:550;margin:0 0 15px}.sub{color:var(--muted);line-height:1.6;margin:0 0 28px;font-size:14px}label{display:block;font-size:12px;font-weight:600;margin:16px 0 9px}input,select{border:1px solid #cbd9de;background:#fff;border-radius:8px;color:var(--ink);padding:14px;width:100%;outline:none;min-width:0}input:focus,select:focus{border-color:#1684a1;box-shadow:0 0 0 3px #79d9ee30}.postcode-wrap{display:flex;align-items:center;border:1px solid #cbd9de;border-radius:9px;padding:0 17px;gap:13px}.postcode-wrap:focus-within{border-color:#1684a1;box-shadow:0 0 0 3px #79d9ee30}.postcode-wrap>span:first-child{font-size:27px;color:#387685}.postcode-wrap input{border:0;box-shadow:none;font-size:25px;letter-spacing:3px;height:67px;padding:12px 0;text-transform:uppercase}.postcode-wrap input::placeholder{font-size:19px;letter-spacing:1px;color:#9aaaae}.nl{font-size:10px;color:#89999e}.hint{font-size:11px;color:#849399;line-height:1.6;margin:10px 0 20px}.soft-note{display:flex;gap:15px;background:#eef7f8;padding:20px;border-radius:9px;margin-top:26px}.soft-note>span{font-size:23px;color:#27849a}.soft-note strong{font-size:13px;font-weight:600}.soft-note p{font-size:12px;color:#617c83;line-height:1.6;margin:7px 0 0}.soft-note a{display:inline-block;margin-top:12px;font-size:12px;color:#14778e}.actions{display:flex;align-items:center;gap:15px;justify-content:space-between;padding-top:22px;border-top:1px solid #e9eeee;margin-top:26px}.primary{background:#0b2a35;color:#fff;border:0;border-radius:30px;padding:16px 22px;font-size:12px;display:flex;gap:20px;align-items:center;transition:background .2s}.primary:hover{background:#175266}.primary span{color:var(--cyan);font-size:19px}.micro{font-size:10px;color:#85969c}.back,.text-btn{background:none;border:0;color:#4b747f;font-size:12px;padding:8px 0}.text-btn{margin-top:10px}.error{color:#ae3e32;font-size:12px;line-height:1.6;margin:12px 0 0}.error:empty{display:none}aside{display:grid;gap:18px}.map-card{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}.map-head{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;font-size:11px}.map-head>span{display:flex;align-items:center;gap:7px}i{display:inline-block;width:6px;height:6px;background:#53b4a7;border-radius:50%}.map-head button{font-size:10px;background:none;border:0;padding:7px;color:#778b93}.map-head button[aria-pressed=true]{background:#edf4f5;border-radius:5px;color:#174d5c}.map-view{height:205px;position:relative;background:#dfe9e4}.map-view iframe{border:0;width:100%;height:100%}.map-caption{pointer-events:none;position:absolute;bottom:17px;left:16px;background:#fff;box-shadow:0 4px 18px #102b3322;border-radius:6px;padding:11px 13px;font:9px monospace;letter-spacing:1px}.map-caption span{display:block;font:10px Arial;letter-spacing:0;color:#7c9298;margin-top:5px}.map-foot{margin:9px 16px;font-size:9px;color:#8b9a9f}.price-card{padding:25px;background:radial-gradient(ellipse at 90% 0,#164958,#09252f 65%);border-radius:14px;color:white;box-shadow:0 10px 20px #0d293514}.price-top{display:flex;justify-content:space-between;align-items:center}.price-top .eyebrow{color:#91c8d5;font-size:9px;letter-spacing:1.5px;margin:0}.live{display:flex;align-items:center;gap:6px;font-size:9px;color:#91b2bc}.price-line{display:flex;align-items:baseline;gap:10px;margin-top:20px}.price-line>span{font-size:11px;color:#9db5be}.price-line strong{font-size:65px;font-weight:500;letter-spacing:-4px;line-height:1}.price-desc{font-size:11px;color:#93b1bc;margin:12px 0 20px}.price-track{height:3px;background:#2c4650;border-radius:3px}.price-track span{display:block;min-width:5px;background:var(--cyan);height:100%;width:0;transition:width .3s}.range{display:flex;justify-content:space-between;font-size:9px;color:#7997a2;margin-top:8px}#breakdown{margin:20px 0 18px;border-top:1px solid #294550;padding-top:14px}#breakdown>div{display:flex;justify-content:space-between;font-size:11px;margin:9px 0;color:#b2cbd3}#breakdown b{font-weight:500;color:#e1f4f8}.price-bottom{display:flex;gap:16px;font-size:9px;color:#99c2c9}.price-fine{font-size:9px;line-height:1.5;color:#72939f;margin:15px 0 0}.bottom-note{display:flex;justify-content:space-between;border-top:1px solid #dbe5e7;margin:35px 0 0;padding:24px 0;color:#8ca0a7;font:9px monospace;letter-spacing:1px}footer{display:flex;align-items:center;justify-content:space-between;padding:28px max(28px,calc((100vw - 1314px)/2));background:#071f29;color:#90a7af;font-size:10px;margin-top:12px}.building-options{display:grid;grid-template-columns:1fr 1fr;gap:13px}.building{position:relative;border:1px solid #d8e3e6;border-radius:10px;text-align:left;background:#fafcfc;padding:18px;color:#31515e}.building.selected{border-color:#2b8ba3;background:#eff9fb;box-shadow:0 0 0 1px #2b8ba3}.building-art{display:block;font-size:45px;height:63px;color:#367d90}.building strong{display:block;font-size:14px}.building small{display:block;font-size:10px;margin-top:7px;color:#718d97}.tick{display:none;position:absolute;top:14px;right:15px;background:#15677c;color:white;border-radius:50%;width:19px;height:19px;text-align:center;font-size:12px;line-height:19px}.selected .tick{display:block}.counter{display:flex;align-items:center;gap:12px}.counter button{width:38px;height:40px;border:1px solid #d3e1e5;border-radius:7px;background:#f4f8f9;color:#27778b}.counter input{width:76px;text-align:center;padding:10px;-moz-appearance:textfield}.counter input::-webkit-inner-spin-button{appearance:none}.counter>span{font-size:12px;color:#7a919a}.quick{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.quick button{font-size:10px;background:#f2f7f8;border:1px solid #e1e9eb;padding:8px;border-radius:5px;color:#5d7b85}.services{display:grid;gap:10px}.service{margin:0;border:1px solid #dae5e8;border-radius:9px;padding:10px;display:flex;gap:12px;align-items:center;cursor:pointer}.service:has(input:checked){border-color:#4e9eb1;background:#f0f9fb}.service input{width:16px;min-width:16px;accent-color:#237e95}.service>img,.thumb{width:73px;height:59px;object-fit:cover;border-radius:5px;overflow:hidden;flex-shrink:0}.thumb{position:relative}.thumb img{height:100%;width:100%;object-fit:cover}.video-thumb span{position:absolute;inset:15px 25px;color:white;font-size:26px;text-shadow:0 0 8px black}.inspection-thumb img{transform:scale(2)}.inspection-thumb span{position:absolute;inset:16px 20px;border:2px solid #80eef2;box-shadow:0 0 0 1px #236c7e}.service-copy{flex:1}.service strong{display:flex;justify-content:space-between;gap:8px;font-size:12px}.service em{font-style:normal;color:#367f90;font-size:10px;white-space:nowrap}.service small{display:block;color:#7f949d;font-weight:400;font-size:10px;line-height:1.5;margin-top:5px}.address-postcode{display:flex;align-items:center;gap:10px;background:#f3f7f8;border-radius:7px;padding:13px;color:#396876}.address-postcode button{margin-left:auto;border:0;background:none;color:#418496;font-size:11px}.address-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}.address-grid input{font-size:12px;padding:12px}.success-mark{font-size:28px;color:#146e86;background:#e4f4f5;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;margin-bottom:26px}dialog{border:0;border-radius:16px;padding:36px;max-width:950px;width:90%;color:var(--ink)}dialog::backdrop{background:#041921c9;backdrop-filter:blur(6px)}#close-preview{float:right;border:0;background:#edf4f4;border-radius:50%;width:32px;height:32px;font-size:22px}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}figure{margin:10px 0}figure img,figure video{width:100%;height:250px;object-fit:cover;border-radius:8px;background:#0c2c39}figcaption,dialog>p:last-child{font-size:11px;color:#74909a;line-height:1.6} [hidden]{display:none!important}@media(min-width:1000px){aside{position:sticky;top:20px}}@media(max-width:900px){.workspace{grid-template-columns:1fr 360px;gap:18px}form{padding:26px 22px}.steps{padding:0 18px;gap:8px}.steps button{font-size:10px}h2{font-size:28px}.intro>p{font-size:12px}.service>img,.thumb{width:50px}.service strong{flex-wrap:wrap}.micro{display:none}}@media(max-width:740px){header{height:70px;padding:0 20px}.brand{font-size:15px}.brand span{font-size:8px}.nav-title{display:none}main{padding:0 16px}.intro{display:block;padding:30px 5px 24px}h1{font-size:45px}.intro>p{margin-top:20px;font-size:13px}.intro>p br:first-child{display:none}.workspace{display:flex;flex-direction:column}.config,aside{width:100%}.steps button{font-size:11px;padding:20px 0}form{padding:26px 22px}.map-card{order:2}.price-card{order:1}.price-line strong{font-size:55px}.bottom-note{display:none}footer{margin-top:30px;padding:24px 20px;gap:18px;flex-wrap:wrap}footer>span:last-child{display:none}.address-grid{grid-template-columns:1fr 1fr}.address-grid>div:first-child{grid-column:1/-1}.preview-grid{grid-template-columns:1fr}.service>img,.thumb{width:65px}.price-card{position:relative}.micro{display:block;font-size:9px}.primary{padding:15px 18px}.service strong{font-size:11px}.service small{font-size:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.mobile-price{display:none}@media(max-width:740px){body{padding-bottom:65px}.mobile-price{position:fixed;z-index:20;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;background:#09252ff5;color:#d7ecf2;border-top:1px solid #42616b;padding:14px 22px;backdrop-filter:blur(12px);font-size:12px}.mobile-price small{font-size:9px;color:#8fabb4;margin-left:6px}.mobile-price strong{font-size:25px;color:#7addf3;font-weight:500}}
.building-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.building{padding:16px 12px}.building-art{height:77px;display:flex;align-items:start}.building-art svg{width:77px;height:62px;stroke:#33798d;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.building strong{font-size:12px}.building small{line-height:1.5;font-size:9px}.volume-input{display:flex;align-items:center;gap:16px}.volume-input input{max-width:240px}.volume-input>span{color:#5e8793}.volume-feedback{background:#eff7f8;padding:14px 17px;border-radius:8px;font-size:12px;line-height:1.6;color:#366976}.map-view{height:255px}#postcode-map{height:100%;width:100%;overflow:hidden;position:relative;background:#e5ece9;touch-action:none;cursor:grab}.map-tiles{position:absolute;inset:0;pointer-events:none}.map-tiles img{position:absolute;width:256px;height:256px;max-width:none}.map-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.map-controls{position:absolute;right:12px;top:12px;display:grid;border-radius:6px;overflow:hidden;box-shadow:0 2px 7px #09232c22}.map-controls button{width:30px;height:30px;border:0;border-bottom:1px solid #e1e8e9;background:#fff;font-size:22px;color:#245564}.map-attribution{position:absolute;bottom:0;right:0;font:9px Arial;background:#ffffffdb;padding:3px 5px}.map-caption{max-width:75%;z-index:2}.map-caption span{line-height:1.4}.map-foot{line-height:1.6}.price-line strong.empty-price{font-size:48px;color:#6b929d}.mobile-price.no-price{display:none!important}.primary:disabled{opacity:.65;cursor:wait}.tick{right:8px;top:9px}@media(max-width:420px){.building-options{gap:7px}.building{padding:13px 9px}.building-art svg{width:62px}.building strong{font-size:11px}.building small{font-size:9px}} 
.project-types{border:0;padding:0;margin:24px 0 0;min-width:0}.project-types legend{font-size:12px;font-weight:600;margin-bottom:8px}.project-type{display:flex;gap:12px;align-items:flex-start;border:1px solid #d8e4e7;padding:17px;border-radius:10px;cursor:pointer;margin:10px 0}.project-type:has(input:checked){border-color:#2b8ba3;background:#eff9fb}.project-type input{width:16px;min-width:16px;margin:2px 0 0;accent-color:#237e95}.project-type>span{flex:1}.project-type strong{display:flex;justify-content:space-between;gap:8px;font-size:13px}.project-type em{font-style:normal;color:#267f93;font-weight:600}.project-type small{display:block;margin-top:8px;line-height:1.6;color:#728c95;font-size:11px;font-weight:400}.extras-context{font-size:11px;background:#edf6f7;border-left:2px solid #69b9ca;padding:12px 14px;margin:-10px 0 20px;color:#507b87;line-height:1.5}#cap-note{color:#c6dce2;background:#ffffff09;padding:10px;border-radius:5px}
.custom-project{margin-top:24px;border:1px solid #d5e6ea;border-radius:12px;padding:24px;background:#f2f8f9}.custom-project h3{font-size:24px;letter-spacing:-.7px;font-weight:550;line-height:1.2;margin:0 0 14px}.custom-project>p:not(.eyebrow):not(.hint){font-size:13px;line-height:1.7;color:#64808a}.contact-buttons{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:20px}.contact-buttons>a:last-child{font-size:11px;color:#3d7889}.price-line strong.quote-price{font-size:38px;letter-spacing:-1.4px;color:#d9f2f7}
/* Stable columns: the map and estimate scroll with the form, without sticky jumps. */
aside{position:static;top:auto;min-width:0;align-content:start}.config{min-width:0}.workspace{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr)}
.intro{gap:32px}.intro>div,.intro>p{min-width:0}.intro>p{max-width:410px}
.service-copy{min-width:0}.service strong{flex-wrap:wrap}.price-line{flex-wrap:wrap}.price-line strong{font-variant-numeric:tabular-nums}.price-bottom{flex-wrap:wrap;gap:8px 16px}
#breakdown>div{gap:18px;line-height:1.6}#breakdown b{white-space:nowrap}#price-summary{scroll-margin-top:18px}
.map-label{font-size:10px;color:#6c8791}.map-head>span:first-child{min-width:0}.map-head{gap:12px}#map-title{overflow-wrap:anywhere}
#postcode-map{touch-action:pan-y}.map-controls button{width:40px;height:40px}.map-caption{bottom:24px}.bottom-note{gap:18px}
@media(max-width:980px){
 .workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
 aside{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:18px;width:100%}
 .config{width:100%}.intro{align-items:center}.intro>p{font-size:13px}.bottom-note{flex-wrap:wrap;row-gap:12px}
 .steps{gap:12px}.steps button{font-size:12px}form{padding:30px}
 .building{padding:20px}.building strong{font-size:14px}.building small{font-size:11px}.service>img,.thumb{width:73px}
}
@media(max-width:740px){
 body{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}
 header{padding-inline:18px;gap:12px}.brand{white-space:nowrap}.brand span{display:block;margin:4px 0 0;font-size:8px}.demo-badge{font-size:8px;letter-spacing:1px;padding:7px 9px;white-space:nowrap}
 main{padding-inline:14px}.intro{padding:28px 4px 26px}.intro>p{font-size:14px;line-height:1.65;margin-top:18px}.quiet{font-size:12px}
 h1{font-size:44px;letter-spacing:-2px}h2{font-size:28px;letter-spacing:-1px}.sub{font-size:14px}
 .workspace{gap:18px}aside{grid-template-columns:minmax(0,1fr);gap:18px}.price-card{order:0}.map-card{order:1}
 form{padding:24px 18px 20px}.steps{padding-inline:14px;gap:6px}.steps button{font-size:11px;padding:18px 0;min-height:54px}.steps b{display:block;margin:0 0 5px}
 label{font-size:13px}input,select,.address-grid input{font-size:16px;min-height:48px}.postcode-wrap input{font-size:24px}
 .building-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.building{padding:16px}.building strong{font-size:13px}.building small{font-size:11px}.building-art{height:68px}.building-art svg{width:70px;height:58px}
 .building[data-building=other]{grid-column:1/-1;display:grid;grid-template-columns:45px 1fr;column-gap:12px;align-items:center;padding:14px 16px}
 .building[data-building=other] .building-art{grid-row:1/3;height:42px}.building[data-building=other] svg{width:40px;height:40px}.building[data-building=other] small{margin-top:4px}
 .counter{gap:10px}.counter button{width:44px;height:48px}.counter input{width:74px}.counter>span{font-size:12px}
 .quick{gap:7px}.quick button{min-height:40px;padding:9px 10px;font-size:11px}
 .hint{font-size:12px;line-height:1.6}.soft-note{padding:17px;gap:12px}.soft-note p{font-size:13px}.soft-note strong{font-size:14px}
 .service{padding:12px 10px;gap:10px;min-height:92px}.service input{width:18px;height:18px;min-height:18px;min-width:18px;margin:0}.service>img,.thumb{width:56px;height:60px}
 .service strong{font-size:13px;gap:5px;line-height:1.3}.service em{font-size:12px}.service small{font-size:11px;line-height:1.5}.video-thumb span{inset:16px 18px}.inspection-thumb span{inset:16px 13px}
 .extras-context{font-size:12px}.actions{gap:12px;flex-wrap:wrap;margin-top:22px}.primary{min-height:48px;padding:14px 18px;font-size:13px;justify-content:center}.back,.text-btn{min-height:44px;font-size:12px}
 #next{margin-left:auto}.micro{flex-basis:100%;font-size:11px}.micro[hidden]{display:none}
 .address-grid{gap:12px}.address-grid>div{min-width:0}.address-postcode{font-size:13px}.address-postcode button{min-height:44px;padding:6px}
 .price-card{padding:23px}.price-line strong{font-size:54px;letter-spacing:-2.5px}.price-line strong.quote-price{font-size:34px}.price-top{gap:8px;flex-wrap:wrap}.price-desc{font-size:12px}#breakdown>div{font-size:12px}.price-fine{font-size:11px}.price-bottom{font-size:11px}
 .map-view{height:240px}.map-controls button{width:44px;height:44px}.map-foot{font-size:10px}.map-head{padding:14px}.map-caption{max-width:calc(100% - 82px);left:12px;font-size:10px;letter-spacing:.5px}
 .mobile-price{padding:14px 20px calc(14px + env(safe-area-inset-bottom,0px));min-height:68px;gap:15px}.mobile-price small{display:block;margin:4px 0 0;font-size:10px}.mobile-price strong{font-size:26px;white-space:nowrap}
 body:has(input:focus,select:focus) .mobile-price{display:none}
 .custom-project{padding:20px}.custom-project h3{font-size:24px}.contact-buttons{align-items:stretch}.contact-buttons>a{min-height:44px;display:flex;align-items:center}.contact-buttons>a:last-child{font-size:12px}
 dialog{padding:24px 18px;width:calc(100% - 24px);max-height:calc(100dvh - 32px);overflow:auto}#close-preview{width:44px;height:44px}figure img,figure video{height:auto;max-height:260px;aspect-ratio:16/10}footer{padding:24px 18px;gap:22px}
}
@media(max-width:360px){h1{font-size:40px}.intro>p br{display:none}.steps{padding-inline:10px}.steps button{font-size:10px}form{padding-inline:15px}.service>img,.thumb{width:45px}.service{gap:8px}.price-line strong{font-size:46px}.building{padding:14px}.counter{gap:8px}}

#postcode-note:empty{display:none}#next{margin-left:auto}.counter button:disabled{opacity:.4}

/* Static postcode map and navigation in the SkyScan button style. */
#postcode-map{cursor:default;touch-action:auto}
#next{min-height:56px;padding:16px 24px;background:#0b2a35;color:#fff;font-size:14px;font-weight:500;border-radius:32px;justify-content:space-between;gap:24px;box-shadow:none}
#next:hover{background:#175266}#next span{color:var(--cyan);font-size:23px;line-height:1}
main{padding-bottom:32px}
@media(max-width:740px){#next{width:100%;font-size:14px;gap:16px}.actions{flex-wrap:wrap}.actions #back{order:2}#next{order:1}}

footer .brand{color:#fff}footer .brand span{color:var(--cyan)}
