.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS *//* ===== Sparkle Shine footer + site-wide fixes ===== */
#site-header{--ss-topbar:48px}
#scroll-top{display:none!important}
#top-bar-wrap{display:none!important}
/* Services dropdown: CSS hover/keyboard fallback alongside SmartMenus */
@media (min-width:1025px){
.elementor-location-header .elementor-nav-menu--main .menu-item-has-children{position:relative}
.elementor-location-header .elementor-nav-menu--main .menu-item-has-children:hover > .sub-menu,.elementor-location-header .elementor-nav-menu--main .menu-item-has-children:focus-within > .sub-menu{display:block!important;top:100%!important;left:0!important;margin-left:0!important}
.elementor-location-header .elementor-nav-menu--main .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
}
/* Highlight the parent service (and Services) on child pages such as suburb pages */
.elementor-location-header .elementor-nav-menu .current-page-ancestor > a,.elementor-location-header .elementor-nav-menu--main .menu-item:has(.current-page-ancestor) > a.elementor-item{color:var(--ss-primary)!important}
.elementor-location-header .elementor-nav-menu--main .sub-menu .current-page-ancestor > a{background:var(--ss-primary-soft)}
.elementor-location-header .elementor-nav-menu--main.e--pointer-underline .menu-item:has(.current-page-ancestor) > a.elementor-item:after{opacity:1!important;width:100%!important;left:0!important}
/* Mobile menu: close button pinned to the panel corner, tidy contact links */
@media (max-width:1024px){
.elementor-location-header .elementor-menu-toggle.elementor-active{position:fixed;top:16px;right:16px}
body.admin-bar .elementor-location-header .elementor-menu-toggle.elementor-active{top:62px}
.elementor-location-header .elementor-nav-menu--dropdown.elementor-nav-menu__container{padding-top:84px!important}
.elementor-location-header .elementor-nav-menu--dropdown .ss-menu-email a{white-space:nowrap;word-break:normal!important;font-size:13px!important}
}

