/* Compact spacing and typography, without decorative borders. */
*,*::before,*::after{border-style:none!important}
.eyebrow,.photolabel{display:none}
header{height:72px;padding:7px 18px;box-shadow:none}
header .brand img{width:62px;height:52px}
header .brand{gap:8px}
header .brand span{font-size:11px}
header .brand small{font-size:6px}
header nav{padding:0}
header nav a{padding-top:10px;padding-bottom:10px}
header nav a::after{bottom:2px}
header .headerquote{padding:11px 17px}
html{scroll-padding-top:82px}
h1{font-size:clamp(36px,4.1vw,58px);letter-spacing:-2px;line-height:1.13}
.pageintro h1{font-size:clamp(34px,3.7vw,50px);letter-spacing:-1.6px}
h2,.aboutcopy h2{font-size:clamp(29px,3vw,41px);letter-spacing:-1.3px;line-height:1.15}
.reviewsummary h2{font-size:31px}
h3,.steps h3{font-size:21px}
.service h3{font-size:20px}
.ask h3{font-size:26px}
.google-review .reviewperson h2{font-size:13px;letter-spacing:0}
.hero{min-height:520px}
.herocopy{padding-top:55px;padding-bottom:30px}
.herocopy>p{margin-top:20px}
.herobottom{margin-top:42px}
.section{padding-top:65px;padding-bottom:65px}
.sectionhead{margin-bottom:30px}
.pageintro{padding-top:30px;padding-bottom:40px}
.breadcrumb{margin-bottom:20px}
.pageintro>p{margin-top:18px}
.trust{padding-top:17px;padding-bottom:17px}
.aboutphoto{min-height:490px}
.aboutcopy{padding-top:55px;padding-bottom:55px}
.steps{margin-top:35px}
.steps>div{padding-top:0}
.steps h3{margin-top:20px}
details{padding-top:5px;margin-top:16px}
.servicebody{padding:22px 20px}
.reviewspage{padding-top:40px}
.reviewsummary{margin-bottom:32px}
.reviewsummary>div:first-child{padding-right:0}
.google-review{padding:24px}
footer{padding:20px 7% 10px}
.footgrid{gap:30px;align-items:start}
footer .brand img{width:43px;height:34px}
footer .brand{gap:8px}
footer .brand span{font-size:10px}
footer p{margin-top:6px;font-size:11px;line-height:1.4}
footer h3{font-size:12px;margin-bottom:7px}
footer .footgrid>div>a:not(.brand){font-size:10px;margin-bottom:2px;line-height:1.5}
.copyright{margin-top:12px;padding-top:6px;font-size:8px}
/* Keep the requested WhatsApp pulse as an animation, without an outline. */
.floatapp::before{background:#25d36655}
@media(max-width:800px){
 header{height:66px;padding:6px 12px}
 header .brand img{width:49px;height:45px}
 header .brand span{font-size:9px}
 header .brand small{font-size:5px}
 header .headerquote{padding:10px 12px;font-size:10px}
 header nav{top:66px}
 header nav.open{padding:10px 12px}
 header nav a{padding:12px 16px}
 html{scroll-padding-top:76px}
}
@media(max-width:700px){
 h1{font-size:39px;letter-spacing:-1.5px}
 .pageintro h1{font-size:35px}
 h2,.aboutcopy h2{font-size:31px;letter-spacing:-1px}
 .hero{min-height:515px}
 .herocopy{padding-top:40px;padding-bottom:25px}
 .herobottom{margin-top:35px}
 .section{padding-top:45px;padding-bottom:45px}
 .pageintro{padding-top:25px;padding-bottom:32px}
 .aboutphoto{min-height:320px}
 .aboutcopy{padding-top:40px;padding-bottom:40px}
 .servicebody{padding:17px 14px}
 .service h3{font-size:18px}
 .reviewsummary h2{font-size:27px}
 .reviewsummary>div:first-child{padding-bottom:10px}
 .footgrid{grid-template-columns:1fr 1fr;gap:20px}
 .footgrid>div:first-child{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:15px}
 .footgrid>div:first-child>p{margin-top:0;font-size:9px}
 footer{padding-top:18px;padding-bottom:10px}
 footer .brand span{font-size:8px}
 .copyright{gap:4px;margin-top:12px;font-size:8px;padding-right:50px}
}
@media(max-width:380px){header .brand img{width:40px}header .brand span{font-size:8px}header .headerquote{font-size:9px;padding:9px}.footgrid{gap:15px}footer .brand span{font-size:7px}}
.aboutphoto>span,.servicebody>.number{display:none}.servicebody>h3{margin-top:0}
.hero .herocopy{padding-bottom:82px}
.hero .trust{position:absolute;left:7%;right:7%;bottom:20px;z-index:2;padding:0;background:transparent;color:#fff;gap:20px;box-shadow:none;font-size:11px;line-height:1.5}
@media(max-width:700px){.hero .herocopy{padding-bottom:125px}.hero .trust{bottom:20px;gap:7px;font-size:10px}.hero{min-height:570px}}
/* Slightly smaller headings throughout the site. */
h1{font-size:clamp(34px,3.8vw,53px);letter-spacing:-1.7px}
.pageintro h1{font-size:clamp(32px,3.4vw,46px);letter-spacing:-1.4px}
h2,.aboutcopy h2{font-size:clamp(27px,2.8vw,38px);letter-spacing:-1.1px}
h3,.steps h3{font-size:20px}.service h3{font-size:19px}.ask h3{font-size:24px}
.reviewsummary h2{font-size:29px}.reviewsummary b{font-size:58px}
.herobottom b{font-size:32px}.contact .phone{font-size:29px}.signature strong{font-size:26px}
.legal h1{font-size:43px}.legal h2{font-size:25px}
.google-review .reviewperson h2{font-size:13px;letter-spacing:0}
@media(max-width:700px){h1{font-size:36px}.pageintro h1{font-size:32px}h2,.aboutcopy h2{font-size:29px}.service h3{font-size:17px}.reviewsummary h2{font-size:25px}.herobottom b{font-size:26px}.legal h1{font-size:33px}}
/* A shallower footer with contact details and links arranged side by side. */
footer{padding:12px 7% 8px}
.footgrid{grid-template-columns:1.05fr 1.35fr 1fr;gap:24px}
footer .brand img{width:36px;height:29px}
footer .brand span{font-size:9px}
footer .footgrid>div:first-child>p{margin-top:3px;font-size:10px;line-height:1.35}
footer .footgrid>div:first-child>p br{display:none}
footer .footgrid>div:nth-child(2){display:grid;grid-template-columns:1.3fr 1fr;column-gap:16px;row-gap:1px}
footer .footgrid>div:nth-child(2)>h3{grid-column:1/-1}
footer .footgrid>div:nth-child(2)>p{grid-column:2;grid-row:2/4;margin:0;line-height:1.4;font-size:10px}
footer .footgrid>div:nth-child(3){display:grid;grid-template-columns:1fr 1fr;gap:1px 16px}
footer .footgrid>div:nth-child(3)>h3{grid-column:1/-1}
footer h3{font-size:11px;margin-bottom:4px;line-height:1.3}
footer .footgrid>div>a:not(.brand){font-size:10px;margin:0;line-height:1.45}
.copyright{margin-top:7px;padding-top:0;line-height:1.3}
h1{font-size:clamp(32px,3.5vw,49px)}
.pageintro h1{font-size:clamp(30px,3.1vw,42px)}
h2,.aboutcopy h2{font-size:clamp(25px,2.6vw,35px)}
h3,.steps h3{font-size:18px}.service h3{font-size:18px}.ask h3{font-size:22px}
.reviewsummary h2{font-size:27px}.contact .phone{font-size:27px}
.google-review .reviewperson h2{font-size:13px}
@media(max-width:950px){.footgrid{grid-template-columns:1fr 1.2fr 1fr;gap:20px}footer .footgrid>div:nth-child(2){display:block}footer .footgrid>div:nth-child(2)>p{margin-top:4px}footer .footgrid>div:nth-child(3){grid-template-columns:1fr}}
@media(max-width:700px){h1{font-size:34px}.pageintro h1{font-size:30px}h2,.aboutcopy h2{font-size:27px}.service h3{font-size:16px}.reviewsummary h2{font-size:23px}.footgrid{grid-template-columns:1fr 1fr;gap:13px}footer .footgrid>div:first-child{grid-column:1/-1;gap:12px}footer .footgrid>div:first-child>p{font-size:9px}footer .footgrid>div:nth-child(3){display:block}footer{padding:12px 7% 8px}.copyright{margin-top:6px;gap:3px}footer .brand span{font-size:8px}}
/* Align each footer group around its centre while retaining the compact height. */
footer{padding:12px 7% 9px}
.footgrid{grid-template-columns:1fr 1fr 1fr;gap:35px;align-items:center;text-align:center}
footer .footgrid>div:first-child{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
footer .brand{justify-content:center}
footer .footgrid>div:first-child>p{margin:0;line-height:1.5}
footer .footgrid>div:nth-child(2){display:grid;grid-template-columns:1fr;gap:2px;justify-items:center;align-content:center}
footer .footgrid>div:nth-child(2)>h3{grid-column:auto;margin-bottom:2px}
footer .footgrid>div:nth-child(2)>p{grid-column:auto;grid-row:auto;margin-top:2px;line-height:1.4}
footer .footgrid>div:nth-child(2)>p br{display:none}
footer .footgrid>div:nth-child(2)>p br::after{content:" "}
footer .footgrid>div:nth-child(3){display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:3px 16px;max-width:310px;justify-self:center}
footer .footgrid>div:nth-child(3)>h3{flex-basis:100%;margin-bottom:2px}
.copyright{justify-content:center;align-items:center;gap:25px;margin-top:9px;text-align:center}
@media(max-width:700px){.footgrid{grid-template-columns:1fr 1fr;gap:15px 20px}.footgrid>div:first-child{grid-column:1/-1}footer .footgrid>div:nth-child(3){display:flex;gap:3px 12px}.copyright{gap:4px;padding-right:0;flex-direction:column;margin-top:10px}.footgrid>div:first-child>p{max-width:100%}footer{padding-bottom:12px}}
/* Rounded corners for all rectangular buttons. */
a.button,button,header .headerquote{border-radius:10px}
.workphoto{overflow:hidden}
/* Compact rectangular call-to-action buttons. */
.button,.ask .button,header .headerquote{padding:10px 16px;font-size:12px;line-height:1.5;gap:16px}
header .headerquote{padding:9px 14px;font-size:11px}
form>.button{width:auto;min-width:190px}
@media(max-width:800px){header .headerquote{padding:8px 11px;font-size:10px;gap:9px}}
@media(max-width:700px){.button,.ask .button{padding:9px 14px;font-size:11px;gap:14px}header .headerquote{padding:8px 11px;font-size:10px;gap:9px}form>.button{min-height:40px}}
@media(max-width:380px){header .headerquote{font-size:9px;padding:8px 9px}}
