/* States follow the supplied default and rollover PDFs. */
a,button{transition:color 160ms ease,background-color 160ms ease,border-color 160ms ease}
.button{border:1px solid transparent}
.button:is(:hover,:focus-visible){transform:none}
.hero-copy>.button:not(.outline){color:#fff}
.hero-copy>.button:not(.outline):is(:hover,:focus-visible){background:transparent;color:var(--green);border-color:var(--green)}
.hero-copy>.button.outline{border-color:#fff;color:#fff}
.hero-copy>.button.outline:is(:hover,:focus-visible){background:#fff;color:var(--green);border-color:#fff}
.hero-service{color:#fff}
.service-art{display:block;position:relative;width:100%;height:198px;transition:transform 160ms ease}
.service-art:after{content:'';position:absolute;inset:0;border:3px solid transparent;border-radius:50%;pointer-events:none;transition:border-color 160ms ease}
.hero-service .service-art .asset{height:100%;width:100%;object-fit:contain;background:transparent;transform:none!important}
.hero-service strong{transition:color 160ms ease}
.hero-service:is(:hover,:focus-visible){color:var(--green)}
.hero-service:is(:hover,:focus-visible) .service-art{transform:scale(1.04)}
.hero-service:is(:hover,:focus-visible) .service-art:after{border-color:var(--green)}
.text-link{color:var(--navy)}
.text-link:is(:hover,:focus-visible){color:var(--green)}
.service-grid article h3,.service-grid article .text-link{transition:color 160ms ease}
.boiler-card .text-link{color:#fff}
.service-grid article:is(:hover,:focus-within) h3,.service-grid article:is(:hover,:focus-within) .text-link{color:var(--green)}
.service-grid article .text-link:after{content:'';position:absolute;inset:0;z-index:4}
.boiler-card>div:not(.asset){position:static;width:100%;padding:36px 40px 25px}
.boiler-card>div:not(.asset)>h3,.boiler-card>div:not(.asset)>p,.boiler-card>div:not(.asset)>.text-link{position:relative;z-index:2}
/* Keep the overlay link relative to the whole card rather than its text. */
.boiler-card>div:not(.asset)>.text-link{position:static}
.boiler-card .text-link>span{position:relative;z-index:2}
.quote-band .button.dark:is(:hover,:focus-visible){background:transparent;color:var(--navy);border-color:var(--navy)}
.local .button.dark:is(:hover,:focus-visible){background:var(--navy);color:var(--green)}
nav a:is(:hover,:focus-visible),footer a:is(:hover,:focus-visible),footer button:is(:hover,:focus-visible){color:var(--green)}
.trust-strip>span>img{width:40px;height:38px;object-fit:contain;flex-shrink:0}
.trust-strip>span:first-child>img{width:29px}
.review-top .review-quote{width:37px;height:30px;object-fit:contain}
.review-stars{display:block;width:118px;height:23px;object-fit:contain;background:none;padding:0;flex-shrink:0}
.rating .review-stars{width:127px;height:24px}
.benefits>div:nth-child(2):before{background-image:url('assets/benefit-guarantee.svg')}
.benefits>div:nth-child(3):before{background-image:url('assets/benefit-installation.svg')}
.footer-contact>a,.footer-contact>button,.footer-contact>p{display:flex;align-items:flex-start;gap:17px}
.footer-contact img{width:21px;height:22px;object-fit:contain;flex-shrink:0}
.footer-contact>p img{height:25px}
.footer-contact>p>span{min-width:0}
@media(max-width:1439px) and (min-width:951px){.service-art{height:170px}}
@media(max-width:950px){.service-art{height:145px}.trust-strip>span>img{width:32px;height:32px}.trust-strip>span:first-child>img{width:26px}}
@media(max-width:650px){.service-art{height:155px;width:155px;max-width:100%;margin:auto}.service-art:after{border-width:2px}.trust-strip>span>img{width:27px;height:28px}.trust-strip>span:first-child>img{width:22px}.boiler-card>div:not(.asset){padding:25px}.footer-contact>a,.footer-contact>button,.footer-contact>p{gap:10px}.footer-contact img{width:18px;height:19px}}
@media(prefers-reduced-motion:reduce){.service-art,.service-art:after,.hero-service strong{transition:none}}
.boiler-card>div:not(.asset){position:relative;z-index:2}