/* ===== Shared page components (all Sparkle Shine pages) ===== */
.ss-i-award::before{content:""}
body .ss-kenburns{animation:ss-kb 20s ease-out both;transform-origin:50% 45%;will-change:transform}
@keyframes ss-kb{from{transform:scale(1)}to{transform:scale(1.12)}}
body .ss-icon{transition:background-color .35s ease,color .35s ease,scale .35s ease,rotate .35s ease}
body .ss-hover-card{transition:translate .35s ease,box-shadow .35s ease}
body .ss-hover-card::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--ss-accent);transform:scaleX(0);transform-origin:left center;transition:transform .35s ease;z-index:3;pointer-events:none}
body .ss-service-card .ss-img-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,110,189,0) 35%,rgba(7,70,122,.55) 100%);opacity:0;transition:opacity .4s ease;pointer-events:none}
body .ss-zoom{transition:transform .6s ease}
body .ss-link{background:transparent!important;border-radius:0;overflow:visible}
body .ss-link i::before{font-size:.85em}
body .ss-link::after{content:"";position:absolute;left:0;bottom:-3px;height:2px;width:calc(100% - 22px);background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform .35s ease}
body .ss-link:focus-visible{outline:2px solid var(--ss-primary);outline-offset:4px;border-radius:4px}
body .ss-about-media::before{content:"";position:absolute;top:24px;left:24px;right:0;bottom:0;border:3px solid var(--ss-primary);border-radius:20px;opacity:.3;transition:translate .5s ease,opacity .5s ease;z-index:0;pointer-events:none}
body .ss-about-media::after{content:"";position:absolute;top:-14px;left:-14px;width:112px;height:112px;background-image:radial-gradient(var(--ss-accent) 2px,transparent 2.5px);background-size:14px 14px;opacity:.7;z-index:0;pointer-events:none;transition:translate .5s ease}
body .ss-about-media .ss-img-wrap{position:relative;z-index:1}
body .ss-about-media .ss-img-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(10,110,189,0),rgba(10,110,189,.28));opacity:0;transition:opacity .5s ease;pointer-events:none}
@media (max-width:767px){body .ss-about-media::after{left:-6px;top:-10px;width:80px;height:80px}body .ss-about-media::before{top:16px;left:16px}}
body .ss-chip{transition:translate .3s ease,background-color .3s ease,color .3s ease,border-color .3s ease}
body .ss-chip:active{translate:0 -2px;background-color:var(--ss-primary);border-color:var(--ss-primary);color:#fff}
@media (hover:hover){
body .ss-hover-card:hover{translate:0 -8px;box-shadow:0 26px 50px -22px rgba(15,27,45,.32)}
body .ss-hover-card:hover::after{transform:scaleX(1)}
body .ss-hover-card:hover .ss-icon{background-color:var(--ss-primary);color:#fff;scale:1.1;rotate:5deg}
body .ss-hover-card:hover .ss-zoom,body .ss-img-wrap:hover .ss-zoom{transform:scale(1.08)}
body .ss-service-card:hover .ss-img-wrap::after{opacity:1}
body .ss-link:hover i,body .ss-hover-card:hover .ss-link i{translate:6px 0}
body .ss-link:hover::after,body .ss-hover-card:hover .ss-link::after{transform:scaleX(1)}
body .ss-about-media:hover::before{translate:10px 10px;opacity:.5}
body .ss-about-media:hover::after{translate:-6px -6px}
body .ss-about-media:hover .ss-img-wrap::after{opacity:1}
body .ss-chip:hover{translate:0 -2px;background-color:var(--ss-primary);border-color:var(--ss-primary);color:#fff}
}
@media (hover:none){body .ss-hover-card:active{translate:0 -4px}body .ss-hover-card:active .ss-icon{background-color:var(--ss-primary);color:#fff}}
body .ss-cta-band::before,body .ss-cta-band::after{content:"";position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.2) 0%,rgba(255,255,255,0) 70%);pointer-events:none;z-index:0}
body .ss-cta-band::before{width:440px;height:440px;top:-180px;left:-120px;animation:ss-float 9s ease-in-out infinite alternate}
body .ss-cta-band::after{width:360px;height:360px;bottom:-160px;right:-90px;animation:ss-float 12s ease-in-out infinite alternate-reverse}
@keyframes ss-float{from{transform:translate(0,0) scale(1)}to{transform:translate(40px,30px) scale(1.1)}}

/* Tab titles with icons (service pages) */
.ss-tab-ic{display:inline-flex!important;align-items:center;gap:10px}
.ss-tab-ic::before{font-family:"Font Awesome 6 Free";font-weight:900;font-style:normal;font-size:1.05em;line-height:1;display:inline-block;width:1.25em;text-align:center;color:inherit;-webkit-font-smoothing:antialiased}
.ss-ti-fire::before{content:""}
.ss-ti-shower::before{content:""}
.ss-ti-bed::before{content:""}
.ss-ti-house::before{content:""}
.ss-ti-building::before{content:""}
.ss-ti-store::before{content:""}
.ss-ti-city::before{content:""}
.ss-ti-doctor::before{content:""}
.ss-ti-warehouse::before{content:""}
.ss-ti-couch::before{content:""}
.ss-ti-window::before{content:""}
.ss-ti-road::before{content:""}
.ss-ti-droplet::before{content:""}

/* Shared tabs (components) */
body .ss-tabs [role="tab"]{background:transparent!important}
body .ss-tabs [role="tab"][aria-selected="true"]{color:var(--ss-primary)!important;border-bottom-color:var(--ss-primary)!important}
body .ss-tabs [role="tab"]:focus-visible{outline:2px solid var(--ss-primary);outline-offset:-2px;border-radius:6px}
body .ss-tabs [role="tabpanel"]{animation:ss-tab-in .35s ease both}
@keyframes ss-tab-in{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}

/* Shared checklist */
body .ss-checklist ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 28px}
body .ss-checklist li{position:relative;padding-left:38px;min-height:26px;font-family:var(--ss-body-font);font-size:16px;line-height:1.6;color:var(--ss-body)}
body .ss-checklist li::before{content:"";position:absolute;left:0;top:-1px;width:26px;height:26px;border-radius:50%;background:var(--ss-primary-soft)}
body .ss-checklist li::after{content:"";position:absolute;left:10px;top:5px;width:6px;height:11px;border:solid var(--ss-primary);border-width:0 2px 2px 0;rotate:45deg}
@media (max-width:767px){body .ss-checklist ul{grid-template-columns:minmax(0,1fr);gap:14px}}

/* Shared FAQ accordion */
body .ss-faq details{background:#fff;border:1px solid var(--ss-line);border-radius:14px;overflow:hidden;transition:border-color .3s ease,box-shadow .3s ease}
body .ss-faq details[open]{border-color:rgba(10,110,189,.35);box-shadow:0 18px 40px -28px rgba(15,27,45,.35)}
body .ss-faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;cursor:pointer;list-style:none;font-family:var(--ss-heading-font),sans-serif;font-size:17px;font-weight:700;line-height:1.4;color:var(--ss-ink);transition:color .25s ease}
body .ss-faq summary::-webkit-details-marker{display:none}
body .ss-faq summary:hover,body .ss-faq details[open] summary{color:var(--ss-primary)}
body .ss-faq summary:focus-visible{outline:2px solid var(--ss-primary);outline-offset:-2px;border-radius:14px}
body .ss-faq .e-accordion-item-title-base{width:auto;flex:1 1 auto;min-width:0}
body .ss-faq .e-accordion-item-icon-base{position:relative;flex:0 0 30px;width:30px!important;height:30px!important;border-radius:50%;background:var(--ss-primary-soft);transition:background-color .3s ease;rotate:0deg!important}
body .ss-faq .e-accordion-item-icon-base > *{display:none!important}
body .ss-faq .e-accordion-item-icon-base::before,body .ss-faq .e-accordion-item-icon-base::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;border-radius:2px;background:var(--ss-primary);transition:rotate .3s ease,background-color .3s ease}
body .ss-faq .e-accordion-item-icon-base::after{rotate:90deg}
body .ss-faq details[open] .e-accordion-item-icon-base{background:var(--ss-primary)}
body .ss-faq details[open] .e-accordion-item-icon-base::before,body .ss-faq details[open] .e-accordion-item-icon-base::after{background:#fff}
body .ss-faq details[open] .e-accordion-item-icon-base::after{rotate:0deg}
body .ss-faq .e-accordion-item-content-base{padding:0 24px 22px}
body .ss-faq .e-accordion-item-content-base .ss-text{font-size:16px}
@media (max-width:767px){body .ss-faq summary{padding:16px 18px;font-size:16px}body .ss-faq .e-accordion-item-content-base{padding:0 18px 18px}}

/* Image cards: description revealed on hover (always shown on touch screens) */
body .ss-spec-card{isolation:isolate}
body .ss-spec-card::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,22,42,.2) 0%,rgba(8,22,42,.86) 100%);opacity:0;transition:opacity .4s ease;pointer-events:none}
body .ss-spec-text{max-height:0;opacity:0;overflow:hidden;translate:0 10px;margin-top:0;transition:max-height .45s ease,opacity .35s ease,translate .35s ease,margin-top .35s ease}
@media (hover:hover){
body .ss-spec-card:hover::before,body .ss-spec-card:focus-within::before{opacity:1}
body .ss-spec-card:hover .ss-spec-text,body .ss-spec-card:focus-within .ss-spec-text{max-height:14em;opacity:1;translate:0 0;margin-top:10px}
}
@media (hover:none){
body .ss-spec-card{aspect-ratio:auto;min-height:320px}
body .ss-spec-card::before{opacity:1}
body .ss-spec-text{max-height:none;opacity:1;translate:0 0;margin-top:8px}
}
@media (hover:hover) and (max-width:1024px){body .ss-spec-card{aspect-ratio:auto;min-height:340px}}

