/* Service identities use the supplied marks and their companion accent colours. */
.construction-area,.tile-construction{--service-accent:#40586b;--service-ink:#3b5367;--service-wash:#edf1f3;--service-button:#40586b}
.interior-area,.tile-interior{--service-accent:#a77952;--service-ink:#845b3b;--service-wash:#f4ede5;--service-button:#805638}
.cleaning-area,.tile-cleaning{--service-accent:#10aaa0;--service-ink:#087c77;--service-wash:#edf7f3;--service-button:#087b75}
.pest-area,.tile-pest-control{--service-accent:#667d45;--service-ink:#536738;--service-wash:#f0f3e8;--service-button:#536738}
.healthcare-area,.tile-healthcare{--service-accent:#16cfc5;--service-ink:#07817d;--service-wash:#e5f7f0;--service-button:#087b75}
.youth-area,.tile-youth-hostel{--service-accent:#c96d52;--service-ink:#9e503c;--service-wash:#faf0e9;--service-button:#984e39}
.service-ribbon{grid-template-columns:1.45fr 1fr .8fr .9fr 1.1fr .95fr;gap:14px;padding-top:24px;padding-bottom:24px}.service-ribbon>a{font-size:11px;white-space:normal;gap:0}.service-ribbon>a>span{flex:none}.service-ribbon>a:hover{color:#b9f3e9}
.service-index{grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:0}.service-index>a{padding:26px 27px 26px 0;border-bottom:1px solid var(--line);position:relative}.service-index>a+a{padding-left:27px;border-left:1px solid var(--line)}.service-index>a:nth-child(3n+1){padding-left:0;border-left:0}.service-index .index-mark{width:84px;height:84px;object-fit:contain;background:#fcfbf7;border-radius:13px;margin-bottom:20px}.service-index .index-number{color:var(--service-ink)}.service-index h3{margin:15px 0 12px;max-width:290px;min-height:58px;font-size:23px}.service-index p{max-width:300px;min-height:41px}.service-index .index-link{color:var(--service-ink)}.service-index>a:hover h3,.service-index>a:hover .index-link{color:var(--service-ink)}.service-index>a:before{content:'';position:absolute;inset-inline:27px;top:0;height:2px;background:var(--service-accent);opacity:0;transition:opacity .2s}.service-index>a:hover:before{opacity:1}
.service-area{border-top-color:var(--service-accent,#d9dfd6)}.cleaning-area{background:var(--service-wash)}.pest-area{background:var(--service-wash)}.interior-area{background:#faf6f0}.youth-area{background:var(--service-wash)}.service-identity{display:flex;gap:18px;align-items:center;margin-bottom:22px}.section-mark{width:99px;height:99px;flex:none;background:#fcfbf7;border:1px solid #e8e6db;border-radius:15px;object-fit:contain}.service-identity .eyebrow{font-size:9px;color:var(--service-ink);line-height:1.9;letter-spacing:1.5px;max-width:240px}.area-copy>.service-identity+h2{margin-top:0}.service-area:not(.healthcare-area) .area-copy h2 em{color:var(--service-ink)}.service-area:not(.healthcare-area) .button.primary{background:var(--service-button);color:white}.service-area:not(.healthcare-area) .button.primary:hover{filter:brightness(.92)}.service-area:not(.healthcare-area) .detail-number,.service-area:not(.healthcare-area) .scope-strip .eyebrow{color:var(--service-ink)}.service-area:not(.healthcare-area) .area-services li:before{background:var(--service-accent)}.service-area:not(.healthcare-area) .scope-strip .text-link{color:var(--service-ink)}.healthcare-area .service-identity .eyebrow{color:#b1e8d5}.service-photo figcaption span:last-child{white-space:normal;text-align:end;max-width:150px}.service-photo img[src*="pest-kitchen"]{object-position:50% 40%}
.identity-panel{margin:0;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 35px 36px;min-height:400px;background:#fcfbf7;border:1px solid #e5ddd0;position:relative;overflow:hidden}.identity-panel .feature-mark{width:250px;height:250px;object-fit:contain;position:relative}.panel-brand{font-size:11px;letter-spacing:3px;color:#087c77;text-transform:uppercase;margin:4px 0 12px}.identity-panel h3{font-family:var(--serif);font-style:italic;font-size:25px;color:var(--service-ink);text-align:center}.identity-colours{position:absolute;bottom:0;left:0;right:0;height:7px;display:grid;grid-template-columns:1.1fr 1fr 1fr}.identity-colours span:nth-child(1){background:#087b75}.identity-colours span:nth-child(2){background:var(--service-accent)}.identity-colours span:nth-child(3){background:#dfcbb6}.youth-area .identity-colours span:nth-child(3){background:#edc8b8}
.service-gallery{margin-top:50px;padding-top:28px;border-top:1px solid #cbd8cb}.gallery-heading{display:grid;grid-template-columns:1fr auto;gap:10px 30px;align-items:end;margin-bottom:23px}.gallery-heading>.eyebrow{grid-column:1/-1;color:var(--service-ink)}.gallery-heading h3{font-size:27px;letter-spacing:-.6px;line-height:1.3}.gallery-heading>p:not(.eyebrow){font-size:10px;color:var(--muted);line-height:1.8}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.pest-area .gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery-item{min-width:0;display:block;padding:0;border:1px solid #dce2d6;background:#fcfbf7;text-align:start;color:var(--ink);overflow:hidden}.gallery-item>img{display:block;width:100%;height:240px;object-fit:cover;object-position:50% 30%;transition:transform .25s}.gallery-item:hover>img{transform:scale(1.035)}.pest-area .gallery-item>img{height:235px}.gallery-item>img[src*="protective"]{object-position:50% 16%}.gallery-caption{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 15px;background:#fcfbf7;position:relative;font-size:11px;line-height:1.5;min-height:46px}.gallery-caption>span:last-child{font-size:17px;color:var(--service-ink)}.gallery-item:focus-visible{outline:3px solid var(--service-accent);outline-offset:4px}.footer-services{flex-wrap:wrap;gap:15px 25px}.footer-services a{font-size:10px}
.photo-dialog{width:min(1050px,calc(100% - 32px));max-width:1050px;max-height:94vh;padding:19px 23px 15px;background:#fcfbf7;border:0;color:var(--ink)}.photo-dialog::backdrop{background:#062d29dc}.photo-dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}.photo-dialog-top h2{font-size:16px;letter-spacing:0;line-height:1.5;margin:0}.photo-close{display:grid;place-items:center;width:36px;height:36px;border:1px solid #ccd8cd;background:transparent;color:var(--ink);font-size:26px;line-height:1}.photo-dialog figure{margin:0;text-align:center}.photo-dialog figure>img{display:block;max-height:69vh;max-width:100%;width:auto;height:auto;object-fit:contain;margin:0 auto;background:#f0eee6}.photo-dialog figcaption{font-size:12px;padding:14px 0 10px;line-height:1.6}.photo-dialog-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #d9dfd6;padding-top:13px}.photo-dialog-controls button{border:1px solid #cbd6ca;background:white;color:var(--ink);padding:11px 16px;font-size:11px;line-height:1.4}.photo-dialog-controls span{font-size:11px;color:var(--muted);direction:ltr}.photo-dialog .photo-close:hover,.photo-dialog-controls button:hover{background:#e8f0e5}
html[dir=rtl] .service-ribbon>a{font-size:12px}html[dir=rtl] .service-index>a{padding:26px 0 26px 27px}html[dir=rtl] .service-index>a+a{border-right:1px solid var(--line);border-left:0;padding-right:27px}html[dir=rtl] .service-index>a:nth-child(3n+1){padding-right:0;border-right:0}html[dir=rtl] .service-index h3{font-size:23px;line-height:1.65;letter-spacing:0}html[dir=rtl] .service-identity .eyebrow{font-size:12px;letter-spacing:0}html[dir=rtl] .service-area:not(.healthcare-area) .area-copy h2 em{color:var(--service-ink)}html[dir=rtl] .gallery-heading h3{font-size:27px;line-height:1.65;letter-spacing:0}html[dir=rtl] .gallery-heading>p:not(.eyebrow){font-size:12px}html[dir=rtl] .gallery-caption{font-size:13px}html[dir=rtl] .identity-panel h3{font-family:inherit;font-style:normal}html[dir=rtl] .panel-brand{letter-spacing:2px;direction:ltr}html[dir=rtl] .photo-dialog-top h2{font-size:18px}html[dir=rtl] .photo-dialog-controls button{font-size:12px}html[dir=rtl] .photo-dialog figcaption{font-size:14px}
@media(max-width:1150px){.service-index h3{font-size:21px}.service-ribbon>a{font-size:10px}.service-ribbon{gap:10px}.service-gallery{margin-top:38px}.gallery-item>img{height:210px}.pest-area .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pest-area .gallery-item>img{height:260px}.identity-panel{padding:25px;min-height:370px}.identity-panel .feature-mark{width:220px;height:220px}}
@media(max-width:860px){.service-ribbon{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 20px}.service-ribbon>a{font-size:11px}.service-index{grid-template-columns:repeat(2,minmax(0,1fr))}.service-index>a:nth-child(n){padding:25px 22px 25px 0;border-left:0;border-top:0}.service-index>a:nth-child(2n){padding-left:22px;border-left:1px solid var(--line)}.service-index h3{font-size:21px;min-height:57px}.section-mark{width:85px;height:85px}.service-identity{gap:15px}.service-identity .eyebrow{font-size:8px;letter-spacing:1px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-item>img{height:230px}.gallery-heading{grid-template-columns:1fr;gap:9px}.gallery-heading h3{font-size:25px}.gallery-heading>p:not(.eyebrow){font-size:11px}.pest-area .gallery-item>img{height:240px}.identity-panel{min-height:340px}.identity-panel .feature-mark{width:200px;height:200px}.identity-panel h3{font-size:22px}html[dir=rtl] .service-index>a:nth-child(n){padding:25px 0 25px 22px;border-right:0;border-left:0;border-top:0}html[dir=rtl] .service-index>a:nth-child(2n){padding-right:22px;border-right:1px solid var(--line)}html[dir=rtl] .service-index h3{font-size:22px}html[dir=rtl] .service-identity .eyebrow{font-size:11px}}
@media(max-width:700px){.service-ribbon{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 15px;padding-top:23px;padding-bottom:23px}.service-ribbon>a{font-size:10px}.service-index .index-mark{width:74px;height:74px;margin-bottom:18px}.service-index>a:nth-child(n){padding:24px 17px 24px 0}.service-index>a:nth-child(2n){padding-left:18px}.service-index h3{font-size:19px;line-height:1.45;min-height:56px}.service-index p{font-size:10px;min-height:0;margin-bottom:22px}.service-identity{margin-bottom:23px;gap:16px}.section-mark{width:85px;height:85px;border-radius:12px}.service-identity .eyebrow{font-size:8px;letter-spacing:1px;max-width:190px}.service-area .area-lead .area-copy h2{margin-top:0}.service-photo figcaption{line-height:1.7}.service-photo figcaption span:last-child{max-width:115px}.identity-panel{min-height:340px}.identity-panel .feature-mark{width:220px;height:220px}.youth-area .identity-panel{margin-top:0}.service-gallery{margin-top:34px;padding-top:25px}.gallery-heading h3{font-size:24px;line-height:1.4}.gallery-heading{margin-bottom:21px}.gallery-grid,.pest-area .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-item>img,.pest-area .gallery-item>img{height:170px}.gallery-caption{font-size:10px;padding:12px 10px;gap:8px;min-height:48px;line-height:1.6}.gallery-caption>span:last-child{font-size:14px}.photo-dialog{padding:14px;max-height:94vh}.photo-dialog figure>img{max-height:65vh}.photo-dialog-controls{gap:10px}.photo-dialog-controls button{font-size:10px;padding:11px 12px}.photo-dialog-top h2{font-size:15px}.photo-dialog figcaption{font-size:11px}.footer-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 20px}html[dir=rtl] .service-ribbon>a{font-size:11px}html[dir=rtl] .service-index>a:nth-child(n){padding:24px 0 24px 17px}html[dir=rtl] .service-index>a:nth-child(2n){padding-right:18px}html[dir=rtl] .service-index h3{font-size:20px;line-height:1.7}html[dir=rtl] .service-identity .eyebrow{font-size:11px}html[dir=rtl] .gallery-heading h3{font-size:24px}html[dir=rtl] .gallery-caption{font-size:12px}html[dir=rtl] .photo-dialog-controls button{font-size:11px}}
@media(max-width:390px){.service-index h3{font-size:17px}.service-index>a:nth-child(n){padding-right:12px}.service-index>a:nth-child(2n){padding-left:14px}.service-index .index-mark{width:68px;height:68px}.service-identity{gap:13px}.section-mark{width:78px;height:78px}.gallery-item>img,.pest-area .gallery-item>img{height:150px}.service-ribbon>a{font-size:9px}html[dir=rtl] .service-index h3{font-size:18px}html[dir=rtl] .service-index>a:nth-child(n){padding-left:12px;padding-right:0}html[dir=rtl] .service-index>a:nth-child(2n){padding-right:14px}html[dir=rtl] .service-ribbon>a{font-size:10px}}
@media(prefers-reduced-motion:reduce){.gallery-item>img{transition:none}.gallery-item:hover>img{transform:none}}
