@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');
#offer-dialog{position:fixed;width:min(480px,calc(100% - 24px));max-width:480px;max-height:calc(100dvh - 24px);overflow:auto;padding:42px 30px 30px;border:1px solid var(--line);border-radius:16px;background:var(--ivory);color:var(--ink);text-align:center;box-shadow:0 24px 80px #103b3a35}#offer-dialog::backdrop{background:#103b3a99}#offer-dialog .offer-symbol{display:block;font-size:58px;line-height:1;color:var(--teal);margin-bottom:22px}#offer-dialog .eyebrow{margin-bottom:14px}#offer-dialog h2{font-size:clamp(29px,6vw,40px)}#offer-dialog h2 em{color:#538171}#offer-dialog p{font-size:14px;margin:20px 0 26px}#offer-dialog .button{width:100%;white-space:normal}#offer-dialog .text-link{display:block;margin:18px auto 0}#offer-dialog .dialog-close{position:absolute;top:12px;right:14px;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--teal);font-size:26px}
:root{--teal:#103b3a;--ink:#172c2b;--muted:#677472;--fresh:#12a89d;--ivory:#f7f8f4;--line:#dce3dc;--mint:#e8eee7;--gold:#f1b967}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:#fff;font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.65}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif}h2{font-size:clamp(30px,3.35vw,45px);line-height:1.23;letter-spacing:-1.8px;font-weight:600}h3{font-size:21px;letter-spacing:-.7px;line-height:1.4}p{color:var(--muted)}em{font-family:Georgia,serif;font-weight:400}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #c77c24;outline-offset:4px}.container{max-width:1240px;width:calc(100% - 100px);margin-inline:auto}.topbar{background:var(--teal);color:#edf2eb;font-size:11px;padding:9px 50px;letter-spacing:.4px;display:flex;justify-content:space-between}.topbar span{opacity:.8}header{position:sticky;top:0;background:#fffefaee;backdrop-filter:blur(15px);z-index:20;border-bottom:1px solid #edf0e9}.nav{height:90px;display:flex;align-items:center;gap:35px}.brand{font-family:Manrope,sans-serif;font-size:33px;font-weight:800;letter-spacing:-1.8px;display:inline-flex;align-items:center;line-height:1}.brand-symbol{font-size:46px;color:var(--teal);margin-right:8px;font-weight:400}.brand-dot{color:var(--fresh)}nav{display:flex;gap:26px;flex:1;justify-content:center;font-size:12px;font-weight:500}nav a:hover{color:#087c73}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--teal);color:white;border:1px solid var(--teal);padding:15px 23px;border-radius:6px;font-weight:500;font-size:13px;transition:background .2s,transform .2s;white-space:nowrap}.button:hover{background:#215956;transform:translateY(-2px)}.button span{font-size:19px}.button.small{padding:11px 18px;gap:22px;font-size:12px}.text-link{display:inline-flex;align-items:center;gap:22px;font-size:13px;font-weight:600;background:none;border:0;padding:0;color:var(--teal)}.text-link:hover{text-decoration:underline}.text-link span{font-size:20px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:75px;padding-top:46px;padding-bottom:50px;align-items:center}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700;color:#557268;display:block;margin-bottom:20px}.hero .eyebrow{display:flex;align-items:center;gap:9px}.tiny-star{font-size:24px;color:var(--teal)}h1{font-size:clamp(42px,4.8vw,67px);letter-spacing:-3.5px;line-height:1.12;font-weight:600;margin:23px 0}h1 em{color:#538171}.hero-copy>p{max-width:440px;font-size:15px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:30px}.hero-note{display:flex;align-items:center;gap:13px;margin-top:38px;font-size:12px}.hero-note small{display:block;color:var(--muted);font-size:10px}.line-icon{border:1px solid #dce4d9;border-radius:50%;font-size:24px;width:42px;height:42px;display:grid;place-items:center}.hero-visual{position:relative}.hero-visual>img{height:510px;border-radius:140px 12px 12px 12px;object-position:center}.image-star{position:absolute;top:25px;right:-19px;color:#e5eadb;font-size:100px;line-height:1}.image-note{position:absolute;bottom:45px;left:-28px;background:#fffefa;padding:18px 28px;border-radius:9px;box-shadow:0 8px 35px #103b3a12;display:flex;align-items:center;gap:16px;font-size:14px}.image-note>span{font-size:33px;color:#62846e}.image-note small{font-size:11px;color:var(--muted);display:block}.image-caption{position:absolute;bottom:14px;right:15px;font-size:9px;color:#fff;text-shadow:0 1px 4px #000}.quote-wrap{background:var(--ivory);border:1px solid #e7ece3;border-radius:12px;padding:30px 36px}.quote-heading{display:flex;align-items:center;justify-content:space-between;gap:25px}.quote-heading .eyebrow{margin-bottom:8px}.quote-heading h2{font-size:27px;letter-spacing:-1px}.quote-heading>p{font-size:12px}.service-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);gap:22px;margin-top:24px}.service-tabs button{border:0;border-bottom:2px solid transparent;color:var(--muted);background:transparent;padding:13px;font-size:22px;display:flex;justify-content:center;align-items:center;gap:10px}.service-tabs button span{font-size:13px}.service-tabs .active{color:var(--teal);border-color:var(--teal)}.progress{display:flex;gap:30px;align-items:center;padding:22px 0;font-size:11px;color:#7b827b}.progress b{font-weight:500;margin-left:6px}.progress .current{color:var(--teal);font-weight:700}.demo-tag{margin-left:auto;font-size:10px}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.form-grid label{font-size:11px;font-weight:500}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;border:1px solid #d9e1d8;background:white;border-radius:5px;padding:12px;color:var(--ink);font-size:12px;margin-top:7px;min-height:44px}.form-grid label span{color:var(--muted)}#contact-fields{grid-template-columns:1fr 1fr}.full-width{grid-column:1/-1}.consent{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.consent input{width:16px;min-height:16px;margin:0;accent-color:var(--teal)}.inline-link{border:0;background:none;text-decoration:underline;padding:0;color:var(--teal)}.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px}.form-bottom>p{font-size:11px}.form-bottom>div{display:flex;gap:20px;align-items:center}.form-error{color:#a62c25;font-size:12px}.field-error{color:#a62c25;display:block;margin-top:4px;font-size:11px}.invalid{border-color:#a62c25!important}.success{background:#e0ecdf;border-radius:6px;padding:20px}.care-strip{display:flex;justify-content:space-between;gap:20px;padding:26px 0 35px;border-bottom:1px solid var(--line);font-size:11px}.care-strip>span:first-child{font-weight:600}.section{padding-top:83px;padding-bottom:83px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:36px}.section-heading p{font-size:13px}.section-heading .eyebrow{margin-bottom:15px}.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{border:1px solid var(--line);border-radius:9px;overflow:hidden}.card-image{position:relative;overflow:hidden}.card-image img{height:230px;transition:transform .5s}.service-card:hover img{transform:scale(1.04)}.card-number{position:absolute;bottom:15px;left:18px;background:#fffef5e8;border-radius:4px;padding:5px 10px;font-size:9px;letter-spacing:1px}.card-body{padding:25px}.card-body h3{font-size:20px}.card-body p{font-size:12px;margin-top:12px}.card-body ul,.plans ul{list-style:none;padding:0;font-size:11px;color:#52625b;margin:22px 0}.card-body li,.plans li{margin-top:9px}.card-body li:before,.plans li:before{content:'✓';color:#597b60;margin-right:10px}.card-body .text-link{font-size:11px;justify-content:space-between;width:100%;border-top:1px solid var(--line);padding-top:18px}.why-section{background:var(--ivory);padding:74px 0}.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.why-grid h2 em{color:#65886f}.why-grid>div>p{font-size:13px;max-width:420px;margin:22px 0}.benefits article{display:flex;gap:24px;border-bottom:1px solid var(--line);padding:23px 0}.benefits article:last-child{border:0}.benefits article>span{font-size:11px;color:#61856a;background:#e7ede0;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;flex-shrink:0}.benefits h3{font-size:17px}.benefits p{font-size:12px;margin-top:6px}.split-section{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center}.lifestyle-image{height:450px;border-radius:10px 95px 10px 10px}.split-section p{font-size:13px;margin-top:20px}.simple-steps{list-style:none;padding:0;counter-reset:steps;font-size:12px;margin:24px 0}.simple-steps li{counter-increment:steps;margin:12px 0;display:flex;align-items:center;gap:12px}.simple-steps li:before{content:'0' counter(steps);border:1px solid var(--line);border-radius:50%;width:29px;height:29px;display:grid;place-items:center;font-size:10px}.business-section{background:var(--teal);color:#fff;padding:75px 0}.business-section .eyebrow{color:#b4cabb}.business-section p{color:#b8c9c3}.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:25px}.industry-grid span{border:1px solid #ffffff27;padding:22px;border-radius:5px;font-size:13px}.business-caption{font-size:11px;margin-bottom:25px}.button.light{background:#f2f4ea;color:var(--teal);border-color:#f2f4ea}.button.light:hover{background:white}.plan-intro{display:flex;gap:45px;font-size:12px;padding:0 0 35px;color:#56715f}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.plans article{border:1px solid var(--line);border-radius:8px;padding:35px 27px;position:relative}.plans .eyebrow{font-size:9px;letter-spacing:1px}.plans h3{font-size:25px;margin-bottom:14px}.plans p{font-size:12px}.plans ul{font-size:12px;margin:26px 0}.plans .button{width:100%;font-size:11px;gap:20px}.outline{background:white;color:var(--teal)}.outline:hover{color:white}.plans .featured{background:#f1f5ec;border-color:#6e8c6d}.plan-label{position:absolute;top:-13px;left:25px;background:#dce7d4;border:1px solid #bdd0b4;border-radius:4px;font-size:8px;padding:4px 9px;letter-spacing:.6px}.section-note{font-size:10px;color:var(--muted);margin-top:18px;display:block}.process-section{background:var(--ivory);padding:65px 0}.centred{text-align:center}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:38px}.process article{position:relative}.process article>span{display:grid;place-items:center;border:1px solid #cedecc;width:42px;height:42px;border-radius:50%;font-size:11px;background:#edf1e6;margin-bottom:18px}.process article:not(:last-child):after{content:'';position:absolute;top:21px;left:60px;right:0;border-top:1px dashed #c7d5c5}.process h3{font-size:14px}.process p{font-size:11px;margin-top:8px}.filter-buttons{display:flex;gap:5px;background:var(--ivory);border:1px solid var(--line);border-radius:5px;padding:4px}.filter-buttons button{border:0;background:transparent;color:#5b6a60;border-radius:3px;padding:8px 18px;font-size:11px}.filter-buttons .active{background:white;color:var(--teal);box-shadow:0 1px 4px #0000000a}.gallery-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:65px;align-items:center}.comparison{position:relative;overflow:hidden;border-radius:9px;height:340px}.comparison img{height:100%}.sample-before{position:absolute;inset:0;background:#42544565;width:var(--split);backdrop-filter:grayscale(.8)}.gallery-badge{position:absolute;top:15px;background:#fffef3e6;padding:4px 10px;border-radius:4px;font-size:9px}.before{left:15px}.after{right:15px}.slider-line{position:absolute;left:var(--split);height:100%;top:0;width:2px;background:white;pointer-events:none}.slider-line span{position:absolute;top:50%;left:1px;transform:translate(-50%,-50%);background:white;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;font-size:22px;color:var(--teal)}.comparison input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}.comparison:focus-within{outline:3px solid #c77c24;outline-offset:4px}.gallery-copy h3{font-size:31px;font-weight:500}.gallery-copy p{font-size:13px;margin-top:18px}.stories-section{background:#edf2e8;padding:55px 0}.stories-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center}.story-tabs{width:fit-content;background:transparent}.story-placeholder{font-size:19px;font-family:Georgia,serif;line-height:1.7;margin:22px 0;color:#43624b}.areas-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:65px}.city-list{display:flex;flex-wrap:wrap;gap:12px;align-content:flex-start}.city-list span{border:1px solid var(--line);border-radius:4px;padding:10px 18px;font-size:12px}.city-list p{font-size:10px;flex-basis:100%}.areas-grid form{background:var(--ivory);border-radius:7px;padding:25px}.areas-grid label{font-size:15px;font-weight:500}.postcode-input{display:flex;gap:10px;margin-top:12px}.postcode-input input{min-width:0;flex:1;border:1px solid var(--line);border-radius:5px;padding:10px;font-size:12px}.postcode-input .button{padding:10px 20px}.areas-grid form p{font-size:10px;margin-top:12px}.faq-section{background:var(--ivory);padding:70px 0}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq-grid>div>p{margin:24px 0;font-size:13px}details{border-bottom:1px solid var(--line);padding:17px 0}summary{font-size:13px;cursor:pointer;list-style:none;position:relative;padding-right:25px;font-weight:500}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;font-size:20px;top:-5px;font-weight:400}details[open] summary:after{content:'−'}details p{font-size:12px;margin-top:14px;padding-right:25px}.final-cta{position:relative;overflow:hidden;text-align:center;background:var(--teal);color:white;border-radius:10px;margin-top:70px;margin-bottom:65px;padding:55px 30px}.final-cta .eyebrow{color:#bbcdb6}.final-cta h2{font-size:48px}.final-cta em{color:#d3dfc3}.final-cta p{font-size:13px;color:#c0d0c7;margin:20px 0 26px}.final-cta>div{display:flex;gap:28px;align-items:center;justify-content:center}.final-cta .text-link{color:white;font-size:12px}.cta-star{position:absolute;right:-30px;bottom:-70px;color:#234c45;font-size:260px;line-height:1;pointer-events:none}.final-cta>div{position:relative;z-index:1}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px}.footer-top h3{font-size:11px;margin-bottom:17px;letter-spacing:0}.footer-top a:not(.brand){display:block;font-size:11px;margin-bottom:10px;color:#59685f}.footer-top p{font-size:12px;margin:16px 0}.footer-top small{font-size:9px;color:var(--muted)}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:20px 0;font-size:9px;color:#738076}.footer-bottom>div{display:flex;gap:25px}.footer-bottom button{border:0;background:none;padding:0;font-size:9px;color:#738076}.menu-toggle,.mobile-quote{display:none}.skip{position:fixed;top:-80px;left:10px;z-index:100;background:var(--teal);color:white;padding:10px}.skip:focus{top:10px}[hidden]{display:none!important}dialog{border:1px solid var(--line);border-radius:10px;max-width:520px;width:calc(100% - 40px);padding:38px;color:var(--ink)}dialog::backdrop{background:#103b3a88}dialog h2{font-size:27px}dialog p{font-size:13px;margin-top:18px}#close-dialog{position:absolute;right:15px;top:10px;background:none;border:0;font-size:27px;color:var(--teal)}
@media(min-width:1500px){.hero{gap:95px}.hero-visual>img{height:550px}}@media(max-width:1100px){.container{width:calc(100% - 64px)}.nav{gap:22px}nav{gap:16px;font-size:10px}.brand{font-size:28px}.brand-symbol{font-size:39px}.hero{gap:40px}.hero-visual>img{height:450px}.hero-actions{gap:20px}.hero-actions .text-link{font-size:11px}.why-grid,.split-section{gap:55px}.form-grid{grid-template-columns:repeat(3,1fr)}.card-body{padding:20px}.card-body h3{font-size:18px}.plans article{padding:30px 20px}.plans .button{padding:12px 10px}.section-heading p{font-size:12px}.gallery-grid{gap:40px}}
@media(max-width:850px){.nav{height:76px;justify-content:space-between}.menu-toggle{display:block;background:none;border:0;font-size:24px;margin-left:auto;color:var(--teal)}nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fffef9;padding:20px 32px;box-shadow:0 12px 20px #103b3a14;font-size:14px;flex-direction:column}nav.open{display:flex}.hero{gap:28px}.hero .eyebrow{font-size:8px;letter-spacing:1px}h1{font-size:45px;letter-spacing:-2px}.hero-visual>img{height:410px}.hero-actions{flex-wrap:wrap;gap:15px}.hero-copy>p{font-size:13px}.image-note{left:-14px;padding:13px 18px}.care-strip{flex-wrap:wrap;justify-content:flex-start;gap:14px 30px}.service-cards{gap:15px}.card-image img{height:170px}.card-body h3{font-size:16px}.card-body{padding:18px}.card-body ul{font-size:10px}.section-heading p br{display:none}.section-heading>p{max-width:240px}.plans{gap:14px}.plans article{padding:25px 16px}.plans h3{font-size:21px}.plan-intro{gap:24px;flex-wrap:wrap}.why-grid{gap:40px}.split-section{gap:35px}.lifestyle-image{height:400px}.faq-grid{gap:40px}.areas-grid{gap:35px}.footer-top{gap:25px}.footer-bottom>div span{display:none}.plan-label{font-size:7px;left:12px}.plans .button{font-size:9px;gap:8px}}
@media(max-width:640px){.container{width:calc(100% - 36px)}.topbar{padding:7px 18px;justify-content:center;font-size:9px}.topbar span{display:none}.nav{gap:15px;height:72px}.nav .button.small{font-size:10px;padding:9px 12px;gap:12px}.nav .button.small span{display:none}.brand{font-size:25px}.brand-symbol{font-size:35px}nav{top:72px}.hero{grid-template-columns:1fr;padding-top:34px;padding-bottom:32px;gap:30px}.hero .eyebrow{font-size:8px}h1{font-size:51px;letter-spacing:-2.5px;margin:16px 0}.hero-copy>p{font-size:13px;max-width:100%}.hero-actions{margin-top:24px;gap:23px}.hero-actions .text-link{font-size:11px}.hero-note{margin-top:23px}.hero-visual{margin-left:18px}.hero-visual>img{height:345px;border-top-left-radius:100px}.image-star{font-size:76px;right:-10px}.image-note{bottom:35px;left:-18px}.quote-wrap{padding:24px 18px}.quote-heading h2{font-size:24px}.quote-heading>p{display:none}.quote-heading .eyebrow{font-size:8px}.service-tabs{gap:4px;margin-top:15px}.service-tabs button{font-size:18px;padding:12px 2px;gap:5px;flex-direction:column}.service-tabs button span{font-size:9px}.progress{gap:16px;flex-wrap:wrap;padding:18px 0}.demo-tag{flex-basis:100%;margin-left:0;font-size:9px}.form-grid,#contact-fields{grid-template-columns:1fr 1fr;gap:14px}.form-grid input,.form-grid select{padding:10px 8px;font-size:11px}.form-bottom{align-items:stretch;flex-direction:column;gap:13px}.form-bottom>div{justify-content:flex-end}.form-bottom .button{flex:1;padding:13px 14px}.care-strip{padding:22px 0;gap:10px;font-size:9px}.care-strip>span:first-child{flex-basis:100%;font-size:11px}.section{padding:52px 0}.section-heading{display:block;margin-bottom:27px}.section-heading>p{margin-top:18px;max-width:none}.section-heading .eyebrow{font-size:8px;margin-bottom:12px}h2{font-size:33px;letter-spacing:-1.4px}.service-cards{grid-template-columns:1fr;gap:20px}.card-image img{height:240px}.card-body{padding:24px}.card-body h3{font-size:22px}.card-body ul{font-size:12px}.card-body .text-link{font-size:12px}.why-section{padding:50px 0}.why-grid,.split-section,.stories-grid,.areas-grid,.faq-grid{grid-template-columns:1fr;gap:30px}.why-grid>div>p{max-width:none}.benefits article{padding:18px 0}.lifestyle-image{height:330px}.split-section{gap:32px}.business-section{padding:50px 0}.industry-grid{grid-template-columns:1fr 1fr;gap:10px}.industry-grid span{font-size:11px;padding:16px 12px}.business-caption{line-height:2}.plan-intro{gap:12px 25px;font-size:11px;padding-bottom:30px}.plans{grid-template-columns:1fr;gap:26px}.plans article{padding:30px}.plans h3{font-size:27px}.plans .button{font-size:12px;gap:20px;padding:14px}.plan-label{font-size:8px;left:25px}.process-section{padding:50px 0}.process{grid-template-columns:1fr 1fr;gap:30px 20px}.process article:after{display:none}.process h3{font-size:13px}.gallery-section .filter-buttons{margin-top:22px;width:fit-content}.gallery-grid{grid-template-columns:1fr;gap:25px}.comparison{height:275px}.gallery-copy h3{font-size:27px}.stories-section{padding:45px 0}.stories-grid{gap:25px}.story-placeholder{font-size:18px}.areas-grid{gap:25px}.city-list span{font-size:11px;padding:8px 12px}.faq-section{padding:50px 0}.faq-grid{gap:20px}.faq-grid>div>p{margin:17px 0}.final-cta{padding:42px 20px;margin:45px auto}.final-cta h2{font-size:35px}.final-cta>div{flex-direction:column;gap:20px}.final-cta p{font-size:12px}.cta-star{font-size:200px;opacity:.7}.footer-top{grid-template-columns:1fr 1fr;gap:30px;padding-bottom:30px}.footer-top>div:first-child{grid-column:1/-1}.footer-top>div:first-child p{margin:12px 0}.footer-bottom{gap:18px;flex-direction:column;padding-bottom:85px}.mobile-quote{display:flex;position:fixed;bottom:12px;left:18px;right:18px;z-index:15;box-shadow:0 5px 20px #103b3a30}.eyebrow{font-size:9px}.full-width{grid-column:1/-1}}
@media(max-width:360px){.form-grid,#contact-fields{grid-template-columns:1fr}h1{font-size:44px}.nav .button.small{padding:8px;font-size:9px}.nav{gap:9px}.hero-actions{gap:15px}.hero-actions .button{padding:13px 16px}.brand{font-size:23px}.brand-symbol{font-size:31px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Neutral company descriptor, suitable for an unbranded Australian cleaning site. */
.company-label{font-size:18px;letter-spacing:-.6px;line-height:1.25;white-space:nowrap}.company-label small{display:block;font-size:8px;letter-spacing:2.4px;font-weight:600;color:var(--muted);margin-top:4px}.space-photo{height:340px;border-radius:9px;overflow:hidden}.space-photo img{height:100%}.gallery-copy .text-link{margin-top:22px}@media(max-width:1100px){.nav{gap:18px}nav{gap:16px}}@media(max-width:640px){.company-label{font-size:15px}.company-label small{font-size:7px}.space-photo{height:275px}}@media(max-width:360px){.company-label{font-size:13px}}
/* Contact-first conversion and support. */
.header-contact{display:flex;align-items:center;gap:18px}.header-phone{display:flex;flex-direction:column;line-height:1.35;white-space:nowrap}.header-phone>span{font-size:9px;color:var(--muted)}.header-phone strong{font-size:13px;letter-spacing:.2px}.header-phone small{font-size:8px;color:var(--muted)}.nav{gap:20px}nav{gap:17px}.hero-actions .text-link{font-size:12px;gap:8px}.hero-actions .text-link span{font-size:12px}.contact-cta-actions{flex-wrap:wrap}.whatsapp-button{background:#d9edd9;color:#103b3a;border-color:#d9edd9}.whatsapp-button:hover{background:#c5dfc5}.sample-contact-note{display:block;font-size:10px;color:#c4d4c9;margin-top:18px}.support-launchers{position:fixed;right:24px;bottom:24px;z-index:30;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.support-launchers>a,.support-launchers>button{display:flex;align-items:center;gap:10px;padding:12px 17px;border-radius:30px;font-size:12px;font-weight:600;box-shadow:0 4px 18px #103b3a25}.floating-whatsapp{background:#ddf2df;color:#175e30;border:1px solid #bcdcbc}.floating-whatsapp svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5}#chat-launcher{background:var(--teal);color:white;border:1px solid #486762}#chat-launcher>span{font-size:20px}.chat-panel{position:fixed;right:24px;bottom:86px;width:350px;max-height:calc(100dvh - 110px);z-index:35;background:white;border:1px solid var(--line);box-shadow:0 15px 55px #103b3a30;border-radius:14px;overflow:hidden;display:flex;flex-direction:column}.chat-heading{background:var(--teal);color:white;display:flex;align-items:center;gap:12px;padding:16px}.chat-heading strong{font-size:13px}.chat-heading small{display:block;color:#ccdad1;font-size:10px}.chat-avatar{font-size:27px;width:36px;height:36px;display:grid;place-items:center;background:#ffffff16;border-radius:50%}.chat-heading button{margin-left:auto;background:none;border:0;color:white;font-size:27px;width:32px;height:32px}.chat-messages{padding:18px;overflow:auto;max-height:260px;min-height:125px;display:flex;flex-direction:column;gap:12px}.chat-messages p{font-size:12px;padding:12px 14px;border-radius:10px;max-width:95%;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.bot-message{background:var(--ivory);color:var(--ink);align-self:flex-start}.user-message{background:var(--teal);color:white;align-self:flex-end}.chat-quick-actions{display:flex;flex-wrap:wrap;gap:7px;padding:0 18px 15px}.chat-quick-actions button{font-size:10px;border:1px solid #ccd9cd;background:white;color:var(--teal);border-radius:20px;padding:8px 11px}.chat-quick-actions button:hover{background:var(--mint)}#chat-form{display:flex;gap:8px;border-top:1px solid var(--line);padding:13px}#chat-input{flex:1;min-width:0;border:1px solid var(--line);border-radius:5px;padding:10px;font-size:12px}#chat-form button{background:var(--teal);color:white;border:0;width:40px;border-radius:5px;font-size:20px}.chat-disclaimer{font-size:9px;color:var(--muted);padding:0 15px 11px;text-align:center}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#contact-dialog{max-width:590px;padding:32px;max-height:calc(100dvh - 35px);overflow-y:auto}.dialog-close{position:absolute;right:13px;top:10px;width:35px;height:35px;font-size:28px;border:0;background:none;color:var(--teal)}.contact-dialog-intro .eyebrow{font-size:8px;margin:8px 30px 12px 0}.contact-dialog-intro h2{font-size:34px}.contact-dialog-intro p{font-size:12px;margin-top:10px}.contact-direct{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.contact-direct a{display:flex;flex-direction:column;justify-content:center;border:1px solid var(--line);border-radius:7px;padding:13px 15px;background:var(--ivory);gap:3px}.contact-direct span{font-size:11px}.contact-direct strong{font-size:18px}.contact-direct small{font-size:10px;color:#4c7157}.contact-direct .contact-whatsapp{background:#e4f3e4;border-color:#c9e0c9}.sample-number-note{font-size:9px!important;margin:9px 0 18px!important;color:var(--muted)}#quick-contact-form .form-grid{grid-template-columns:1fr 1fr;gap:12px}#quick-contact-form .consent{font-size:10px;flex-wrap:nowrap;align-items:flex-start;margin-top:4px}#quick-contact-form .consent input{flex-shrink:0;margin-top:3px}.contact-submit{width:100%;margin-top:14px}.contact-form-note{font-size:9px!important;margin:9px 0!important;text-align:center}.contact-full-quote{margin-top:18px;font-size:10px;gap:9px}#quick-contact-result{margin-top:20px}#quick-contact-result p{font-size:12px}#quick-contact-result .button{margin-top:15px;white-space:normal}.mobile-contact-bar{display:none}.enquiry-share{margin-top:15px}.enquiry-share .button{margin-right:12px;margin-bottom:10px}.enquiry-share small{display:block;font-size:10px;color:var(--muted)}
@media(max-width:1100px){.header-contact{gap:12px}.header-phone strong{font-size:11px}nav{gap:10px}.company-label{font-size:16px}.nav{gap:15px}}
@media(max-width:850px){.header-phone{display:none}.nav .company-label{font-size:18px}.chat-panel{width:335px}}
@media(max-width:640px){.support-launchers{right:16px;bottom:87px;gap:8px}.support-launchers>a,.support-launchers>button{padding:10px 14px;font-size:11px}.support-launchers .floating-whatsapp span{display:none}.floating-whatsapp svg{width:24px;height:24px}.chat-panel{right:12px;bottom:143px;width:min(350px,calc(100% - 24px));max-height:calc(100dvh - 165px)}.chat-messages{max-height:190px}.mobile-contact-bar{position:fixed;display:grid;grid-template-columns:1.3fr .75fr 1fr;align-items:center;left:0;right:0;bottom:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:9px;background:#fffef8;box-shadow:0 -3px 20px #103b3a12;z-index:25;border-top:1px solid var(--line)}.mobile-contact-bar .button{font-size:11px;padding:11px 10px}.mobile-contact-bar>a{font-size:11px;text-align:center;font-weight:600;color:var(--teal);padding:11px 0}.mobile-contact-bar>a:last-child{color:#296c36}#contact-dialog{padding:23px 19px;max-height:calc(100dvh - 24px);width:calc(100% - 24px)}.contact-dialog-intro h2{font-size:29px}.contact-direct{gap:8px}.contact-direct a{padding:11px}.contact-direct strong{font-size:15px}.contact-direct span{font-size:10px}.contact-full-quote{font-size:9px}.contact-cta-actions{gap:15px!important}.nav .company-label{font-size:15px}.header-contact{gap:0}.contact-cta-actions .button{width:100%;max-width:285px}.hero-actions{flex-wrap:wrap}.footer-bottom{padding-bottom:100px}}
@media(prefers-reduced-motion:reduce){.chat-panel{scroll-behavior:auto}}

#offer-dialog .offer-terms{font-size:11px;line-height:1.6;margin:14px 0 0;color:var(--muted)}

.social-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
footer .social-links .social-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:10px;border:1px solid var(--line);border-radius:50%;background:var(--ivory);color:var(--teal);transition:background .2s,color .2s,border-color .2s}
footer .social-links .social-icon:hover{background:var(--teal);border-color:var(--teal);color:#fff}
.social-icon svg{display:block;width:22px;height:22px;flex-shrink:0}
@media(prefers-reduced-motion:reduce){footer .social-links .social-icon{transition:none}}

/* Theme selection is applied before the stylesheet loads. */
:root{color-scheme:light;--page:#fff;--surface:#fff;--accent:#103b3a}
.topbar{align-items:center;gap:22px;padding-block:5px}
.topbar-message{display:flex;justify-content:space-between;align-items:center;gap:20px;flex:1}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;padding:10px;border:1px solid #ffffff50;border-radius:50%;background:transparent;color:#edf2eb}
.theme-toggle:hover{background:#ffffff18}
.theme-toggle svg{width:21px;height:21px}
.theme-sun{display:none}
[data-theme="dark"] .theme-moon{display:none}
[data-theme="dark"] .theme-sun{display:block}
:root[data-theme="dark"]{color-scheme:dark;--page:#101b1a;--surface:#192927;--ink:#edf4ef;--muted:#afc2b9;--ivory:#152320;--line:#354c44;--mint:#253c32;--accent:#a9d8bd;--fresh:#78d8c7}
body{background:var(--page)}
[data-theme="dark"] header{background:#152320ee;border-color:var(--line)}
[data-theme="dark"] nav{background:var(--ivory)}
[data-theme="dark"] :is(.brand-symbol,.tiny-star,.menu-toggle,.text-link,.inline-link,.progress .current,.service-tabs .active,.dialog-close,#close-dialog){color:var(--accent)}
[data-theme="dark"] :is(.eyebrow,.plan-intro,.story-placeholder,.card-body ul,.plans ul,.filter-buttons button){color:var(--muted)}
[data-theme="dark"] :is(h1 em,.why-grid h2 em,#offer-dialog h2 em,.image-note>span,.card-body li:before,.plans li:before){color:var(--accent)}
[data-theme="dark"] nav a:hover{color:var(--accent)}
[data-theme="dark"] .button{background:var(--accent);border-color:var(--accent);color:#102b21}
[data-theme="dark"] .button:hover{background:#c4e9d1;border-color:#c4e9d1}
[data-theme="dark"] .button.outline{background:var(--surface);color:var(--accent);border-color:var(--line)}
[data-theme="dark"] .button.outline:hover{background:var(--mint);border-color:var(--accent)}
[data-theme="dark"] .button.light{background:#e3eddb;border-color:#e3eddb;color:#103b3a}
[data-theme="dark"] .button.whatsapp-button{background:#254a35;border-color:#456b4e;color:#cbecd2}
[data-theme="dark"] :is(.form-grid input,.form-grid select,.form-grid textarea,.postcode-input input,#chat-input){background:var(--surface);color:var(--ink);border-color:var(--line)}
[data-theme="dark"] :is(input,textarea)::placeholder{color:#98ada3;opacity:1}
[data-theme="dark"] :is(.quote-wrap,.line-icon){border-color:var(--line)}
[data-theme="dark"] .service-tabs .active{border-color:var(--accent)}
[data-theme="dark"] .progress{color:var(--muted)}
[data-theme="dark"] :is(.form-error,.field-error){color:#ffaaa1}
[data-theme="dark"] .invalid{border-color:#ffaaa1!important}
[data-theme="dark"] :is(.image-note,.filter-buttons .active,.chat-panel,dialog,.mobile-contact-bar){background:var(--surface);color:var(--ink)}
[data-theme="dark"] :is(.card-number,.gallery-badge){background:#192927ee;color:var(--ink)}
[data-theme="dark"] :is(.success,.plans .featured,.stories-section){background:var(--mint)}
[data-theme="dark"] .plans .featured{border-color:#739b7e}
[data-theme="dark"] .plan-label{background:#314b39;border-color:#739b7e;color:var(--ink)}
[data-theme="dark"] :is(.benefits article>span,.process article>span){background:var(--mint);border-color:var(--line);color:var(--accent)}
[data-theme="dark"] .process article:after{border-color:var(--line)}
[data-theme="dark"] .filter-buttons .active{color:var(--accent)}
[data-theme="dark"] .footer-top a:not(.brand){color:var(--muted)}
[data-theme="dark"] :is(.footer-bottom,.footer-bottom button){color:var(--muted)}
[data-theme="dark"] footer .social-links .social-icon{color:var(--accent)}
[data-theme="dark"] footer .social-links .social-icon:hover{background:var(--accent);border-color:var(--accent);color:#102b21}
[data-theme="dark"] .chat-quick-actions button{background:var(--surface);border-color:var(--line);color:var(--accent)}
[data-theme="dark"] .chat-quick-actions button:hover{background:var(--mint)}
[data-theme="dark"] :is(.floating-whatsapp,.contact-direct .contact-whatsapp){background:#254a35;border-color:#456b4e;color:#cbecd2}
[data-theme="dark"] .contact-direct small{color:var(--muted)}
[data-theme="dark"] .mobile-contact-bar>a{color:var(--accent)}
[data-theme="dark"] #offer-dialog :is(.offer-symbol,.dialog-close){color:var(--accent)}
@media(max-width:640px){.topbar{justify-content:space-between;gap:12px}.topbar-message{display:block}}

.client-section{padding-top:70px;padding-bottom:70px}
.client-types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.client-types article{padding:24px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.client-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:18px;border-radius:50%;background:var(--mint);color:var(--accent);font-size:24px}
.client-types h3{font-size:17px;margin-bottom:10px}
.client-types p{font-size:12px}
.client-stats{margin-top:24px;padding:22px;border:1px dashed var(--line);border-radius:10px;background:var(--ivory)}
.client-sample-label{font-size:11px;text-align:center;margin-bottom:20px}
.client-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;text-align:center}
.client-stat-grid strong{display:block;font-family:Manrope,sans-serif;font-size:36px;line-height:1.2;letter-spacing:-1px;color:var(--accent)}
.client-stat-grid span{display:block;font-size:12px;color:var(--muted);margin-top:8px}
.guarantee-card{display:grid;grid-template-columns:180px minmax(0,1fr);gap:36px;align-items:center;margin-top:32px;padding:36px;border:1px solid var(--line);border-radius:12px;background:var(--mint)}
.guarantee-seal{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;color:var(--accent)}
.guarantee-seal svg{width:76px;height:76px}
.guarantee-seal span{font-size:13px;font-weight:700;line-height:1.4}
.guarantee-copy .eyebrow{margin-bottom:12px}
.guarantee-copy h3{font-size:27px;line-height:1.3}
.guarantee-copy>p{font-size:13px;margin-top:14px;max-width:650px}
.guarantee-terms{margin:14px 0 20px}
.guarantee-terms summary{font-size:12px}
.guarantee-terms p{font-size:12px}
@media(max-width:850px){.client-types{grid-template-columns:repeat(2,minmax(0,1fr))}.guarantee-card{grid-template-columns:130px minmax(0,1fr);gap:24px;padding:28px}}
@media(max-width:640px){.client-section{padding-block:48px}.client-types{gap:12px}.client-types article{padding:18px}.client-types h3{font-size:15px}.client-stat-grid{gap:12px}.client-stat-grid strong{font-size:27px}.client-stat-grid span{font-size:10px}.client-stats{padding:20px 12px}.guarantee-card{grid-template-columns:1fr;padding:24px;gap:24px}.guarantee-seal{flex-direction:row;justify-content:flex-start;text-align:left}.guarantee-seal svg{width:55px;height:55px}.guarantee-copy h3{font-size:25px}}
@media(max-width:360px){.client-types{grid-template-columns:1fr}.client-stat-grid{grid-template-columns:1fr;gap:22px}}

/* The same room is cleaned from left to right as the visitor scrolls. */
.cleaning-reveal{margin-top:76px;background:var(--page)}
.cleaning-reveal-stage{position:relative;height:calc(100svh - var(--cleaning-header,90px) - var(--cleaning-bottom,0px));min-height:460px;overflow:hidden;background:#17332c;color:#fff;isolation:isolate}
.cleaning-scene,.cleaning-scene-dusty,.cleaning-scene-shade{position:absolute;inset:0}
.cleaning-scene-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%}
.cleaning-scene-dusty{clip-path:inset(0 0 0 0);will-change:clip-path}
.cleaning-scene-shade{pointer-events:none;background:linear-gradient(180deg,#061612a6 0%,#06161240 35%,transparent 55%,#061612c9 100%)}
.cleaning-reveal-heading{position:absolute;top:clamp(30px,5vh,64px);left:clamp(24px,5vw,90px);max-width:700px}
.cleaning-reveal-heading .eyebrow{color:#e0eedd;font-size:10px;letter-spacing:2px;margin-bottom:18px}
.cleaning-reveal-heading h2{font-size:clamp(38px,5.5vw,78px);letter-spacing:-2.5px;line-height:1.06;text-shadow:0 2px 24px #0003}
.cleaning-reveal-heading h2 em{color:#d8efcc}
.cleaning-reveal-heading p{color:#f1f4ee;font-size:13px;margin-top:20px;line-height:1.65}
.cleaning-scene-badge{position:absolute;right:clamp(24px,5vw,90px);top:clamp(30px,5vh,64px);padding:9px 14px;border:1px solid #ffffff70;border-radius:30px;background:#103b3a99;backdrop-filter:blur(8px);font-size:10px;letter-spacing:.4px}
.cleaning-sweep{position:absolute;top:0;bottom:0;left:0;width:2px;background:#efffdf;box-shadow:0 0 22px 6px #e6ffcd60;opacity:0;pointer-events:none}
.cleaning-sweep>span{position:absolute;top:55%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid #e1f1d5;background:#103b3a;color:#eaffd8;box-shadow:0 5px 25px #0003}
.cleaning-sweep svg{width:32px;height:32px}
.cleaning-reveal-bottom{position:absolute;bottom:28px;left:clamp(24px,5vw,90px);right:clamp(24px,5vw,90px);display:grid;grid-template-columns:1fr;gap:17px;align-items:end}
.cleaning-phase{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;color:#e0f0d3}
.cleaning-reveal-caption p{font-size:14px;color:#fff;margin-top:8px;max-width:480px;min-height:24px}
.cleaning-reveal-actions{display:flex;align-items:center;gap:25px}
.cleaning-scroll-hint{font-size:11px;color:#edf6e7}
.cleaning-scroll-hint>span{margin-left:10px;font-size:20px}
.cleaning-view-buttons{display:flex;padding:4px;border:1px solid #ffffff80;border-radius:30px;background:#103b3a80}
.cleaning-view-buttons button{border:0;border-radius:24px;background:transparent;padding:10px 16px;font-size:11px;color:#fff;min-height:40px}
.cleaning-view-buttons button[aria-pressed="true"]{background:#ecf2e7;color:#103b3a}
.cleaning-view-buttons button:hover{background:#ffffff24}
.cleaning-view-buttons button[aria-pressed="true"]:hover{background:#fff}
.cleaning-progress{grid-column:1/-1;height:2px;background:#ffffff45;overflow:hidden}
.cleaning-progress span{display:block;width:100%;height:100%;background:#e5ffc9;transform:scaleX(0);transform-origin:left;will-change:transform}
.cleaning-reveal-note{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:22px;border-bottom:1px solid var(--line)}
.cleaning-reveal-note p{font-size:10px}
.cleaning-reveal-note>a{flex-shrink:0}
[data-theme="dark"] .cleaning-reveal-heading .eyebrow{color:#e0eedd}
@media(max-width:850px){.cleaning-reveal-stage{--cleaning-header:76px}.cleaning-scene-badge{top:auto;bottom:190px;right:24px}.cleaning-reveal-actions{gap:12px}.cleaning-scroll-hint{display:none}}
@media(max-width:640px){.cleaning-reveal{margin-top:48px}.cleaning-reveal-stage{--cleaning-header:72px;--cleaning-bottom:74px;min-height:420px}.cleaning-reveal-heading{top:28px;left:24px;right:24px}.cleaning-reveal-heading h2{font-size:44px;letter-spacing:-1.8px}.cleaning-reveal-heading .eyebrow{font-size:8px;letter-spacing:1.3px}.cleaning-reveal-heading p{font-size:12px;margin-top:16px}.cleaning-scene-image{object-position:48% center}.cleaning-reveal-bottom{grid-template-columns:1fr;bottom:20px;left:24px;right:24px;gap:15px}.cleaning-reveal-caption p{font-size:12px;min-height:40px}.cleaning-phase{font-size:9px}.cleaning-reveal-actions{justify-content:flex-start;flex-direction:row-reverse;width:fit-content}.cleaning-scroll-hint{display:block;font-size:10px}.cleaning-scene-badge{top:46%;bottom:auto;font-size:9px}.cleaning-reveal-note{align-items:flex-start;flex-direction:column;gap:10px}.cleaning-reveal-note>a{font-size:12px}}
@media(prefers-reduced-motion:reduce),(max-height:559px){.cleaning-reveal-stage{height:600px;max-height:none}.cleaning-scene-dusty,.cleaning-progress span{will-change:auto}}

.contact-enquiry-preview{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:850px){
 .menu-toggle{width:40px;min-height:44px;padding:0;flex-shrink:0}
 #navigation a{display:flex;align-items:center;min-height:44px}
 .nav .button.small{min-height:44px}
 .form-grid input,.form-grid select,.form-grid textarea,.postcode-input input,#chat-input{font-size:16px;min-width:0}
 .form-grid label{min-width:0}
 .areas-grid>*{min-width:0}
 #close-chat,.dialog-close,#offer-dialog .dialog-close{width:44px;height:44px}
 .chat-quick-actions button{min-height:44px}
}
@media(max-width:640px){
 .support-launchers .floating-whatsapp{display:none}
 .support-launchers #chat-launcher{width:48px;height:48px;padding:0;justify-content:center;font-size:0}
 .support-launchers #chat-launcher>span{font-size:24px}
 .chat-panel{bottom:145px}
}
@media(max-width:360px){
 .nav{gap:8px}
 .nav .company-label{font-size:14px}
 #quick-contact-form .form-grid{grid-template-columns:1fr}
}
@media(max-height:500px){
 #navigation{max-height:calc(100dvh - 76px);overflow-y:auto;gap:2px;padding-block:10px}
 .chat-panel{bottom:12px;max-height:calc(100dvh - 24px);overflow-y:auto}
 .chat-messages{min-height:70px}
}
@media(max-width:640px) and (max-height:700px){
 .cleaning-reveal-heading h2{font-size:36px}
 .cleaning-reveal-heading p,.cleaning-scene-badge{display:none}
}

/* Keep decorative edges and the full-width animation inside the page viewport.
   clip preserves the document scroll container used by sticky navigation/GSAP. */
html{max-width:100%;overflow-x:clip}
body{max-width:100%;overflow-x:clip}
.cleaning-reveal{max-width:100%;overflow-x:clip}
.cleaning-reveal-scroll{position:relative;max-width:100%}
.cleaning-reveal-scroll.is-scroll-driven .cleaning-reveal-stage{position:sticky;top:var(--cleaning-header,90px)}
.form-grid>*,.areas-grid>*,.hero>*,.service-cards>*,.plans>*{min-width:0}
.form-grid input,.form-grid select,.form-grid textarea{min-width:0;max-width:100%}
@media(max-width:360px){
 .nav{gap:6px}
 .nav .company-label{font-size:13px}
 .nav .brand-symbol{font-size:28px;margin-right:5px}
}

