/* Supplied SVG button artwork, with default and rollover states separated. */
.button.svg-button,.hero-copy>.button.svg-button,.button.svg-button:is(:hover,:focus-visible){display:inline-block;position:relative;flex-shrink:0;padding:0;border:0;border-radius:0;background:transparent!important;box-shadow:none;transform:none;min-height:0;vertical-align:middle;line-height:0;overflow:visible}
.svg-button>img{display:block;width:100%;height:100%;object-fit:contain;transition:opacity 180ms ease}
.svg-button>.button-hover{position:absolute;inset:0;opacity:0}
.svg-button:is(:hover,:focus-visible)>.button-hover{opacity:1}
.svg-button:is(:hover,:focus-visible)>.button-default{opacity:0}
.button.contact-art{width:182px;height:53px}
.button.quote-art{width:170px;height:53px;margin-left:12px}
.button.call-art{width:119px;height:54px;min-width:0}
.whatsapp{border:0;background:transparent;padding:0;display:block;width:68px;height:68px;flex:0 0 68px;line-height:0}
.whatsapp>img{display:block;width:100%;height:100%}
.hero-square-stars{display:block;flex-shrink:0;width:127px;height:24px;object-fit:contain}
.hero h1{white-space:nowrap;line-height:.95;width:calc(100% + 68px)}
@media(min-width:1440px){header{padding-right:52px;gap:18px}nav{gap:15px}nav a{font-size:16px}}
@media(max-width:1439px){.hero h1{width:100%}header{gap:12px}.whatsapp{width:58px;height:58px;flex-basis:58px}}
@media(max-width:950px){.hero-copy>.button.contact-art{width:157px;height:45.72px}.hero-copy>.button.quote-art{width:146px;height:45.52px;margin-left:0;margin-top:14px}header .whatsapp{width:54px;height:54px;flex-basis:54px}}
@media(max-width:650px){header{padding-inline:20px;gap:10px}header .button.call-art{width:85px;height:38.57px}header .whatsapp{width:42px;height:42px;flex-basis:42px}.hero h1{width:100%}.hero-copy>.button.contact-art{width:164px;height:47.76px}.hero-copy>.button.quote-art{width:153px;height:47.7px;margin-left:6px;margin-top:24px}.hero-rating{column-gap:12px}.hero-square-stars{width:127px;height:24px}}
@media(max-width:380px){header .logo{width:100px}header{gap:7px}header .button.call-art{width:74px;height:33.58px}.hero-copy>.button.quote-art{margin-left:0}.hero-copy>.button.contact-art{width:152px;height:44.26px}.hero-copy>.button.quote-art{width:142px;height:44.27px}}

/* Reveal the outlined welcome heading once on page load. */
#welcome{animation:welcome-fade-in 1.8s ease-out 150ms both}
@keyframes welcome-fade-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){#welcome{animation:none;opacity:1}}

/* Match the compact desktop banner in the supplied spacing reference. */
@media(min-width:1440px){
 header .logo{width:170px}
 header nav{justify-content:space-between;gap:14px}
 header nav a{font-size:20px}
 .hero{padding-top:14px;min-height:0}
 .hero .tagline{margin-top:24px}
 .hero-copy h2{white-space:nowrap}
 .hero-visual{min-height:628px}
 .hero-icons .icon{width:27cqw}
 .hero-icons .icon--service{top:77%}
 .hero-icons .icon--care{top:75%}
}
@media(min-width:951px) and (max-width:1439px){
 .hero{min-height:0}
 .hero-copy h2{white-space:nowrap;font-size:7vw}
 .hero-visual{min-height:620px}
}

/* Make room for Prices immediately after Finance in every desktop header. */
@media(min-width:1440px){header nav{gap:12px}header nav a{font-size:18px}}
