@font-face{font-family:Bitter;src:url("assets/fonts/bitter-variable.ttf") format("truetype");font-weight:100 900;font-style:normal;font-display:swap;}@font-face{font-family:Inter;src:url("assets/fonts/inter.ttf") format("truetype");font-weight:100 900;font-style:normal;font-display:swap;}

:root{--green:#073b2f;--aqua:#69e4dc;--salt:#f9f9f9;--gold:#6c5843;--lightgold:#846f58;--ink:#183e34;--muted:#566b63;--line:#d9e2dd;--serif:'Bitter',Georgia,serif;--sans:'Inter',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--salt);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}p{margin:0 0 20px}h1,h2,h3{font-weight:500;margin:0;line-height:1.08}h1,h2{font-family:var(--serif);letter-spacing:-2.8px}h1{font-size:clamp(64px,6.7vw,102px)}h2{font-size:clamp(45px,4.6vw,68px)}em{font-weight:400;color:var(--gold)}h3{font-size:22px;line-height:1.25;letter-spacing:-.5px}small{font-size:12px}button{border:0}svg{display:block}.wrap{width:min(1200px,calc(100% - 100px));margin-inline:auto}.section{padding-block:105px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.2px;margin-bottom:24px}.preview-banner{text-align:center;background:var(--green);color:#fff;font-size:10px;letter-spacing:1.8px;padding:7px 15px}header{width:min(1340px,calc(100% - 80px));margin:auto;display:flex;justify-content:space-between;align-items:center;padding:18px 0;gap:25px}.logo{width:270px;height:auto}nav{display:flex;align-items:center;gap:32px;font-size:13px}nav>a:not(.button):hover,.text-link:hover{text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--aqua);color:var(--green);padding:16px 23px;font-size:13px;font-weight:700;letter-spacing:.1px;transition:background .2s,transform .2s;border-radius:3px}.button:hover{background:#88ede6;transform:translateY(-2px)}.button span{font-size:20px}.button.small{padding:12px 18px;gap:25px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-top:52px;padding-bottom:70px;align-items:center}.hero .eyebrow{display:flex;align-items:center;gap:9px}.dot{width:6px;height:6px;background:var(--gold);border-radius:50%}.intro{max-width:440px;font-size:16px;color:var(--muted);line-height:1.8;margin-top:27px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.text-link{background:none;padding:0;color:var(--green);font-size:13px;font-weight:600}.price-line{display:flex;align-items:center;gap:20px;margin-top:38px;padding-top:23px;border-top:1px solid var(--line);max-width:430px}.price-line strong{font-family:var(--serif);font-size:43px;font-weight:400;line-height:1}.price-line span{font-size:12px;line-height:1.7}.price-line small{font-size:10px;color:var(--muted)}.hero-art{position:relative;background:#dfefe8;min-height:570px;display:flex;flex-direction:column;justify-content:space-between;border-radius:190px 190px 4px 4px;overflow:hidden}.art-top{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.2px;padding:44px 35px 0;color:var(--muted)}.unit-art{width:110%;margin-left:-5%;margin-top:18px}.art-note{display:flex;align-items:center;gap:15px;margin:0 30px 35px;padding-top:20px;border-top:1px solid #b8d1c3;font-size:12px}.art-note strong{font-weight:500;color:var(--muted);font-size:11px}.round-icon{font-size:38px;line-height:1}.illustration-label{position:absolute;right:15px;bottom:8px;font-size:8px;color:#53685d}.trust-strip{display:flex;justify-content:center;gap:70px;border-block:1px solid var(--line);padding:22px 30px;font-size:11px;font-weight:500}.trust-strip span:before{content:'✓';color:var(--gold);margin-right:10px}.section-head{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:130px;margin-bottom:50px}.section-head>p{font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:5px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}.service-grid article{padding:30px 24px;border-right:1px solid var(--line)}.service-grid article:first-child{padding-left:0}.service-grid article:last-child{border-right:0}.number{color:var(--lightgold);font-size:11px;display:block;margin-bottom:45px}.service-grid h3{font-size:20px;margin-bottom:16px}.service-grid p{font-size:13px;color:var(--muted);margin:0}.scope-note{font-size:11px;color:var(--muted);margin:20px 0 0}.pricing{background:#edf1eb}.price-grid{display:grid;grid-template-columns:.85fr 1.4fr;gap:50px}.main-price{background:var(--green);color:#fff;padding:38px 40px;border-radius:4px}.main-price .eyebrow{color:var(--aqua)}.big-price{font-size:91px;font-family:var(--serif);line-height:1.05;letter-spacing:-4px}.big-price>span{font-size:49px;letter-spacing:-1px}.main-price>p:not(.eyebrow){font-size:13px;color:#d0e1d7;margin:12px 0 25px}.divider{height:1px;background:#366054}.main-price ul{padding:0;list-style:none;font-size:13px;line-height:2.5;margin:23px 0}.main-price li:before{content:'✓';color:var(--aqua);margin-right:12px}.main-price .button{width:100%;margin-top:10px}.main-price>small{display:block;color:#c2d6ca;margin-top:15px;font-size:10px}.extras{display:flex;flex-direction:column}.extras article{display:flex;align-items:start;justify-content:space-between;gap:25px;padding:25px 0;border-bottom:1px solid #cbd8ce;flex:1}.extras article:first-child{padding-top:8px}.extras .eyebrow{color:var(--lightgold);font-size:9px;margin-bottom:10px}.extras h3{font-family:var(--serif);font-size:32px;margin-bottom:12px}.extras p:not(.eyebrow){font-size:12px;max-width:310px;color:var(--muted);margin:0}.extra-price{font-family:var(--serif);font-size:38px;white-space:nowrap;padding-top:19px}.extra-price small{display:block;font-family:var(--sans);font-size:10px;text-align:right;color:var(--muted)}.price-foot{font-size:11px;color:var(--muted);margin:25px 0 0}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:65px;margin-top:50px}.process-grid article{border-top:1px solid var(--line);padding-top:20px}.process-grid span{font-size:9px;letter-spacing:2px;color:var(--lightgold)}.process-grid h3{font-family:var(--serif);font-size:31px;margin:28px 0 16px}.process-grid p{font-size:13px;color:var(--muted)}.area{background:var(--green);color:#f9f9f9;padding:80px 0}.area em{color:var(--aqua)}.area .eyebrow{color:#b4cbbd}.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.area h2{margin-bottom:30px}.area p:not(.eyebrow){font-size:13px;max-width:430px;color:#c1d5c9}.area .area-hours{border-top:1px solid #3d6457;margin-top:28px;padding-top:20px}.area-hours strong{font-weight:500;color:#fff}.area-art{height:400px;position:relative;display:grid;place-items:center;overflow:hidden}.orbit{position:absolute;border:1px solid #427364;border-radius:50%;width:340px;height:340px}.orbit-two{width:245px;height:245px;border-style:dashed;transform:rotate(20deg)}.area-art:before{content:'';position:absolute;width:100%;height:1px;background:#275d4d;transform:rotate(-25deg)}.map-centre{position:relative;display:flex;flex-direction:column;align-items:center;background:var(--green);padding:25px}.map-centre>span{background:var(--aqua);color:var(--green);width:44px;height:44px;border-radius:50%;text-align:center;font-size:27px;margin-bottom:15px}.map-centre strong{font-size:11px;letter-spacing:1.5px}.map-centre small{font-size:10px;color:#bdd2c6}.map-tag{position:absolute;font-size:8px;letter-spacing:2px;background:var(--green);padding:6px}.tag-one{bottom:92px;left:20px}.tag-two{top:52px;right:20px}.tag-three{bottom:30px;right:22px;color:var(--aqua)}.map-note{position:absolute;bottom:0;font-size:8px;color:#b4cbbd}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:100px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{font-size:14px;font-weight:500;cursor:pointer}.faq details p{font-size:13px;color:var(--muted);margin:18px 0 5px}.booking{background:#e7efe9}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:120px}.booking h2{margin-bottom:28px}.booking-grid>div>p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:390px}.booking-notice{border-left:2px solid var(--gold);padding-left:20px;margin:30px 0}.booking-notice strong{font-size:13px}.booking-notice p{font-size:12px;color:var(--muted);margin:8px 0 0}.calculator{padding:33px;background:#fff;border-radius:5px;box-shadow:0 10px 40px #073b2f08}.calculator h3{font-family:var(--serif);font-size:35px}.calc-caption{font-size:11px!important;margin:8px 0 23px!important}.quantity-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 0;border-top:1px solid var(--line)}.quantity-row label{font-size:13px}.quantity-row label small{display:block;color:var(--muted);font-size:10px}.stepper{display:flex;border:1px solid var(--line);border-radius:3px}.stepper button{width:30px;background:var(--salt);color:var(--green);font-size:20px;padding:3px}.stepper input{border:0;width:36px;text-align:center;color:var(--green);font-size:13px;appearance:textfield;-moz-appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}.estimate{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:25px;margin-top:8px}.estimate>div{font-size:13px;line-height:1.5}.estimate small{display:block;color:var(--muted);font-size:10px}.estimate strong{font-family:var(--serif);font-weight:400;font-size:45px;line-height:1}.tax-line{font-size:11px;text-align:right;color:var(--muted);margin:8px 0 20px}.calc-note{font-size:10px;color:var(--muted);margin-bottom:22px}.calculator .button{width:100%}.copy-status{font-size:11px;margin:12px 0 0;min-height:1em}footer{padding-block:40px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:25px}footer img{height:auto}footer p{font-size:11px;color:var(--muted);margin:5px 0}footer>div:nth-child(2){display:flex;gap:25px;align-items:center;font-size:12px}.footer-bottom{width:100%;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;color:var(--muted);font-size:10px}.footer-privacy{background:transparent;color:inherit;padding:0;font-size:12px}dialog{border:1px solid var(--line);border-radius:5px;padding:36px;max-width:560px;color:var(--green);background:var(--salt)}dialog h2{font-size:40px;margin-bottom:20px}dialog p{font-size:13px}dialog::backdrop{background:#073b2f99}.skip{position:absolute;left:10px;top:-100px;background:#fff;padding:15px;z-index:10}.skip:focus{top:10px}
@media(min-width:1500px){.hero{padding-top:75px;padding-bottom:90px}}@media(max-width:1000px){.wrap{width:calc(100% - 60px)}header{width:calc(100% - 50px)}nav{gap:20px}nav>a:not(.button){display:none}.hero{gap:30px}h1{font-size:74px}.hero-art{min-height:480px}.art-top{padding:36px 20px 0;font-size:7px}.art-top span:last-child{display:none}.section-head{gap:50px}.trust-strip{gap:25px}.section{padding-block:75px}.service-grid{grid-template-columns:1fr 1fr}.service-grid article:nth-child(2){border-right:0}.service-grid article:nth-child(3){padding-left:0;border-top:1px solid var(--line)}.service-grid article:nth-child(4){border-top:1px solid var(--line)}.number{margin-bottom:25px}.price-grid{gap:30px;grid-template-columns:.95fr 1.2fr}.main-price{padding:30px}.extra-price{font-size:31px}.extras h3{font-size:28px}.area-grid,.booking-grid,.faq{gap:50px}.area-art{height:350px}.process-grid{gap:30px}}
@media(max-width:650px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}header{width:calc(100% - 30px);padding:16px 0;gap:8px}.logo{width:190px}.button.small{font-size:10px;padding:10px 12px;gap:10px}.preview-banner{font-size:8px;letter-spacing:1px}.hero{grid-template-columns:1fr;padding-top:35px;gap:35px;padding-bottom:35px}h1{font-size:74px;letter-spacing:-3px}.hero-copy .eyebrow{font-size:9px;margin-bottom:22px}.intro{font-size:14px;margin-top:22px}.hero-actions{gap:23px}.hero-art{min-height:0;border-radius:150px 150px 4px 4px}.unit-art{width:100%;margin:0}.art-top{padding:35px 30px 0}.art-note{margin-bottom:27px}.price-line{margin-top:28px}.trust-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:9px;padding:22px 20px}.section{padding-block:60px}.section-head{grid-template-columns:1fr;gap:25px;margin-bottom:35px}h2{font-size:53px;letter-spacing:-2px}.section-head>p{font-size:13px}.service-grid article{padding:23px 14px}.service-grid h3{font-size:18px}.service-grid p{font-size:12px}.number{margin-bottom:25px}.price-grid{grid-template-columns:1fr;gap:30px}.main-price{padding:30px}.extras article{padding-block:23px}.extra-price{font-size:34px}.extras h3{font-size:30px}.extras p:not(.eyebrow){font-size:12px}.process-grid{grid-template-columns:1fr;gap:10px;margin-top:35px}.process-grid article{padding-top:15px}.process-grid h3{margin:16px 0 12px;font-size:32px}.process-grid p{margin-bottom:22px}.area-grid{grid-template-columns:1fr;gap:15px}.area{padding:60px 0}.area-art{height:340px}.orbit{width:300px;height:300px}.orbit-two{width:210px;height:210px}.faq{grid-template-columns:1fr;gap:25px}.booking-grid{grid-template-columns:1fr;gap:35px}.calculator{padding:25px}.booking h2{margin-bottom:23px}.footer-bottom{flex-direction:column;gap:10px}footer>div:nth-child(2){flex-wrap:wrap;gap:23px}footer{padding-block:30px}footer img{width:230px}dialog{width:calc(100% - 32px);padding:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Service-led refinements informed by the supplied Cleanermate reference. */
.hero h1{font-size:clamp(62px,5.7vw,86px);line-height:1.03}.service-options{padding-top:75px}.options-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.options-grid article{border:1px solid var(--line);padding:30px;background:#fff;border-radius:4px;display:flex;flex-direction:column;align-items:flex-start}.service-icon{display:grid;place-items:center;background:#e2f4ed;color:var(--green);font-size:32px;width:58px;height:58px;border-radius:50%;margin-bottom:25px}.options-grid h3{font-family:var(--serif);font-size:33px;margin-bottom:17px}.options-grid p{font-size:13px;color:var(--muted)}.option-price{font-family:var(--serif);font-size:38px;margin-top:auto;margin-bottom:20px}.option-price small{font-family:var(--sans);font-size:10px;color:var(--muted)}.option-label{font-size:10px;letter-spacing:2px;color:var(--gold);margin-top:auto;margin-bottom:30px;padding-top:15px}.why-band{background:#e7efe9;padding:65px 0}.why-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:center}.why-grid h2{font-size:54px}.why-points article{border-bottom:1px solid #cad8ce;padding:16px 0}.why-points article:last-child{border:0}.why-points h3{font-size:16px;margin-bottom:9px}.why-points p{font-size:12px;color:var(--muted);margin:0}@media(max-width:1000px){.why-grid{gap:45px}.why-grid h2{font-size:45px}.options-grid{gap:15px}.options-grid article{padding:23px}.options-grid h3{font-size:28px}.option-price{font-size:31px}}@media(max-width:650px){.hero h1{font-size:64px}.service-options{padding-top:50px}.options-grid{grid-template-columns:1fr}.options-grid article{padding:27px}.options-grid h3{font-size:34px}.option-price{font-size:40px}.why-grid{grid-template-columns:1fr;gap:25px}.why-band{padding:55px 0}.why-grid h2{font-size:45px}}

/* Selected typography: Bitter headings, Inter body; confirmed 17 October 2026. */
h1,h2{font-weight:600;letter-spacing:-1.3px;line-height:1.13}h3{font-family:var(--serif);font-weight:600}em{font-style:normal;font-weight:600}.hero h1{font-size:clamp(47px,4.9vw,72px);line-height:1.12}.section h2,.area h2{font-size:clamp(36px,3.8vw,54px)}.why-grid h2{font-size:43px}.options-grid h3{font-size:28px;line-height:1.25}.process-grid h3{font-size:27px;line-height:1.3}.extras h3{font-size:27px}.calculator h3{font-size:29px}.price-line strong{font-size:39px}.big-price{font-size:77px;letter-spacing:-2px}.big-price>span{font-size:43px}.estimate strong{font-size:38px}.logo{width:270px}.price-line{gap:17px}header{padding-block:10px}
@media(max-width:1000px){.hero h1{font-size:58px}.options-grid h3{font-size:24px}.why-grid h2{font-size:37px}}
@media(max-width:650px){.hero h1{font-size:48px;letter-spacing:-1.1px}.section h2,.area h2{font-size:39px}.why-grid h2{font-size:35px}.options-grid h3{font-size:28px}.process-grid h3{font-size:27px}.logo{width:190px}.price-line strong{font-size:35px}.hero-actions .button{gap:18px;padding:16px 18px}.price-line span{font-size:11px}.calculator h3{font-size:27px}.estimate strong{font-size:35px}}

.booking-time-preview{border-top:1px solid var(--line);margin:24px 0;padding-top:24px}.booking-time-preview label{display:block;font-size:13px;margin:14px 0 6px}.booking-time-preview input,.booking-time-preview select{box-sizing:border-box;width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--green);font:inherit;font-size:14px}.booking-time-preview button:disabled{opacity:.65;cursor:not-allowed}

.contact-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:24px 0}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.contact-section h2{margin-bottom:24px}.contact-section p{font-size:14px;color:var(--muted)}.contact-hours{margin-top:25px}.contact-card{background:#e7efe9;padding:32px;border-radius:6px;min-width:0}.contact-detail{display:block;padding:16px 0;border-bottom:1px solid #cbd8ce;text-decoration:none}.contact-detail span{display:block;font-size:10px;letter-spacing:1.5px;margin-bottom:8px}.contact-detail strong{font-family:var(--serif);font-size:clamp(17px,2vw,27px);overflow-wrap:anywhere}.contact-detail:hover strong{text-decoration:underline}.contact-card .calc-note{font-size:11px}.contact-section:target{scroll-margin-top:30px}@media(max-width:650px){.contact-section{grid-template-columns:1fr;gap:28px}.contact-card{padding:24px}.contact-detail strong{font-size:23px}.contact-actions .button{font-size:12px}}

/* Booking request preview. */
[hidden]{display:none!important}.request-section{background:var(--salt)}.request-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}.request-intro{position:sticky;top:30px}.request-intro h2{margin-bottom:25px}.request-intro>p:not(.eyebrow){color:var(--muted);font-size:14px}.request-summary{border-block:1px solid var(--line);padding:22px 0;margin:28px 0}.request-summary p{font-size:13px;margin:6px 0}.request-summary p:last-child{font-family:var(--serif);font-size:23px;font-weight:600;margin-top:18px}.request-card{background:white;border:1px solid var(--line);border-radius:6px;padding:34px;min-width:0}.request-card fieldset{border:0;border-top:1px solid var(--line);padding:24px 0;margin:25px 0 0;min-width:0}.request-card legend{font-size:11px;letter-spacing:1.2px;font-weight:700;padding:0 12px 0 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid .full{grid-column:1/-1}.form-grid label{font-size:12px;font-weight:600;min-width:0}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;min-width:0;margin-top:7px;border:1px solid #aebfb6;border-radius:3px;background:var(--salt);padding:12px;color:var(--green);font:400 14px var(--sans)}.form-grid textarea{resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:2px solid var(--green);outline-offset:2px}.optional{font-weight:400;color:var(--muted)}.field-hint{font-size:11px;color:var(--muted);line-height:1.7;margin:14px 0}.field-hint a{text-decoration:underline}.field-hint .text-link{font-size:11px;text-decoration:underline}.check-label{display:flex;gap:12px;align-items:flex-start;font-size:12px;line-height:1.7}.check-label input{margin-top:5px;width:18px;height:18px;flex-shrink:0;accent-color:var(--green)}.form-preview-note{padding:14px 17px;border-left:3px solid var(--gold);background:#f3f0e9;font-size:12px}.form-preview-note strong,.form-preview-note span{display:block}.request-card>.button{width:100%;margin-top:12px}.request-card dl{margin:25px 0}.request-card dt{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-top:17px}.request-card dd{margin:4px 0;font-size:14px;overflow-wrap:anywhere;white-space:pre-wrap}.review-total{border-top:1px solid var(--line);padding-top:20px;font-weight:600;font-size:16px}@media(max-width:1000px){.request-layout{gap:40px}.request-card{padding:26px}}@media(max-width:650px){.request-layout{grid-template-columns:1fr;gap:25px}.request-intro{position:static}.form-grid{grid-template-columns:1fr}.request-card{padding:23px}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px}}

/* Clarity and booking refinements after reference audit. */
.hero-availability{font-size:11px;color:var(--muted);margin:22px 0 0}.hero .price-line{margin-top:20px}.clean-signs{display:grid;grid-template-columns:1fr 1.2fr;gap:100px;align-items:start;border-top:1px solid var(--line)}.clean-signs>div>p{font-size:14px;color:var(--muted)}.sign-list{padding:0;list-style:none;margin:25px 0}.sign-list li{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.sign-list li:before{content:'↗';color:var(--gold);margin-right:12px}.visit-section{background:#e7efe9}.visit-steps{list-style:none;padding:0;margin:0 0 35px;display:grid;grid-template-columns:repeat(5,1fr);gap:26px}.visit-steps li{border-top:1px solid #bdcfc4;padding-top:18px;min-width:0}.visit-steps span{font-size:11px;color:var(--gold)}.visit-steps h3{font-size:19px;margin:22px 0 14px;line-height:1.35}.visit-steps p{font-size:12px;color:var(--muted)}.request-explainer{padding-left:18px;font-size:13px;line-height:1.8;margin:15px 0}.request-explainer li{padding:4px 0}.mobile-booking{display:none}@media(max-width:1000px){.clean-signs{gap:45px}.visit-steps{grid-template-columns:repeat(3,1fr);gap:23px}}@media(max-width:650px){.clean-signs{grid-template-columns:1fr;gap:25px}.visit-steps{grid-template-columns:1fr;gap:5px}.visit-steps li{display:grid;grid-template-columns:28px 1fr;column-gap:12px;padding:18px 0}.visit-steps h3{margin:0 0 10px;font-size:23px}.visit-steps span{padding-top:4px}.visit-steps p{grid-column:2;margin:0}.mobile-booking{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;gap:15px;justify-content:space-between;background:var(--green);padding:10px 18px calc(10px + env(safe-area-inset-bottom));z-index:30;box-shadow:0 -2px 14px #073b2f22}.mobile-booking .button{padding:12px 18px;font-size:12px}.mobile-call{color:white;font-size:13px}body{padding-bottom:85px}body:has(.request-card input:focus) .mobile-booking,body:has(.request-card textarea:focus) .mobile-booking,body:has(.request-card select:focus) .mobile-booking{display:none}.hero-availability{font-size:10px}}

.booking-progress{display:flex;gap:25px;list-style:none;padding:0 0 20px;margin:0 0 40px;border-bottom:1px solid #c3d5c9;font-size:11px;color:var(--green)}.booking-progress li{flex:1}.booking-progress a:hover{text-decoration:underline}.quick-units{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0 10px}.quick-units button{border:1px solid var(--line);border-radius:4px;background:var(--salt);color:var(--green);padding:12px 6px;font-size:12px;line-height:1.5}.quick-units small{display:block;font-size:10px;font-weight:400}.quick-units button[aria-pressed=true]{border-color:var(--green);background:#e1f5ec;box-shadow:inset 0 0 0 1px var(--green)}.review-price-lines{border-top:1px solid var(--line);padding-top:20px}.review-price-lines p{display:flex;justify-content:space-between;gap:18px;margin:8px 0;font-size:12px}.review-price-lines strong{white-space:nowrap;font-weight:500}.review-price-lines small{font-size:10px;color:var(--muted)}@media(max-width:650px){.booking-progress{gap:12px;font-size:10px;line-height:1.6;margin-bottom:30px}.quick-units button{font-size:11px;padding:11px 4px}.quick-units small{font-size:9px}}

.service-detail-grid{grid-template-columns:repeat(2,1fr);gap:24px}.service-detail-grid article{padding:34px}.service-detail-grid .service-icon{margin-bottom:20px}.service-detail-grid .eyebrow{font-size:9px;color:var(--gold);margin-bottom:14px}.service-detail-grid .option-price{margin-top:5px;margin-bottom:8px}.service-detail-grid .service-price-note{font-size:11px;margin-bottom:20px;min-height:36px}.service-detail-grid .text-link{margin-top:20px}.service-explainer{width:100%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:auto}.service-explainer summary{cursor:pointer;font-size:13px;font-weight:600;line-height:1.65;padding:17px 0}.service-explainer>div{padding:2px 0 5px}.service-explainer p{font-size:12px;line-height:1.85;margin:0 0 15px}.service-explainer a{text-decoration:underline;text-underline-offset:3px}.service-explainer .product-source{font-size:10px}@media(max-width:650px){.service-detail-grid{grid-template-columns:1fr;gap:20px}.service-detail-grid article{padding:26px}.service-detail-grid .service-price-note{min-height:0}.service-explainer summary{font-size:13px}}

/* Full illustration labels, display modes and mobile refinement. */
.hero-art{border-radius:90px 90px 4px 4px}.art-top{position:relative;z-index:1;padding:32px 35px 0;flex-wrap:wrap;gap:8px;font-size:9px;line-height:1.6}.art-top span{max-width:100%}.unit-art{width:100%;margin:6px 0 0}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:24px;background:transparent;color:var(--ink);white-space:nowrap;font-size:11px}.theme-symbol{font-size:21px;line-height:1}header{gap:22px}nav{gap:24px}.theme-label{font-weight:600}select,textarea{font:inherit}button:disabled{cursor:default}.request-card input,.request-card select,.request-card textarea{min-height:44px}.stepper button{min-width:40px;min-height:44px}.stepper input{min-width:36px}.hero-art .art-top{color:#425f51}.art-note{color:#183e34}.art-note strong{color:#496658}.quick-units button{min-height:48px}
:root[data-theme=dark]{color-scheme:dark;--salt:#10231d;--ink:#edf6f1;--muted:#bacfc2;--line:#3d594c;--gold:#d6bea0;--lightgold:#c9b393}
.logo,footer img{background:transparent;border-radius:0;padding:0}
[data-theme=dark] .preview-banner{background:#081812;color:#d4e7dc}
[data-theme=dark] .options-grid article,[data-theme=dark] .calculator,[data-theme=dark] .request-card{background:#192f26;border-color:var(--line)}
[data-theme=dark] .pricing,[data-theme=dark] .why-band,[data-theme=dark] .booking,[data-theme=dark] .visit-section,[data-theme=dark] .contact-card{background:#17372a}
[data-theme=dark] .service-icon{background:#2a5140;color:var(--aqua)}
[data-theme=dark] .text-link,[data-theme=dark] .booking-progress,[data-theme=dark] .stepper input,[data-theme=dark] .stepper button,[data-theme=dark] .quick-units button,[data-theme=dark] .form-grid input,[data-theme=dark] .form-grid select,[data-theme=dark] .form-grid textarea{color:var(--ink)}
[data-theme=dark] .stepper input,[data-theme=dark] .form-grid input,[data-theme=dark] .form-grid select,[data-theme=dark] .form-grid textarea,[data-theme=dark] .quick-units button{background:#10271d}
[data-theme=dark] .quick-units button[aria-pressed=true]{background:#275a43;border-color:var(--aqua);box-shadow:inset 0 0 0 1px var(--aqua)}
[data-theme=dark] .request-card dt{color:#bacfc2}[data-theme=dark] .form-preview-note{background:#243e2d}
[data-theme=dark] .extras article,[data-theme=dark] .contact-detail,[data-theme=dark] .visit-steps li,[data-theme=dark] .booking-progress{border-color:var(--line)}
[data-theme=dark] .button{color:#073b2f}[data-theme=dark] .area{background:#0b281c}[data-theme=dark] .area .map-centre,[data-theme=dark] .area .map-tag{background:#0b281c}
[data-theme=dark] dialog{background:#192f26;color:var(--ink)}
[data-theme=dark] .form-grid input:focus,[data-theme=dark] .form-grid select:focus,[data-theme=dark] .form-grid textarea:focus{outline-color:var(--aqua)}
[data-theme=dark] .privacy-link{color:var(--ink)}
@media(min-width:1001px) and (max-width:1200px){.logo{width:230px}nav{gap:18px}.theme-label{display:none}header{gap:16px}}
@media(max-width:1000px){.theme-label{display:none}.art-top{padding:30px 30px 0}.hero-art{border-radius:70px 70px 4px 4px}.hero-art .art-top span:last-child{display:none}}
@media(max-width:650px){header{display:grid;grid-template-columns:1fr auto;gap:12px;width:calc(100% - 32px);padding:16px 0}.logo{width:185px;max-width:100%}header>nav{grid-column:1/-1;grid-row:2;display:block;width:100%}header>nav .button{display:flex;width:100%;justify-content:center;min-height:44px;font-size:12px}.theme-toggle{grid-column:2;grid-row:1;width:44px;padding:8px}.hero{padding-top:25px}.hero-art{border-radius:55px 55px 4px 4px}.hero-art .art-top{padding:27px 32px 0;min-height:43px;font-size:9px;letter-spacing:1px}.unit-art{margin-top:0}.quantity-row{gap:10px}.quantity-row label{min-width:0;flex:1}.stepper{flex-shrink:0}.quantity-row label small{font-size:10px;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:18px}.preview-banner{line-height:1.6}.service-detail-grid article,.calculator,.request-card{min-width:0}.mobile-booking a{min-height:44px;display:flex;align-items:center}.request-summary p:last-child{overflow-wrap:anywhere}.hero .price-line{flex-wrap:wrap}.art-note{margin-inline:25px}.form-grid textarea{min-height:95px}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.hero h1{font-size:42px}.section h2,.area h2{font-size:34px}.calculator,.request-card{padding:19px}.stepper button{min-width:35px}.stepper input{width:32px;min-width:32px}.estimate strong{font-size:30px}.art-top{padding-inline:28px}}

.receipt-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.receipt-header .logo{max-width:70%}

/* Interactive, illustrative before/after aircon. Animation uses transforms/opacity. */
.air-demo{background:#e6e5d4;transition:background-color .8s ease}.air-demo.is-clean{background:#dcefe7}.air-demo .art-top{align-items:center;gap:12px;padding-top:30px}.air-demo .art-top span{letter-spacing:1px}.air-demo .demo-status{font-size:7px;background:#d4d1b6;border-radius:20px;padding:5px 8px;white-space:nowrap}.air-demo.is-clean .demo-status{background:#b6e9dc;color:#073b2f}.air-demo .unit-art{margin-top:5px}.air-demo .unit-art #case stop{transition:stop-color .8s}.air-demo:not(.is-clean) .unit-art #case stop:first-child{stop-color:#d8d1b9}.air-demo:not(.is-clean) .unit-art #case stop:last-child{stop-color:#b9b397}.air-demo .unit-art>circle:first-of-type{fill:#cac8ac;transition:fill .8s}.air-demo.is-clean .unit-art>circle:first-of-type{fill:#a9e6d6}.unit-grime{opacity:1;transition:opacity .65s}.is-clean .unit-grime{opacity:0}.air-demo .air-flow{opacity:.2;stroke:#8b825e;transition:opacity .65s,stroke .65s}.air-demo .air-flow path{stroke-dasharray:18 9;animation:air-wave 2.4s linear infinite}.air-demo.is-clean .air-flow{opacity:.85;stroke:#249b88}.air-demo.is-clean .air-flow path{stroke-dasharray:40 12;animation-duration:1.8s}.dirty-particles{color:#817b4e;opacity:.8;transition:opacity .45s}.is-clean .dirty-particles{opacity:0}.drift-particle{animation:particle-drift var(--duration,5s) linear infinite;animation-delay:var(--delay,0s);transform-box:fill-box;transform-origin:center}.fresh-particles{opacity:0;transition:opacity .7s}.is-clean .fresh-particles{opacity:.9}.fresh-drift{animation:fresh-drift 3.8s linear infinite;animation-delay:var(--delay,0s)}.demo-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 30px 10px;border-top:1px solid #b6cbbd;padding-top:18px}.air-demo .art-note{border:0;padding-top:0;margin-bottom:20px}.demo-clean-switch{display:flex;gap:12px;align-items:center;min-height:48px;background:#073b2f;color:#fff;border-radius:28px;padding:10px 17px;font-size:12px;font-weight:600}.switch-track{width:34px;height:20px;border-radius:20px;background:#647b62;padding:3px;display:block;flex-shrink:0;transition:background .5s}.switch-track>span{display:block;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .4s}.is-clean .switch-track{background:#69e4dc}.is-clean .switch-track>span{transform:translateX(14px)}.demo-pause{font-size:10px;min-height:44px;color:#365344;background:transparent;text-decoration:underline;text-underline-offset:3px;padding:5px}.demo-caption{font-size:8px!important;line-height:1.6;color:#536b5d;margin:2px 30px 16px!important;max-width:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.is-paused .air-flow path,.is-paused .drift-particle,.is-paused .fresh-drift{animation-play-state:paused}.air-demo .round-icon{color:#6a724b;transition:color .7s}.air-demo.is-clean .round-icon{color:#169a87}
@keyframes air-wave{from{stroke-dashoffset:52}to{stroke-dashoffset:0}}
@keyframes particle-drift{0%{transform:translate(0,0) rotate(0);opacity:0}15%{opacity:.8}80%{opacity:.65}100%{transform:translate(var(--drift,20px),145px) rotate(95deg);opacity:0}}
@keyframes fresh-drift{0%{transform:translate(0,0);opacity:0}20%{opacity:.9}100%{transform:translate(var(--drift,0px),132px);opacity:0}}
@media(max-width:650px){.demo-controls{margin-inline:23px;gap:10px;flex-wrap:wrap}.demo-clean-switch{font-size:11px;padding:10px 14px}.demo-pause{font-size:10px}.air-demo .art-top{padding-inline:30px}.demo-caption{margin-inline:23px!important}}
@media(prefers-reduced-motion:reduce){.air-demo,.air-demo *{animation:none!important;transition:none!important}.drift-particle,.fresh-drift{opacity:.65}.demo-pause{display:none}}

/* Real work photographs: retain original files and cleaning results. */
.work-gallery{scroll-margin-top:35px}.work-case+.work-case{margin-top:55px}.work-case-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:20px}.work-case-heading h3{font-family:var(--serif);font-size:27px}.work-case-heading p{font-size:13px;color:var(--muted);margin:0}.work-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.work-photo{margin:0;min-width:0}.work-photo a{position:relative;display:block;border-radius:8px;overflow:hidden;background:var(--line)}.work-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}.work-photo-label{position:absolute;top:16px;left:16px;background:#073b2f;color:#fff;font-size:12px;font-weight:700;letter-spacing:.4px;padding:7px 15px;border-radius:20px}.work-photo:nth-child(2) .work-photo-label{background:#69e4dc;color:#073b2f}.work-photo figcaption{font-size:12px;line-height:1.6;color:var(--muted);padding-top:12px}.work-gallery-footer{display:flex;justify-content:space-between;align-items:center;gap:35px;border-top:1px solid var(--line);margin-top:32px;padding-top:25px}.work-gallery-footer p{max-width:640px;font-size:12px;color:var(--muted);margin:0}.work-gallery-footer .button{flex-shrink:0}@media(max-width:650px){.work-pair{grid-template-columns:1fr;gap:22px}.work-case-heading{display:block}.work-case-heading p{margin-top:9px}.work-case-heading h3{font-size:23px}.work-case+.work-case{margin-top:40px}.work-photo-label{top:12px;left:12px}.work-gallery-footer{align-items:flex-start;flex-direction:column;gap:20px}.work-gallery-footer .button{width:100%}}
/* Align the original photographs within matched comparison frames. */
.work-photo a{aspect-ratio:4/3;isolation:isolate}.work-photo img{height:100%;aspect-ratio:auto;object-fit:cover;transform-origin:center}.work-photo-label{z-index:1}.work-case:first-of-type .work-photo a{aspect-ratio:2/1}.work-case:first-of-type .work-photo:first-child img{object-position:50% 67%;transform:rotate(-1deg) scale(1.06)}.work-case:first-of-type .work-photo:nth-child(2) img{object-position:50% 10%;transform:rotate(-3.4deg) scale(1.09)}.work-case:nth-of-type(2) .work-photo:first-child img{object-position:50% 48%;transform:rotate(3deg) scale(1.09)}.work-case:nth-of-type(2) .work-photo:nth-child(2) img{object-position:50% 48%;transform:scale(1.15)}
.work-case:first-of-type .work-photo:first-child img{filter:url(#photo-shadow-lift)}

.weekend-prices{margin-top:32px;border:1px solid var(--line);border-left:4px solid var(--aqua);padding:25px;border-radius:4px}.weekend-prices .eyebrow{margin-bottom:12px}.weekend-prices h3{font-family:var(--serif);margin-bottom:16px}.weekend-prices p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.8}.weekend-prices p:last-child{margin-bottom:0}.weekend-estimate-note{padding:13px 15px;border-left:3px solid var(--aqua);background:var(--salt);color:var(--ink);font-size:12px;line-height:1.7}

.travel-status{padding:12px 14px;border-left:3px solid var(--aqua);font-size:12px;line-height:1.7;background:var(--salt);color:var(--ink)}.travel-data-credit{grid-column:1/-1;font-size:10px;color:var(--muted);line-height:1.7;padding-bottom:20px}.travel-data-credit a{text-decoration:underline}
