
:root{--navy:#182c3c;--ink:#182c3c;--pink:#cf2869;--cyan:#27b4d0;--blue:#edf5f6;--muted:#5c6e78;--line:#dbe4e7;--radius:3px}
body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}h1,h2{font-weight:400;letter-spacing:-.055em}h3{font-weight:500}.wrap{width:min(1280px,calc(100% - 112px))}.review-ribbon{display:flex;justify-content:space-between;padding:7px 30px;background:#182c3c;color:#fff;font-size:9px;letter-spacing:.14em}.review-ribbon span{color:#bdcbd3;letter-spacing:.04em}.site-header{border-bottom:1px solid #e2e8eb}.header-inner{min-height:110px}.brand-mark{width:60px}.brand-name{width:234px}.brand{gap:13px}.main-nav{font-size:13px;font-weight:500;gap:30px}.phone-pill{border:0;background:var(--navy);color:white;border-radius:2px;padding:14px 18px;font-weight:500}.phone-pill span{color:#71cfe1}.homepage-hero{background:#f3f7f6;padding:62px 0 44px}.hero-intro{text-align:left;display:grid;grid-template-columns:1.25fr 1fr;column-gap:80px;align-items:end}.hero-intro>.eyebrow{grid-column:1/-1;justify-content:flex-start;font-size:10px;letter-spacing:.2em;margin-bottom:25px}.hero-intro h1{font-size:clamp(64px,6.6vw,96px);line-height:1.02;font-weight:350}.hero-intro h1 em{color:#56818c;font-weight:350}.hero-description{padding:0 0 5px 20px}.hero-description>p:first-child{font-size:25px;line-height:1.35;letter-spacing:-.025em;color:var(--navy)}.hero-description>p+p{font-size:14px;line-height:1.65;margin-top:18px}.hero-down{font-size:12px;display:flex;align-items:center;gap:50px;margin-top:25px;color:var(--navy)}.hero-down span{font-size:25px}.route-grid{margin-top:48px;gap:24px}.route-card{position:relative;height:490px;border-radius:3px;background:var(--navy);box-shadow:none}.route-image{position:absolute;inset:0;height:100%!important}.route-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,#10262c22 42%,#0b1c28eb 100%)}.route-image img{object-position:50% 28%!important}.route-card .image-caption{top:18px;left:18px;right:auto;bottom:auto;font-size:9px;background:#ffffffee;color:#243e4b;letter-spacing:.03em;padding:6px 10px;border-radius:0}.route-copy{position:absolute;left:0;right:0;bottom:0;padding:32px 34px;color:white;pointer-events:none;display:block}.route-copy .eyebrow{color:white;font-size:10px;margin-bottom:12px;letter-spacing:.17em}.route-copy .eyebrow:before{width:22px}.route-copy h2{color:white;font-size:55px;font-weight:400;line-height:1}.route-copy>p:not(.eyebrow){color:#e4edf0;max-width:360px;margin:14px 0 22px;font-size:14px;line-height:1.5}.route-copy .button{pointer-events:auto;background:transparent;border:1px solid #ffffff80;padding:10px 0 10px 15px;border-radius:2px;min-height:46px;font-size:12px;gap:30px;font-weight:500}.route-copy .button span{border-left:1px solid #ffffff80;width:44px;text-align:center}.route-copy .button:hover{background:#ffffff20;transform:none}.services{padding:30px 0}.services h3{font-weight:500;font-size:17px}.services>a{padding:5px 30px}.services svg{width:30px;height:30px}.service-arrow{display:block}.work-section{padding:90px 0}.section-heading h2{font-size:46px;font-weight:400;line-height:1.1}.section-heading .eyebrow{color:#70828a;font-size:10px}.section-heading p:not(.eyebrow){font-size:14px;max-width:650px}.section-heading{margin-bottom:34px;align-items:flex-end}.photo-link{border-radius:2px;height:285px}.project-grid{gap:40px 26px}.project-copy{padding:20px 0 0}.project-copy h3{font-size:20px;font-weight:500}.project-copy>p:last-child{font-size:13px}.date-chip{border-radius:0;font-weight:500}.expand-photo{border-radius:0}.care-feature{background:var(--navy);color:white;padding:64px 0}.care-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:16px 90px}.care-grid>.eyebrow{color:#81c5d4;grid-column:1/-1;margin-bottom:10px}.care-grid h2{font-size:52px;line-height:1.08}.care-grid>div{align-self:end}.care-grid p:not(.eyebrow){color:#c5d4db;font-size:15px;max-width:460px;line-height:1.7}.care-grid .text-link{color:white;border-bottom-color:#73c7d7;margin-top:25px}.credentials-section{padding:35px 0;background:#edf5f6}.credential img{mix-blend-mode:multiply}.training-section{padding:30px 0;border-bottom:1px solid var(--line)}.training h3{font-size:18px}.training p{font-size:12px}.training-note{font-size:10px}.approach-section{background:#fff;padding:85px 0}.approach-section h2{font-size:42px}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;padding-top:14px}.approach-grid article{border-top:1px solid #cbd7db;padding-top:22px}.approach-grid span{font-size:9px;letter-spacing:.15em;color:#648b98}.approach-grid h3{font-size:23px;margin:18px 0 13px}.approach-grid p{font-size:14px;line-height:1.7}.contact-section{background:#eaf3f5;color:var(--navy);padding:70px 0}.contact-section .eyebrow{color:#477e8d}.contact-section h2{font-size:48px;font-weight:400}.contact-section p:not(.eyebrow){color:#556c77}.contact-actions .button{background:var(--navy);color:white;border-radius:2px;font-weight:500}.contact-email{color:var(--navy)}.contact-estimate{color:#315b6a}.enquiry-wrap{border-top-color:#c8dbe1;margin-top:38px;padding-top:32px}.enquiry-wrap h3{font-size:25px;font-weight:400;margin-bottom:25px}.form-field label{font-size:12px;font-weight:500}.form-field input,.form-field select,.form-field textarea{border-radius:2px;border-color:#c0d2d9;font-size:15px;padding:14px}.form-grid{gap:22px}.submit-button{margin-top:20px;border:0;border-radius:2px;font-weight:500}.preview-captcha{font-size:11px!important;margin-top:20px!important}.form-note{margin-top:16px!important;font-size:11px!important;max-width:850px!important}.site-footer{background:#122633;padding:38px 0}.site-footer p{color:#c0d0d8}.sector-hero{background:#f3f7f6;padding:24px 0 70px}.sector-hero-grid{grid-template-columns:1fr 1.15fr;gap:70px}.sector-copy h1{font-size:clamp(50px,5vw,74px);font-weight:350;line-height:1.04}.sector-copy>p:not(.eyebrow){font-size:17px;line-height:1.7;max-width:470px}.sector-copy .button{border-radius:2px;font-weight:500}.sector-image{border-radius:2px}.sector-image>img{height:525px;object-position:center 30%}.sector-image figcaption{font-size:10px;border-radius:0}.page-commercial .sector-hero{background:#182c3c}.page-commercial .sector-hero p,.page-commercial .sector-hero .breadcrumb{color:#c6d4dc}.page-commercial .sector-hero h1{color:white}.page-commercial .sector-hero .eyebrow{color:#74cbde}.page-commercial .sector-hero .text-link{color:white;border-color:#74cbde}.page-commercial .sector-hero .button-primary{background:#73cbde;color:#122633}.page-commercial .sector-image{background:#263f50}.page-commercial .sector-image figcaption{color:#dce8ef}.planning-section{padding:65px 0}.planning-grid{grid-template-columns:.7fr 1.4fr;gap:65px}.planning-grid h2{font-size:40px;font-weight:400}.planning-items article>span{font-weight:400;color:#568997}.planning-items h3{font-size:21px;font-weight:500}.planning-items p{font-size:14px}.faq-section{padding:75px 0;background:#f3f7f6;border-bottom:1px solid #e0e8e9}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq-grid h2{font-size:44px;margin-bottom:20px}.faq-grid>div>p:not(.eyebrow){font-size:14px;max-width:300px}.faq-grid details{border-top:1px solid #cbd9de;padding:22px 0}.faq-grid details:last-child{border-bottom:1px solid #cbd9de}.faq-grid summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;font-size:16px;font-weight:500}.faq-grid summary::-webkit-details-marker{display:none}.faq-grid summary span{font-size:26px;color:#4f8794;font-weight:300;transition:transform .2s}.faq-grid details[open] summary span{transform:rotate(45deg)}.faq-grid details p{font-size:14px;line-height:1.8;margin-top:15px;max-width:580px}.gallery-intro{padding:30px 0 58px;background:#f3f7f6}.gallery-intro h1{font-size:70px;font-weight:350}.filter-group button{border-radius:2px;font-weight:500}.gallery-count{font-size:11px}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.brand-name{width:190px}.brand-mark{width:48px}.main-nav{gap:20px}.hero-intro{gap:36px}.route-card{height:460px}.route-copy{padding:28px}.sector-hero-grid{gap:40px}.sector-image>img{height:470px}.planning-grid{grid-template-columns:1fr}.planning-items{gap:30px}.photo-link{height:230px}}
@media(max-width:820px){.wrap{width:calc(100% - 44px)}.header-inner{min-height:90px}.brand-name{width:174px}.brand-mark{width:45px}.main-nav{gap:20px}.menu-toggle{border-radius:2px}.hero-intro{gap:25px}.hero-intro h1{font-size:70px}.hero-description{padding:0}.hero-description>p:first-child{font-size:21px}.route-grid{gap:18px}.route-card{height:440px}.route-copy{padding:25px}.route-copy h2{font-size:47px}.route-copy>p:not(.eyebrow){font-size:13px}.care-grid{gap:20px 40px}.care-grid h2{font-size:44px}.section-heading h2{font-size:39px}.sector-hero-grid{grid-template-columns:1fr 1.1fr;gap:25px}.sector-copy h1{font-size:50px}.sector-copy>p:not(.eyebrow){font-size:15px}.sector-image>img{height:450px}.approach-grid{gap:25px}.approach-grid h3{font-size:21px}.faq-grid{gap:35px}.faq-grid h2{font-size:38px}.contact-section h2{font-size:39px}.phone-pill{font-size:12px}}
@media(max-width:580px){.wrap{width:calc(100% - 36px)}.review-ribbon{padding:6px 18px;font-size:8px;letter-spacing:.08em}.review-ribbon span{font-size:8px}.header-inner{min-height:83px;gap:10px}.brand-name{width:162px}.brand-mark{width:41px}.brand{gap:8px}.phone-pill{background:none;color:var(--navy);font-size:0;padding:3px}.phone-pill span{color:var(--navy);font-size:25px}.menu-toggle{font-size:11px;padding:6px 9px}.main-nav{gap:13px;font-size:12px}.homepage-hero{padding:34px 0 26px}.hero-intro{display:block}.hero-intro>.eyebrow{font-size:8px;margin-bottom:20px;letter-spacing:.17em}.hero-intro h1{font-size:67px;line-height:.99}.hero-description{margin-top:24px}.hero-description>p:first-child{font-size:19px;line-height:1.4}.hero-description>p+p{font-size:12px;margin-top:12px}.hero-description br{display:none}.hero-down{font-size:11px;margin-top:17px;justify-content:space-between;border-bottom:1px solid #c8d6d9;padding-bottom:12px}.route-grid{margin-top:26px;gap:18px;grid-template-columns:1fr}.route-card{height:420px}.route-copy{padding:25px}.route-copy h2{font-size:48px}.route-copy>p:not(.eyebrow){font-size:13px;max-width:290px;margin:12px 0 18px}.route-copy .button{font-size:12px;min-height:43px}.route-card .image-caption{font-size:8px;top:14px;left:14px}.services{padding:14px 0}.services>a,.services>a:first-child,.services>a:last-child{padding:18px 0;gap:17px}.services h3{font-size:17px}.services p{font-size:12px}.services svg{width:28px}.work-section{padding:50px 0}.section-heading{gap:20px;margin-bottom:26px}.section-heading h2{font-size:37px}.section-heading p:not(.eyebrow){font-size:13px}.project-grid{grid-template-columns:1fr;gap:30px}.photo-link{height:270px}.project-copy{padding:16px 0 0}.project-copy h3{font-size:21px}.care-feature{padding:45px 0}.care-grid{display:block}.care-grid .eyebrow{font-size:9px;margin-bottom:20px}.care-grid h2{font-size:42px;margin-bottom:22px}.care-grid p:not(.eyebrow){font-size:14px}.care-grid .text-link{font-size:13px;margin-top:22px}.credentials-section{padding:28px 0}.credential img{width:130px}.credential .safe-logo{width:140px}.approach-section{padding:48px 0}.approach-section h2{font-size:34px}.approach-grid{grid-template-columns:1fr;gap:28px;padding-top:0}.approach-grid article{padding-top:18px}.approach-grid h3{margin:12px 0;font-size:24px}.approach-grid p{font-size:13px}.contact-section{padding:44px 0}.contact-section h2{font-size:39px}.contact-grid{grid-template-columns:1fr;gap:25px}.contact-actions .button{font-size:14px}.contact-email{font-size:14px}.contact-estimate{font-size:12px}.enquiry-wrap{margin-top:30px}.form-grid{grid-template-columns:1fr;gap:18px}.form-field input,.form-field select,.form-field textarea{font-size:16px}.enquiry-wrap h3{font-size:24px}.site-footer{padding:30px 0}.sector-hero{padding:20px 0 30px}.sector-hero-grid{grid-template-columns:1fr;gap:30px}.sector-copy h1{font-size:55px}.sector-copy>p:not(.eyebrow){font-size:16px}.sector-image>img{height:320px}.sector-image figcaption{font-size:9px}.planning-section{padding:43px 0}.planning-grid{gap:28px}.planning-grid h2{font-size:35px}.planning-items{grid-template-columns:1fr;gap:25px}.planning-items h3{font-size:21px}.planning-items p{font-size:13px}.faq-section{padding:45px 0}.faq-grid{display:block}.faq-grid h2{font-size:37px}.faq-grid>div>p:not(.eyebrow){margin-bottom:28px}.faq-grid summary{font-size:15px;line-height:1.5}.faq-grid details{padding:19px 0}.faq-grid details p{font-size:13px}.gallery-intro{padding:22px 0 36px}.gallery-intro h1{font-size:53px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Preserve the approved mobile headline line break. */
@media(max-width:580px){.hero-intro h1 br{display:block}}

/* Joined-up service page and clear heading contrast. */
.page-commercial .sector-hero h1 em{color:#81cddd}.page-service-contracts .hero{background:#f3f7f6}.page-service-contracts .hero-grid{gap:65px;padding-top:15px}.page-service-contracts .hero h1{font-weight:350;letter-spacing:-.055em}.page-service-contracts .hero-photo,.page-service-contracts .support-photo{border-radius:2px;box-shadow:none}.page-service-contracts .hero-photo{background:var(--navy)}.page-service-contracts .hero-photo figcaption{color:white}.page-service-contracts .hero .button{background:var(--pink);border-radius:2px;color:white}.page-service-contracts .contact{background:var(--navy)}.page-service-contracts .contact h2{font-size:44px;font-weight:400}.page-service-contracts .contact .button.light{background:white;color:var(--navy)}.page-service-contracts .contact .phone-link,.page-service-contracts .contact .mail-link{color:white}.page-service-contracts .number{font-weight:400}.page-service-contracts .step h3{font-weight:400}.page-service-contracts .nav{display:none}.main-nav{gap:22px}@media(max-width:1100px){.main-nav{gap:16px;font-size:12px}.page-service-contracts .hero-grid{gap:30px}}@media(max-width:820px){.main-nav{gap:12px}}@media(max-width:580px){.main-nav{flex-wrap:wrap;justify-content:flex-start;gap:0 18px}.page-service-contracts .contact h2{font-size:35px}.page-service-contracts .hero h1{font-size:47px}}

/* Keep the complete CAPTCHA visible on narrow phones. */
@media(max-width:359px){.enquiry-wrap .g-recaptcha{transform:scale(.9);transform-origin:left top;margin-bottom:-8px}}
