/* Beaches contact controls and stronger typography. Barlow: SIL OFL 1.1. */
@font-face{font-family:Barlow;src:url('/assets/fonts/barlow-latin-500.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Barlow;src:url('/assets/fonts/barlow-latin-700.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:Barlow;src:url('/assets/fonts/barlow-latin-800.woff2') format('woff2');font-style:normal;font-weight:800;font-display:swap}
:root{--navy:#123e42;--navy-deep:#092d31;--teal:#006b70;--gold:#f5bb59;--ink:#173d41;--muted:#435f62;--line:#d5e0df;--cream:#fff;--contact-space:180px}
body{font-family:Barlow,Arial,sans-serif;font-weight:500;font-size:18px;line-height:1.55}
button,input,select,textarea{font-family:inherit}
::selection{background:#b7e5df;color:#092d31}input,textarea{caret-color:var(--teal)}
html{scrollbar-color:#789d9b #f1f5f3;scroll-padding-bottom:24px}
html.help-is-open{scroll-padding-bottom:var(--contact-space)}
h1,h2,h3{font-family:Barlow,Arial,sans-serif;font-weight:800;letter-spacing:-.025em;line-height:1.08;text-wrap:balance}
p{line-height:1.6}.hero h1 em{font-family:inherit;font-weight:800;color:var(--teal)}
.hero .lead,.page-hero .lead{font-size:19px;line-height:1.55}.page-hero h1,.vehicle-hero-grid h1{font-weight:800;line-height:1.06}
.header-inner{height:88px;gap:24px}header{background:#fff;border-bottom:1px solid var(--line);backdrop-filter:none}
.brand{order:0;gap:10px}.brand img{height:64px;width:64px}.brand span{font-weight:800;letter-spacing:.035em}.brand small{font-weight:700;letter-spacing:.19em}
#site-navigation{order:1;gap:24px}#site-navigation a{font-family:Barlow,Arial,sans-serif;font-size:15px;font-weight:700}
.header-help{order:2;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 20px;border-radius:6px;background:var(--gold);color:var(--navy-deep);text-decoration:none;font-size:16px;font-weight:800;white-space:nowrap;border:1px solid transparent;cursor:pointer}
.header-help:hover{background:#f7c977}
.menu-button{order:3;border-radius:6px;font-size:14px;font-weight:700;cursor:pointer}
.button,.phone,.brand-toggle,.cookie-actions button,.cookie-settings{border-radius:6px;font-weight:700}
.button{font-size:16px;min-height:52px}.call-now:after{border-radius:9px}
.text-link{font-weight:700;font-size:15px;text-decoration-thickness:1px;text-underline-offset:5px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #007a80;outline-offset:4px}
.home-page .hero{padding-block:55px 58px;gap:70px;align-items:center}
.home-hero{background:#f3f3e9}.home-page .hero:before{content:none}
.home-page .hero h1{font-size:clamp(3rem,4.3vw,4.1rem);font-weight:800;line-height:1.03;letter-spacing:-.03em;margin-bottom:28px;text-wrap:initial}
.home-page .hero h1 em{display:block}.hero-services{font-weight:700;font-size:18px;row-gap:11px;column-gap:22px;margin-bottom:22px}
.hero-services .service-check{color:var(--teal);stroke-width:2.4}.hero-service-summary{font-size:17px;color:var(--muted);margin-bottom:27px;font-weight:500}
.home-page .hero .actions{display:flex;align-items:center;gap:23px}.home-page .hero .actions>.text-link{margin-top:0;padding:12px 0}
.home-page .hero-note{font-size:14px;line-height:1.45;margin-top:24px}.home-key-photo img{border-radius:12px;height:470px;object-position:center 65%}.home-key-photo figcaption{padding-top:17px;display:flex;gap:18px;align-items:baseline;justify-content:space-between}.home-key-photo strong{font-size:23px;font-weight:800}.home-key-photo span{font-size:14px;font-weight:500}
.home-page .service-intro{padding-top:58px;gap:55px}.home-page .service-intro h2{font-size:43px;line-height:1.06}.home-page .service-intro p{font-size:17px}
.home-page .service-list{gap:28px;padding-bottom:65px}.home-page .service-row{padding:25px 0 28px;border-top:2px solid #87b9b2;border-radius:0;background:transparent;gap:13px;transform:none;transition:color .15s}
.home-page .service-row:last-child{border-bottom:0}.home-page .service-row:hover{background:transparent;transform:none;border-top-color:var(--teal)}.home-page .service-row h3{font-size:29px;max-width:90%;font-weight:800}.home-page .service-row p{font-size:16px;line-height:1.55}.home-page .service-row .arrow{right:0;top:28px;font-size:21px}
.feature{background:#124b4f}.feature h2{font-weight:800}.feature .eyebrow.light{color:#bee3dd}.feature p{color:#d6ebe6}.feature .urgent-number{font-weight:800;letter-spacing:-.025em}
.work-grid img,.vehicle-hero-photo img,.vehicle-brand-panel{border-radius:12px}.work-grid h3{font-weight:800}.work-grid p{font-size:16px}.area-names span{border-radius:5px;background:#edf3ef;font-weight:700}
.cta{background:#edf3ef;border-top-color:#d6e2dc}.cta h2{font-weight:800}.page-hero{background:#edf4f0;border-radius:0}.page-hero.automotive{background:#edf4f0}.page-hero.residential{background:#f3f3e9}.page-hero.commercial{background:#124b4f}
.vehicle-brand-panel{box-shadow:none}.vehicle-brand-panel p{font-weight:800}.vehicle-brand-panel>span{font-size:13px}.vehicle-brand-panel img{max-width:100%}
.vehicle-form label,.enquiry-form label{font-size:14px;font-weight:700}.finder-fields label span{font-weight:500}.vehicle-form select,.vehicle-form input,.enquiry-form input,.enquiry-form select,.enquiry-form textarea{font-size:17px;border-radius:6px;font-weight:500}
.brand-grid a{border-radius:6px}.brand-grid span{font-size:14px;font-weight:700}.brand-grid a:hover{background:#f3f8f4}.vehicle-guides li a{font-size:16px;font-weight:500}.vehicle-finder p,.detail-row p,.faq-section details p{font-size:16px}
.cookie-choices{border-radius:10px}.cookie-choices[hidden]{display:none}.cookie-choices{bottom:20px}.help-is-open .cookie-choices{bottom:calc(var(--contact-space) + 10px)}
footer{padding-bottom:30px}.footer-name{font-weight:800}.footer-nav,.footer-main p{font-size:15px}.footer-bottom{font-size:13px}.help-is-open footer{padding-bottom:calc(var(--contact-space) + 25px)}
/* Floating contact bar; help.js manages the handoff from the hero actions. */
.sticky-call.contact-dock{display:none;position:fixed;z-index:30;left:50%;right:auto;bottom:18px;width:min(460px,calc(100% - 32px));transform:translateX(-50%);padding:20px;background:var(--navy-deep);color:#fff;border:0;border-radius:12px;box-shadow:0 12px 38px #092d313d}
.sticky-call.contact-dock:target,.sticky-call.contact-dock.is-open{display:block}.sticky-call.contact-dock[hidden]{display:none!important}
.contact-dock:focus{outline:2px solid #78bdb5;outline-offset:3px}
.contact-dock .label{display:block;margin:0 50px 17px 0;line-height:1.35;font-size:13px;color:#cee2dd}.contact-dock .label strong{display:block;font-size:19px;font-weight:800;color:#fff;margin-bottom:3px}
.contact-dock .contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-dock .contact-actions a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 18px;border-radius:6px;font-size:17px;font-weight:800;line-height:1.3;text-decoration:none}
.contact-dock .call-now{background:var(--gold);color:var(--navy-deep);border:1px solid var(--gold)}.contact-dock .call-now:hover{background:#f7c977}.contact-dock .text-now{color:#fff;background:transparent;border:1px solid #94bab4}.contact-dock .text-now:hover{background:#17494c}
.contact-close{display:none;position:absolute;right:9px;top:9px;width:44px;height:44px;align-items:center;justify-content:center;background:transparent;border:0;border-radius:6px;color:#fff;cursor:pointer}.help-ready .contact-close{display:flex}.contact-close:hover{background:#ffffff12}.contact-close .ui-icon{height:21px;width:21px}
@media(max-width:1000px){.header-inner{gap:16px}#site-navigation{gap:16px}.header-help{padding-inline:17px}.home-page .hero{gap:38px}.home-key-photo img{height:435px}}
@media(max-width:760px){
 body{font-size:17px}.wrap{width:calc(100% - 36px)}.header-inner.wrap{height:76px;width:calc(100% - 28px);gap:10px}.brand{gap:8px;min-width:0}.brand img{width:50px;height:50px}.brand span{font-size:12px;line-height:1.1}.brand small{font-size:9px;letter-spacing:.18em}.header-help{display:inline-flex;min-height:44px;padding:10px 14px;font-size:15px}.header-help .ui-icon{display:none}.menu-button{min-width:44px;min-height:44px;padding:8px 9px;font-size:13px}#site-navigation{top:76px;background:#fff;padding:12px 18px}#site-navigation a{font-size:17px;padding:14px 7px}
 .home-page .hero{padding-block:34px 35px;gap:32px}.home-page .hero:before{inset:0 -18px}.home-page .hero h1{font-size:clamp(2.5rem,10.6vw,3.25rem);line-height:1.02;margin-bottom:26px;letter-spacing:-.025em}.home-page .hero h1 em{display:inline}.hero-services{font-size:16px;column-gap:13px;row-gap:12px;margin-bottom:22px}.hero-services li{gap:8px}.hero-service-summary{font-size:16px;line-height:1.5;margin-bottom:24px}.home-page .hero .actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.home-page .hero .actions>.text-link{font-size:14px;padding:10px 0}.home-page .hero .button{min-width:135px;padding:14px 18px}.home-page .hero-note{font-size:13px;margin-top:20px}.home-key-photo img{height:310px;border-radius:10px}.home-key-photo figcaption{gap:12px;padding-top:13px}.home-key-photo strong{font-size:22px}.home-key-photo span{font-size:13px}
 .home-page .service-intro{padding-top:37px;padding-bottom:20px}.home-page .service-intro h2{font-size:34px;max-width:17ch;margin-bottom:17px}.home-page .service-intro p{font-size:16px}.home-page .service-list{gap:0;padding-bottom:37px}.home-page .service-row{padding:23px 30px 24px 0;gap:10px;border-top-width:1px}.home-page .service-row h3{font-size:27px}.home-page .service-row p{font-size:16px;max-width:36ch}.home-page .service-row .arrow{right:3px;top:26px}
 .page-hero h1{font-size:clamp(2.3rem,10vw,3.2rem);line-height:1.06}.page-hero .lead{font-size:17px}.page-hero .hero-detail{font-size:14px}.page-hero .contact-actions{gap:11px}.page-hero .button{font-size:15px}.vehicle-hero-grid h1{font-size:clamp(2.25rem,9.8vw,3.2rem)}.vehicle-hero-grid .lead{font-size:17px}.vehicle-brand-panel{border-radius:10px}.vehicle-finder h2,.service-detail h2,.faq-section h2{font-size:32px}.vehicle-finder p,.detail-row p,.faq-section details p{font-size:16px}.vehicle-form select,.vehicle-form input{font-size:16px}.finder-fields{gap:17px 12px}.brand-grid span{font-size:12px}.brand-grid a{border-radius:6px}
 .feature h2,.area-section h2,.work-gallery h2,.google-reviews h2{font-size:33px;line-height:1.08}.work-grid h3{font-size:25px}.area-names span{font-size:13px;border-radius:5px}.cta h2{font-size:31px}.cta p{font-size:16px}.footer-name{font-size:23px}.footer-nav,.footer-main p{font-size:15px}footer{padding-bottom:28px}.footer-bottom{font-size:12px}.cookie-choices{bottom:18px}.help-is-open footer{padding-bottom:calc(var(--contact-space) + 20px)}
 .sticky-call.contact-dock{bottom:calc(12px + env(safe-area-inset-bottom));width:calc(100% - 24px);padding:18px;border-radius:10px}.contact-dock .label{font-size:13px;margin-bottom:15px}.contact-dock .label strong{font-size:18px}.contact-dock .contact-actions{grid-template-columns:1fr 1fr;gap:12px}.contact-dock .contact-actions a{font-size:17px;min-height:50px;padding:12px 14px}
}
@media(max-width:360px){.header-inner.wrap{gap:8px}.brand img{width:43px;height:43px}.brand span{font-size:11px}.brand small{font-size:8px}.header-help{padding-inline:11px;font-size:14px}.menu-button{min-width:42px;padding-inline:7px}.hero-services{font-size:15px;column-gap:10px}.home-page .hero .actions{gap:14px}.home-page .hero .actions>.text-link{font-size:13px}.home-page .hero .button{min-width:120px}.contact-dock .label strong{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.contact-dock,.contact-dock *{transition:none!important;animation:none!important}}

/* Direct hero actions hand over to the floating bar after they leave view. */
.home-page .hero .hero-contact-actions{display:grid;grid-template-columns:1.1fr 1fr;gap:12px;width:100%;max-width:410px}
.home-page .hero .hero-contact-actions .button{width:100%;min-width:0;min-height:52px;padding:14px 12px;gap:9px;font-size:17px;white-space:nowrap}
.home-page .hero .hero-contact-actions .call-now{background:var(--gold);color:var(--navy-deep);border-color:var(--gold)}
.home-page .hero .hero-contact-actions .call-now:hover{background:#f7c977}
.home-page .hero .hero-contact-actions .text-now{background:transparent;color:var(--navy);border-color:var(--navy)}
.home-page .hero .hero-contact-actions .text-now:hover{background:#dfe8e1}
.header-help .phone-icon{display:inline-block;width:18px;height:18px}
.footer-main .text-link .phone-icon{width:1em;height:1em;margin-right:7px}
.contact-number .phone-icon,.urgent-number .phone-icon{width:.65em;height:.65em;margin-left:0;margin-right:.25em}
.contact-dock .text-now{animation:contact-text-glow 2.4s ease-in-out .6s infinite}
@keyframes contact-text-glow{0%,100%{box-shadow:0 0 0 0 #78bdb500}50%{box-shadow:0 0 16px 2px #78bdb54d}}
@media(max-width:760px){.header-help{gap:7px;padding-inline:11px}.header-help .phone-icon{display:inline-block;width:17px;height:17px}.home-page .hero .hero-contact-actions{max-width:none;gap:11px}.home-page .hero .hero-contact-actions .button{font-size:16px;gap:8px;padding-inline:11px}.home-page .hero .hero-contact-actions .ui-icon{width:18px;height:18px}}
@media(max-width:360px){.header-help{gap:6px;padding-inline:10px}.header-help .phone-icon{width:16px;height:16px}.home-page .hero .hero-contact-actions{gap:10px}.home-page .hero .hero-contact-actions .button{font-size:14px;gap:7px;padding-inline:10px}.home-page .hero .hero-contact-actions .ui-icon{width:16px;height:16px}}
@media(max-width:760px){.page-hero .contact-actions .button,.cta .contact-actions .button{gap:9px;padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.contact-dock .text-now{animation:none!important;box-shadow:none}}
