/* Desktop text layout traced from Homepage.pdf; narrow screens reflow naturally. */
.reference-line{display:inline}
@media(min-width:1440px){
 .reference-line{display:block;white-space:nowrap}
 .intro .section-copy>p:not(.eyebrow),.services-intro,.accredited .section-copy>p:not(.eyebrow),.local .section-copy>p:not(.eyebrow){font-size:18px;line-height:22px;font-weight:700}
 .intro .section-copy>p:not(.eyebrow){max-width:438px;margin-top:30px}
 .services-intro{max-width:450px;margin-top:18px}
 .service-grid{grid-template-columns:628px 554px;grid-template-rows:235px 235px;gap:26px 16px}
 .service-grid p,.small-card p{font-size:20px;line-height:24px;font-weight:500;max-width:270px;margin-top:16px}
 .boiler-card>div:not(.asset){padding:0 40px 25px}
 .boiler-card p{margin-top:20px;max-width:230px}
 .boiler-card .text-link{margin-top:26px}
 .small-card{display:block}
 .small-card>.asset{position:absolute;right:0;top:0;width:309px;height:235px;mask-image:linear-gradient(90deg,transparent,#000 25%)}
 .small-card>div:first-child{position:relative;padding:38px 0 0 26px}
 .small-card .text-link{margin-top:32px}
 #care-plans>div:first-child{padding-top:42px}
 #care-plans .text-link{margin-top:12px}
 .extra-services>.container{grid-template-columns:270px 294px 295px 1fr;gap:28px;padding-block:40px}
 .extra-services h3,.extra-services p{font-size:18px;line-height:22px}
 .extra-services p{margin-top:10px}
 .accredited{grid-template-columns:525px 1fr;gap:80px}
 .accredited h2{width:600px;max-width:none;line-height:36px}
 .accredited .section-copy>p:not(.eyebrow){max-width:none;margin-top:28px}
 .benefits{width:600px;grid-template-columns:156px 168px 168px 108px;margin-top:36px}
 .benefits>div,.benefits>div:nth-child(2n){padding:85px 6px 0;display:flex;flex-direction:column;align-items:center}
 .benefits h3{font-size:18px;line-height:22px;min-height:66px}
 .benefits p{font-size:18px;line-height:22px;margin-top:6px;font-weight:500}
 .benefits>div:before{width:65px;height:68px}
 .quote-layout{grid-template-columns:340px 1fr;gap:48px}
 .quote-band{padding-block:48px}
 .quote-band h2{font-size:36px;line-height:36px;letter-spacing:-1.1px}
 .quote-steps h3{font-size:24px;line-height:22px}
 .quote-steps p{font-size:18px;line-height:22px;margin-top:20px}
 .reviews{grid-template-columns:405px 369px 369px;gap:28px;padding-block:67px 60px}
 .reviews-heading h2{font-size:36px;line-height:36px;white-space:nowrap}
 .reviews-heading .eyebrow{margin-bottom:14px}
 .rating{margin-top:24px}
 .rating>div{display:flex;align-items:center;gap:14px;margin-top:0}
 .rating b{font-size:20px}
 .rating p{font-size:18px;line-height:22px;font-weight:700;margin-top:8px}
 .rating .trust{font-size:22px;order:0}
 .rating b{order:1}
 .rating .review-stars{order:2;width:120px}
 .rating .checkatrade-logo{width:124px}
 .reviews blockquote{min-height:292px;align-self:start;padding:26px 33px 30px;font-size:18px;line-height:22px}
 .reviews blockquote p{line-height:22px}
 .review-top{margin-bottom:24px}
 .local{grid-template-columns:575px 1fr;gap:80px}
 .local h2{font-size:36px;line-height:36px;white-space:nowrap}
 .local .section-copy>p:not(.eyebrow):not(.locations){margin-top:24px;max-width:none}
 .local .locations{max-width:370px;margin-top:16px!important}
 .local .locations>span{font-size:18px;line-height:22px}
 .local .button{margin-top:24px;padding-inline:26px;min-width:194px}
 .finance{font-size:14px;line-height:17px}
 .finance p{line-height:17px}
}
@media(max-width:1439px){.reference-line + .reference-line:before{content:''}.benefits h3{min-height:0}}
/* Older number-badge rules must not position the reference text spans. */
.quote-steps .reference-line{position:static;top:auto;left:auto;width:auto;height:auto;border:0;border-radius:0;background:none;color:inherit;font:inherit;line-height:inherit;text-align:inherit}
@media(min-width:1440px){
 .quote-steps .reference-line{display:block}
 .accredited-visual .asset{width:min(725px,calc((100vw - 1200px)/2 + 605px))}
 .accredited .section-copy{position:relative;z-index:1}
}
/* Updated Local to you reference: two full lines and a closer text column. */
@media(min-width:1440px){
 .local{gap:40px}
 .local>.asset{width:min(735px,calc((100vw - 1200px)/2 + 615px))}
 .local .section-copy>p:not(.eyebrow):not(.locations){max-width:none}
}
