/* Local service pages keep the approved home/service geometry and CTA treatment. */
.thermal-local .approved-hero-copy h1{max-width:650px;font-size:clamp(38px,5vw,55px);line-height:1.04}
.thermal-local .approved-hero-copy>.lead{max-width:540px}
@media(min-width:901px){
 .thermal-local .approved-hero-photo{width:100%;right:0}
 .thermal-local .approved-hero-photo>.boiler-photo{height:100%;aspect-ratio:auto}
 .thermal-local .approved-hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
}
.thermal-local .approved-hero .reference-location{z-index:3;left:auto;right:26px;bottom:28px}
.thermal-local .sequence-card>.ref-photo{overflow:hidden}
.thermal-local .sequence-card>.ref-photo img{display:block;width:100%;height:100%;object-fit:contain;background:#eef6fb}
.thermal-local .local-four-faults{grid-template-columns:repeat(2,minmax(0,1fr))}
.thermal-local .local-blue-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:68px;margin:22px 0 0;padding:17px 24px;border:1px solid #45b2ef;border-radius:13px;background:linear-gradient(110deg,#064477,#0064ae);box-shadow:0 8px 24px #0050922b;color:white;font-size:20px;font-weight:700;text-decoration:none}
.thermal-local .local-blue-cta>svg:first-child{width:34px;height:34px;flex:none}
.thermal-local .local-blue-cta>svg:last-child{width:24px;height:24px;flex:none}
.thermal-local .local-blue-cta:hover,.thermal-local .local-blue-cta:focus-visible{background:#05335f;outline:2px solid #9bd9ff;outline-offset:2px}
.thermal-local .thermal-local-fact{padding:30px;border:1px solid #d6e7f4;border-radius:16px;background:linear-gradient(125deg,#eef7ff,white);box-shadow:0 10px 32px #003d6b0b}
.thermal-local .thermal-local-fact p{margin:0 0 24px;font-size:19px;line-height:1.57;color:#163b65}
.thermal-local .thermal-local-fact .service-link{background:#07558d;color:white}
.thermal-local .thermal-local-models{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.thermal-local .thermal-official-source{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:#07558d;font-size:16px;font-weight:700;line-height:1.45;text-underline-offset:3px}
.thermal-local .thermal-official-source svg{width:18px;height:18px;flex:none}
.thermal-local .thermal-official-source:focus-visible{outline:2px solid #07558d;outline-offset:3px}
.thermal-local .coverage-directory h3{font-size:26px;line-height:1.2}
.thermal-local .coverage-directory p{font-size:18px;line-height:1.5}
.thermal-local .local-reviewed,.thermal-local .local-independent{font-size:15px;color:#41617b;line-height:1.5}
.thermal-local .boiler-index{margin-top:20px}
.thermal-local .boiler-information>section{min-width:0;scroll-margin-top:150px}
.thermal-local .boiler-information p{overflow-wrap:anywhere}
.thermal-local .approved-faq details{min-width:0}
.thermal-local .local-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.thermal-local .local-case-card{position:relative;min-width:0;padding:28px;border:1px solid #d7e8f4;border-radius:17px;background:linear-gradient(135deg,#fff,#edf7ff);box-shadow:0 12px 34px #003d6b12}
.thermal-local .process-with-visual{display:grid;grid-template-columns:minmax(0,2fr) minmax(285px,.9fr);align-items:stretch;gap:18px}
.thermal-local .process-with-visual .process-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}
.thermal-local .process-visual{display:flex;flex-direction:column;min-width:0;margin:0;overflow:hidden;border:1px solid #d2e4f1;border-radius:17px;background:#fff;box-shadow:0 12px 34px #003d6b12}
.thermal-local .process-visual>.boiler-photo{flex:1;min-height:360px;aspect-ratio:auto}
.thermal-local .process-visual>.boiler-photo img{width:100%;height:100%;object-fit:cover}
.thermal-local .process-visual figcaption,.thermal-local .local-case-media figcaption{padding:13px 15px;background:#eef7fd;color:#31536f;font-size:14px;line-height:1.42}
.thermal-local .local-case-media{margin:-28px -28px 20px;overflow:hidden;border-radius:17px 17px 0 0;background:#eaf4fb}
.thermal-local .local-case-media>.boiler-photo{height:220px;aspect-ratio:auto}
.thermal-local .local-case-media>.boiler-photo img{width:100%;height:100%;object-fit:cover}
.thermal-local .local-case-card>svg{width:48px;height:48px;padding:10px;margin:16px 0;color:#07558d;border-radius:50%;background:#e2f1fc}
.thermal-local .local-case-card h3{margin:0 0 12px;font-size:25px;line-height:1.18;color:#08295a}
.thermal-local .local-case-card p{margin:0 0 12px;font-size:17px;line-height:1.55;color:#244867}
.thermal-local .local-case-card p:last-child{margin-bottom:0}
.thermal-local .local-case-label{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:999px;background:#07558d;color:#fff;font-size:13px;font-weight:700;letter-spacing:.02em}
.thermal-local .local-case-card .local-case-note{padding-top:12px;border-top:1px solid #cddfeb;color:#45647c;font-size:15px}
@media(max-width:900px){
 /* Match the approved home composition: one hero, copy on the left and the
    photograph visible on the right through a horizontal fade. */
 .thermal-local .approved-hero{display:block;position:relative;overflow:hidden;background:#f4faff}
 .thermal-local .approved-hero>.wrap{position:relative;z-index:3;min-height:0;padding-block:34px}
 .thermal-local .approved-hero-copy{width:100%;max-width:none}
 .thermal-local .approved-hero-copy h1,
 .thermal-local .approved-hero-copy>.lead{width:64%;max-width:640px}
 .thermal-local .approved-hero-photo{position:absolute;z-index:1;inset:0;width:100%;height:100%;max-width:none;aspect-ratio:auto}
 .thermal-local .approved-hero-photo>.boiler-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;aspect-ratio:auto}
 .thermal-local .approved-hero-photo:after{display:block;content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,#f4faff 0%,#f4faff 44%,#f4faffed 54%,#f4faffa3 66%,#f4faff1f 83%,transparent 100%)}
 .thermal-local .approved-hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:72% center}
 .thermal-local .approved-hero .sequence-benefits{width:64%;max-width:640px}
 .thermal-local .approved-hero .actions{width:100%;max-width:560px}
 .thermal-local .approved-hero .reference-location{display:none}
}
@media(max-width:767px){
 .thermal-local .approved-hero-copy h1{font-size:clamp(34px,5.1vw,43px)}
 .thermal-local .local-blue-cta{font-size:18px;min-height:58px;padding:14px 18px}
 .thermal-local .thermal-local-fact p{font-size:18px}
 .thermal-local .process-with-visual{grid-template-columns:1fr}
 .thermal-local .process-visual>.boiler-photo{min-height:0;aspect-ratio:16/10}
}
@media(max-width:520px){
 .thermal-local .eyebrow{font-size:14px;line-height:1.45;letter-spacing:.11em}
 .thermal-local .boiler-information h2{font-size:29px;line-height:1.18;overflow-wrap:anywhere}
 .thermal-local .boiler-information h3{font-size:23px;line-height:1.25;overflow-wrap:anywhere}
 .thermal-local .sequence-benefits p,
 .thermal-local .sequence-benefits span{font-size:14px;line-height:1.35}
 .thermal-local .didactic-figure figcaption,
 .thermal-local .didactic-figure figcaption strong,
 .thermal-local .didactic-figure figcaption span{font-size:14px;line-height:1.5}
 .thermal-local .local-four-faults{grid-template-columns:1fr}
 .thermal-local .local-case-grid{grid-template-columns:1fr}
 .thermal-local .local-case-card{padding:22px}
 .thermal-local .local-case-media{margin:-22px -22px 18px}
 .thermal-local .local-case-media>.boiler-photo{height:auto;aspect-ratio:16/10}
 .thermal-local .process-with-visual .process-grid{grid-template-columns:1fr}
 .thermal-local .local-case-card h3{font-size:23px}
 .thermal-local .local-case-card p{font-size:16px}
 .boiler-approved.thermal-local .breadcrumbs{font-size:15px;line-height:1.45;margin:14px 0;gap:6px}
 .thermal-local .approved-hero{display:block;position:relative;overflow:hidden;min-height:0}
 .thermal-local .approved-hero>.wrap{padding:26px 14px 28px}
 .thermal-local .approved-hero-copy{width:100%;max-width:none}
 .thermal-local .approved-hero-copy h1{width:72%;max-width:285px;font-size:30px;line-height:1.06}
 .thermal-local .approved-hero-copy>.lead{width:72%;max-width:285px;font-size:16px;line-height:1.43}
 .thermal-local .approved-hero-photo{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
 .thermal-local .approved-hero-photo>.boiler-photo{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
 .thermal-local .approved-hero-photo:after{display:block;background:linear-gradient(90deg,#f4faff 0%,#f4faff 48%,#f4faffef 58%,#f4faff9e 72%,#f4faff1f 90%,transparent 100%)}
 .thermal-local .approved-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:74% center}
 .thermal-local .approved-hero .sequence-benefits{width:100%;max-width:none;margin-top:4px;padding:18px 0;background:linear-gradient(90deg,#f4faffef,#f4faffb8 72%,transparent)}
 .thermal-local .approved-hero .sequence-benefits p,
 .thermal-local .approved-hero .sequence-benefits span{font-size:14px;line-height:1.3}
 .thermal-local .approved-hero .actions{width:100%;max-width:none}
 .thermal-local .approved-hero .reference-location{display:none}
 .boiler-approved.thermal-local .consultation-band:has(>.photo-boiler-banner) .banner-copy{margin-left:0;width:100%;max-width:none;padding:26px 22px}
 .boiler-approved.thermal-local .consultation-band .banner-copy{margin-left:0;width:100%;max-width:none;padding:26px 22px}
 .thermal-local .boiler-faults>.sequence-card:last-child:nth-child(odd),
 .thermal-local .boiler-services>.sequence-card:last-child:nth-child(odd){display:block;grid-column:auto}
 .thermal-local .approved-rail .equipment-rail{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
 .thermal-local .approved-rail .equipment-rail a{font-size:14px;line-height:1.25;min-height:84px;padding:8px 4px}
 .thermal-local .local-blue-cta{font-size:17px;line-height:1.25;min-height:62px;padding:13px 15px}
 .thermal-local .local-blue-cta>svg:first-child{width:27px;height:27px}
 .thermal-local .local-blue-cta>svg:last-child{width:19px;height:19px}
 .thermal-local .thermal-local-fact{padding:22px}
 .thermal-local .thermal-local-fact p,.thermal-local .coverage-directory p{font-size:17px}
 .thermal-local .thermal-local-fact .service-link{font-size:16px}
 .thermal-local .thermal-local-models{grid-template-columns:1fr}
 .thermal-local .boiler-information h2{font-size:25px}
 .thermal-local .boiler-information>section{scroll-margin-top:105px}
}

/* Sarrià illustration: keep the complete technical scene above mobile actions. */
@media(max-width:520px){
 .thermal-local .approved-hero-photo:has(img[src*="caldera-sarria-hero-v2"]){height:70%;background:#f4faff}
 .thermal-local .approved-hero-photo img[src*="caldera-sarria-hero-v2"]{object-position:100% center!important}
}
