/* Supporting styles for useful, text-led cleaning guides. */
.seo-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.seo-guide-card{display:flex;flex-direction:column;gap:13px;min-height:245px;padding:29px;background:#fff;border:1px solid #dfece5;border-radius:18px;box-shadow:0 12px 28px #163b2d0a;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.seo-guide-card:hover,.seo-guide-card:focus-visible{transform:translateY(-3px);border-color:#a7cdbb;box-shadow:0 17px 35px #163b2d15}
.seo-guide-card h3{font-size:1.3rem;line-height:1.3;color:#193b35;letter-spacing:-.035em;margin:0}
.seo-guide-card p{font-size:.86rem;line-height:1.7;flex:1;margin:0;color:#54766b}
.seo-guide-card .text-link{margin-top:7px}
.seo-guide-category{display:block;font-size:.65rem;line-height:1.4;letter-spacing:.11em;font-weight:800;color:#438272}
.seo-all-link{margin:28px 0 0;text-align:center}
.guide-index-hero{padding-bottom:90px}
.guide-article-hero{text-align:left;padding:54px 0 58px;background:linear-gradient(125deg,#eef7f2 0%,#e4f1f0 100%)}
.guide-hero-panel{width:min(100%,1040px);margin-inline:auto;border:1px solid #d5e9df;border-top:5px solid #367e66;background:#fff;border-radius:21px;padding:42px 56px 46px;box-shadow:0 22px 60px #244f3b17}
.guide-article-hero .breadcrumb{margin-bottom:24px}
.guide-article-hero h1{max-width:890px;font-size:clamp(2.5rem,4.9vw,4.35rem);margin-bottom:23px}
.guide-article-hero p{max-width:780px;margin:0;font-size:1.05rem}
/* The keyword-led guides have one original image in the hero. The image comes
   first in the document and on mobile; on desktop it sits to the right. */
.guide-article-hero-photo{padding:40px 0 52px}
.guide-hero-photo-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);grid-template-areas:"copy photo";gap:48px;align-items:center}
.guide-hero-photo-grid .guide-hero-panel{grid-area:copy;min-width:0;margin:0;padding:16px 0;border:0;box-shadow:none;background:transparent;border-radius:0}
.guide-hero-photo-grid h1{font-size:clamp(2.35rem,3.9vw,3.55rem);line-height:1.12;overflow-wrap:normal}
.guide-hero-photo-grid p{max-width:590px}
.guide-article-photo{grid-area:photo;margin:0;width:100%;height:420px;border-radius:23px;overflow:hidden;box-shadow:0 18px 48px #173e3019}
.guide-article-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.guide-article-layout{display:grid;grid-template-columns:minmax(0,750px) 310px;align-items:start;justify-content:space-between;gap:75px}
.guide-article-section{padding-top:68px}
.guide-prose{min-width:0;color:#233b32}
.guide-prose>p:first-child{font-size:1.12rem;line-height:1.9;color:#31564a}
.guide-prose h2{font-size:clamp(1.7rem,3vw,2.15rem);letter-spacing:-.035em;line-height:1.25;color:#173a33;margin:47px 0 16px}
.guide-prose p,.guide-prose li{font-size:.99rem;line-height:1.95;color:#536e64}
.guide-prose p{margin-bottom:20px}
.guide-prose strong{color:#213c34}
.guide-prose ul{padding-left:23px;margin:15px 0 24px}
.guide-prose li{padding-left:4px;margin-bottom:9px}
.guide-prose a:not(.button){color:#17664d;text-decoration:underline;text-underline-offset:3px;font-weight:700}
.guide-prose a:not(.button):hover{color:#0b4836}
.guide-price-table{border:1px solid #d7e8de;border-radius:14px;overflow:hidden;margin:22px 0 26px;background:#f5faf7}
.guide-price-table [role="row"]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,165px);gap:20px;align-items:center;padding:14px 20px}
.guide-price-table [role="row"]+[role="row"]{border-top:1px solid #dcebe2}
.guide-price-table [role="row"]:first-child{background:#dff0e6;font-size:.82rem;color:#174f3d}
.guide-price-table [role="row"] b{color:#164d3c;font-size:1.04rem}
.guide-side{border:1px solid #dcece3;border-radius:22px;padding:30px;background:#f7fbf8;position:sticky;top:30px}
.guide-side h3{font-size:1.55rem;margin:0 0 12px}
.guide-side p{font-size:.85rem;line-height:1.8}
.guide-side strong{color:#173a33}
.guide-side-rule{height:1px;background:#dbe8df;margin:29px 0}
.guide-side .button{width:100%;white-space:normal;text-align:center;font-size:.79rem;margin-top:7px}
.guide-finish{background:#f0f8f2;padding:32px;border-radius:20px;margin-top:50px}
.guide-finish h2{margin:0 0 13px;font-size:1.85rem}
.guide-finish p{margin-bottom:24px}
.guide-finish .button{white-space:normal;text-align:center}
@media(max-width:860px){.guide-hero-photo-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"photo" "copy";gap:21px}.guide-article-photo{height:clamp(240px,52vw,365px);border-radius:17px}.guide-article-hero-photo{padding:17px 0 36px}.guide-hero-photo-grid .guide-hero-panel{padding:0 5px}.guide-hero-photo-grid h1{font-size:clamp(2.1rem,6.5vw,3.1rem)}.guide-hero-photo-grid .breadcrumb{margin-bottom:17px}}
.local-advice{margin:30px 0;padding:23px 27px;background:#eef7f1;border-left:4px solid #398b66;border-radius:0 12px 12px 0}
.local-advice strong{color:#194838}
.local-advice p{margin:8px 0 0;font-size:.9rem!important;line-height:1.85!important}
.local-guide-links{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 28px}
.local-guide-links a{display:inline-flex;gap:8px;align-items:center;padding:10px 14px;background:#eaf5ee;border:1px solid #d5eade;color:#18543e;border-radius:11px;font-weight:700;font-size:.78rem;line-height:1.5}
.local-guide-links a:hover{background:#dcefe3}
.local-guide-links svg{width:13px;flex:none}
/* Place-specific editorial pages: different layouts by real property needs. */
.local-hero{padding:63px 0 66px}
.local-hero .inner-grid{gap:55px}
.local-hero--heritage .inner-grid{grid-template-columns:1.07fr .93fr}
.local-hero--coast{background:linear-gradient(135deg,#eaf6f5,#f5faf7)}
.local-hero--city{background:linear-gradient(130deg,#f6faf4,#e8f4ed)}
.local-hero--rural{background:linear-gradient(145deg,#f8fbf5,#eaf4ea)}
.local-hero .location-hero-copy>p:first-of-type{font-size:1.04rem}
.local-hero .local-nonbinding{margin:21px 0 0;font-size:.77rem;color:#55786b;line-height:1.7}
.local-hero .inner-image{overflow:hidden;height:480px}
.local-hero .location-photo{height:100%;margin:0;position:relative}
.local-hero .location-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.location-photo figcaption{position:absolute;bottom:0;left:0;right:0;background:#103e35d9;color:#fff;padding:10px 14px;font-size:.64rem;line-height:1.5;max-height:76px;overflow:auto}
.location-photo-credit,.location-photo-credit a{color:#fff}
.location-photo-credit a{text-decoration:underline;text-underline-offset:2px}
.local-insights{padding:82px 0 87px;background:#f4f9f5}
.local-insights--coast{background:#edf7f5}
.local-insights--city{background:#eff5f2}
.local-insights--heritage{background:#f6f7f1}
.local-insights--rural{background:#f1f6ee}
.local-insights-top{max-width:790px;margin-bottom:30px}
.local-insights-top h2{font-size:clamp(2rem,3.6vw,3.1rem);line-height:1.18;margin:0;color:#1a3f34}
.local-step{font-size:.67rem;line-height:1.4;color:#3a8065;font-weight:800;letter-spacing:.13em;display:block;margin-bottom:15px}
.local-insights p{line-height:1.85;margin:0;font-size:.96rem;color:#45695a}
.local-coastal-grid,.local-city-grid,.local-suburban-grid,.local-heritage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.local-coastal-grid article,.local-city-grid article,.local-suburban-grid>div,.local-heritage-grid>div{border:1px solid #dceae1;background:#fff;border-radius:19px;padding:30px 33px;box-shadow:0 12px 26px #174c3610}
.local-coastal-grid article:first-child{border-top:4px solid #3d8985}
.local-coastal-grid article:last-child{border-top:4px solid #88bfb0}
.local-coastal-grid h3{color:#1b4b3f;font-size:1.3rem;margin-bottom:13px}
.local-heritage-grid{grid-template-columns:1.22fr .78fr}
.local-heritage-grid .local-feature-lead{border-left:5px solid #9b9f7b;padding:34px 39px}
.local-heritage-grid .local-feature-detail{background:#f0f4ea}
.local-city-grid article:first-child{background:#fff;border-top:5px solid #2f775e}
.local-city-grid article:last-child{background:#e3f1e8}
.local-rural-flow{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:start}
.local-rural-flow>div:first-child{padding:30px 34px;background:#fff;border-radius:18px;border:1px solid #e0e9d9;box-shadow:0 8px 30px #20543a10}
.local-rural-flow>div:last-child{border-left:3px solid #80a787;padding:10px 0 10px 31px}
.local-suburban-grid>div:first-child{background:#edf6ee}
.local-choice-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:30px 0 36px}
.local-choice-row>div{padding:23px;border:1px solid #dce8de;border-radius:14px;background:#f7faf7}
.local-choice-row strong{font-size:.93rem;color:#20523e}
.local-choice-row p{font-size:.83rem;line-height:1.75;margin:7px 0 0}
.local-ready-list{padding-left:19px;color:#446858;font-size:.92rem;line-height:1.8}
.local-ready-list li{padding-left:4px;margin-bottom:10px}
.local-overview h3{font-size:1.4rem}
.local-faq .faq-grid{align-items:start}
.local-faq .faq-grid>div:first-child p{max-width:400px;font-size:.87rem}
@media(max-width:1000px){.seo-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-article-layout{grid-template-columns:minmax(0,1fr);gap:45px}.guide-side{position:static;max-width:550px}}
@media(max-width:820px){.local-hero--heritage .inner-grid{grid-template-columns:1fr}.local-hero .inner-image{height:390px}.local-rural-flow{gap:22px}}
@media(max-width:610px){.seo-guide-grid{grid-template-columns:1fr}.seo-guide-card{min-height:auto;padding:24px}.guide-article-hero{padding:24px 0 32px}.guide-hero-panel{padding:25px 21px 30px;border-radius:16px}.guide-article-hero .breadcrumb{margin-bottom:20px}.guide-article-hero h1{font-size:clamp(2.15rem,10vw,3rem)}.guide-article-hero p{font-size:.96rem}.guide-article-section{padding-top:44px}.guide-prose h2{margin-top:36px;font-size:1.75rem}.guide-price-table [role="row"]{grid-template-columns:minmax(0,1fr) minmax(0,106px);gap:9px;padding:12px;font-size:.83rem}.guide-price-table [role="row"] b{font-size:.95rem}.guide-side{padding:24px}.guide-finish{padding:24px}.local-guide-links{flex-direction:column;align-items:stretch}.local-guide-links a{justify-content:space-between}.local-hero{padding:30px 0 44px}.local-hero .inner-image{height:290px}.location-photo figcaption{font-size:.59rem;padding:7px 9px}.local-coastal-grid,.local-city-grid,.local-suburban-grid,.local-heritage-grid,.local-rural-flow,.local-choice-row{grid-template-columns:1fr}.local-insights{padding:58px 0}.local-insights-top h2{font-size:2rem}.local-coastal-grid article,.local-city-grid article,.local-suburban-grid>div,.local-heritage-grid>div{padding:23px}.local-rural-flow>div:last-child{margin-left:10px}.local-hero .hero-actions{gap:14px}}