/* Mobile card carousel (swipe, scroll-snap, no JS) */
@media (max-width:767px){
body .ss-carousel-m{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:16px;-webkit-overflow-scrolling:touch;gap:14px!important;margin:0 -16px!important;padding:4px 16px 18px!important;width:calc(100% + 32px)!important;max-width:none!important;scrollbar-width:thin;scrollbar-color:var(--ss-accent) rgba(255,255,255,.18)}
body .ss-carousel-m > *{flex:0 0 84%!important;width:84%!important;max-width:340px;scroll-snap-align:start;scroll-snap-stop:always}
body .ss-carousel-m > [data-interaction-id]{opacity:1!important;transform:none!important}
body .ss-carousel-m::-webkit-scrollbar{height:4px}
body .ss-carousel-m::-webkit-scrollbar-track{background:rgba(255,255,255,.18);border-radius:4px;margin:0 16px}
body .ss-carousel-m::-webkit-scrollbar-thumb{background:var(--ss-accent);border-radius:4px}
}

/* Quote form (V4 form component) */
body .ss-form .ss-label{transition:color .25s ease,translate .25s ease}
body .ss-form .ss-field:focus-within .ss-label{color:var(--ss-primary);translate:0 -2px}
body .ss-form select.ss-input{appearance:none;-webkit-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%234A5568' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer}
body .ss-form textarea.ss-input{min-height:140px}
body .ss-form .ss-input::placeholder{color:#94A3B8}
body .ss-form button.ss-btn{cursor:pointer}

@media (prefers-reduced-motion:reduce){body .ss-kenburns,body .ss-cta-band::before,body .ss-cta-band::after{animation:none!important}body [data-interaction-id]{opacity:1!important;transform:none!important}body .ss-tabs [role="tabpanel"]{animation:none!important}}

/* ===== Footer ===== */
.elementor-location-footer .ss-footer-title::after{content:"";position:absolute;left:0;bottom:0;width:32px;height:3px;border-radius:3px;background:var(--ss-accent)}
.elementor-location-footer .ss-footer-link > a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:10px;transition:color .3s ease,translate .3s ease}
.elementor-location-footer .ss-footer-link > a:focus-visible{outline:2px solid var(--ss-accent-light);outline-offset:3px;border-radius:4px}
.elementor-location-footer .ss-ic::before,.elementor-location-footer .ss-ic > a::before{color:var(--ss-accent);font-size:15px;width:18px;text-align:center;flex-shrink:0}
.elementor-location-footer .ss-i-location:not(:has(> a))::before{margin-top:4px}
.elementor-location-footer .ss-footer-link{word-break:break-word}
@media (hover:hover){
.elementor-location-footer .ss-footer-link > a:hover{color:var(--ss-accent-light);translate:4px 0}
.elementor-location-footer .ss-ic > a:hover::before,.elementor-location-footer .ss-i-location:hover::before{animation:ss-bounce .5s ease}
}
@keyframes ss-bounce{0%,100%{translate:0 0}40%{translate:0 -4px}70%{translate:0 1px}}

/* Back to top */
.elementor-location-footer .ss-backtop{isolation:isolate;transition:translate .3s ease,background-color .3s ease,opacity .3s ease}
.elementor-location-footer .ss-backtop i{font-style:normal;display:inline-block}
.elementor-location-footer .ss-backtop i::before{content:"";font-family:"Font Awesome 6 Free";font-weight:900;font-size:18px;line-height:1}
.elementor-location-footer .ss-backtop:focus-visible{outline:3px solid var(--ss-accent-light);outline-offset:3px}
@media (hover:hover){.elementor-location-footer .ss-backtop:hover{translate:0 -4px;background-color:var(--ss-primary-dark)}}
@supports (animation-timeline:scroll()){
.elementor-location-footer .ss-backtop{animation:ss-backtop-in linear both;animation-timeline:scroll(root);animation-range:380px 460px}
}
@keyframes ss-backtop-in{from{opacity:0;visibility:hidden;transform:translateY(12px)}to{opacity:1;visibility:visible;transform:none}}
@media (prefers-reduced-motion:reduce){.elementor-location-footer .ss-backtop{transition:none}}
/* ===== Services list, mobile carousels, in-text links ===== */
.ss-i-helmet::before{content:""}
.ss-i-check::before{content:""}
/* 404: the Elementor template has its own heading, so hide the theme's title bar and breadcrumb */
body.error404 .page-header{display:none!important}
/* 5-card service grid: 3 + 2 centred on desktop, 2 + 2 + 1 on tablet */
body .elementor .ss-grid-5 > *{grid-column:span 2}
body .elementor .ss-grid-5 > :nth-child(4):nth-last-child(2){grid-column:2 / span 2}
@media (max-width:1024px){
body .elementor .ss-grid-5{grid-template-columns:repeat(4,minmax(0,1fr))}
body .elementor .ss-grid-5 > :nth-child(4):nth-last-child(2){grid-column:span 2}
body .elementor .ss-grid-5 > :last-child:nth-child(odd){grid-column:2 / span 2}
}
/* Every card grid on a page becomes a swipe carousel on phones */
@media (max-width:767px){
body [data-elementor-type="single-post"] .ss-grid-3{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;gap:14px!important;margin:0 -16px!important;padding:6px 16px 18px!important;width:calc(100% + 32px)!important;max-width:none!important;scrollbar-width:thin;scrollbar-color:var(--ss-accent) rgba(15,27,45,.1)}
body [data-elementor-type="single-post"] .ss-grid-3 > *{flex:0 0 84%!important;width:84%!important;max-width:340px;scroll-snap-align:start}
body [data-elementor-type="wp-page"] :is(.ss-grid-3,.ss-grid-4,.ss-grid-5){display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:16px;-webkit-overflow-scrolling:touch;gap:14px!important;margin:0 -16px!important;padding:6px 16px 18px!important;width:calc(100% + 32px)!important;max-width:none!important;scrollbar-width:thin;scrollbar-color:var(--ss-accent) rgba(15,27,45,.1)}
body [data-elementor-type="wp-page"] :is(.ss-grid-3,.ss-grid-4,.ss-grid-5) > *{flex:0 0 84%!important;width:84%!important;max-width:340px;scroll-snap-align:start;scroll-snap-stop:always}
body [data-elementor-type="wp-page"] :is(.ss-grid-3,.ss-grid-4,.ss-grid-5) > [data-interaction-id]{opacity:1!important;transform:none!important}
body [data-elementor-type="wp-page"] :is(.ss-grid-3,.ss-grid-4,.ss-grid-5)::-webkit-scrollbar{height:4px}
body [data-elementor-type="wp-page"] :is(.ss-grid-3,.ss-grid-4,.ss-grid-5,.ss-carousel-m)::-webkit-scrollbar-track{background:rgba(15,27,45,.1);border-radius:4px;margin:0 16px}
body [data-elementor-type="wp-page"] :is(.ss-grid-3,.ss-grid-4,.ss-grid-5)::-webkit-scrollbar-thumb{background:var(--ss-accent);border-radius:4px}
body .ss-on-dark :is(.ss-grid-3,.ss-grid-4,.ss-grid-5,.ss-carousel-m)::-webkit-scrollbar-track{background:rgba(255,255,255,.18)}
body .ss-on-dark :is(.ss-grid-3,.ss-grid-4,.ss-grid-5,.ss-carousel-m){scrollbar-color:var(--ss-accent) rgba(255,255,255,.18)}
}
/* Service card grids are carousels on tablet and desktop too; prev/next and dots come from the footer script (.ss-cnav) */
@media (min-width:768px){
body [data-elementor-type="wp-page"] :is(.ss-grid-3,.ss-grid-4,.ss-grid-5):has(> .ss-service-card,> .ss-spec-card){--ss-per:3;--ss-gap:24px;display:grid!important;grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--ss-per) - 1) * var(--ss-gap)) / var(--ss-per));gap:var(--ss-gap)!important;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:12px 0 22px!important;scrollbar-width:thin;scrollbar-color:var(--ss-accent) rgba(15,27,45,.1)}
body [data-elementor-type="wp-page"] :is(.ss-grid-3,.ss-grid-4,.ss-grid-5):has(> .ss-service-card,> .ss-spec-card) > *{grid-column:auto!important;scroll-snap-align:start;min-width:0}
body [data-elementor-type="wp-page"] :is(.ss-grid-3,.ss-grid-4,.ss-grid-5):has(> .ss-service-card,> .ss-spec-card) > [data-interaction-id]{opacity:1!important;transform:none!important}
body .ss-on-dark :is(.ss-grid-3,.ss-grid-4,.ss-grid-5):has(> .ss-service-card,> .ss-spec-card){scrollbar-color:var(--ss-accent) rgba(255,255,255,.2)}
}
@media (min-width:768px) and (max-width:1024px){
body [data-elementor-type="wp-page"] :is(.ss-grid-3,.ss-grid-4,.ss-grid-5):has(> .ss-service-card,> .ss-spec-card){--ss-per:2;--ss-gap:20px}
}
/* Carousel navigation added by the footer script: prev / dots / next under any card row that overflows */
body .ss-has-nav{scrollbar-width:none!important;padding-bottom:6px!important}
body .ss-has-nav::-webkit-scrollbar{display:none!important}
body .ss-cnav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:22px;width:100%}
body .ss-cnav[hidden]{display:none}
body .ss-cnav-btn{font-family:"Font Awesome 6 Free";font-weight:900;font-size:16px;line-height:1;width:48px;height:48px;flex:0 0 48px;padding:0;border-radius:50%;border:1px solid var(--ss-line);background:#fff;color:var(--ss-primary);box-shadow:0 14px 30px -14px rgba(15,27,45,.45);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .3s ease,color .3s ease,border-color .3s ease,opacity .3s ease,scale .2s ease}
body .ss-cnav-prev::before{content:""}
body .ss-cnav-next::before{content:""}
body .ss-cnav-btn:hover:not(:disabled){background:var(--ss-primary);color:#fff;border-color:var(--ss-primary)}
body .ss-cnav-btn:active:not(:disabled){scale:.94}
body .ss-cnav-btn:disabled{opacity:.35;cursor:default;box-shadow:none}
body .ss-cnav-btn:focus-visible,body .ss-cnav-dot:focus-visible{outline:3px solid var(--ss-primary);outline-offset:3px}
body .ss-cnav-dots{display:flex;align-items:center;gap:10px}
body .ss-cnav-dot{width:10px;height:10px;flex:none;padding:0;border:0;border-radius:999px;background:rgba(15,27,45,.18);cursor:pointer;transition:width .3s ease,background-color .3s ease}
body .ss-cnav-dot.is-active{width:28px;background:var(--ss-accent)}
body .ss-on-dark .ss-cnav-dot{background:rgba(255,255,255,.35)}
body .ss-on-dark .ss-cnav-dot.is-active{background:var(--ss-accent)}
@media (max-width:767px){body .ss-cnav{gap:14px;margin-top:14px}body .ss-cnav-btn{width:40px;height:40px;flex-basis:40px;font-size:14px}body .ss-cnav-dot{width:8px;height:8px}body .ss-cnav-dot.is-active{width:22px}}
/* Footer HTML widget that only carries the carousel script */
.elementor-location-footer .ss-script{display:none!important}
/* Back-arrow button (e.g. "Back to Home") */
body .ss-btn-back i::before{content:""}
@media (hover:hover){body .ss-btn-back:hover i{translate:-5px 0}}

/* Back to top: visible on the dark footer, with a scroll-progress ring where supported */
.elementor-location-footer .ss-backtop{box-shadow:0 0 0 3px rgba(255,255,255,.9),0 14px 30px -10px rgba(10,110,189,.75)!important}
.elementor-location-footer .ss-backtop{line-height:1!important}
.elementor-location-footer .ss-backtop i{display:flex!important;align-items:center;justify-content:center;width:18px;height:18px;line-height:1!important}
.elementor-location-footer .ss-backtop i::before{display:block;line-height:1!important}
@media (max-width:767px){.elementor-location-footer [data-id="71ef6e15"]{padding-bottom:84px!important}}
@property --ss-p{syntax:'<percentage>';inherits:false;initial-value:0%}
@supports (animation-timeline:scroll()){
.elementor-location-footer .ss-backtop{box-shadow:0 14px 30px -10px rgba(10,110,189,.75)!important}
.elementor-location-footer .ss-backtop::after{content:"";position:absolute;inset:-5px;border-radius:50%;background:conic-gradient(var(--ss-accent) var(--ss-p),rgba(255,255,255,.92) 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));animation:ss-prog linear both;animation-timeline:scroll(root);pointer-events:none}
@keyframes ss-prog{from{--ss-p:0%}to{--ss-p:100%}}
}

/* Home hero video: the still hero image underneath is the fallback (and is shown instead for reduced motion) */
@media (prefers-reduced-motion:reduce){body .e-self-hosted-video-base[data-id="57eedcea"]{display:none!important}}

/* Blog posts (single post template 821): theme title bar hidden, article typography */
body.single-post .page-header{display:none!important}
body .ss-post-body{font-family:var(--ss-body-font),sans-serif;font-size:17px;line-height:1.8;color:var(--ss-body)}
body .ss-post-body p,body .ss-post-body li{font-size:17px;line-height:1.8}
body .ss-post-body p{margin:0 0 20px}
body .ss-post-body h2{font-family:var(--ss-heading-font),sans-serif;font-weight:800;font-size:32px;line-height:1.2;letter-spacing:-.3px;color:var(--ss-ink);text-transform:none;margin:52px 0 16px}
body .ss-post-body h3{font-family:var(--ss-heading-font),sans-serif;font-weight:700;font-size:22px;line-height:1.35;color:var(--ss-ink);text-transform:none;margin:34px 0 10px}
body .ss-post-body h2:first-child,body .ss-post-body h3:first-child{margin-top:0}
body .ss-post-body h2::after{content:"";display:block;width:48px;height:4px;border-radius:4px;background:var(--ss-accent);margin-top:14px}
body .ss-post-body ul,body .ss-post-body ol{margin:0 0 24px;padding:0;list-style:none}
body .ss-post-body li{position:relative;padding-left:34px;margin:0 0 10px}
body .ss-post-body ul li::before{content:"";position:absolute;left:0;top:5px;width:20px;height:20px;border-radius:50%;background:var(--ss-primary-soft)}
body .ss-post-body ul li::after{content:"";position:absolute;left:7px;top:9px;width:5px;height:9px;border:solid var(--ss-primary);border-width:0 2px 2px 0;rotate:45deg}
body .ss-post-body ol{counter-reset:ss-ol}
body .ss-post-body ol li{counter-increment:ss-ol}
body .ss-post-body ol li::before{content:counter(ss-ol);position:absolute;left:0;top:2px;width:24px;height:24px;border-radius:8px;background:var(--ss-accent);color:var(--ss-ink);font-family:var(--ss-heading-font),sans-serif;font-weight:800;font-size:13px;line-height:24px;text-align:center}
body .ss-post-body a{color:var(--ss-primary);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;text-decoration-color:rgba(10,110,189,.35);transition:color .25s ease,text-decoration-color .25s ease}
body .ss-post-body a:hover{color:var(--ss-primary-dark);text-decoration-color:currentColor}
body .ss-post-body strong{color:var(--ss-ink)}
@media (max-width:767px){body .ss-post-body,body .ss-post-body p,body .ss-post-body li{font-size:16px;line-height:1.75}body .ss-post-body h2{font-size:26px;margin-top:40px}body .ss-post-body h3{font-size:19px}}

/* Links inside body text */
body .e-paragraph-base a:not([class]){color:var(--ss-primary);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;text-decoration-color:rgba(10,110,189,.35);transition:color .25s ease,text-decoration-color .25s ease}
body .e-paragraph-base a:not([class]):hover{color:var(--ss-primary-dark);text-decoration-color:currentColor}
body .e-paragraph-base a:not([class]):focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:3px}
body .ss-on-dark .e-paragraph-base a:not([class]){color:#fff;text-decoration-color:var(--ss-accent)}
body .ss-on-dark .e-paragraph-base a:not([class]):hover{color:var(--ss-accent-light);text-decoration-color:var(--ss-accent-light)}
/* Linked suburb chips */
body a.ss-chip{cursor:pointer;text-decoration:none}
body a.ss-chip:focus-visible{outline:2px solid var(--ss-primary);outline-offset:2px}

/* Required-field asterisk: same red mark on the Pro forms and the V4 quote form */
body .elementor-mark-required .elementor-field-label::after{content:"*";color:#D92D20;padding-left:.25em;font-weight:700}
body .ss-label:has(~ :is(input,select,textarea)[required])::after{content:"*";color:#D92D20;padding-left:.25em;font-weight:700}
/* reCAPTCHA: hide the empty slot until site keys are saved (Elementor renders the widget with data-sitekey once they are) */
body .elementor-form .elementor-field-group.elementor-field-type-recaptcha:not(:has([data-sitekey])),body .elementor-form .elementor-field-group.elementor-field-type-recaptcha_v3:not(:has([data-sitekey])){display:none!important}
body .elementor-field-type-recaptcha,body .elementor-field-type-recaptcha_v3{margin-top:4px}

/* Footer accordion (Explore, Services): toggles on phones, plain columns on tablet and desktop */
body .ss-facc .ss-facc-btn{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit}
body .ss-facc .ss-facc-panel{display:grid;grid-template-rows:1fr}
body .ss-facc .ss-facc-inner{min-height:0;display:flex;flex-direction:column;gap:12px}
@media (max-width:767px){
body .ss-facc{gap:0!important;border-bottom:1px solid rgba(255,255,255,.22)}
body .ss-facc:not(.ss-facc + .ss-facc){border-top:1px solid rgba(255,255,255,.22)}
body .ss-facc + .ss-facc{margin-top:-36px}
body .ss-facc > .ss-footer-title,body .ss-facc > .ss-facc-panel{align-self:stretch;width:100%}
body .ss-facc > .ss-footer-title{margin:0!important;padding:0!important}
body .ss-facc > .ss-footer-title::after{display:none}
body .ss-facc .ss-facc-btn{min-height:64px;padding:16px 4px;cursor:pointer;-webkit-tap-highlight-color:transparent}
body .ss-facc .ss-facc-btn::after{content:"";flex:0 0 14px;height:14px;background:linear-gradient(currentColor,currentColor) center/14px 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 14px no-repeat;transition:rotate .3s ease,background-size .3s ease}
body .ss-facc.is-open .ss-facc-btn::after{rotate:180deg;background-size:14px 2px,2px 0}
body .ss-facc .ss-facc-btn:focus-visible{outline:2px solid var(--ss-accent-light);outline-offset:-2px;border-radius:6px}
body .ss-facc .ss-facc-panel{grid-template-rows:0fr;transition:grid-template-rows .35s ease}
body .ss-facc.is-open .ss-facc-panel{grid-template-rows:1fr}
body .ss-facc .ss-facc-inner{overflow:hidden;padding-inline:4px}
body .ss-facc.is-open .ss-facc-inner{padding-bottom:20px}
}
@media (prefers-reduced-motion:reduce){body .ss-facc .ss-facc-panel,body .ss-facc .ss-facc-btn::after{transition:none}}/* End custom CSS */