:root{--red:#dc252b;--blue:#097eaa;--ink:#353535;--muted:#60666b;--line:#dedede;--max:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;background:#fff}img{max-width:100%;height:auto;display:block}a{color:#087699;text-underline-offset:4px}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}h1,h2,h3{line-height:1.22;font-weight:500;margin:0 0 24px}h1{font-size:clamp(30px,3.3vw,48px)}h2{font-size:clamp(26px,2.7vw,36px)}h3{font-size:23px}p{margin:0 0 22px}.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.section{padding-block:75px}.reading{max-width:900px}.site-header{position:relative;z-index:20;background:#fff}.header-inner{min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:32px}.logo{width:280px;height:auto}#main-nav{display:flex;align-items:center;gap:27px}#main-nav>a,.services-toggle{border:0;background:none;color:#454545;text-decoration:none;font-size:14px;font-weight:600;padding:16px 0;white-space:nowrap}#main-nav [aria-current=page],#main-nav a:hover,.services-toggle:hover{color:#bd161d}.services-menu{position:relative}#services-links{position:absolute;top:100%;left:-15px;width:300px;padding:12px;background:white;box-shadow:0 8px 24px #0002;max-height:70vh;overflow:auto}#services-links a{display:block;padding:9px 12px;text-decoration:none;color:#333;line-height:1.4}#services-links a:hover{background:#f1f7f9}.menu-toggle{display:none}.photo{position:relative;isolation:isolate;color:white;overflow:hidden}.backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.photo:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.30))}.hero{min-height:660px;display:flex;align-items:center}.hero-copy{padding-block:100px}.hero h1{max-width:650px;font-size:clamp(36px,4.1vw,58px);font-weight:600}.hero p{max-width:580px;font-size:19px;line-height:1.8}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 26px;background:#c91e25;border:2px solid #c91e25;color:#fff;text-decoration:none;font-weight:600;font-size:15px;letter-spacing:.3px;border-radius:2px}.button:hover{background:#a90f15;border-color:#a90f15}.button:disabled{background:#6f6f6f;border-color:#6f6f6f;cursor:not-allowed}.intro{padding:70px 0;background:#d9eef9 url('/assets/images/snowy-mountains.webp') center/cover}.intro-card{background:#fff;padding:50px;width:58%;margin-left:auto;box-shadow:0 8px 25px #0000000b}.intro-logo{width:100%;margin:0 0 35px}.arc{width:105px;margin:16px 0}.licence{font-size:14px}.benefit{display:flex;gap:22px;margin-top:32px}.benefit img{width:64px;height:64px;flex-shrink:0}.benefit h3{font-size:22px;margin-bottom:12px}.benefit p{font-size:15px;margin:0}.services-section{padding:85px 0;background:#f7f7f7;text-align:center}.services-section h2{font-size:28px;color:#087e96;text-transform:uppercase;font-weight:600;margin-bottom:16px}.subtitle{color:#64696d;font-size:24px;margin-bottom:42px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:left}.card{background:#fff;padding:25px}.card img{width:100%;aspect-ratio:1.7;object-fit:contain;margin-bottom:28px}.card h3{font-size:24px}.card h3 a{color:#3c4247;text-decoration:none}.card h3 a:hover{text-decoration:underline}.card p{font-size:16px;color:#60666b}.residential{padding:105px 0;text-align:center}.residential:after{background:#000a}.residential .container{max-width:1050px}.residential h2{font-size:32px;text-transform:uppercase}.photo a:not(.button){color:#fff;text-decoration:underline;font-weight:600}.finance{padding-block:80px;text-align:center;max-width:960px}.finance h2{color:#c91e25;text-transform:uppercase;font-weight:600;margin-bottom:8px}.finance h3{text-transform:uppercase;color:#6b737b;font-size:34px}.finance hr{height:3px;border:0;background:#1c75aa;margin:38px 0}.outline{background:white;color:#333;border-color:#c9cfd2;margin-bottom:20px}.outline:hover{color:white}.commercial{padding:100px 0}.commercial h2{font-size:40px}.commercial p,.commercial h2{max-width:760px}.cta{padding-block:65px;text-align:center;max-width:1000px}.cta h2{font-size:32px;margin-bottom:16px}.contact-line{font-size:21px;margin-bottom:0}.brands{padding-bottom:65px}.brands img{margin:auto;width:900px}footer{background:#222328;color:#e5e5e7;padding:62px 0 25px;font-size:14px}.footer-grid{display:grid;grid-template-columns:1.2fr 1.2fr .8fr 1.2fr;gap:40px}footer h2{font-size:18px;color:white;margin-bottom:24px}footer a{color:#e0e0e4;text-decoration:none;display:inline-block;min-height:30px}footer section>a{display:block}footer a:hover{text-decoration:underline}.footer-bottom{display:flex;gap:28px;align-items:center;margin-top:32px;border-top:1px solid #414247;padding-top:25px}.footer-bottom p{margin:0}.social{display:flex;gap:12px}.social a{width:44px;height:44px;display:grid;place-items:center}.social svg{width:24px;height:24px;fill:currentColor}.page-heading{padding:68px 0;background:#f2f5f6;border-top:1px solid #eee}.page-heading h1{max-width:1050px;margin:0;font-size:clamp(30px,3vw,43px)}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.about-layout img{width:100%;border-radius:2px}.service-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:65px}.article h2{font-size:30px}.article h3{font-size:23px;margin-top:30px}.article li{padding:4px 0}.service-aside{border-left:1px solid #ddd;padding-left:28px;align-self:start}.service-aside h2{font-size:22px;margin-bottom:18px}.service-aside nav{margin-bottom:35px}.service-aside nav a{display:block;padding:9px 0;line-height:1.4;color:#3b6375}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:30px 0 65px}figure{margin:0}figure img{width:100%;height:300px;object-fit:cover}figcaption{font-size:14px;padding-top:12px;color:#5b6267}.faq-item{padding:26px 0;border-top:1px solid #ddd}.faq-item h3{font-size:23px;margin-bottom:16px}.faq-item p{margin:0}.contact-section{padding:70px 0;background:#edf5fa url('/assets/images/snowy-mountains.webp') center/cover}.contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:35px;align-items:start}.contact-card{padding:38px;background:#fff}.contact-card h2{font-size:29px}label{display:block;font-weight:600;margin-bottom:7px}label span{font-size:14px;font-weight:400}input,textarea{width:100%;padding:12px;border:1px solid #82888e;border-radius:2px;background:#fff;color:#222;margin-bottom:20px}textarea{resize:vertical}input:focus,textarea:focus{outline:2px solid #087699;outline-offset:2px}.form-note{font-size:13px;color:#555;margin-top:18px}#form-status{margin:18px 0 0;font-size:15px}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.skip{position:absolute;top:-80px;left:10px;background:#fff;color:#000;padding:12px;z-index:100}.skip:focus{top:5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:3px solid #007eac;outline-offset:5px}[hidden]{display:none!important}
@media(max-width:1000px){.logo{width:230px}#main-nav{gap:18px}.header-inner{gap:20px}.footer-grid{grid-template-columns:1fr 1fr}.intro-card{width:68%}.cards{gap:18px}.card{padding:20px}.service-layout{gap:35px;grid-template-columns:minmax(0,1fr) 240px}}
@media(max-width:760px){.container{width:calc(100% - 36px)}.header-inner{min-height:95px;flex-wrap:wrap;gap:0;padding-block:18px}.logo{width:220px;max-width:65vw}.menu-toggle{display:flex;gap:9px;align-items:center;background:white;border:1px solid #ccc;color:#222;padding:10px 12px;font-size:14px;min-height:44px}.menu-toggle span{font-size:20px}#main-nav{display:none;width:100%;padding-top:15px;align-items:stretch;gap:0;flex-direction:column}#main-nav.is-open{display:flex}#main-nav>a,.services-toggle{display:block;text-align:left;width:100%;padding:13px 4px;color:#222;border-bottom:1px solid #eee}.services-toggle{display:flex;justify-content:space-between}#services-links{position:static;width:100%;box-shadow:none;padding:7px 8px;background:#f7f7f7;max-height:none}.hero{min-height:580px}.hero-copy{padding-block:65px}.hero h1{font-size:38px}.hero p{font-size:17px}.hero:after{background:#0009}.intro{padding:35px 0}.intro-card{width:100%;padding:30px 24px}.benefit{gap:16px}.benefit img{width:50px;height:50px}.benefit h3{font-size:21px}.services-section{padding:55px 0}.subtitle{font-size:21px}.cards{grid-template-columns:1fr;gap:24px}.card{padding:26px}.card img{max-height:240px}.residential,.commercial{padding:65px 0}.residential h2,.commercial h2{font-size:30px}.photo:after{background:#000a}.finance{padding-block:55px}.finance h3{font-size:28px}.cta{padding-block:45px}.cta h2{font-size:27px}.contact-line{font-size:19px}.brands{padding-bottom:40px}.footer-grid{grid-template-columns:1fr;gap:30px}footer h2{margin-bottom:15px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}.page-heading{padding:40px 0}.section{padding-block:45px}.about-layout,.contact-grid,.service-layout{grid-template-columns:1fr;gap:35px}.service-aside{border-left:0;border-top:1px solid #ddd;padding:28px 0 0}.gallery-grid{grid-template-columns:1fr 1fr;gap:22px 15px}figure img{height:230px}.contact-section{padding:35px 0}.contact-card{padding:25px}.contact-card h2{font-size:26px}.contact-card a{overflow-wrap:anywhere}}
@media(max-width:400px){.gallery-grid{grid-template-columns:1fr}figure img{height:330px}.logo{width:195px}.menu-toggle{padding:9px}.hero h1{font-size:34px}.contact-card{padding:22px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Preserve complete photographs instead of cropping faces and installations. */
.residential,.commercial{display:grid;padding:0;background:#20282c;min-height:0}
.residential .backdrop,.commercial .backdrop{position:relative;inset:auto;grid-area:1/1;width:100%;height:auto;object-fit:contain;align-self:center}
.residential>.container,.commercial>.container{grid-area:1/1;align-self:center;padding-block:70px;position:relative;z-index:1}
.residential:after,.commercial:after{z-index:0}
.gallery-grid figure>a{display:flex;align-items:center;justify-content:center;background:#f2f4f5;border:1px solid #e2e6e8;aspect-ratio:4/3}
.gallery-grid figure img{width:100%;height:100%;max-height:360px;object-fit:contain}
.service-location{font-size:20px;color:#096d91;border-left:3px solid #087eaa;padding:12px 18px;background:#f2f7f9;margin-bottom:32px}
@media(max-width:760px){.residential .backdrop,.commercial .backdrop{grid-area:auto;z-index:auto;align-self:start}.residential>.container,.commercial>.container{grid-area:auto;padding-block:40px}.residential:after,.commercial:after{display:none}.gallery-grid figure img{max-height:none}}
/* Separate the introduction photograph and copy, with breathing room below the hero. */
.intro{background:#fff;padding:80px 0}
.intro-layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.intro-photo{width:100%;height:auto;object-fit:contain;border-radius:3px}
.intro-card{width:100%;margin:0;padding:12px 0;box-shadow:none;background:#fff}
.intro-logo{max-width:420px}
@media(max-width:760px){.intro{padding:40px 0}.intro-layout{grid-template-columns:1fr;gap:30px}.intro-card{padding:0}.intro-logo{max-width:360px}.intro-photo{max-height:none}}
.service-areas{padding:55px 0;background:#f1f6f8;border-top:1px solid #dce7eb}
.service-areas h2{font-size:clamp(25px,2.4vw,32px);max-width:900px}
.service-areas p{max-width:880px}
.suburb-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px 24px;padding:0;margin:25px 0 30px;list-style:none}
.suburb-list li{padding:10px 0;border-bottom:1px solid #cbdbe2;font-weight:600}
.service-areas p:last-child{margin-bottom:0}
@media(max-width:760px){.service-areas{padding:38px 0}.suburb-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}}
.gallery-viewer{border:0;padding:0;background:#15191f;color:#fff;width:calc(100vw - 40px);max-width:1400px;max-height:calc(100dvh - 40px);overflow:auto}
.gallery-viewer::backdrop{background:rgba(0,0,0,.88)}
.viewer-shell{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr) 56px;gap:16px;align-items:center;padding:64px 20px 24px;min-height:250px}
.viewer-figure{min-width:0;text-align:center}.viewer-image{width:100%;height:calc(100dvh - 230px);object-fit:contain;min-height:100px}.viewer-caption{color:#fff;font-size:15px;padding:18px 0 0;line-height:1.5}
.gallery-viewer button{width:48px;height:48px;display:grid;place-items:center;border:1px solid #8b9097;background:#242a32;color:#fff;border-radius:50%;padding:10px}
.gallery-viewer button:hover{background:#434d5a}.gallery-viewer button:focus-visible{outline:3px solid #fff;outline-offset:4px}.viewer-close{position:absolute;right:20px;top:12px;font-size:32px;line-height:1}.gallery-viewer svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:760px){.gallery-viewer{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.viewer-shell{grid-template-columns:48px minmax(0,1fr) 48px;gap:6px;padding:68px 10px 16px}.viewer-figure{grid-column:1/-1;grid-row:1}.viewer-image{height:calc(100dvh - 270px)}.viewer-prev{grid-column:1;grid-row:2}.viewer-next{grid-column:3;grid-row:2}.viewer-caption{font-size:14px}.viewer-close{right:12px}}
.gallery-tabs{display:flex;gap:8px;border-bottom:2px solid #097eaa;margin-bottom:36px}
.gallery-tabs button{padding:16px 28px;min-height:52px;border:1px solid #c9d9e0;border-bottom:0;border-radius:8px 8px 0 0;background:#edf3f6;color:#334a56;font-weight:600;font-size:18px}
.gallery-tabs button[aria-selected=true]{background:#097eaa;color:#fff;border-color:#097eaa}
.gallery-tabs button:hover{background:#dcebf2;color:#253e4b}.gallery-tabs button[aria-selected=true]:hover{background:#086b90;color:#fff}
[role=tabpanel] .gallery-grid{margin-bottom:0}
@media(max-width:760px){.gallery-tabs{gap:6px;margin-bottom:28px}.gallery-tabs button{flex:1;padding:14px 8px;font-size:16px}}
/* Translucent contact panels retain the mountain scenery and readable fields. */
.contact-section{background-image:linear-gradient(rgba(255,255,255,.2),rgba(255,255,255,.2)),url('/assets/images/snowy-mountains.webp')}
.contact-card{background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.65);border-radius:4px}
.contact-card input,.contact-card textarea{background:#fff;border-color:#687b86;color:#18242b;box-shadow:0 1px 3px #2437460d}
.contact-area-intro{font-weight:600;color:#234958}
.contact-suburbs{margin-top:32px;padding-top:28px;border-top:1px solid #aabdc8}
.contact-suburbs h3{font-size:23px;margin-bottom:14px}
.contact-suburbs .suburb-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 22px;margin-bottom:0}
.contact-suburbs .suburb-list li{border-color:#b7c9d3}
/* Keep navigation available while scrolling. */
.site-header{position:sticky;top:0;box-shadow:0 2px 12px rgba(20,35,45,.09)}
html{scroll-padding-top:130px}
@media(max-width:760px){html{scroll-padding-top:115px}#main-nav.is-open{max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}}
/* One mountain section: company introduction left, services right. */
.combined-intro{margin-top:64px;padding:64px 0;background:#e3f1f8 url('/assets/images/snowy-mountains.webp') center/cover no-repeat}
.combined-layout{width:min(1320px,calc(100% - 64px));display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:36px;align-items:start}
.combined-intro .intro-card{padding:36px;background:rgba(255,255,255,.94);border-radius:4px}
.combined-services{padding:36px;background:rgba(255,255,255,.94);border-radius:4px}
.combined-services>h2{font-size:28px;color:#087e96;text-transform:uppercase;font-weight:600;margin-bottom:16px}
.combined-services>.subtitle{font-size:20px;margin-bottom:26px}
.combined-services .cards{grid-template-columns:1fr;gap:24px}
.combined-services .card{display:grid;grid-template-columns:130px minmax(0,1fr);column-gap:22px;padding:0 0 24px;background:transparent;border-bottom:1px solid #d5e1e7}
.combined-services .card:last-child{border-bottom:0;padding-bottom:0}
.combined-services .card img{grid-column:1;grid-row:1/3;align-self:center;width:130px;height:auto;aspect-ratio:auto;margin:0;object-fit:contain}
.combined-services .card h3{grid-column:2;font-size:21px;margin-bottom:12px}
.combined-services .card p{grid-column:2;font-size:15px;line-height:1.6;margin:0;color:#424d54}
@media(max-width:1000px){.combined-layout{gap:24px;width:calc(100% - 40px)}.combined-intro .intro-card,.combined-services{padding:26px}.combined-services .card{grid-template-columns:90px minmax(0,1fr);column-gap:16px}.combined-services .card img{width:90px}}
@media(max-width:760px){.combined-intro{margin-top:36px;padding:32px 0}.combined-layout{grid-template-columns:1fr;width:calc(100% - 36px)}.combined-intro .intro-card,.combined-services{padding:26px 22px}.combined-services>h2{font-size:25px}.combined-services .card{grid-template-columns:1fr}.combined-services .card img{grid-column:1;grid-row:auto;width:170px;margin:0 auto 18px}.combined-services .card h3,.combined-services .card p{grid-column:1}}
/* A single shared panel for the introduction and services. */
.combined-layout{background:rgba(255,255,255,.94);padding:36px;border-radius:4px;gap:44px}
.combined-intro .intro-card,.combined-services{background:transparent;padding:0;border-radius:0}
@media(max-width:1000px){.combined-layout{padding:28px;gap:30px}}
@media(max-width:760px){.combined-layout{padding:26px 22px;gap:38px}.combined-intro .intro-card,.combined-services{padding:0}}
/* Compact residential banner with larger, more readable copy. */
.residential{display:block;min-height:580px}
.residential .backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 22%;z-index:-2}
.residential:after{z-index:-1;background:rgba(0,0,0,.64)}
.residential>.container{max-width:1150px;padding-block:58px;font-size:20px;line-height:1.65}
.residential h2{font-size:clamp(30px,2.6vw,42px);font-weight:600;text-transform:none;margin-bottom:25px}
.residential p{margin-bottom:18px}
@media(max-width:760px){.residential{display:grid;min-height:0}.residential .backdrop{position:relative;inset:auto;grid-area:auto;height:auto;object-fit:contain;z-index:auto}.residential>.container{grid-area:auto;font-size:18px;padding-block:32px}.residential h2{font-size:29px}.residential:after{display:none}}
/* Shared rows align each service illustration with its benefit icon. */
.combined-layout{width:min(1440px,calc(100% - 64px));background:rgba(255,255,255,.80);column-gap:64px;row-gap:28px;grid-template-rows:auto auto auto auto}
.combined-intro .intro-card{display:grid;grid-column:1;grid-row:1/5;grid-template-rows:subgrid}
.combined-services{display:grid;grid-column:2;grid-row:1/5;grid-template-rows:subgrid}
.combined-services .cards{display:contents}
.combined-intro .benefit{margin:0;align-items:flex-start}
.combined-services .card{padding:0 0 24px;align-content:start}
.combined-services .card img{align-self:start;margin-top:2px}
.services-overview h2{font-size:28px;color:#087e96;text-transform:uppercase;font-weight:600;margin-bottom:16px}
.services-overview .subtitle{font-size:20px;margin:0}
.company-overview>p:last-child{margin-bottom:0}
@media(max-width:1000px){.combined-layout{column-gap:32px;width:calc(100% - 40px)}}
@media(max-width:760px){.combined-layout{width:calc(100% - 36px);grid-template-rows:none;gap:38px}.combined-intro .intro-card,.combined-services{display:block;grid-column:auto;grid-row:auto}.combined-intro .benefit{margin-top:28px}.combined-services .cards{display:grid;margin-top:28px}.services-overview h2{font-size:25px}.combined-services .card img{margin:0 auto 18px}}
/* Match commercial and residential banner proportions and typography. */
.commercial{display:block;min-height:580px;text-align:center}
.commercial .backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:-2}
.commercial:after{z-index:-1;background:rgba(0,0,0,.64)}
.commercial>.container{max-width:1150px;padding-block:58px;font-size:20px;line-height:1.65}
.commercial h2{max-width:none;font-size:clamp(30px,2.6vw,42px);font-weight:600;text-transform:none;margin-bottom:25px}
.commercial p{max-width:none;margin-bottom:18px}
@media(max-width:760px){.commercial{display:grid;min-height:0}.commercial .backdrop{position:relative;inset:auto;grid-area:auto;height:auto;object-fit:contain;z-index:auto}.commercial>.container{grid-area:auto;font-size:18px;padding-block:32px}.commercial h2{font-size:29px}.commercial:after{display:none}}
/* Consistent readable body copy throughout the website. */
:root{--body-copy:18px}
body{font-size:var(--body-copy)}
p,li,label,input,textarea,figcaption,footer,.licence,.form-note,#form-status,.contact-line,.hero p,.card p,.benefit p,.combined-services .card p,.residential p,.commercial p,.contact-card p,.service-location{font-size:var(--body-copy);line-height:1.65}
footer a,.contact-line a,.photo a:not(.button),.contact-suburbs li,label span{font-size:var(--body-copy)}
footer h2{font-size:21px}
@media(max-width:760px){p,li,label,input,textarea,figcaption,footer,.licence,.form-note,#form-status,.contact-line,.hero p,.card p,.benefit p,.combined-services .card p,.residential p,.commercial p,.contact-card p,.service-location{font-size:var(--body-copy)}.viewer-caption{font-size:var(--body-copy)}}
/* Clear contact invitation and a separate, neatly framed brand strip. */
.cta{max-width:1120px;padding-block:56px 32px;text-align:left}
.cta-panel{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:48px;align-items:center;background:#f1f6f8;border-top:4px solid #087eaa;border-radius:4px;padding:40px}
.cta h2{font-size:clamp(28px,2.5vw,36px);font-weight:600;line-height:1.2;margin-bottom:18px}
.cta-copy p{margin:0;color:#414e58}
.cta-actions{display:flex;flex-direction:column;gap:12px}
.cta-actions .button{font-size:18px;min-height:52px;text-align:center}
.cta-email{background:#fff;border-color:#087699;color:#086681}
.cta-email:hover{background:#086681;border-color:#086681;color:#fff}
.cta-email-address{text-align:center;font-size:16px;color:#414e58;overflow-wrap:anywhere}
.brands{padding:18px 0 48px;text-align:center}
.brands h2{font-size:21px;color:#4c5b64;font-weight:500;margin-bottom:24px}
.brands img{width:900px;max-width:100%;height:auto;margin:auto}
@media(max-width:760px){.cta{padding-block:36px 24px}.cta-panel{grid-template-columns:1fr;gap:26px;padding:28px 22px}.cta h2{font-size:28px}.cta-actions{max-width:360px;width:100%}.brands{padding:12px 0 36px}.brands h2{font-size:20px}}
.cta-email-address{font-size:18px}
/* Fade photographic section edges into the white page without fading copy. */
.photo::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;background:linear-gradient(to bottom,#fff 0,rgba(255,255,255,0) 48px,rgba(255,255,255,0) calc(100% - 64px),#fff 100%)}
.hero::before{background:linear-gradient(to bottom,rgba(255,255,255,0) calc(100% - 80px),#fff 100%)}
.hero-copy{position:relative;z-index:1}
.combined-intro{position:relative;isolation:isolate}
.combined-intro::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(to bottom,#fff 0,rgba(255,255,255,0) 64px,rgba(255,255,255,0) calc(100% - 64px),#fff 100%)}
@media(max-width:760px){.hero::before{background:linear-gradient(to bottom,transparent calc(100% - 44px),#fff)}.combined-intro::before{background:linear-gradient(to bottom,#fff,transparent 32px,transparent calc(100% - 32px),#fff)}.residential::before,.commercial::before{display:none}}
.finance-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.finance-actions .button{min-width:170px;font-size:18px;min-height:52px}
@media(max-width:760px){.finance-actions{max-width:360px;margin:auto;flex-direction:column}.finance-actions .button{width:100%}}
/* Subtle, eased transitions instead of opaque white bands. */
.photo::before{background:linear-gradient(to bottom,rgba(255,255,255,.48) 0,rgba(255,255,255,.18) 18px,rgba(255,255,255,.04) 42px,transparent 70px,transparent calc(100% - 70px),rgba(255,255,255,.04) calc(100% - 42px),rgba(255,255,255,.18) calc(100% - 18px),rgba(255,255,255,.48) 100%)}
.hero::before{background:linear-gradient(to bottom,transparent calc(100% - 70px),rgba(255,255,255,.04) calc(100% - 42px),rgba(255,255,255,.16) calc(100% - 18px),rgba(255,255,255,.42) 100%)}
.combined-intro::before{background:linear-gradient(to bottom,rgba(255,255,255,.45),rgba(255,255,255,.15) 20px,transparent 60px,transparent calc(100% - 60px),rgba(255,255,255,.15) calc(100% - 20px),rgba(255,255,255,.45))}
@media(max-width:760px){.hero::before{background:linear-gradient(to bottom,transparent calc(100% - 40px),rgba(255,255,255,.10) calc(100% - 16px),rgba(255,255,255,.35))}.combined-intro::before{background:linear-gradient(to bottom,rgba(255,255,255,.35),transparent 36px,transparent calc(100% - 36px),rgba(255,255,255,.35))}}
/* Navigation uses the same readable size as the main copy. */
#main-nav>a,#main-nav .services-toggle,#services-links a,.menu-toggle{font-size:18px;line-height:1.5}
@media(min-width:761px) and (max-width:1100px){.header-inner{flex-wrap:wrap;justify-content:center;padding-block:16px;gap:12px}#main-nav{width:100%;justify-content:center;gap:24px}html{scroll-padding-top:185px}}
@media(max-width:760px){#main-nav>a,#main-nav .services-toggle,#services-links a,.menu-toggle{font-size:18px}.menu-toggle{padding:9px 10px}}
/* Clean edges on the residential and commercial banners. */
.residential::before,.commercial::before{display:none}
.area-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:32px 0 48px}.area-link{display:block;padding:18px 22px;background:#f1f6f8;border:1px solid #cbdde5;border-radius:3px;font-size:20px;text-decoration:none}.area-link:hover{background:#dfedf4;text-decoration:underline}.breadcrumbs{padding-block:22px;font-size:16px}.location-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:56px}.location-layout article h2:not(:first-child){margin-top:36px;font-size:28px}.location-layout li{padding-block:6px}.location-aside{padding:26px;background:#f1f6f8;align-self:start}.location-aside h2{font-size:23px}.location-aside nav{margin-bottom:30px}.location-aside nav a{display:block;padding:9px 0;line-height:1.45}.location-aside p{margin-bottom:0}
@media(min-width:1101px){.header-inner{width:min(1380px,calc(100% - 48px))}#main-nav{gap:20px}.header-inner .logo{width:240px}}
@media(min-width:761px) and (max-width:1200px){.header-inner{flex-wrap:wrap;justify-content:center;padding-block:16px;gap:12px}#main-nav{width:100%;justify-content:center;gap:18px}html{scroll-padding-top:185px}}
@media(max-width:760px){.area-links{grid-template-columns:1fr}.location-layout{grid-template-columns:1fr;gap:32px}.location-layout article h2{font-size:27px}.breadcrumbs{font-size:16px}}
/* Place the services introduction beside the ARC/licence block. */
.services-overview{align-self:end;text-align:center;padding-bottom:4px}
.services-overview h2{margin-bottom:14px}
@media(max-width:760px){.services-overview{padding-bottom:0}}
.areas-menu{position:relative}.areas-toggle{border:0;background:none;color:#454545;font-size:18px;line-height:1.5;font-weight:600;padding:16px 0;white-space:nowrap}.areas-toggle:hover{color:#bd161d}
#areas-links{position:absolute;top:100%;left:-15px;width:280px;padding:12px;background:#fff;box-shadow:0 8px 24px #0002;max-height:70vh;overflow:auto}
#areas-links a{display:block;padding:9px 12px;text-decoration:none;color:#333;line-height:1.4;font-size:18px}#areas-links a:hover{background:#f1f7f9}
@media(max-width:760px){.areas-toggle{display:flex;justify-content:space-between;width:100%;text-align:left;padding:13px 4px;border-bottom:1px solid #eee;color:#222}#areas-links{position:static;width:100%;box-shadow:none;padding:7px 8px;background:#f7f7f7;max-height:none}}
