/* Approved component system for native content families. */
.sanipro-native .section{padding-block:64px}
.sanipro-native .hero{padding-block:36px 56px;gap:4rem}
.sanipro-native .hero-visual img{height:440px}
.sanipro-native .hero-copy{padding-block:0}
.sanipro-native .hero h1{font-size:clamp(2.6rem,5vw,4.4rem)}
.sanipro-native .hero-service h1{font-size:clamp(2.4rem,4vw,3.6rem)}
.sanipro-native .hero .lead{margin-block:1.3rem 1.6rem}
.sanipro-native .section-heading{gap:4rem;margin-bottom:2rem}
.service-directory{display:grid;grid-template-columns:1fr 1.1fr;gap:3rem}
.service-feature{display:flex;align-items:center;gap:1rem;padding:2rem;background:var(--paper);border-radius:var(--radius);text-decoration:none;border-top:3px solid var(--brand)}
.service-feature>div{flex:1}.service-feature h3{font-size:1.9rem;max-width:15ch}.service-feature p{font-size:1rem;color:var(--muted)}
.service-feature img{width:42%;height:200px;object-fit:contain;mix-blend-mode:multiply}
.service-feature .text-link{font-size:.95rem}.service-feature:hover .text-link{color:var(--brand)}
.service-rows>a{display:flex;gap:1.5rem;align-items:center;justify-content:space-between;padding:1.35rem 0;border-bottom:1px solid var(--line);text-decoration:none;min-height:104px}
.service-rows>a:first-child{padding-top:.25rem}.service-rows h3{font-size:1.4rem;margin:0 0 .35rem}.service-rows p{font-size:1rem;line-height:1.5;color:var(--muted);margin:0;max-width:40ch}.service-action{font-size:.85rem;font-weight:600;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}
.diagnostic-section{display:grid;grid-template-columns:.85fr 1.4fr;gap:5rem;align-items:start}.diagnostic-intro h2{max-width:16ch}.diagnostic-intro>p:not(.lead){font-size:1rem;color:var(--muted)}.diagnostic-intro .method-related{margin-top:2rem;font-size:.9rem!important;max-width:35ch}.diagnostic-list{border-top:1px solid var(--line)}
.diagnostic-list details{border-bottom:1px solid var(--line)}.diagnostic-list summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:16px 0;list-style:none;font-size:1.3rem;font-weight:600}.diagnostic-list summary::-webkit-details-marker{display:none}.diagnostic-list summary::after{content:'+';font-size:1.7rem;font-weight:400;color:var(--brand);flex-shrink:0}.diagnostic-list details[open]>summary::after{content:'−'}.diagnostic-list small{display:block;font-size:.88rem;font-weight:400;color:var(--muted);margin-top:3px}.diagnostic-detail{display:grid;grid-template-columns:140px 1fr;gap:1.75rem;padding:8px 0 24px}.diagnostic-detail figure{background:var(--surface);border-radius:8px;display:flex;align-items:center;justify-content:center;height:156px}.diagnostic-detail img{width:90%;height:90%;object-fit:contain;mix-blend-mode:multiply}.diagnostic-detail p{font-size:1rem;line-height:1.6;margin-bottom:.8rem}.diagnostic-detail .method-limit{color:var(--muted);font-size:.93rem}.diagnostic-detail a{font-size:.9rem}
.process-section{background:var(--surface)}.process-list{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;list-style:none;padding:0;margin:2.75rem 0 2.5rem;counter-reset:steps}.process-list li{counter-increment:steps;border-top:1px solid var(--line);padding-top:1.2rem}.process-list li::before{content:'0' counter(steps);display:block;font-size:.95rem;font-weight:600;color:var(--brand);margin-bottom:1rem}.process-list h3{font-size:1.3rem;max-width:18ch}.process-list p{font-size:1rem;color:var(--muted);margin:0}.process-followup{display:grid;grid-template-columns:1fr auto;gap:4rem;border-top:1px solid var(--line);padding-top:1.75rem;align-items:center}.process-followup h3{font-size:1.15rem;letter-spacing:-.015em;margin-bottom:.5rem}.process-followup p{font-size:.95rem;max-width:80ch;color:var(--muted);margin:0}.process-followup>div:last-child{display:grid;gap:.65rem;font-size:.9rem}
.sanipro-native .areas-section{display:grid;grid-template-columns:.85fr 1.4fr;gap:5rem}.coverage-intro h2{max-width:17ch}.coverage-intro p{max-width:42ch;color:var(--muted)}.coverage-list{display:grid;grid-template-columns:1fr 1fr;gap:0 2rem;align-items:start}.coverage-list details{border-top:1px solid var(--line)}.coverage-list summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:14px 0;min-height:64px;list-style:none}.coverage-list summary::-webkit-details-marker{display:none}.coverage-list summary small{font-size:.82rem;font-weight:400;color:var(--muted)}.coverage-list summary small::after{content:' +';color:var(--brand);font-size:1.2rem;padding-left:.4rem}.coverage-list details[open] summary small::after{content:' −'}.coverage-list ul{margin:0 0 1rem;padding-left:1.2rem}.coverage-list li a{display:inline-block;min-height:36px;padding-block:4px;font-size:.95rem}
.signals-section{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.signals-section h2{max-width:18ch}.signals-section .lead{max-width:38ch}.signal-list{padding:0;margin:0;list-style:none;border-top:1px solid var(--line)}.signal-list li{padding:1rem 0;border-bottom:1px solid var(--line)}.signal-list h3{font-size:1.25rem;margin-bottom:.35rem}.signal-list p{color:var(--muted);font-size:1rem;margin:0;max-width:54ch}
.local-coverage{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.local-coverage h2{max-width:18ch}.local-coverage p{max-width:50ch}.local-coverage h3{font-size:1.3rem}.local-places{display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1.5rem;list-style:none;padding:0;margin:0 0 1rem}.local-places li{padding:.25rem 0;border-bottom:1px solid var(--line);font-size:1rem}.local-coverage .small{color:var(--muted);font-size:.85rem}
@media(max-width:1080px){.sanipro-native .hero{gap:2rem}.service-directory{gap:2rem}.service-feature{flex-direction:column;align-items:flex-start;padding:1.5rem}.service-feature img{width:100%;height:150px}.diagnostic-section,.sanipro-native .areas-section{grid-template-columns:1fr 1.4fr;gap:2.5rem}.diagnostic-detail{grid-template-columns:100px 1fr;gap:1rem}.diagnostic-detail figure{height:130px}.process-list{grid-template-columns:1fr 1fr;gap:2rem 3rem}.signals-section,.local-coverage{gap:2.5rem}.process-followup{gap:2rem}}
@media(max-width:760px){.sanipro-native .section{padding-block:44px}.sanipro-native .hero{padding-block:28px 40px;gap:1.5rem}.sanipro-native .hero-visual img{height:300px}.sanipro-native .hero h1{font-size:2.6rem}.sanipro-native .hero-service h1{font-size:2.35rem}.sanipro-native .hero .lead{font-size:1.08rem;margin-block:1rem 1.3rem}.sanipro-native .section-heading{gap:1rem}.service-directory,.diagnostic-section,.sanipro-native .areas-section,.signals-section,.local-coverage{grid-template-columns:1fr;gap:1.75rem}.service-feature{flex-direction:row;align-items:center;padding:1.4rem;gap:.8rem}.service-feature h3{font-size:1.55rem}.service-feature img{width:35%;height:155px}.service-feature p{font-size:.95rem}.service-feature .text-link{font-size:.85rem}.service-rows>a{padding:1.1rem 0;gap:1rem;min-height:100px}.service-rows>a:first-child{padding-top:0}.service-rows h3{font-size:1.3rem}.service-rows p{font-size:.95rem}.service-action{white-space:normal;font-size:.8rem;min-width:54px}.diagnostic-intro .lead{font-size:1.1rem}.diagnostic-intro .method-related{margin:1rem 0 0;max-width:none}.diagnostic-list summary{font-size:1.2rem;min-height:76px}.diagnostic-detail{grid-template-columns:90px 1fr;gap:1rem}.diagnostic-detail figure{height:115px}.diagnostic-detail p{font-size:.95rem}.process-list{grid-template-columns:1fr;gap:0;margin-block:1.5rem}.process-list li{position:relative;padding:1.25rem 0 1.25rem 2.7rem}.process-list li::before{position:absolute;left:0;top:1.25rem}.process-list h3{max-width:none;font-size:1.25rem;margin-bottom:.6rem}.process-followup{grid-template-columns:1fr;gap:1rem}.process-followup>div:last-child{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}.process-followup a{padding-block:6px}.coverage-list{gap:0 1.5rem}.coverage-list summary{align-items:flex-start;flex-direction:column;gap:0;padding-block:10px}.coverage-list summary small{width:100%;display:flex;justify-content:space-between}.coverage-list summary small::after{padding-left:0}.coverage-intro p{margin-bottom:0}.sanipro-native .testimonial{padding-bottom:3rem}.local-places{gap:.25rem 1rem}.sanipro-native .faq-section{gap:1.5rem}}
@media(max-width:360px){.diagnostic-detail{grid-template-columns:1fr}.diagnostic-detail figure{width:120px}.service-feature{padding:1rem}.service-feature img{width:30%}.coverage-list{column-gap:1rem}}

.sanipro-native .form-panel .wpcf7-form p{margin-bottom:.9rem}
@media(max-width:760px){.sanipro-native .contact-layout{gap:1.5rem}.sanipro-native .form-panel .row{gap:.6rem}.sanipro-native .process-list li{padding-block:1rem}.sanipro-native .process-list li::before{top:1rem}}
/* Multiple attachment paragraphs share one legacy grid cell: never stretch each to 100%. */
.sanipro-native .form-panel .row p{height:auto;display:block}
.sanipro-native .form-panel .row>div{align-self:start}
.technical-brief{display:grid;grid-template-columns:1fr 1.5fr;gap:5rem}.technical-brief>div:first-child{max-width:35ch}.technical-sections>section{padding-block:1.5rem;border-top:1px solid var(--line)}.technical-sections h3{font-size:1.4rem}.technical-sections p{max-width:65ch;color:var(--muted);margin-bottom:0}.related-links{display:flex;gap:1rem 2rem;flex-wrap:wrap;align-items:center}.related-links h2{font-size:1.6rem;margin:0 auto 0 0}.related-links a{min-height:44px;display:inline-flex;align-items:center}.document-hero{padding-block:3rem;border-bottom:1px solid var(--line)}.document-hero h1{font-size:clamp(2.4rem,4vw,3.8rem);max-width:24ch}.document-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:5rem}.document-body{max-width:75ch}.document-body h2{font-size:1.9rem;margin-top:2rem}.document-body h3{font-size:1.35rem}.document-body table{display:block;max-width:100%;overflow-x:auto}.document-aside{font-size:1rem}.document-aside ul{padding-left:1.25rem}.document-aside a{display:inline-block;padding-block:6px}.company-facts{display:grid;grid-template-columns:1fr 1fr;gap:1rem 3rem}.company-facts dt{color:var(--muted);font-size:.9rem}.company-facts dd{margin:0;font-size:1.2rem}.local-context{margin-top:2rem;border-top:1px solid var(--line)}
@media(max-width:760px){.technical-brief,.document-layout{grid-template-columns:1fr;gap:1.5rem}.document-hero{padding-block:2rem}.company-facts{grid-template-columns:1fr}.related-links{display:grid}.technical-sections>section{padding-block:1rem}}
.local-hero-context{border-left:3px solid var(--brand);padding:1.5rem 2rem;background:var(--paper)}.local-hero-context h2{font-size:1.45rem}.local-hero-context p{max-width:45ch;color:var(--muted)}.local-hero-context dl{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.local-hero-context dt{font-size:.85rem;color:var(--muted)}.local-hero-context dd{margin:0;font-weight:600}.local-hero-context a{font-size:.95rem;display:inline-block;padding-block:8px}.region-related{border-top:1px solid var(--line)}.region-related h2{font-size:1.65rem}.region-related ul{display:flex;gap:.5rem 2rem;flex-wrap:wrap;list-style:none;padding:0;margin:0}.region-related a{display:inline-block;min-height:44px;padding-block:8px}
@media(max-width:760px){.local-hero-context{padding:1.25rem}.local-hero-context dl{grid-template-columns:1fr 1fr}.local-hero-context h2{font-size:1.3rem}}

.sanipro-native .star_rating_class img{width:44px;height:44px;padding:10px;object-fit:contain}.sanipro-native .rating-label{font-weight:500;margin-bottom:.4rem}.sanipro-native .star_rating_class{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.sanipro-native .document-aside h2{font-size:1.4rem}
/* Editable local information and reusable real cases. */
.local-information{border-top:1px solid var(--line,#d8dfe2)}.local-information-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.local-information-grid h3{margin-top:0}.local-context-copy img{width:100%;height:auto;max-height:420px;object-fit:cover;margin-bottom:24px}.local-useful-links{padding-left:1.2em}.local-useful-links a{display:inline-block;padding:8px 0}.local-weather{align-self:start}.real-cases{background:#edf1f2}.real-cases-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.real-case{min-width:0}.real-case>img{display:block;width:100%;height:360px;object-fit:contain;background:#e2e7e9}.real-case-caption{padding-top:20px}.real-case h3{font-size:24px;line-height:1.2;margin:8px 0 12px}.real-case p{font-size:16px;line-height:1.6}.real-case .case-category{font-size:13px;color:#6b303d;margin:0}.real-case dl{font-size:14px}.real-case dt{font-weight:600}.real-case dd{margin:0 0 12px}.real-case details img{height:auto;width:100%;margin-top:16px}.real-case summary{padding:12px 0;cursor:pointer}.sanipro-native main>article:last-of-type{margin-bottom:0}@media(max-width:900px){.real-case>img{height:280px}.real-cases-grid{gap:20px}}@media(max-width:760px){.local-information-grid,.real-cases-grid{grid-template-columns:1fr;gap:32px}.real-case>img{height:auto;max-height:480px}.real-case h3{font-size:23px}}

/* Page 40: match the homepage photo corners without changing the contained image box. */
.page-id-40 .hero-service .service-visual{container-type:inline-size;--service-photo-box-height:440px;--service-photo-radius:130px 12px 12px 12px}
.page-id-40 .hero-service .service-visual img{border-radius:var(--service-photo-radius);clip-path:inset(max(25px,calc((100% - (100cqw - 50px)*683/1024)/2)) max(25px,calc((100% - (var(--service-photo-box-height) - 50px)*1024/683)/2)) round var(--service-photo-radius))}
@media(max-width:760px){.page-id-40 .hero-service .service-visual{--service-photo-box-height:300px;--service-photo-radius:95px 12px 12px 12px}}
