/* Midlands PropertyCo — bright, readable property care */
:root{--navy:#102f47;--ink:#162f45;--blue:#174da7;--teal:#00665c;--amber:#ffc84d;--muted:#34495e;--line:#d8e2eb;--pale:#f2f7fb;--white:#fff;--radius:20px;--shadow:0 12px 35px #102f470b;font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-size:100%;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:white;font-size:1.1875rem;line-height:1.75}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{line-height:1.16;letter-spacing:-.035em;color:var(--navy)}h1{font-size:clamp(2.5rem,4.8vw,4.5rem);font-weight:750}h2{font-size:clamp(2rem,3.2vw,3rem)}h3{font-size:1.5rem}h1 em{font-style:normal;color:var(--teal)}p{color:var(--muted)}a{color:var(--blue);text-underline-offset:4px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}ul,ol{padding-left:1.4em}button,select,input,textarea{border-radius:9px}button{border:0}input,select,textarea{max-width:100%;min-width:0}textarea{resize:vertical}a,button,summary,input,select,textarea{touch-action:manipulation}:focus-visible{outline:3px solid #c9680b;outline-offset:4px}::selection{background:#ffe296;color:var(--navy)}[hidden]{display:none!important}.container{width:min(1240px,calc(100% - 64px));margin-inline:auto}.section{padding-block:90px}.eyebrow{display:block;font-size:.9375rem;font-weight:750;line-height:1.6;letter-spacing:.035em;color:var(--teal);margin-bottom:14px}.orange{color:var(--teal)}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:56px;padding:14px 22px;background:var(--blue);border:2px solid transparent;border-radius:10px;color:white;text-decoration:none;font-size:1.0625rem;font-weight:700;line-height:1.5;transition:background .16s,transform .16s}.button:hover{background:#103d91;transform:translateY(-1px);text-decoration:none}.button.navy{background:var(--navy)}.button.navy:hover{background:#234e71}.button.light{background:white;color:var(--navy)}.button.light:hover{background:#e9f4fc}.button.outline{background:transparent;color:var(--navy);border-color:#98aebf}.button.outline:hover{background:#edf4fb}.button.small{font-size:1rem;min-height:48px;padding:11px 17px}.text-link,.back-link{font-weight:700}.text-link.dark{color:var(--blue)}.skip{position:fixed;top:12px;left:12px;transform:translateY(-180%);padding:12px 18px;background:white;z-index:100}.skip:focus{transform:none}.utility{background:var(--navy);color:white;font-size:.9375rem}.utility-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:46px}.utility-inner>span{letter-spacing:.045em}.utility a{color:white;text-decoration:none;display:inline-flex;align-items:center;min-height:46px}.utility a:hover{text-decoration:underline}.utility-contacts{display:flex;gap:25px;align-items:center}.site-header{position:sticky;top:0;background:#fff;z-index:40;border-bottom:1px solid var(--line)}.nav-row{position:relative;min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0;color:var(--navy)}.brand-logo-frame{display:block;position:relative;overflow:hidden;background:#102436;width:57px;height:63px;border-radius:10px}.brand-logo-frame img{position:absolute;width:116px;max-width:none;left:-29px;top:-46px}.brand-name{font-size:1rem;letter-spacing:.075em;font-weight:800;line-height:1.35}.brand-name>span{display:block;font-size:.925rem;letter-spacing:.045em}.brand-dot{color:var(--teal)}.brand.inverse{color:white}.brand.inverse .brand-dot{color:var(--amber)}#main-nav{display:flex;align-items:center;gap:22px}#main-nav>a:not(.button),.services-menu>summary{display:flex;align-items:center;min-height:50px;font-size:1.0625rem;font-weight:650;color:var(--navy);text-decoration:none}#main-nav>a:not(.button):hover{color:var(--blue);text-decoration:underline}.menu-toggle{display:none}.services-menu>summary{cursor:pointer;list-style:none;gap:9px}.services-menu>summary::-webkit-details-marker{display:none}.services-menu>summary:after{content:'⌄';font-size:1.1rem}.services-menu[open]>summary:after{transform:rotate(180deg)}.services-panel{position:absolute;left:0;right:0;top:100%;display:grid;grid-template-columns:1.25fr 1.25fr 1fr 1fr;gap:30px;background:white;border:1px solid var(--line);border-top:4px solid var(--teal);border-radius:0 0 16px 16px;box-shadow:0 20px 40px #142d4326;padding:30px;max-height:calc(100dvh - 140px);overflow:auto;overscroll-behavior:contain}.menu-group h2{font-size:1.125rem;color:var(--teal);letter-spacing:-.01em;margin-bottom:8px}.menu-service{padding:11px 0;border-bottom:1px solid var(--line)}.menu-service>span{font-size:.95rem;font-weight:650;display:block}.menu-service>div{display:flex;flex-wrap:wrap;gap:4px 20px}.menu-service a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem}.hero{padding:48px 0 70px;background:linear-gradient(105deg,#eaf2ff 0%,#ffffff 53%,#e3f4ef 100%);border-bottom:1px solid #cbdeeb}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}.hero h1{font-size:clamp(3rem,4.7vw,4.35rem);margin-bottom:24px;line-height:1.06;letter-spacing:-.035em}.hero-copy>p{font-size:1.1875rem;max-width:580px;line-height:1.75}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 16px}.hero-copy>.hero-audience{font-size:1rem}.hero-review-links{display:flex;flex-wrap:wrap;gap:15px 24px;align-items:center;margin-top:28px}.hero-review-links>a{display:flex;flex-direction:column;color:var(--navy);text-decoration:none;line-height:1.5}.hero-review-links strong{font-size:1.35rem}.hero-review-links span,.hero-review-links .review-note{font-size:.875rem}.hero-review-links>a:not(:first-child){border-left:1px solid #adc0d0;padding-left:24px}.hero-review-links a:hover span{text-decoration:underline}.hero-image{position:relative;align-self:stretch;min-height:510px;overflow:hidden;border-radius:90px 22px 22px 22px;background:var(--navy);box-shadow:14px 14px 0 #c4eae3}.hero-image>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center 50%}.hero-image figcaption{position:absolute;left:0;right:0;bottom:0;padding:85px 32px 28px;background:linear-gradient(transparent,#071d34eb);color:white}.hero-image figcaption span{display:block;font-size:.875rem;letter-spacing:.05em;margin-bottom:9px}.hero-image figcaption strong{font-size:1.65rem;line-height:1.25;display:block}.finder-wrap{position:relative;margin-top:-25px;z-index:2}.finder{display:grid;grid-template-columns:1.1fr .8fr 1.25fr auto;gap:20px;align-items:end;background:white;padding:30px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.finder-intro{align-self:center}.finder h2{font-size:1.65rem}.finder .eyebrow{margin-bottom:3px}.finder label{min-width:0;font-size:1rem;font-weight:700;display:grid;gap:7px}.finder select{width:100%;min-height:52px;border:1px solid #8fa5b7;padding:10px 36px 10px 14px;background:white;color:var(--ink);font-size:1rem}.finder .button{white-space:normal}.section-heading{display:flex;justify-content:space-between;gap:48px;align-items:end;margin-bottom:38px}.section-heading>p,.section-heading>div:last-child:not(:first-child){max-width:430px}.section-heading .text-link{display:inline-flex;align-items:center;min-height:44px;margin-top:12px}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}.category-card{--accent:var(--blue);--tint:#edf4ff;--border:#c7d8f1;border:1px solid var(--border);border-top:5px solid var(--accent);border-radius:18px;overflow:hidden;padding:30px;background:white}[data-tone="surveys"]{--accent:#00665c;--tint:#eef9f6;--border:#bcded5}[data-tone="cleaning"]{--accent:#493984;--tint:#f5f2ff;--border:#d9d0f3}[data-tone="sourcing"]{--accent:#87410d;--tint:#fff7e8;--border:#efd6b2}.category-heading{display:flex;gap:17px;align-items:start;background:var(--accent);margin:-30px -30px 24px;padding:25px 30px;color:white}.category-number{font-size:1rem;font-weight:750;display:flex;align-items:center;justify-content:center;background:white;color:var(--accent);width:42px;min-width:42px;height:42px;border-radius:50%;border:1px solid var(--border)}.category-heading .eyebrow{color:white;margin-bottom:6px;font-weight:600}.category-heading h3{font-size:1.7rem;color:white;letter-spacing:-.025em}.card-desc{margin:0 0 22px;font-size:1.0625rem;color:var(--muted)}.service-list{list-style:none;padding:0;margin:0;background:white;border:0;border-radius:0;overflow:visible}.service-list li{padding:18px 0;border-bottom:1px solid var(--line)}.service-list li:last-child{border:0}.service-list li>span{display:block;font-weight:700;font-size:1.125rem;margin-bottom:12px}.service-list li>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-list a{display:flex;align-items:center;justify-content:space-between;min-height:50px;padding:10px 14px;color:var(--accent);background:var(--tint);border:1px solid var(--border);border-radius:8px;font-size:1rem;font-weight:700;text-decoration:none;line-height:1.5}.service-list a:hover{border-color:var(--accent);text-decoration:underline}.approach-section{background:var(--navy);padding:75px 0;color:white}.approach-section h2,.approach-section h3{color:white}.approach-section p{color:#d6e4ed}.approach-section .eyebrow{color:#91e0d3}.steps{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:42px 0 35px}.steps>li{border-top:1px solid #537187;padding-top:22px}.steps>li>span{display:block;font-size:1rem;color:var(--amber);font-weight:750;margin-bottom:16px}.steps h3{font-size:1.35rem;margin-bottom:13px}.approach-section .button{background:var(--amber);color:var(--navy)}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.review-card{padding:32px;border:1px solid var(--line);border-radius:var(--radius);background:white;box-shadow:var(--shadow)}.review-card:nth-child(2){background:#f0faf6;border-color:#bfddd0}.review-platform{font-weight:750;font-size:1.3rem}.review-score{display:flex;align-items:center;gap:17px;margin:12px 0 25px;line-height:1.4}.review-score strong{font-size:3rem;color:var(--navy);letter-spacing:-.05em}.review-score span{font-size:1rem;max-width:200px}.review-card blockquote{font-size:1.4rem;line-height:1.55;letter-spacing:-.01em;color:var(--navy);margin-bottom:20px}.review-author{font-size:.95rem;margin-bottom:22px}.review-card a{font-size:1rem;display:inline-flex;align-items:center;min-height:44px}.review-disclosure{font-size:.875rem;margin-top:23px;max-width:900px}.reviews-section{border-bottom:1px solid var(--line)}.city-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.city-card{display:block;text-decoration:none;padding:34px;background:#edf4ff;border:1px solid #c7d8f1;border-radius:18px;color:var(--navy);transition:background .16s}.city-card:nth-child(2){background:#edf8f5;border-color:#bfdfd5}.city-card:hover{background:#e0edff}.city-card:nth-child(2):hover{background:#ddf1e9}.city-card h3{font-size:2.5rem;display:flex;justify-content:space-between;gap:14px;margin-bottom:18px}.city-card .eyebrow{color:var(--blue)}.city-card:nth-child(2) .eyebrow{color:var(--teal)}.city-link{display:block;margin-top:28px;text-decoration:underline;text-underline-offset:5px;font-weight:700;font-size:1rem}.blog-preview{background:var(--pale);padding:80px 0}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.blog-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:white}.blog-card>a{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}.blog-card-copy{padding:26px;display:flex;flex-direction:column;flex:1}.blog-card h3{font-size:1.5rem;margin-bottom:16px}.blog-card .eyebrow{font-size:.875rem}.blog-card p{font-size:1rem;line-height:1.65}.card-read{color:var(--blue);font-weight:700;font-size:1rem;display:block;padding-top:22px;margin-top:auto}.blog-card a:hover h3{text-decoration:underline;text-underline-offset:5px}.home-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding-block:90px}.home-faq>div>p{margin-top:24px}.faq-list details,.service-article details{border-bottom:1px solid #cad8e3;padding:20px 0}.faq-list details:first-child{border-top:1px solid #cad8e3}.faq-list summary,.service-article summary{cursor:pointer;font-size:1.125rem;font-weight:700;line-height:1.5;color:var(--navy);padding-right:15px;min-height:34px}.faq-list details p,.service-article details p{margin:16px 0 4px}.bottom-cta{background:var(--blue);color:white;padding-block:65px}.bottom-cta h2,.bottom-cta p,.bottom-cta .eyebrow{color:white}.bottom-cta .eyebrow{color:#d7e7ff}.cta-row{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center}.cta-row p{margin-bottom:25px}footer{background:#10283e;padding:65px 0 22px;color:white}.footer-top{display:grid;grid-template-columns:1.15fr .95fr .7fr 1.2fr;gap:35px;padding-bottom:45px}.footer-top h3{color:white;font-size:1.125rem;letter-spacing:0;margin:5px 0 15px}.footer-top p{font-size:1rem;color:#c7d8e6;line-height:1.6;margin-top:20px}.footer-top>div>a:not(.brand){display:flex;align-items:center;min-height:44px;width:fit-content;color:#dae5ee;font-size:.95rem;text-decoration:none}.footer-top>div>a:hover{text-decoration:underline}.footer-top .footer-email{overflow-wrap:anywhere}.footer-top>div>a.footer-phone{font-size:1.35rem;font-weight:750;color:white}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;border-top:1px solid #3f586e;padding-top:25px;font-size:.875rem;color:#c7d8e6}.footer-bottom a{color:#dbe7ef}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:.95rem;margin-bottom:30px;color:var(--muted)}.breadcrumbs a{min-height:32px;display:inline-flex;align-items:center}.service-hero{--accent:var(--blue);--tint:#f1f6ff;--border:#c7d8f1;background:var(--tint);padding:27px 0 35px;border-bottom:1px solid var(--border)}.service-hero[data-tone="surveys"]{--accent:#00665c;--tint:#eff9f6;--border:#bcded5}.service-hero[data-tone="cleaning"]{--accent:#493984;--tint:#f5f2ff;--border:#d9d0f3}.service-hero[data-tone="sourcing"]{--accent:#87410d;--tint:#fff7e8;--border:#efd6b2}.service-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:28px 55px;align-items:center}.service-hero .eyebrow{color:var(--accent)}.service-hero h1{font-size:clamp(2.6rem,4.3vw,3.7rem);margin-bottom:23px}.service-hero h1 em{color:var(--accent)}.service-hero-grid>div>p{font-size:1.1875rem;line-height:1.75;margin-bottom:25px;max-width:680px}.service-hero .button{background:var(--accent)}.service-summary.with-photo{grid-column:1/-1;display:flex;align-items:center;gap:24px;padding-top:25px;border-top:1px solid var(--border)}.service-summary.with-photo>.eyebrow,.service-summary.with-photo>h2{display:none}.service-summary ul{list-style:none;display:flex;flex-wrap:wrap;gap:12px 26px;padding:0;margin:0;font-size:.95rem;color:var(--navy)}.service-summary li:before{content:'✓';color:var(--accent);font-weight:800;margin-right:9px}.service-summary>a{margin-left:auto;font-weight:700;font-size:1rem;white-space:nowrap;color:var(--accent)}.project-photo{min-width:0}.photo-window{position:relative;overflow:hidden;background:#eaf0f4;isolation:isolate}.photo-window>img{position:absolute;left:50%;top:50%;max-width:none}.service-media .photo-window{border-radius:24px}.photo-window.illustrated{background:#f0f7fc}.project-photo figcaption{padding-top:14px;font-size:1rem;line-height:1.5;color:var(--muted)}.project-photo figcaption>span{font-size:.9375rem;display:block;color:var(--teal);font-weight:750;margin-bottom:3px}.service-jumps{display:flex;flex-wrap:wrap;gap:5px 34px;border-bottom:1px solid var(--line);padding-block:13px}.service-jumps>a{display:inline-flex;align-items:center;min-height:44px;font-size:1rem;font-weight:700}.service-jumps a:last-child{margin-left:auto}.service-visuals{padding:55px 0;border-bottom:1px solid var(--line)}.service-visuals .section-heading{margin-bottom:28px}.service-visuals h2{font-size:2rem;max-width:570px}.service-visuals .section-heading>p{font-size:1rem;max-width:380px}.article-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.article-photos:has(>.project-photo:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.article-photos>.project-photo:only-child{grid-column:span 2;max-width:530px}.article-photos .photo-window{border-radius:15px}.reading-grid{display:grid;grid-template-columns:285px minmax(0,1fr);gap:55px;align-items:start;padding-block:55px 80px}.toc{position:sticky;top:120px;max-height:calc(100dvh - 145px);overflow:auto;padding:22px;background:var(--pale);border:1px solid var(--line);border-radius:15px;font-size:1rem}.toc summary{font-size:1.05rem;font-weight:750;cursor:pointer;color:var(--navy);padding:4px 0 12px}.toc nav{display:flex;flex-direction:column;padding-top:5px}.toc nav a{display:flex;align-items:center;min-height:44px;padding:10px 0;color:var(--blue);text-decoration:none;line-height:1.45;border-bottom:1px solid var(--line)}.toc nav a:hover{color:var(--blue);text-decoration:underline}.toc>.button,.toc>.text-link{margin-top:20px;font-size:.95rem}.service-article{max-width:68ch;min-width:0;font-size:1.1875rem;line-height:1.85}.service-article p{margin-bottom:25px;color:#2e4357}.service-article h2{font-size:2rem;margin:0 0 23px;line-height:1.3}.service-article h3{font-size:1.4rem;margin:28px 0 16px;line-height:1.4}.service-article li{color:#2e4357;margin-bottom:14px}.service-article ul{margin-block:20px 25px}.article-section{padding:35px 0 25px;border-bottom:1px solid var(--line);scroll-margin-top:115px}.article-section:first-child{padding-top:0}.service-article details h3{display:inline;font-size:inherit;margin:0}.service-article a{overflow-wrap:anywhere}.service-article details:last-child{border-bottom:0}.city-hero,.blog-hero{padding:30px 0 65px;background:var(--pale)}.city-hero h1,.blog-hero h1{max-width:1000px;margin-bottom:25px}.city-hero p,.blog-hero p{font-size:1.2rem;max-width:700px}.city-services{padding-block:55px 85px}.city-services>section{margin-bottom:48px}.city-services h2{font-size:2rem;margin-bottom:24px}.city-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.service-tile{display:flex;flex-direction:column;padding:28px;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:15px;text-decoration:none;background:white}.city-services>section:nth-child(2) .service-tile{border-top-color:var(--teal);background:#f5fbf9}.city-services>section:nth-child(3) .service-tile{border-top-color:#493984}.city-services>section:nth-child(4) .service-tile{border-top-color:#87410d}.service-tile h3{font-size:1.4rem;display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.service-tile p{font-size:1rem}.service-tile>span{font-size:1rem;font-weight:700;margin-top:auto;padding-top:24px}.service-tile:hover{background:var(--pale)}.blog-list{padding-block:60px 90px}.blog-list .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-article-hero{padding:26px 0 45px;background:var(--pale)}.blog-article-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:55px;align-items:center}.blog-article-heading h1{font-size:clamp(2.5rem,4vw,3.65rem);margin-bottom:24px}.blog-article-heading p{font-size:1.125rem}.blog-cover .photo-window{border-radius:20px}.post-meta{display:flex;flex-wrap:wrap;gap:4px 25px;font-size:.875rem;line-height:1.55;margin-top:24px;color:var(--muted)}.guide-takeaway{padding:27px;border-left:5px solid var(--teal);background:#eef9f6;border-radius:0 14px 14px 0;margin-bottom:30px}.guide-takeaway p{margin-bottom:0;font-size:1.125rem}.related-guides{background:var(--pale);border:1px solid var(--line);border-radius:16px;padding:28px;margin-top:40px}.related-guides h2{font-size:1.7rem}.related-guides>a{display:flex;justify-content:space-between;gap:18px;align-items:center;min-height:52px;padding-block:12px;font-weight:700;border-top:1px solid var(--line);line-height:1.5}.guide-service{border-top:1px solid var(--line);padding:18px 0}.guide-service h3{font-size:1.2rem;margin:0 0 6px}.guide-service>div{display:flex;gap:25px;flex-wrap:wrap}.guide-service a{display:inline-flex;align-items:center;min-height:44px}.more-guides{padding-bottom:80px}.more-guides .blog-grid{grid-template-columns:1fr 1fr}.enquiry-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;padding-block:55px 90px;align-items:start}.back-link{display:inline-flex;align-items:center;min-height:44px;margin-bottom:25px;font-size:1rem}.enquiry-intro h1{margin-bottom:25px}.enquiry-intro>p{margin-bottom:28px}.contact-card{margin-block:30px;padding:25px;background:#edf8f5;border-radius:16px;border:1px solid #bfded3}.contact-card>a{font-weight:700;overflow-wrap:anywhere;display:block;margin-bottom:15px}.contact-card p{font-size:1rem}.business-contact{border:1px solid var(--line);padding:25px;border-radius:16px;margin-bottom:25px}.business-contact h2{font-size:1.6rem;margin-bottom:12px}.business-contact a{display:flex;min-height:44px;align-items:center;font-size:1rem;overflow-wrap:anywhere}.business-contact .contact-phone{font-size:1.45rem;font-weight:750}.business-contact h3{font-size:1.125rem;letter-spacing:0;margin:24px 0 8px}.business-contact address{font-style:normal;color:var(--muted);font-size:1rem}.business-contact ul{list-style:none;padding:0;font-size:1rem;color:var(--muted)}.small-print,.privacy-note{font-size:.875rem;line-height:1.65}.enquiry-form-wrap{padding:34px;background:var(--pale);border:1px solid var(--line);border-radius:20px}.form-heading{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-weight:700;font-size:.875rem;border-bottom:1px solid #c3d3e0;padding-bottom:15px;margin-bottom:23px;color:var(--navy)}.form-heading.second{margin-top:34px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 20px}.form-grid label{display:flex;flex-direction:column;gap:9px;font-size:1rem;font-weight:700;min-width:0}.form-grid input,.form-grid select,.form-grid textarea{width:100%;background:white;border:1px solid #8fa5b7;color:var(--ink);padding:12px 14px;min-height:52px;font-size:1rem;font-weight:400;line-height:1.6}.form-grid input::placeholder,.form-grid textarea::placeholder{color:#5d6b78;opacity:1}.form-grid .full{grid-column:1/-1}.optional{font-weight:400;font-size:.95rem}.form-note{font-size:.95rem;margin:25px 0}.full-button{width:100%}.privacy-note{margin-top:18px}.email-preview h2{font-size:2rem;margin-bottom:18px}.email-preview p{font-size:1rem}.email-preview pre{font-family:inherit;white-space:pre-wrap;overflow-wrap:anywhere;background:white;border:1px solid var(--line);border-radius:12px;padding:22px;font-size:1rem;line-height:1.75;margin-block:25px}.draft-actions{display:flex;flex-wrap:wrap;gap:12px}.text-button{background:none;color:var(--blue);font-size:1rem;min-height:48px;padding:12px 0;text-decoration:underline}.legal{max-width:900px;padding-block:65px 90px}.legal h1{margin-bottom:25px}.legal h2{font-size:1.8rem;margin:38px 0 17px}.legal p{margin-bottom:22px}.error-page{padding:100px 0;max-width:900px}.error-page h1{margin-bottom:24px}.error-page p{margin-bottom:30px}

.service-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 23px}.service-call{display:inline-flex;align-items:center;min-height:52px;font-size:1.0625rem;font-weight:750;color:var(--accent)}
.service-brief{padding:46px 0 0}.brief-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px 24px;margin-bottom:22px}.brief-heading .eyebrow{margin:0}.brief-heading h2{font-size:1.8rem;letter-spacing:-.025em}.brief-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #b8cddf;border-radius:16px;overflow:hidden;background:#f3f7fc}.brief-grid>div{padding:25px;border-right:1px solid #b8cddf}.brief-grid>div:last-child{border-right:0}.brief-grid h3{font-size:1.125rem;letter-spacing:0;margin-bottom:12px}.brief-grid p{font-size:1.0625rem;line-height:1.75;color:#2e4357}
.hero-copy,.hero-grid>*,.service-hero-grid>*,.category-grid>*,.section-heading>*,.blog-grid>*,.footer-top>*{min-width:0}.hero-actions .button,.button,.toc a{overflow-wrap:anywhere}.service-summary>a{white-space:normal}.hero-review-links .review-note{color:var(--muted)}
@media(min-width:1800px){.container{width:min(1380px,calc(100% - 100px))}.hero-image{min-height:570px}}
@media(max-width:1150px){.utility-inner>span{font-size:.875rem}.utility-contacts{gap:20px}.utility-contacts>a:last-child{display:none}.nav-row{min-height:84px}.menu-toggle{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 14px;background:var(--pale);color:var(--navy);font-size:1rem;font-weight:700}.menu-toggle>span{font-size:1.15rem}#main-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:20px;background:white;border:1px solid var(--line);border-radius:0 0 16px 16px;box-shadow:var(--shadow);max-height:calc(100dvh - 100px);overflow:auto;overscroll-behavior:contain}#main-nav.open{display:flex;flex-direction:column;align-items:stretch;gap:5px}#main-nav>a:not(.button){padding:10px 0}.services-panel{position:static;grid-template-columns:1fr 1fr;padding:20px 0;border:0;border-top:1px solid var(--line);box-shadow:none;max-height:none;overflow:visible}.services-menu>summary{padding:10px 0}.hero-grid{gap:34px}.hero-image{min-height:490px}.hero h1{font-size:3.45rem}.finder{grid-template-columns:1fr 1fr 1.2fr;gap:20px}.finder-intro{grid-column:1/-1}.finder h2{font-size:1.8rem}.finder-intro .eyebrow{display:inline-block;margin-right:12px}.finder-intro h2{display:inline}.footer-top{grid-template-columns:1fr 1fr;gap:38px}.service-hero-grid,.blog-article-heading{gap:30px}.reading-grid{grid-template-columns:250px minmax(0,1fr);gap:35px}.service-summary.with-photo{align-items:flex-start;flex-direction:column;gap:15px}.service-summary>a{margin-left:0}.enquiry-section{gap:35px}.enquiry-form-wrap{padding:26px}.blog-card-copy{padding:22px}}
@media(max-width:900px){.brief-grid{grid-template-columns:1fr}.brief-grid>div{border-right:0;border-bottom:1px solid #b8cddf}.brief-grid>div:last-child{border-bottom:0}.container{width:calc(100% - 48px)}.hero-grid{grid-template-columns:1fr 1fr;gap:26px}.hero h1{font-size:2.95rem}.hero-copy>p{font-size:1.125rem}.hero-image{min-height:460px;border-top-left-radius:55px}.hero-image figcaption{padding-inline:24px}.hero-image figcaption strong{font-size:1.4rem}.hero-review-links{gap:12px}.hero-review-links>a:not(:first-child){padding-left:12px}.hero-review-links .review-note{border:0!important;padding-left:0!important}.finder{grid-template-columns:1fr 1.3fr}.finder>.button{grid-column:1/-1}.section-heading{gap:30px}.section-heading>p,.section-heading>div:last-child:not(:first-child){max-width:320px}.category-card{padding:22px}.category-heading{margin:-22px -22px 22px;padding:24px 22px}.category-heading{gap:12px}.category-heading h3{font-size:1.5rem}.category-number{width:35px;min-width:35px;height:35px}.service-list li{padding-inline:0}.steps{gap:25px}.blog-grid{grid-template-columns:1fr 1fr}.blog-preview .blog-card:last-child{grid-column:1/-1}.blog-preview .blog-card:last-child>a{display:grid;grid-template-columns:1fr 1fr}.blog-preview .blog-card:last-child .photo-window{align-self:start}.home-faq{gap:35px;grid-template-columns:1fr 1.4fr}.city-card{padding:26px}.city-card h3{font-size:2rem}.service-hero h1{font-size:2.9rem}.service-hero-grid{align-items:start;grid-template-columns:1fr 1fr;gap:26px}.service-media{margin-top:28px}.reading-grid{grid-template-columns:1fr;gap:30px}.toc{position:static;max-height:none;display:block}.toc nav{columns:2;display:block}.toc nav a{break-inside:avoid}.toc>.button{margin-top:14px}.service-article{max-width:none}.service-visuals .section-heading{display:block}.service-visuals .section-heading>p{max-width:700px;margin-top:18px}.service-visuals h2{max-width:none}.city-service-grid{grid-template-columns:1fr 1fr}.blog-article-heading{grid-template-columns:1fr}.blog-cover{max-width:650px}.enquiry-section{grid-template-columns:1fr}.enquiry-intro h1 br{display:none}.enquiry-intro{max-width:750px}.business-contact{max-width:620px}.enquiry-form-wrap{padding:35px}.cta-row{gap:35px}.review-card{padding:26px}.review-card blockquote{font-size:1.3rem}}
@media(max-width:700px){.service-brief{padding-top:35px}.brief-grid>div{padding:23px}.brief-heading h2{font-size:1.7rem}.service-actions{gap:8px 20px}.service-actions .button{flex-grow:1}.service-call{justify-content:center;flex-grow:1}.finder select,.form-grid input,.form-grid select,.form-grid textarea{font-size:1.0625rem}html{scroll-padding-top:95px}.container{width:calc(100% - 40px)}body{font-size:1.125rem}.utility-inner>span{display:none}.utility-contacts{justify-content:center;width:100%}.utility a{min-height:46px}.nav-row{min-height:78px;gap:16px}.brand-logo-frame{width:48px;height:54px}.brand-logo-frame img{width:100px;left:-25px;top:-40px}.brand{gap:9px}.brand-name{font-size:.875rem;letter-spacing:.04em}.brand-name>span{font-size:.875rem;letter-spacing:.02em}.menu-toggle{padding:10px;font-size:.95rem;gap:8px}#main-nav{left:-10px;right:-10px}.services-panel{grid-template-columns:1fr;gap:24px}.hero{padding:35px 0 50px}.hero-grid{grid-template-columns:1fr;gap:35px}.hero h1{font-size:clamp(2.7rem,9vw,3.8rem);margin-bottom:22px}.hero-copy>p br{display:none}.hero-actions{gap:10px;margin-top:24px}.hero-actions .button{flex-grow:1;padding-inline:15px}.hero-review-links{gap:13px 20px;margin-top:24px}.hero-review-links>a:not(:first-child){padding-left:20px}.hero-review-links .review-note{font-size:.875rem}.hero-image{height:360px;min-height:0;margin-right:7px;box-shadow:9px 9px 0 #c4eae3;border-radius:65px 18px 18px 18px}.hero-image>img{object-position:center 57%}.hero-image figcaption{padding:65px 25px 25px}.hero-image figcaption strong{font-size:1.5rem}.finder-wrap{margin-top:-20px}.finder{padding:25px;grid-template-columns:1fr;gap:20px}.finder-intro h2{display:block;font-size:1.65rem}.finder .eyebrow{margin-bottom:5px}.finder-intro,.finder>.button{grid-column:auto}.section{padding-block:60px}.section-heading{display:block;margin-bottom:30px}.section-heading>p,.section-heading>div:last-child:not(:first-child){max-width:none;margin-top:23px}.section-heading h2 br{display:none}.category-grid,.review-grid,.city-grid{grid-template-columns:1fr;gap:22px}.category-card{padding:24px}.category-heading{margin:-24px -24px 24px;padding:24px}.category-heading h3{font-size:1.65rem}.category-heading .eyebrow{font-size:.875rem;letter-spacing:.025em}.card-desc{font-size:1.0625rem}.service-list li>span{font-size:1.0625rem}.service-list li>div{gap:10px}.service-list a{font-size:1rem}.approach-section{padding-block:55px}.steps{grid-template-columns:1fr;gap:25px;margin-block:30px}.steps>li{display:flex;gap:20px}.steps>li>span{margin:0;padding-top:3px;min-width:25px}.steps h3{font-size:1.35rem;margin-bottom:9px}.review-card{padding:27px}.review-score{margin-block:10px 20px}.review-card blockquote{font-size:1.3rem}.review-score strong{font-size:2.7rem}.city-card{padding:27px}.city-card h3{font-size:2.2rem}.city-card p{font-size:1rem}.blog-preview{padding-block:55px}.blog-grid,.blog-list .blog-grid,.more-guides .blog-grid{grid-template-columns:1fr}.blog-preview .blog-card:last-child{grid-column:auto}.blog-preview .blog-card:last-child>a{display:flex}.blog-card-copy{padding:26px}.home-faq{grid-template-columns:1fr;gap:30px;padding-block:60px}.home-faq h2 br{display:none}.home-faq>div>p{margin-top:18px}.bottom-cta{padding-block:50px}.cta-row{grid-template-columns:1fr;gap:25px}.cta-row h2 br{display:none}footer{padding-top:50px}.footer-top{grid-template-columns:1fr 1fr;gap:35px 24px}.footer-top>div:first-child,.footer-top>div:last-child{grid-column:1/-1}.footer-top h3{margin-bottom:10px}.footer-bottom{flex-direction:column;align-items:start}.breadcrumbs{font-size:.875rem;gap:7px;margin-bottom:23px}.service-hero{padding-block:23px 28px}.service-hero-grid{grid-template-columns:1fr;gap:26px}.service-hero h1{font-size:clamp(2.35rem,8vw,3rem)}.service-hero-grid>div>p{font-size:1.125rem}.service-media{margin-top:0}.service-summary.with-photo{gap:18px}.service-summary ul{display:grid;gap:10px}.service-jumps{gap:4px 24px;justify-content:start}.service-jumps a{font-size:.95rem}.service-jumps a:last-child{margin-left:0}.service-visuals{padding-block:38px}.service-visuals h2{font-size:1.8rem}.article-photos,.article-photos:has(>.project-photo:nth-child(2):last-child){grid-template-columns:1fr;gap:28px}.article-photos>.project-photo:only-child{grid-column:auto;max-width:none}.project-photo figcaption{font-size:1rem}.project-photo figcaption>span{font-size:.9375rem}.reading-grid{padding-block:35px 55px}.toc{padding:20px}.toc nav{columns:1}.service-article{font-size:1.125rem;line-height:1.85}.service-article h2{font-size:1.8rem}.service-article h3{font-size:1.3rem}.article-section{scroll-margin-top:95px}.city-hero,.blog-hero{padding-block:24px 40px}.city-hero h1,.blog-hero h1{font-size:2.65rem}.city-hero p,.blog-hero p{font-size:1.125rem}.city-services{padding-block:40px 50px}.city-service-grid{grid-template-columns:1fr}.service-tile{padding:25px}.blog-list{padding-block:40px 60px}.blog-article-hero{padding-block:24px 35px}.blog-article-heading h1{font-size:2.55rem}.blog-article-heading p{font-size:1.0625rem}.post-meta{gap:10px}.guide-takeaway,.related-guides{padding:23px}.more-guides{padding-bottom:55px}.enquiry-section{padding-block:35px 60px;gap:25px}.enquiry-intro h1{font-size:2.8rem}.enquiry-form-wrap{padding:25px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.form-heading{line-height:1.5}.contact-card,.business-contact{padding:22px}.legal{padding-block:45px 60px}.legal h1{font-size:2.7rem}.error-page{padding-block:65px}}
@media(max-width:380px){.service-list a{padding-inline:10px;font-size:.9375rem}.container{width:calc(100% - 32px)}.brand-name{font-size:.8rem}.brand-name>span{font-size:.8rem}.brand-logo-frame{width:43px}.menu-toggle{gap:7px;padding:8px}.category-card,.review-card,.finder,.enquiry-form-wrap{padding:20px}.category-heading{margin:-20px -20px 20px;padding:22px 20px}.category-heading{gap:10px}.category-number{display:none}.hero-review-links{gap:12px}.hero-review-links>a:not(:first-child){padding-left:12px}.city-card h3{font-size:1.9rem}.footer-top{gap:30px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.button:hover{transform:none}}
@media print{.utility,.site-header,.toc,.service-jumps,.bottom-cta,footer,.button,.finder-wrap{display:none}.container{width:100%}.reading-grid,.service-hero-grid{display:block}.service-hero{background:white}.service-article{max-width:none}.service-media{max-width:450px}.service-article details{display:block}.service-article details>*{display:block}a{color:#111}.article-section{break-inside:avoid}body{font-size:12pt}}

/* Clear contact routes and a homepage led by the supplied site photographs. */
#main-nav>a[aria-current="page"]{color:var(--blue);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:8px}
.home-hero{background:linear-gradient(110deg,#e7f0ff 0%,#fff 55%,#edf8f4 100%);padding:48px 0 70px}
.home-hero .hero-grid{grid-template-columns:1fr 1.04fr;gap:55px}.home-hero h1{font-size:clamp(3.15rem,4.8vw,4.6rem);line-height:1.1}.home-hero h1 em{color:var(--blue)}.home-hero .hero-copy>p{font-size:1.2rem;max-width:540px}.hero-contact{display:flex;align-items:center;flex-wrap:wrap;gap:15px 25px;margin:20px 0 28px}.hero-contact>a:first-child{font-size:1.15rem;font-weight:750;min-height:50px;display:inline-flex;align-items:center;color:var(--navy)}.button.whatsapp{background:#086744;color:white;border-color:#086744;font-size:1rem;gap:10px}.button.whatsapp:hover{background:#064e34;border-color:#064e34}.hero-services{display:flex;flex-wrap:wrap;gap:8px 18px;padding-top:22px;border-top:1px solid #b8cddf}.hero-services a{font-size:1rem;font-weight:650;min-height:44px;display:inline-flex;align-items:center;color:var(--navy)}
.site-photo-composition{display:grid;grid-template-columns:1.2fr .85fr;gap:20px;align-items:end;min-width:0}.site-photo-main{grid-column:1;grid-row:1/3;align-self:start;background:white;border:1px solid #bed0dc;border-radius:90px 18px 18px 18px;overflow:hidden;box-shadow:var(--shadow)}.site-photo-main .photo-window{border-radius:90px 18px 0 0}.site-photo-main figcaption{padding:20px;font-size:1rem;line-height:1.55;color:var(--navy)}.site-photo-main figcaption span{display:block;font-size:.875rem;font-weight:750;letter-spacing:.045em;color:var(--teal);margin-bottom:7px}.site-photo-detail{grid-column:2;grid-row:2;align-self:end;background:white;border:1px solid #bed0dc;border-radius:18px;overflow:hidden;transform:translateY(30px)}.site-photo-detail figcaption{font-size:1rem;line-height:1.5;padding:17px;color:var(--navy)}.site-photo-note{grid-column:2;grid-row:1;align-self:center;padding:28px 20px;background:var(--navy);color:white;border-radius:18px 65px 18px 18px}.site-photo-note strong{font-size:1.8rem;line-height:1.2;font-weight:750;letter-spacing:-.025em;display:block}.site-photo-note span{font-size:.9375rem;line-height:1.6;display:block;color:#dce8f2;margin-top:18px}
.cta-actions{display:flex;flex-wrap:wrap;gap:12px}.button.outline-light{border-color:white;background:transparent;color:white}.button.outline-light:hover{background:#ffffff1c}.service-hero .button.outline{background:transparent;color:var(--accent);border-color:var(--accent)}.service-hero .button.outline:hover{background:white}
.contact-dock{position:fixed;right:22px;bottom:22px;z-index:35;display:flex;align-items:center;gap:10px}.contact-dock>.dock-quote,.contact-dock>.dock-book{display:none}.contact-dock .whatsapp{box-shadow:0 8px 24px #102f4733;border:2px solid white;min-height:56px;border-radius:30px;padding:14px 22px}footer{padding-bottom:90px}
.location-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;padding-block:85px;border-bottom:1px solid var(--line)}.location-info h2{margin-bottom:24px}.location-info>p{max-width:540px}.location-info address{font-style:normal;margin-top:26px;font-size:1.125rem;line-height:1.7;color:var(--navy)}.location-info address strong{font-weight:750}.location-hours{list-style:none;padding:0;margin:24px 0;color:var(--muted);font-size:1rem;line-height:1.8}.location-phone{display:inline-flex;align-items:center;min-height:48px;font-size:1.7rem;font-weight:750;margin-bottom:20px}.location-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 25px}.location-actions .text-link{display:inline-flex;align-items:center;min-height:48px}.location-info>.small-print{margin-top:19px}.location-map{min-width:0;border:1px solid #b8cddf;border-radius:20px;overflow:hidden;background:#eef4f9}.location-map iframe{display:block;border:0;width:100%;height:450px}.location-map>p{padding:17px 20px;font-size:.9375rem;color:var(--navy);background:white}
.contact-page{padding-block:65px 30px}.contact-page-heading{max-width:820px}.contact-page-heading h1{margin-bottom:25px}.contact-page-heading>p{font-size:1.2rem;max-width:700px}.contact-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:38px}.contact-option{border:1px solid #c4d6e6;border-top:4px solid var(--blue);border-radius:15px;display:block;padding:28px;text-decoration:none;background:#f5f8fc}.contact-option h2{font-size:1.65rem;margin-bottom:17px;letter-spacing:-.02em}.contact-option p{font-size:1.0625rem}.contact-option:hover{background:#eaf2fc}.contact-option:nth-child(2){border-top-color:var(--teal)}.contact-option:nth-child(3){border-top-color:#87410d}.contact-message{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px;background:#eef8f3;border:1px solid #bfded0;border-radius:18px;margin-top:28px}.contact-message>div{max-width:730px}.contact-message h2{font-size:1.6rem;margin-bottom:12px}.contact-message p{font-size:1.0625rem;margin-bottom:16px}.contact-message a{overflow-wrap:anywhere}.contact-message>.button{flex-shrink:0}.business-contact>.button.whatsapp{display:inline-flex;width:fit-content;margin:15px 0 3px;color:white;min-height:52px}
.related-services{padding-bottom:75px}.related-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.related-service-card{display:block;text-decoration:none;background:#f2f7fd;border:1px solid #c5d8e7;border-radius:15px;padding:28px;border-top:4px solid var(--teal)}.related-service-card h3{font-size:1.4rem;display:flex;justify-content:space-between;gap:16px;margin-bottom:17px}.related-service-card .eyebrow{font-size:.875rem}.related-service-card p{font-size:1.0625rem}.related-service-card:hover{background:#e8f1fd}.related-service-card:hover h3{text-decoration:underline;text-underline-offset:4px}.related-services .section-heading>a{min-height:44px;display:inline-flex;align-items:center}.sitemap-main{columns:2}.legal li>a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:1150px){.home-hero .hero-grid{gap:30px}.site-photo-composition{gap:16px;grid-template-columns:1.2fr .8fr}.site-photo-note{padding:24px 18px}.site-photo-note strong{font-size:1.55rem}.site-photo-main figcaption,.site-photo-detail figcaption{padding:16px;font-size:.9375rem}.location-section{gap:35px}.contact-option{padding:23px}.contact-option h2{font-size:1.45rem}.contact-message{align-items:start;flex-direction:column}}
@media(max-width:900px){.home-hero .hero-grid{grid-template-columns:1fr;gap:35px}.home-hero h1{font-size:3.65rem}.home-hero .hero-copy>p{max-width:700px}.site-photo-composition{max-width:690px;margin-inline:auto;width:100%;grid-template-columns:1.2fr 1fr;gap:24px;padding-bottom:30px}.site-photo-note strong{font-size:2rem}.site-photo-note{padding:30px 24px}.site-photo-main figcaption,.site-photo-detail figcaption{padding:20px;font-size:1rem}.location-section{grid-template-columns:1fr;gap:35px;padding-block:60px}.location-info>p{max-width:720px}.location-map iframe{height:380px}.contact-option-grid,.related-service-grid{grid-template-columns:1fr}.contact-option h2{font-size:1.8rem}.contact-page{padding-top:50px}.related-services{padding-bottom:55px}.related-services .section-heading{align-items:start}.contact-option p{font-size:1.125rem}}
@media(max-width:700px){.home-hero{padding-top:32px}.home-hero h1{font-size:clamp(2.8rem,10vw,3.75rem)}.home-hero .hero-copy>p{font-size:1.125rem}.hero-contact{gap:10px 17px;justify-content:space-between}.hero-contact>a:first-child{font-size:1.0625rem}.hero-contact .button{padding-inline:16px}.hero-services{gap:3px 20px}.hero-services a{font-size:1rem}.site-photo-composition{gap:14px;grid-template-columns:1.2fr .9fr}.site-photo-note{padding:23px 15px;border-radius:15px 40px 15px 15px}.site-photo-note strong{font-size:1.4rem}.site-photo-note span{font-size:.875rem;margin-top:13px}.site-photo-main,.site-photo-main .photo-window{border-top-left-radius:55px}.site-photo-main figcaption,.site-photo-detail figcaption{padding:14px;font-size:.9375rem;line-height:1.5}.site-photo-detail{transform:translateY(15px)}.site-photo-main figcaption span{font-size:.875rem}.location-section{padding-block:50px}.location-map iframe{height:350px}.location-info h2{font-size:2.1rem}.contact-page-heading h1{font-size:2.6rem}.contact-page-heading>p{font-size:1.125rem}.contact-option-grid{gap:18px;margin-top:30px}.contact-message{padding:24px;gap:22px}.contact-message>.button{width:100%}.contact-page{padding-top:35px}.related-service-card{padding:24px}.related-services .section-heading>a{margin-top:18px}.contact-dock{left:0;right:0;bottom:0;padding:10px 12px max(10px,env(safe-area-inset-bottom));gap:8px;background:white;border-top:1px solid #b8cddf;display:grid;grid-template-columns:1fr 1fr 1fr;box-shadow:0 -5px 20px #102f4710}.contact-dock>.dock-quote,.contact-dock>.dock-book{display:flex;align-items:center;justify-content:center;min-height:50px;padding:10px 7px;border-radius:9px;font-size:.9375rem;line-height:1.4;text-align:center;font-weight:750;text-decoration:none}.dock-quote{background:var(--blue);color:white}.dock-book{color:var(--navy);background:#eaf1f8;border:1px solid #b8cddf}.contact-dock .whatsapp{border-radius:9px;min-height:50px;padding:10px 7px;font-size:.9375rem;line-height:1.4;box-shadow:none;border:1px solid #086744;gap:5px}.contact-dock .whatsapp>span{display:none}footer{padding-bottom:115px}.sitemap-main{columns:1}}
@media(max-width:380px){.site-photo-composition{grid-template-columns:1fr 1fr;gap:12px}.site-photo-note strong{font-size:1.25rem}.site-photo-note{padding:20px 14px}.site-photo-note span{font-size:.875rem}.site-photo-main figcaption,.site-photo-detail figcaption{font-size:.875rem;padding:12px}.hero-contact{flex-direction:column;align-items:stretch}.hero-contact>a{justify-content:center}}
@media print{.contact-dock,.location-map{display:none}.site-photo-composition{max-width:500px}.contact-option-grid,.related-service-grid{grid-template-columns:1fr}}

/* One photograph and one primary action keep the homepage introduction clear. */
.home-hero-simple{background:linear-gradient(115deg,#f0f6ff,#fff 68%);padding-block:52px 76px}
.home-hero-simple .hero-grid{grid-template-columns:1fr 1fr;gap:76px;align-items:center}
.home-hero-simple .hero-copy{padding-block:20px;min-width:0}
.home-hero-simple h1{font-size:clamp(3.1rem,4.8vw,4.65rem);line-height:1.12;letter-spacing:-.045em;margin-bottom:25px}
.home-hero-simple .hero-copy>p:not(.hero-audience){max-width:510px;font-size:1.2rem;line-height:1.75}
.home-hero-simple .hero-actions{margin-top:30px;gap:0}
.home-hero-simple .hero-actions .button{min-width:180px;background:var(--blue);color:white}
.home-hero-simple .hero-actions .button:hover{background:#103b83}
.home-hero-simple .hero-copy>.hero-audience{font-size:1rem;color:var(--muted);line-height:1.65;margin:23px 0 0;max-width:450px}
.home-cover{position:relative;margin:0;min-width:0;height:560px;overflow:hidden;border-radius:76px 20px 76px 20px;background:var(--navy);box-shadow:12px 12px 0 #c9e9e2}
.home-cover>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 56%}
.home-cover figcaption{position:absolute;left:0;right:0;bottom:0;padding:76px 32px 30px;background:linear-gradient(transparent,#071d34f5);color:white;font-size:1.55rem;line-height:1.4;font-weight:700;letter-spacing:-.02em}
@media(max-width:1150px){.home-hero-simple .hero-grid{gap:42px}.home-cover{height:520px}}
@media(max-width:900px){.home-hero-simple .hero-grid{grid-template-columns:1fr;gap:38px}.home-hero-simple .hero-copy{padding-block:0}.home-hero-simple .hero-copy>p:not(.hero-audience){max-width:650px}.home-cover{height:480px;max-width:700px;width:calc(100% - 12px);margin-inline:auto;object-position:center 60%}}
@media(max-width:700px){.home-hero-simple{padding-block:34px 58px}.home-hero-simple h1{font-size:clamp(2.65rem,10vw,3.7rem);margin-bottom:22px}.home-hero-simple .hero-copy>p:not(.hero-audience){font-size:1.125rem}.home-hero-simple .hero-actions{margin-top:25px}.home-hero-simple .hero-actions .button{width:auto;min-width:180px}.home-hero-simple .hero-copy>.hero-audience{margin-top:19px}.home-cover{height:390px;border-radius:52px 16px 52px 16px;box-shadow:8px 8px 0 #c9e9e2;width:calc(100% - 8px)}.home-cover figcaption{padding:66px 24px 25px;font-size:1.3rem}.contact-dock.contact-dock-simple{display:flex;left:auto;right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:0;background:transparent;border:0;box-shadow:none}.contact-dock-simple .whatsapp{border:2px solid white;border-radius:28px;min-height:54px;padding:12px 20px;box-shadow:0 6px 24px #102f4733;font-size:1rem}}
@media(max-width:380px){.home-cover{height:340px}.home-cover figcaption{font-size:1.2rem}}
@media print{.home-cover{height:400px;max-width:400px;box-shadow:none}.contact-dock.contact-dock-simple{display:none}}

/* Small service symbols, consistent with their text labels. */
.service-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:28px;height:28px;color:var(--accent,var(--blue));vertical-align:middle;transition:transform .22s ease}
.service-icon svg{display:block;width:24px;height:24px;overflow:visible}
.service-label{display:inline-flex;align-items:center;gap:12px;min-width:0}
.service-list li>.service-label{display:flex;align-items:center;gap:12px}
.category-symbol{display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;border-radius:12px;background:white;color:var(--accent)}
.category-symbol .service-icon{width:32px;height:32px;color:inherit}.category-symbol svg{width:28px;height:28px}
.menu-group>h2{display:flex;gap:10px;align-items:center}.menu-group>h2 .service-icon{width:24px;height:24px}.menu-group>h2 svg{width:22px;height:22px}
.menu-service>.service-label{display:flex;align-items:center;gap:9px}.menu-service .service-icon{width:21px;height:21px}.menu-service svg{width:19px;height:19px}
.service-heading-label{display:inline-flex;align-items:center;gap:13px}.service-heading-label .service-icon{width:46px;height:46px;background:white;border:1px solid var(--border);border-radius:12px}.service-heading-label svg{width:28px;height:28px}
.city-category-heading{display:flex;align-items:center;gap:14px}.city-category-heading>.service-icon{width:42px;height:42px;background:#edf4ff;border-radius:11px}.city-category-heading svg{width:26px;height:26px}
.service-tile h3{display:flex;justify-content:space-between;gap:14px}.service-tile .service-label{align-items:flex-start}.service-tile .service-icon{margin-top:2px}
.related-service-intro{margin-top:26px;padding:24px 28px;border-left:4px solid var(--teal);background:#eef7f5;border-radius:0 12px 12px 0}
.related-service-intro>strong{display:block;color:var(--navy);font-size:1.125rem;margin-bottom:6px}.related-service-intro>p{font-size:1rem;margin:0 0 8px;color:var(--muted)}
.related-service-intro ul{display:flex;flex-wrap:wrap;gap:2px 28px;list-style:none;margin:0;padding:0}.related-service-intro a{display:inline-flex;align-items:center;min-height:44px;line-height:1.5;font-size:1rem;font-weight:700;color:#07584f;text-underline-offset:4px}
.related-services{scroll-margin-top:115px}.related-services .section-heading>div>p{margin-top:16px;max-width:650px;font-size:1.0625rem}
.related-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.related-service-grid:has(>.related-service-card:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
.related-service-card{display:flex;flex-direction:column}.related-card-top{display:flex;align-items:center;gap:13px;margin-bottom:20px}.related-card-top .eyebrow{margin:0}.related-card-top .service-icon{width:44px;height:44px;border-radius:12px;background:white;border:1px solid #c5d8e7;color:var(--blue)}
.related-card-top svg{width:26px;height:26px}.related-service-card h3{line-height:1.4}.related-card-link{display:block;margin-top:auto;padding-top:18px;color:var(--blue);font-size:1rem;font-weight:700;line-height:1.5;text-decoration:underline;text-underline-offset:4px}
.related-booking{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:28px;margin-top:26px;background:var(--navy);border-radius:15px;color:white}.related-booking p{max-width:680px;font-size:1rem;line-height:1.7;color:#e4eef6;margin:0}.related-booking strong{display:block;color:white;font-size:1.15rem;margin-bottom:5px}.related-booking .button.navy{background:white;color:var(--navy);border-color:white;flex-shrink:0}.related-booking .button:hover{background:#e8f1fa}
a:hover .service-icon,a:focus-visible .service-icon,.category-card:hover>.category-heading .service-icon,.category-card:focus-within>.category-heading .service-icon{transform:translateY(-2px) rotate(-6deg)}
a:active .service-icon{transform:scale(.94)}
@media(max-width:1150px){.related-booking{align-items:flex-start;flex-direction:column;gap:20px}}
@media(max-width:900px){.related-service-grid,.related-service-grid:has(>.related-service-card:nth-child(3):last-child){grid-template-columns:1fr}.related-services{scroll-margin-top:90px}}
@media(max-width:700px){.category-heading{gap:14px}.category-symbol{width:42px;height:42px;min-width:42px;border-radius:10px}.category-symbol svg{width:25px;height:25px}.service-heading-label{gap:10px}.service-heading-label .service-icon{width:38px;height:38px}.service-heading-label svg{width:24px;height:24px}.related-service-intro{padding:21px 22px}.related-service-intro ul{gap:0 20px}.related-booking{padding:24px}.related-booking .button{width:100%;white-space:normal}.service-list li>.service-label{gap:10px}}
@media(prefers-reduced-motion:reduce){.service-icon{transition:none!important}a:hover .service-icon,a:focus-visible .service-icon,a:active .service-icon,.category-card:hover>.category-heading .service-icon,.category-card:focus-within>.category-heading .service-icon{transform:none}}

/* High-contrast service badges and early access to related work. */
.service-icon[data-icon="building-services"]{--icon-colour:#174da7}
.service-icon[data-icon="property-surveys"]{--icon-colour:#00665c}
.service-icon[data-icon="property-cleaning"]{--icon-colour:#493984}
.service-icon[data-icon="property-sourcing"]{--icon-colour:#87410d}
.service-icon[data-icon="electrical"]{--icon-colour:#174da7}
.service-icon[data-icon="plumbing-heating"]{--icon-colour:#075985}
.service-icon[data-icon="kitchen-fitting"]{--icon-colour:#00665c}
.service-icon[data-icon="door-installation"]{--icon-colour:#87410d}
.service-icon[data-icon="painting-decorating"]{--icon-colour:#6d28a8}
.service-icon[data-icon="epc"]{--icon-colour:#166534}
.service-icon[data-icon="retrofit-assessment"]{--icon-colour:#0f5961}
.service-icon[data-icon="damp-survey"]{--icon-colour:#2546a0}
.service-icon[data-icon="asbestos-survey"]{--icon-colour:#9a3412}
.service-icon[data-icon="legionella-assessment"]{--icon-colour:#155e75}
.service-icon[data-icon="floor-plans"]{--icon-colour:#334155}
.service-icon[data-icon="domestic-cleaning"]{--icon-colour:#5b3194}
.service-icon[data-icon]{width:36px;height:36px;min-width:36px;background:var(--icon-colour,var(--blue));color:#fff;border:0;border-radius:10px;box-shadow:inset 0 0 0 1px #0000000d}
.service-icon[data-icon] svg{width:25px;height:25px;stroke-width:2.5}
.category-symbol{width:54px;height:54px;min-width:54px;background:white;border:2px solid white;border-radius:14px}
.category-symbol .service-icon[data-icon]{width:46px;height:46px;min-width:46px;border-radius:10px;box-shadow:none}.category-symbol .service-icon[data-icon] svg{width:31px;height:31px}
.menu-group .service-icon[data-icon],.menu-service .service-icon[data-icon]{width:28px;height:28px;min-width:28px;border-radius:7px}.menu-group .service-icon[data-icon] svg,.menu-service .service-icon[data-icon] svg{width:20px;height:20px}
.menu-service>.service-label{gap:10px}.service-heading-label .service-icon[data-icon]{width:52px;height:52px;min-width:52px;border-radius:13px}.service-heading-label .service-icon[data-icon] svg{width:32px;height:32px}
.city-category-heading>.service-icon[data-icon]{width:48px;height:48px;min-width:48px;border-radius:12px}.city-category-heading>.service-icon[data-icon] svg{width:30px;height:30px}
.related-card-top .service-icon[data-icon]{width:48px;height:48px;min-width:48px;border-radius:12px}.related-card-top .service-icon[data-icon] svg{width:30px;height:30px}
.service-connect{margin-top:24px;margin-bottom:0;padding:28px 30px;background:#eef4fc;border:2px solid #174da7;border-radius:18px;scroll-margin-top:110px}
.service-connect-heading{display:flex;align-items:center;justify-content:space-between;gap:28px}.service-connect-heading>div{max-width:650px;min-width:0}.service-connect h2{font-size:1.7rem;line-height:1.35;letter-spacing:-.025em;color:var(--navy);margin:0 0 9px}.service-connect-heading p{font-size:1.0625rem;line-height:1.6;margin:0;color:var(--muted)}.service-connect-heading>.button{flex:0 0 auto;min-height:56px;background:var(--blue);color:#fff;border-color:var(--blue)}.service-connect-heading>.button:hover{background:#103b83}
.service-connect-links{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0 0;padding:0}.service-connect-links:has(>li:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}.service-connect-links:has(>li:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.service-connect-links li{min-width:0}.service-connect-links a{display:flex;align-items:center;gap:12px;min-height:76px;height:100%;padding:14px;background:white;border:1px solid #bacbdd;border-radius:11px;color:var(--navy);font-size:1rem;font-weight:700;line-height:1.45;text-decoration:none}.service-connect-links a:hover{border-color:var(--blue);background:#f7fbff}.service-connect-links a:hover>span:last-child,.service-connect-links a:focus-visible>span:last-child{text-decoration:underline;text-underline-offset:4px}.service-connect-links a>span:last-child{min-width:0;overflow-wrap:break-word}
@media(max-width:1150px){.service-connect-heading{align-items:flex-start;flex-direction:column;gap:20px}.service-connect-links,.service-connect-links:has(>li:nth-child(3):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.service-connect{padding:23px 21px;margin-top:20px;border-radius:14px}.service-connect h2{font-size:1.5rem}.service-connect-heading p{font-size:1rem}.service-connect-heading>.button{width:100%;white-space:normal;text-align:center;line-height:1.5}.service-connect-links,.service-connect-links:has(>li:nth-child(3):last-child),.service-connect-links:has(>li:nth-child(2):last-child){grid-template-columns:1fr;gap:10px;margin-top:20px}.service-connect-links a{min-height:64px;padding:12px 14px}.category-symbol{width:48px;height:48px;min-width:48px}.category-symbol .service-icon[data-icon]{width:40px;height:40px;min-width:40px}.category-symbol .service-icon[data-icon] svg{width:28px;height:28px}.service-heading-label .service-icon[data-icon]{width:44px;height:44px;min-width:44px}.service-heading-label .service-icon[data-icon] svg{width:28px;height:28px}}
@media print{.service-connect{break-inside:avoid}.service-icon[data-icon]{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Multi-service quotation form: native checkboxes, clear scope and no assumed prices. */
.enquiry-section{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:48px;align-items:start}
.enquiry-intro h1{font-size:clamp(2.4rem,3.8vw,3.6rem)}
.quote-steps{padding-left:25px;margin:30px 0;color:var(--navy)}
.quote-steps li{padding-left:8px;margin-bottom:20px;font-size:1.0625rem}
.quote-steps li::marker{font-weight:800;color:var(--blue)}
.quote-steps strong,.quote-steps span{display:block}.quote-steps span{color:var(--muted)}
.enquiry-intro .contact-card a{overflow-wrap:anywhere}
.service-choices{border:0;padding:0;margin:0;min-width:0}
.service-choices legend,.form-section-title{font-size:1.5rem;font-weight:750;line-height:1.4;letter-spacing:-.02em;color:var(--navy)}
.service-choices legend{padding:0;margin:0 0 8px}
#services-help{font-size:1.0625rem;line-height:1.65;margin-bottom:22px}
.service-choice-group{margin-bottom:22px}.service-choice-group h3{font-size:1.0625rem;line-height:1.5;letter-spacing:0;margin-bottom:10px}
.service-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.service-choice{display:flex;align-items:center;gap:10px;padding:12px;min-height:76px;border:2px solid #91a7b5;border-radius:10px;background:#fff;color:var(--navy);font-size:1rem;font-weight:700;line-height:1.5;cursor:pointer}
.service-choice:hover{border-color:var(--blue);background:#f0f5ff}
.service-choice:has(input:checked){border-color:var(--blue);background:#e9f1ff;box-shadow:inset 0 0 0 1px var(--blue)}
.service-choice:focus-within{outline:3px solid #a45100;outline-offset:3px}
.service-choice input{width:24px;height:24px;min-width:24px;margin:0;accent-color:#164fa7;cursor:pointer}
.service-choice .service-icon[data-icon]{width:32px;height:32px;min-width:32px;border-radius:8px}
.service-choice .service-icon[data-icon] svg{width:23px;height:23px}
.form-error{padding:12px 14px;border-left:4px solid #a41624;background:#fff2f2;color:#8b1521;font-weight:700;font-size:1.0625rem;margin:12px 0}
.quote-summary{padding:22px;margin:24px 0 30px;background:#fff;border:2px solid #355c7a;border-radius:12px}
.quote-summary h2{font-size:1.35rem;line-height:1.4}.quote-summary p,.quote-summary li{font-size:1rem;line-height:1.65}
#selection-count{margin:5px 0 10px;color:var(--navy);font-weight:650}
#selected-services{padding:0;margin:0;list-style:none}#selected-services li{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-top:1px solid #d1dce3;color:var(--navy)}
#selected-services li strong{font-size:.9375rem;white-space:nowrap;color:#315571}
.quote-total{display:flex;justify-content:space-between;gap:18px;border-top:2px solid #355c7a;margin:15px 0 10px;padding-top:15px;color:var(--navy)}
.quote-summary .quote-total{font-size:1.125rem}.quote-explanation{color:#3b4f60}
.form-section-title{padding-top:6px;margin:30px 0 20px}
#review-request:disabled{opacity:.6;cursor:wait;transform:none}
.email-preview pre{font-size:1rem;line-height:1.65}.draft-actions .button{white-space:normal;text-align:center}
@media(max-width:1100px){.enquiry-section{gap:30px}.enquiry-form-wrap{padding:26px}.service-choice-grid{grid-template-columns:1fr}}
@media(max-width:900px){.enquiry-section{grid-template-columns:1fr}.enquiry-intro{max-width:none}.service-choice-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.enquiry-form-wrap{padding:22px 16px}.service-choice-grid{grid-template-columns:1fr}.quote-summary{padding:18px 15px}.quote-steps{margin:24px 0}#selected-services li{flex-direction:column;gap:1px}.quote-total{flex-wrap:wrap}.form-section-title,.service-choices legend{font-size:1.35rem}.service-choice{min-height:66px}}
