:root{--ink:#123034;--deep:#063f45;--green:#0b6d61;--mint:#37d3a5;--lime:#c7f36b;--cream:#f7f8ef;--white:#fff;--muted:#617377;--line:#dce7e4;--shadow:0 20px 60px rgba(6,63,69,.13);--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.6;background:#fff}h1,h2,h3,strong{font-family:'Manrope',sans-serif}h1,h2,h3,p{margin-top:0}h2{font-size:clamp(2rem,4vw,3.35rem);line-height:1.08;letter-spacing:-.04em;margin-bottom:18px}a{color:inherit}.container{width:min(1160px,calc(100% - 40px));margin:auto}.service-banner{background:#052f34;color:#fff;text-align:center;padding:10px 16px;font-size:13px}.service-banner strong{color:var(--lime)}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between;gap:22px}.logo img{width:145px;height:68px;object-fit:contain}.nav{display:flex;align-items:center;gap:24px}.nav a{text-decoration:none;font-weight:700;font-size:14px}.menu-toggle{display:none}.button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:999px;padding:15px 24px;background:var(--lime);color:var(--deep);font-weight:800;text-decoration:none;box-shadow:0 8px 24px rgba(199,243,107,.28);cursor:pointer}.button.small{padding:10px 17px}.button.secondary{background:var(--deep);color:#fff}.button.full{width:100%;font-size:16px}.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#f8fbf0 0%,#e8fff7 100%);padding:75px 0 115px}.hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:12px;color:var(--green);margin-bottom:18px}.eyebrow.light{color:var(--lime)}h1{font-size:clamp(3.7rem,7vw,6.4rem);line-height:.9;letter-spacing:-.07em;margin-bottom:28px;color:var(--deep)}h1 span{color:var(--green)}.lead{font-size:20px;color:#436064}.hero-actions{display:flex;gap:22px;align-items:center;margin:30px 0 22px}.text-link{font-weight:800}.ticks{list-style:none;padding:0;display:flex;gap:10px;flex-wrap:wrap}.ticks li{background:#fff;padding:8px 12px;border-radius:999px;font-size:13px;font-weight:700;box-shadow:0 7px 22px rgba(6,63,69,.08)}.ticks li:before{content:'✓';color:var(--green);margin-right:6px}.hero-slider{position:relative;min-height:480px;border-radius:32px;overflow:hidden;box-shadow:var(--shadow);background:var(--deep)}.slides,.slide{position:absolute;inset:0}.slide{opacity:0;transition:opacity .65s ease}.slide.active{opacity:1}.slide img{width:100%;height:100%;object-fit:cover}.slide:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(3,36,40,.88))}.slide figcaption{position:absolute;z-index:3;left:28px;right:28px;bottom:26px;color:#fff;display:flex;flex-direction:column}.slide figcaption strong{font-size:22px}.slide figcaption span{color:#d8ece8}.slider-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:var(--deep);font-size:28px;cursor:pointer}.slider-arrow.prev{left:16px}.slider-arrow.next{right:16px}.slider-dots{position:absolute;z-index:6;bottom:12px;right:20px;display:flex;gap:7px}.slider-dots button{width:9px;height:9px;border:0;border-radius:50%;background:rgba(255,255,255,.55)}.slider-dots button.active{background:var(--lime);width:24px;border-radius:999px}.illustration{position:absolute;inset:0;background:linear-gradient(135deg,#0b6d61,#37d3a5)}.worker-body{position:absolute;width:115px;height:170px;background:#f3b342;border-radius:55px 55px 25px 25px;left:130px;top:145px}.worker-head{position:absolute;width:72px;height:72px;background:#efc6a5;border-radius:50%;left:152px;top:87px}.bin{position:absolute;width:150px;height:195px;background:#153d40;border-radius:18px 18px 32px 32px;right:85px;bottom:72px}.bin:before{content:'';position:absolute;width:170px;height:30px;background:#0a292c;left:-10px;top:-20px;border-radius:10px}.hose{position:absolute;width:260px;height:160px;border:9px solid #d6f7ff;border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;left:210px;top:165px;transform:rotate(17deg)}.spray{position:absolute;width:150px;height:80px;right:130px;top:145px;background:radial-gradient(circle at 30% 50%,#fff 2px,transparent 3px);background-size:22px 22px;transform:rotate(-20deg)}.wave{position:absolute;left:-2%;right:-2%;bottom:-68px;height:125px;background:#fff;border-radius:50% 50% 0 0/45% 45% 0 0}.trust-strip{position:relative;z-index:3;margin-top:-28px}.trust-grid{background:var(--deep);color:#fff;border-radius:22px;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(4,1fr);padding:22px}.trust-grid div{padding:3px 20px;display:grid;grid-template-columns:auto 1fr;gap:2px 10px}.trust-grid span{grid-row:1/3;width:30px;height:30px;border-radius:50%;background:var(--lime);color:var(--deep);display:grid;place-items:center;font-weight:800}.trust-grid small{opacity:.67}.section{padding:105px 0}.section-head{text-align:center;max-width:680px;margin:0 auto 55px}.section-head p:last-child{color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.steps article{position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:35px;background:#fff}.steps article>span{position:absolute;top:20px;right:22px;color:#c8d8d4;font-size:24px;font-weight:800}.icon{font-size:32px}.steps p{color:var(--muted)}.pricing-section{background:var(--deep);color:#fff}.pricing-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}.pricing-grid>div:first-child>p{color:#cae0dc}.benefits{list-style:none;padding:0}.benefits li{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12)}.benefits li:before{content:'✓';color:var(--lime);margin-right:10px}.price-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.price-card{position:relative;background:#fff;color:var(--ink);padding:28px;border-radius:22px;display:flex;flex-direction:column;justify-content:center}.price-card.featured{grid-row:span 2;background:var(--lime)}.price-card strong{font-size:52px;line-height:1}.badge{position:absolute;top:18px;right:18px;padding:5px 10px;border-radius:99px;background:var(--deep);color:#fff;font-size:10px}.area-grid,.booking-grid,.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.areas-card{background:var(--cream);border-radius:var(--radius);padding:24px}.areas-card img{width:100%;border-radius:18px}.area-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.area-list span{padding:7px 11px;background:#fff;border-radius:999px;font-size:13px}.reviews-section{background:#f3fbf8}.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.reviews blockquote{margin:0;background:#fff;border-radius:22px;padding:30px;box-shadow:0 15px 40px rgba(6,63,69,.07)}.stars{color:#f3b629}.reviews footer{font-weight:800}.reviews footer span{display:block;font-size:12px;color:var(--muted);font-weight:400}.faq-section{background:var(--cream)}details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:0 20px;margin-bottom:12px}summary{cursor:pointer;padding:19px 0;font-weight:800}.accordion p{color:var(--muted)}.booking-section{background:linear-gradient(135deg,#075059,#087466);color:#fff}.booking-form{background:#fff;color:var(--ink);border-radius:26px;padding:34px;box-shadow:var(--shadow)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:block;font-size:13px;font-weight:700;margin-bottom:15px}input,select,textarea{width:100%;margin-top:7px;border:1px solid #cddbd7;border-radius:12px;padding:13px 14px;font:inherit}.check{display:flex;gap:10px}.check input{width:auto;margin-top:5px}.inline-link{border:0;background:none;padding:0;color:var(--green);text-decoration:underline;font-weight:800;cursor:pointer}.phone-card{display:inline-flex;flex-direction:column;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:17px 22px;border-radius:17px;text-decoration:none}.phone-card strong{font-size:24px}.terms-modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:20px}.terms-modal.open{display:flex}.terms-backdrop{position:absolute;inset:0;background:rgba(3,14,23,.76)}.terms-dialog{position:relative;z-index:1;width:min(650px,100%);background:#fff;border-radius:28px;padding:36px}.terms-close{position:absolute;right:18px;top:15px;border:0;background:none;font-size:32px}.terms-dialog p{color:var(--muted)}footer{background:#052e33;color:#fff;padding:65px 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:45px}.footer-grid a{display:block;color:#d4e4e2;text-decoration:none;margin:7px 0}.code-logo{display:flex;gap:12px;align-items:center;font-size:28px;font-weight:700}.code-logo .drop{width:50px;height:50px;border-radius:50% 50% 50% 15%;transform:rotate(45deg);background:var(--green);display:grid;place-items:center;color:#fff}.code-logo .drop::first-letter{transform:rotate(-45deg)}.code-logo small{display:block;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#9db8b5}.mobile-actions{display:none}
@media(max-width:900px){.nav{display:none;position:absolute;top:82px;left:20px;right:20px;background:#fff;padding:18px;border-radius:18px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav.open{display:flex}.menu-toggle{display:block;border:0;background:var(--deep);color:#fff;border-radius:99px;padding:10px 16px}.hero-grid,.pricing-grid,.area-grid,.booking-grid,.faq-grid{grid-template-columns:1fr}.steps,.reviews{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.hero-slider{min-height:420px}.price-cards{max-width:620px}}
@media(max-width:600px){body{padding-bottom:68px}.container{width:min(100% - 28px,1160px)}.service-banner{font-size:11px}.nav-wrap{height:70px}.logo img{width:125px;height:58px}.nav{top:70px}.hero{padding:45px 0 90px}h1{font-size:3.65rem}.hero-actions{flex-direction:column;align-items:stretch}.text-link{text-align:center}.hero-slider{min-height:340px}.worker-body{left:70px;top:125px}.worker-head{left:90px;top:70px}.bin{right:45px;bottom:68px;transform:scale(.8)}.hose{left:115px;top:155px}.trust-grid{grid-template-columns:1fr}.section{padding:72px 0}.price-cards{grid-template-columns:1fr}.price-card.featured{grid-row:auto}.field-row{grid-template-columns:1fr}.booking-form{padding:22px}.footer-grid{grid-template-columns:1fr}.mobile-actions{display:grid;grid-template-columns:1fr 1.25fr;position:fixed;left:0;right:0;bottom:0;z-index:120;background:#fff;padding:9px 12px;gap:9px;border-top:1px solid var(--line)}.mobile-actions a{display:grid;place-items:center;min-height:48px;border-radius:999px;font-weight:800;border:1px solid var(--line)}.mobile-actions a:last-child{background:var(--lime);color:var(--deep)}}

/* Postcode checker and footer logo */
.postcode-checker{margin-top:28px;max-width:560px}
.postcode-checker>label{display:block;margin:0 0 8px;font-size:13px;font-weight:800;color:var(--deep)}
.postcode-row{display:flex;gap:10px;align-items:stretch}
.postcode-row input{flex:1;margin:0;min-width:0;background:#fff}
.postcode-row .button{white-space:nowrap}
.postcode-result{min-height:28px;margin:12px 0 0!important;font-size:14px!important;font-weight:700}
.postcode-result.success{color:#087466}
.postcode-result.warning{color:#9a5c00}
.postcode-result.error{color:#b42318}
.footer-logo-link{display:inline-flex;align-items:center;margin-bottom:16px}
.footer-logo{width:190px;height:130px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.22))}
@media(max-width:600px){.postcode-row{flex-direction:column}.postcode-row .button{width:100%}.footer-logo{width:170px;height:116px}}

/* Multi-step booking flow */
.booking-wizard{overflow:hidden}.wizard-progress{margin-bottom:28px}.wizard-track{height:7px;border-radius:999px;background:#e7efec;overflow:hidden}.wizard-track span{display:block;width:20%;height:100%;background:linear-gradient(90deg,var(--lime),#47d7a8);transition:width .3s ease}.wizard-meta{display:flex;justify-content:space-between;gap:20px;margin-top:9px;font-size:12px;color:var(--muted)}.wizard-meta strong{color:var(--deep)}.wizard-step{display:none}.wizard-step.active{display:block;animation:wizardIn .28s ease}.wizard-step h3{font-size:25px;margin-bottom:5px}.wizard-step>p{color:var(--muted);margin-bottom:22px}.wizard-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:24px}.wizard-back{border:0;background:none;color:var(--muted);font-weight:800;cursor:pointer;padding:12px 0;visibility:hidden}.service-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.service-choice{position:relative;margin:0}.service-choice input{position:absolute;opacity:0;pointer-events:none}.service-choice span{display:grid;gap:3px;padding:17px;border:1px solid var(--line);border-radius:15px;cursor:pointer;transition:.2s}.service-choice small{color:var(--muted);font-weight:500}.service-choice input:checked+span{border-color:var(--green);background:#eefaf5;box-shadow:0 0 0 3px rgba(11,109,97,.1)}.booking-summary{background:#f2f8f5;border:1px solid #deebe6;border-radius:15px;padding:17px;margin:18px 0;font-size:13px;color:var(--muted)}.booking-summary strong{display:block;color:var(--deep);margin-bottom:6px}.form-note{text-align:center;color:var(--muted);font-size:11px;margin:12px 0 0}.honeypot{position:absolute!important;left:-9999px!important;opacity:0!important}@keyframes wizardIn{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}@media(max-width:600px){.service-choices{grid-template-columns:1fr}.wizard-meta{align-items:flex-start;flex-direction:column;gap:2px}.wizard-controls .button{padding:13px 17px}.wizard-step h3{font-size:22px}}

.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;z-index:150;max-width:950px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 20px;box-shadow:0 20px 60px rgba(6,63,69,.22);display:flex;align-items:center;justify-content:space-between;gap:20px}.cookie-banner[hidden]{display:none}.cookie-banner p{margin:4px 0 0;color:var(--muted);font-size:13px}.cookie-banner>div:last-child{display:flex;gap:10px;flex:0 0 auto}@media(max-width:650px){.cookie-banner{left:10px;right:10px;bottom:78px;display:block}.cookie-banner>div:last-child{margin-top:14px}.cookie-banner .button{flex:1;padding:12px 14px}}

.trusted-choice{margin-top:14px;color:var(--deep);font-size:15px}.why-clean-section{background:#f7fbf8}.why-clean-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.why-clean-grid>div:first-child>p:not(.eyebrow){color:var(--muted);font-size:17px}.trusted-statement{padding:18px 20px;background:#fff;border-left:4px solid var(--green);border-radius:0 16px 16px 0;box-shadow:0 12px 35px rgba(6,63,69,.07)}.hygiene-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.hygiene-cards article{background:#fff;border:1px solid var(--line);border-radius:22px;padding:25px;box-shadow:0 14px 35px rgba(6,63,69,.06)}.hygiene-cards article span{font-size:30px}.hygiene-cards h3{margin:12px 0 8px;font-size:18px}.hygiene-cards p{margin:0;color:var(--muted);font-size:14px}@media(max-width:900px){.why-clean-grid{grid-template-columns:1fr;gap:38px}}@media(max-width:600px){.hygiene-cards{grid-template-columns:1fr}.why-clean-grid>div:first-child>p:not(.eyebrow){font-size:16px}}

.footer-copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:42px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#9db8b5;font-size:12px}.submit-booking{position:relative;gap:10px}.submit-booking:disabled{opacity:.8;cursor:not-allowed;transform:none}.submit-spinner{display:none;width:18px;height:18px;border:2px solid rgba(6,63,69,.25);border-top-color:#063f45;border-radius:50%;animation:jfSpin .75s linear infinite}.submit-booking.is-loading .submit-spinner{display:inline-block}@keyframes jfSpin{to{transform:rotate(360deg)}}.system-page{min-height:100vh;background:linear-gradient(135deg,#f8fbf0,#e8fff7);display:grid;place-items:center;padding:24px}.system-card{width:min(650px,100%);background:#fff;border-radius:28px;padding:42px;box-shadow:var(--shadow);text-align:center}.system-card img{width:190px;height:120px;object-fit:contain;margin:0 auto 18px}.system-code{font-family:Manrope,sans-serif;font-size:74px;line-height:1;color:var(--green);font-weight:800}.system-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:26px}
@media(max-width:600px){.footer-copyright{flex-direction:column;gap:6px}.system-card{padding:30px 22px}.system-code{font-size:58px}}
