/* Shared pilot presentation; activated per locality from editable metadata. */
.sanipro-local-pilot .location-hero{background:var(--paper);color:var(--ink)}
.sanipro-local-pilot .location-hero-inner{grid-template-columns:1fr 1.05fr;gap:3.5rem;align-items:center;padding-block:36px 56px}
.sanipro-local-pilot .location-hero h1{font-size:clamp(2.4rem,4.5vw,4rem);max-width:15ch;color:var(--ink)}
.sanipro-local-pilot .location-context{color:var(--brand)}
.sanipro-local-pilot .location-hero .lead{color:var(--muted);max-width:42ch;font-size:1.15rem}
.sanipro-local-pilot .location-photo{margin:0;min-width:0}
.sanipro-local-pilot .location-photo img{display:block;width:100%;height:470px;object-fit:cover;border-radius:70px 8px 8px 8px}
.sanipro-local-pilot .location-photo figcaption{font-size:.78rem;line-height:1.5;color:var(--muted);padding-top:10px}
.sanipro-local-pilot .location-hero .text-link{color:var(--brand)}
.pilot-local-information{border-top:1px solid var(--line)}.pilot-local-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:4rem}.pilot-place figure,.pilot-map figure{margin:0}.pilot-place figure>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.pilot-place figcaption,.pilot-map figcaption{font-size:.76rem;line-height:1.6;color:var(--muted);padding-top:12px}.pilot-place figcaption p{margin:0}.pilot-local-context{margin-top:24px;font-size:1rem}.pilot-local-context h3{font-size:1.4rem}.pilot-official-links{list-style:none;padding:0;margin:0}.pilot-official-links li{border-bottom:1px solid var(--line)}.pilot-official-links a{display:flex;justify-content:space-between;gap:16px;padding-block:15px;min-height:48px;text-decoration:none;font-size:1rem}.pilot-official-links a:hover{text-decoration:underline}.pilot-official-links a>span[aria-hidden]{color:var(--brand)}
/* Compact weather, adapted from WhatLeaks Core .wl-weather; hidden on unavailable data. */
.sanipro-weather[hidden]{display:none}
.sanipro-weather{margin-top:28px;border:1px solid var(--line);border-radius:8px;padding:16px 20px;background:var(--paper);max-width:400px}
.sanipro-weather .sanipro-weather__title{margin:0 0 8px;font-size:.9rem;line-height:1.4;text-transform:uppercase;letter-spacing:.04em}
.sanipro-weather__now{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;line-height:1.3}
.sanipro-weather__icon{font-size:1.6rem}.sanipro-weather__temp{font-size:1.6rem;font-weight:700}.sanipro-weather__desc{color:var(--muted);font-size:.9rem;flex:1;min-width:90px}
.sanipro-weather .sanipro-weather__days{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.sanipro-weather__days li{display:grid;justify-items:center;font-size:.8rem;gap:2px;line-height:1.5;min-width:0}.sanipro-weather__mm{white-space:nowrap}.sanipro-weather__rain{color:var(--muted)}
.sanipro-weather .sanipro-weather__src{margin:8px 0 0;font-size:.7rem;line-height:1.5;color:var(--muted)}

.pilot-coverage{background:var(--surface)}.pilot-coverage-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.pilot-map img{width:100%;height:auto;background:var(--paper);border-radius:8px}.pilot-zones ul{list-style:none;padding:0;margin:0;columns:2;column-gap:24px}.pilot-zones li{break-inside:avoid;border-bottom:1px solid var(--line);padding:10px 0;font-size:.94rem;line-height:1.5}.pilot-zones h3,.pilot-neighbours h3{font-size:1.4rem}.pilot-neighbours{margin-top:32px}.pilot-neighbours ul{display:flex;flex-wrap:wrap;gap:0 24px;list-style:none;padding:0;margin:0}.pilot-neighbours a{display:inline-block;min-height:44px;padding-block:10px;font-size:.95rem}.pilot-neighbours span{color:var(--brand)}
@media(max-width:1000px){.sanipro-local-pilot .location-hero-inner{gap:2rem}.pilot-local-grid,.pilot-coverage-grid{gap:2rem}.pilot-zones ul{columns:1}}
@media(max-width:760px){.sanipro-local-pilot .location-hero-inner{grid-template-columns:1fr;padding-block:28px 40px;gap:24px}.sanipro-local-pilot .location-hero h1{font-size:2.55rem;max-width:16ch}.sanipro-local-pilot .location-photo img{height:340px;border-top-left-radius:48px}.pilot-local-grid,.pilot-coverage-grid{grid-template-columns:1fr;gap:32px}.sanipro-weather{padding:16px;max-width:none}.pilot-place figcaption,.pilot-map figcaption{font-size:.78rem}}
/* Service pilots: large image cards, manual horizontal browsing. */
.sanipro-service-pilot .location-hero h1{max-width:22ch;font-size:clamp(2.25rem,3.5vw,3.5rem)}
.pilot-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.pilot-service h3{font-size:1.35rem}.pilot-service p{color:var(--muted);font-size:1rem}.pilot-service{border-top:3px solid var(--brand);padding-top:1.5rem}
.pilot-method-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:20px;scrollbar-color:var(--brand) var(--surface)}.pilot-method-card{flex:0 0 calc((100% - 48px)/3);min-width:300px;scroll-snap-align:start;background:var(--surface);border-radius:8px;overflow:hidden}.pilot-method-photo{margin:0}.pilot-method-photo img{display:block;width:100%;aspect-ratio:3/2;height:auto;object-fit:cover}.pilot-method-photo figcaption{padding:10px 22px 0;font-size:.74rem;color:var(--muted)}.pilot-method-copy{padding:22px}.pilot-method-copy h3{font-size:1.45rem}.pilot-method-copy p{font-size:1rem}.pilot-method-copy details{border-top:1px solid var(--line)}.pilot-method-copy details p{color:var(--muted)}.pilot-carousel-controls{display:flex;gap:12px;justify-content:flex-end;margin-bottom:20px}.pilot-carousel-controls button{min-height:48px;padding:10px 18px;background:var(--paper);color:var(--brand-dark);border:1px solid var(--brand);border-radius:6px;cursor:pointer}.pilot-method-track:focus-visible,.pilot-carousel-controls button:focus-visible{outline:3px solid var(--brand);outline-offset:4px}
.pilot-preparation{border-top:1px solid var(--line);padding-top:2rem;margin-top:2rem}.pilot-preparation .signals-layout{padding:0}.pilot-preparation h2{font-size:1.6rem}.pilot-preparation .signal-list{display:grid;grid-template-columns:1fr 1fr;gap:24px}.pilot-preparation .signal-list h3{font-size:1.15rem}
.google-wordmark{display:inline-flex;font-weight:650;font-size:1.4rem;letter-spacing:-.04em;margin-right:.5rem}.google-wordmark span:nth-child(1),.google-wordmark span:nth-child(4){color:#4285f4}.google-wordmark span:nth-child(2),.google-wordmark span:nth-child(6){color:#ea4335}.google-wordmark span:nth-child(3){color:#b57900}.google-wordmark span:nth-child(5){color:#188038}.review-source{display:flex;align-items:center;justify-content:space-between;gap:20px}.google-g{color:#4285f4;font-size:1.8rem;font-weight:700}.review-stars{color:#9a6700;letter-spacing:.12em;white-space:nowrap}.review-stars-empty{color:#74818a}.review-example p{font-size:1rem;color:var(--muted)}.review-example{border-top-color:var(--line)}.review-preview-note{font-size:.9rem;color:var(--muted);margin-top:24px}
@media(max-width:1000px){.pilot-method-card{flex-basis:calc((100% - 24px)/2)}.pilot-service-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.pilot-method-card{flex-basis:88%;min-width:0}.pilot-service-grid,.pilot-preparation .signal-list{grid-template-columns:1fr}.sanipro-service-pilot .location-hero h1{font-size:2.3rem}.pilot-method-copy{padding:20px}}
.pilot-inline-contact{border-block:1px solid var(--line);background:var(--paper);padding-block:28px}.pilot-inline-contact-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.pilot-inline-contact p{margin:0;font-size:1.25rem;max-width:35ch;font-weight:600}.pilot-inline-contact .actions{flex-shrink:0}@media(max-width:760px){.pilot-inline-contact-inner{align-items:flex-start;flex-direction:column}.pilot-inline-contact .actions{gap:16px}}
.pilot-zones-more{margin-top:16px;border-top:1px solid var(--line)}.pilot-zones-more summary{color:var(--brand-dark);font-weight:600;min-height:48px}.pilot-zones-more[open] summary{margin-bottom:8px}
.sanipro-service-pilot .pilot-review-track[data-count]{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:20px;scrollbar-color:var(--brand) var(--surface)}.pilot-review-track .testimonial-card{flex:0 0 calc((100% - 48px)/3);min-width:0;scroll-snap-align:start;gap:24px}.pilot-review-controls{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:24px}.pilot-review-controls button{min-height:48px;border:1px solid var(--brand);border-radius:6px;background:var(--paper);color:var(--brand-dark);padding:10px 18px;cursor:pointer}.pilot-review-controls button:disabled{opacity:.45;cursor:default}.pilot-review-controls span{font-size:.9rem;color:var(--muted);margin-right:auto}.pilot-review-track:focus-visible,.pilot-review-controls button:focus-visible{outline:3px solid var(--brand);outline-offset:4px}@media(max-width:1000px){.pilot-review-track .testimonial-card{flex-basis:calc((100% - 24px)/2)}}@media(max-width:600px){.pilot-review-track .testimonial-card{flex-basis:88%}.pilot-review-controls{flex-wrap:wrap}.pilot-review-controls span{flex-basis:100%}}

.sanipro-local-pilot .sanipro-content-updated{font-size:.8rem;line-height:1.5;color:var(--muted);margin:12px 0 20px}
