
/* Clean Society brand, composed over the retained layout. */
:root{--orange:#6197ed;--orange-bright:#99bff1;--orange-deep:#4d81c1;--ink:#17232d;--black:#17232d;--paper:#f5f8fc;--cream:#e9f1fb}
.nav__logo img{height:52px;width:auto}.nav__inner{background:rgba(16,28,39,.83)}.nav.scrolled .nav__inner{background:rgba(16,28,39,.95)}
.hero__content{padding-left:24px;padding-right:24px}.hero .eyebrow{font-size:15px;letter-spacing:.13em;font-weight:800;max-width:none;margin:0 auto 24px}.hero p:not(.eyebrow){font-size:clamp(18px,2vw,25px);max-width:38ch;line-height:1.5}.hero__media img{object-position:62% center}.hero__media::after{background:linear-gradient(180deg,rgba(13,31,51,.45),rgba(13,31,51,.18) 55%,rgba(245,248,252,.3) 84%,var(--paper))}.hero-call{display:block;margin-top:18px;font-size:16px;font-weight:700;text-shadow:0 2px 5px #17232d}.hero-call:hover{text-decoration:underline}.hero h1{font-size:clamp(44px,7.6vw,96px)}
.btn-orange{color:#102238;box-shadow:0 10px 30px -10px rgba(96,151,237,.45)}.video-frame img{width:100%;height:100%;object-fit:cover}.media-caption{margin-top:28px;font-size:18px;font-weight:800}.display{overflow-wrap:normal}.coupon__freq{color:#102238}.coupon__per{font-style:normal}.coupon__amt{font-size:38px;color:#fff}.svc::after{background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.3) 45%,rgba(0,0,0,.55))}.svc__label{text-shadow:0 2px 12px #000}.client-reviews{display:grid;grid-template-columns:1fr 1fr;gap:28px}.client-reviews blockquote{margin:0;background:#fff;padding:40px;border-radius:26px}.client-reviews p{font-size:clamp(20px,2.4vw,29px);line-height:1.4;font-weight:700}.review-stars{color:#2862b8;font-size:23px;letter-spacing:4px}.client-reviews cite{font-style:normal;font-weight:800;font-size:18px}.client-reviews cite span{display:block;font-size:15px;font-weight:500;margin-top:6px;color:#56616d}.review-source{text-align:center;font-size:14px;margin:30px 0}.review-source a{text-decoration:underline}.foot-contact p{font-size:16px;line-height:1.6;color:#c7d3df}.foot-logo{width:200px!important;height:auto}.foot-contact>a{display:block;margin:10px 0}.page-hero__sub{font-style:normal}.page-section--light .prose h2,.page-section--light .step__n{color:#2862b8}.page-section--light .value h3{color:#2862b8}.page-hero:not(.page-hero--photo){padding-bottom:70px}.skip-link{position:fixed;top:-70px;left:20px;z-index:999;background:#fff;color:#17232d;padding:15px}.skip-link:focus{top:10px}a:focus-visible,button:focus-visible{outline:3px solid #99bff1;outline-offset:5px}.footer__bottom>a{font-size:14px}.svc-related{grid-template-columns:repeat(3,1fr)}.svc-chip{font-size:14px}.loc__row .acc__ans a{text-decoration:underline;color:#99bff1}.footer__grid{gap:30px}.q-review{white-space:pre-wrap;font:inherit;text-align:left;line-height:1.7;background:#223443;padding:24px;border-radius:20px;margin:24px 0}
@media(max-width:1050px){.nav__links{display:none}.nav__burger{display:block}.nav__cta{margin-left:auto}}
@media(max-width:700px){.nav__cta{display:none}.nav__logo img{height:44px}.hero{min-height:850px;min-height:100svh}.hero__content{padding-top:160px;padding-bottom:130px}.hero .eyebrow{font-size:14px;line-height:1.5;max-width:25ch}.client-reviews{grid-template-columns:1fr}.client-reviews blockquote{padding:28px}.svc-related{grid-template-columns:1fr 1fr}.section .display{font-size:clamp(39px,9vw,65px)}.footer__bottom{gap:20px}.hero__media img{object-position:60% center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Center each process step within its column at every screen size. */
.section .steps .step,
.page-section .steps .step {
  text-align: center;
}
.section .steps .step p,
.page-section .steps .step p {
  max-width: 36ch;
  margin-inline: auto;
}

.hero-call-action{margin-top:16px;}

/* White emphasis within blue headings on dark and photo backgrounds. */
.heading-white{color:#fff;}

/* Compact desktop review cards with room before the quote action. */
.client-reviews--home + .center-cta{margin-top:40px;}
@media(min-width:1000px){
  .client-reviews--home{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
  .client-reviews--home blockquote{padding:30px;}
  .client-reviews--home p{font-size:clamp(20px,1.8vw,24px);}
}

/* Nearby service areas as a compact grid of clear, spacious links. */
.nearby-locations .sec-head{margin-bottom:32px;}
.nearby-locations .display{font-size:clamp(32px,3.6vw,48px);line-height:1.08;}
.nearby-locations__grid{list-style:none;padding:0;margin:0 auto;max-width:1080px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.nearby-locations__grid li{min-width:0;}
.nearby-locations__grid a{display:flex;align-items:center;justify-content:space-between;gap:16px;height:100%;min-height:72px;padding:20px 24px;border:1px solid rgba(153,191,241,.24);border-radius:18px;background:#21313f;color:#fff;font-size:18px;font-weight:700;line-height:1.3;text-decoration:none;transition:background .2s,border-color .2s;}
.nearby-locations__grid a:hover,.nearby-locations__grid a:focus-visible{background:#2b4155;border-color:#6197ed;}
.nearby-locations__arrow{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(97,151,237,.14);color:#99bff1;font-size:21px;}
@media(max-width:900px){.nearby-locations__grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.nearby-locations__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.nearby-locations__grid a{min-height:76px;padding:14px 12px;font-size:15px;gap:8px;border-radius:16px;}.nearby-locations__arrow{width:22px;height:22px;font-size:17px;}.nearby-locations .sec-head{margin-bottom:26px;}}

/* Region directory inspired by the client's rounded card reference. */
.region-directory{background:#f3f6fc;}
.region-directory__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.region-card{min-width:0;padding:28px;background:#fff;border:1px solid #e0e7f2;border-radius:30px;box-shadow:0 5px 24px rgba(23,35,45,.045);}
.region-card h2{margin:0 0 24px;font-size:clamp(21px,1.8vw,27px);font-weight:900;text-transform:uppercase;line-height:1.15;}
.region-card h2 a{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#17232d;text-decoration:none;}
.region-card__arrow{flex:none;display:grid;place-items:center;width:44px;height:44px;background:#eef4fd;border-radius:50%;color:#326dc2;font-size:34px;font-weight:500;transition:background .2s;}
.region-card h2 a:hover .region-card__arrow{background:#dce9fc;}
.region-card__towns{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.region-card__towns li{min-width:0;}
.region-card__towns a{display:flex;align-items:center;gap:9px;min-height:52px;height:100%;padding:12px;border:1px solid #dfe6f1;border-radius:17px;color:#35475e;font-size:15px;font-weight:700;line-height:1.35;text-decoration:none;transition:border-color .2s,background .2s;}
.region-card__towns svg{width:16px;height:18px;flex:none;color:#4d81c1;}
.region-card__towns a:hover,.region-card__towns a:focus-visible{border-color:#6197ed;background:#f0f6ff;}
.region-directory__map{margin-top:48px;}
@media(max-width:1100px){.region-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.region-directory__grid{grid-template-columns:1fr;gap:20px;}.region-card{padding:24px;border-radius:26px;}.region-card h2{font-size:24px;}.region-card__towns a{font-size:14px;}}
@media(max-width:360px){.region-card{padding:18px;}.region-card__towns{gap:8px;}.region-card__towns a{padding:10px 8px;font-size:13px;}}
