/* Shared type and responsive layout rules. */
body{font-family:Inter,Arial,sans-serif;line-height:1.65}
h1,h2,h3,.sent b{font-family:Inter,Arial,sans-serif;font-weight:600;line-height:1.2;letter-spacing:-.035em;text-wrap:balance}
.hero-copy h1{font-size:clamp(34px,4.2vw,54px);line-height:1.12;letter-spacing:-.04em}
h2,.contact h2{font-size:clamp(28px,3.2vw,40px)}
.service-card h3,.featured h3,.event h3{font-size:30px;line-height:1.25;letter-spacing:-.025em}
.directory-row h3,.audiences h3,.steps h3{font-size:24px;line-height:1.3;letter-spacing:-.025em}
.formcard>h2{font-size:28px;line-height:1.25;letter-spacing:-.025em}
.hero-copy{position:static;padding-top:24px;animation:none}
.hero-grid{gap:40px;padding-top:48px;padding-bottom:48px}
.intro,.hero-copy .intro{font-size:17px;line-height:1.7;max-width:540px}
.eyebrow,.hero-copy .eyebrow,.formcard>.eyebrow{font-size:12px;line-height:1.5;letter-spacing:.14em}
.fine,.contact .fine,.form-note,.image-note,.copyright,.image-credit{font-size:13px;line-height:1.65}
.form-intro{font-size:15px;line-height:1.6;margin-bottom:16px}
.button,.text-link,.nav-cta,.directory-actions .text-link{font-size:14px;line-height:1.5}
.button,.nav-cta{min-height:44px}
header nav{font-size:14px}
.quick-services p{font-size:12px;letter-spacing:.12em}
.quick-services nav{gap:12px 24px}
.quick-services a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.section-heading>p,.service-card p:not(.eyebrow),.service-card ul,.directory-row p,.about-copy p,.audiences p,.steps p,.faq p,.contact>p:not(.eyebrow){font-size:16px;line-height:1.7}
.event p:last-child{font-size:16px;line-height:1.7}
.footer-extra,.footer-top nav,.footer-areas,.footer-areas h2{font-size:14px;line-height:1.7}
.footer-areas h2{letter-spacing:0}
.footer-top nav a{display:inline-flex;align-items:center;min-height:44px}
.legal-page p,.legal-page li{font-size:16px;line-height:1.75}
.legal-page h1{font-size:clamp(32px,4vw,48px)}
.legal-page h2{font-size:26px;line-height:1.3}
.directory-row{grid-template-columns:30px minmax(180px,1fr) minmax(240px,1.3fr) minmax(185px,.8fr);gap:24px}
.directory-actions .button{white-space:normal;text-align:center}
.formcard{padding:24px;border-radius:24px 0 24px 0}
.inquiry-embed .form-note{margin-top:8px}
@media(max-width:1050px){
 .hero-grid{grid-template-columns:minmax(0,1fr);max-width:800px;gap:32px}
 .hero-copy{padding-top:0;max-width:660px}
 .hero-copy h1{font-size:clamp(34px,5vw,48px)}
 .formcard{width:100%}
 .directory-row{grid-template-columns:30px minmax(0,1fr) minmax(0,1.2fr)}
 .directory-actions{grid-column:2/-1}
}
@media(max-width:760px){
 html{scroll-padding-top:132px}
 .nav-wrap{position:relative;flex-wrap:wrap;gap:6px;padding:12px 16px 4px}
 header .brand strong{font-size:17px}
 header .brand{max-width:calc(100% - 128px)}
 header nav{width:100%;justify-content:space-between;gap:12px;font-size:14px}
 header nav>a:not(.nav-cta){display:inline-flex;align-items:center;min-height:44px}
 header .nav-cta{position:absolute;right:16px;top:10px;font-size:12px;padding:10px 12px;min-height:40px}
 .hero-grid{padding-top:32px;padding-bottom:32px;gap:28px}
 .hero-copy h1{font-size:clamp(32px,8.8vw,42px);line-height:1.15}
 .hero-copy .intro{font-size:16px;margin:20px 0 24px}
 .hero-copy .eyebrow{font-size:11px;letter-spacing:.12em}
 .hero-copy .fine{font-size:13px}
 .actions{gap:16px}
 .formcard{padding:20px 12px}
 .formcard>h2{font-size:25px}
 .service-card h3,.featured h3,.event h3{font-size:27px}
 .section-heading{gap:20px}
 .directory-row{grid-template-columns:24px minmax(0,1fr);gap:12px}
 .directory-row h3{font-size:23px}
 .directory-row p,.directory-actions{grid-column:2}
 .directory-actions{align-items:flex-start;flex-direction:column;gap:14px}
 .quick-services nav{gap:8px 18px}
 .quick-services a{font-size:14px}
 .footer-extra{gap:14px}
 .footer-top nav{gap:8px 18px}
 .formcard,.section[id],.directory-row[id],.footer-areas{scroll-margin-top:16px}
}

/* ---- 2026-10-09 visual refresh: tokens, rounded cards, soft depth ---- */
:root{--blue:#2563eb;--blue-dark:#1d4ed8;--ink:#0b1324;--muted:#556176;--wash:#f5f7fb;--line:#e3e8f0;--navy:#0b1324;--radius:20px;--shadow-sm:0 1px 2px #0b13240a,0 4px 12px #0b13240a;--shadow-md:0 2px 4px #0b13240a,0 14px 34px #0b132414}
body{color:var(--ink);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-weight:700}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}

/* header */
header{background:rgba(255,255,255,.86);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);border-bottom-color:#e3e8f0cc}
.mark{border-radius:10px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);font-weight:700;box-shadow:0 4px 10px #2563eb40}
header nav>a:not(.nav-cta){padding:8px 12px;border-radius:999px;transition:background .18s,color .18s}
header nav>a:not(.nav-cta):hover{background:#eef3fd;color:var(--blue-dark);text-decoration:none}
.nav-cta{border-radius:999px;padding:10px 20px;font-weight:600;box-shadow:0 6px 16px #2563eb38;transition:background .18s,transform .18s}
.nav-cta:hover{background:var(--blue-dark);transform:translateY(-1px)}

/* buttons */
.button{font-weight:600;padding:13px 24px;box-shadow:0 8px 20px #2563eb33;transition:transform .18s,background .18s,box-shadow .18s}
.button:hover{background:var(--blue-dark);box-shadow:0 10px 26px #2563eb47}
.button.light,.button.outline{box-shadow:var(--shadow-sm)}
.button.light:hover{background:#eef3fd}
.text-link{font-weight:600;text-decoration-thickness:1.5px}

/* eyebrow labels */
.eyebrow{font-weight:700;color:var(--blue-dark)}
.section-heading .eyebrow,.about-copy .eyebrow,.contact .eyebrow{display:inline-flex;align-items:center;gap:10px}
.section-heading .eyebrow:before,.about-copy .eyebrow:before,.contact .eyebrow:before{content:'';width:22px;height:2px;border-radius:2px;background:var(--blue)}

/* hero */
.hero{background:var(--navy);border-bottom:0}
.hero:after{background:linear-gradient(100deg,#070d1ae0 0%,#0b1a3399 48%,#0b1a3338 100%)}
@media(max-width:1050px){.hero:after{background:linear-gradient(180deg,#070d1ab8,#0b1a33e6 55%,#0b1a33f2)}}
.hero-copy h1{font-weight:700}
.hero-copy .eyebrow{display:inline-block;padding:7px 14px;border-radius:999px;background:#ffffff1a;border:1px solid #ffffff33;color:#dbe7ff}
.hero-copy .intro{color:#e6ecf7}
.formcard{border:0;border-radius:var(--radius);box-shadow:0 24px 70px #00000052}
.formcard>.eyebrow{color:var(--blue-dark)}

/* quick service chips */
.quick-services{padding:18px 0;border-bottom:1px solid var(--line)}
.quick-services p{font-weight:700;color:var(--muted)}
.quick-services nav{gap:8px}
.quick-services a{padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:500;transition:border-color .18s,background .18s,color .18s}
.quick-services a:hover{border-color:var(--blue);background:#eef3fd;color:var(--blue-dark);text-decoration:none}

/* service cards */
.service-grid{gap:24px}
.service-card{border-radius:24px;border-color:var(--line);background:#fff;box-shadow:var(--shadow-sm);transition:transform .22s,box-shadow .22s}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.service-card.featured{border-radius:24px;background:linear-gradient(160deg,#101d38,#0b1324);border-color:#0b1324}
.service-photo{left:12px;top:12px;width:calc(100% - 24px);border-radius:16px}
.event{border-radius:24px;background:linear-gradient(110deg,#0b1324 0%,#14285a 60%,#1d4ed8 130%);box-shadow:var(--shadow-md)}
.event:after{display:none}

/* shaded sections */
.process{background:var(--wash);border-color:var(--line)}

/* service directory as cards */
.directory{border-top:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.directory-row{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm);transition:transform .22s,box-shadow .22s,border-color .22s}
.directory-row:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#c9d6ee}
.directory-row .number{display:inline-grid;place-items:center;min-width:38px;height:30px;padding:0 10px;border-radius:999px;background:#eef3fd;color:var(--blue-dark);font-weight:700;font-size:13px}
.directory-row h3{font-size:22px}
.directory-actions{margin-top:auto;padding-top:8px;flex-direction:column;align-items:flex-start;gap:12px;width:100%}
.directory-actions .button{box-shadow:none}

/* about, audiences, steps */
.about-image,.property-image{border-radius:24px;box-shadow:var(--shadow-md)}
.audiences{gap:20px}
.audiences article{border:1px solid var(--line);border-radius:18px;padding:24px;background:#fff;box-shadow:var(--shadow-sm)}
.steps{gap:20px}
.steps article{border:1px solid var(--line);border-radius:18px;padding:24px;background:#fff;box-shadow:var(--shadow-sm)}
.steps span{display:inline-block;padding:5px 12px;border-radius:999px;background:#eef3fd;color:var(--blue-dark);font-weight:700;font-size:12px;letter-spacing:.08em}

/* faq */
.faq{display:grid;gap:12px}
.faq details{border:1px solid var(--line);border-radius:14px;padding:4px 20px;background:#fff;transition:border-color .18s,box-shadow .18s}
.faq details[open]{border-color:#c9d6ee;box-shadow:var(--shadow-sm)}
.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:8px 0;font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:'+';flex:0 0 28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#eef3fd;color:var(--blue-dark);font-size:18px;font-weight:500;transition:transform .2s}
.faq details[open] summary:after{transform:rotate(45deg)}

/* contact */
.contact-grid{border-top:0}
.email{font-weight:600}

/* footer */
footer{background:var(--navy);color:#a9b4c7;padding:48px 0 28px;margin-top:0}
footer .brand strong{color:#fff}
footer .brand small,.footer-extra,.footer-areas,.copyright,footer .image-credit{color:#a9b4c7}
footer nav a,.footer-extra a,.footer-areas a,.copyright a{color:#e6ecf7}
.footer-areas h2{color:#fff}
.footer-extra,.footer-areas{border-top:1px solid #ffffff1f;margin-top:24px}
.footer-areas{padding-top:24px}
footer a:focus-visible{outline-color:#9ec1ff}

@media(max-width:760px){
 .hero-copy .eyebrow{padding:6px 12px}
 .formcard{border-radius:18px}
 .service-card,.service-card.featured,.event{border-radius:20px}
 .directory{grid-template-columns:1fr}
 .directory-row{padding:20px}
 .audiences article,.steps article{padding:20px}
 header nav>a:not(.nav-cta){padding:8px 6px}
}
.text-link,.email{display:inline-flex;align-items:center;min-height:44px}
.email{display:flex;margin-top:8px}

/* ---- 2026-10-09 bolder pass: accent colour, larger hero, service icons, scroll reveal ---- */
:root{--accent:#2563eb;--accent-soft:#eef3fd;--accent-bright:#93c5fd}
h2,.contact h2{font-size:clamp(30px,3.6vw,46px);letter-spacing:-.04em}
.section{padding:96px 0}
.section-heading{margin-bottom:48px}
.section-heading .eyebrow:before,.about-copy .eyebrow:before,.contact .eyebrow:before{width:28px;height:3px;background:linear-gradient(90deg,var(--blue),var(--accent-bright))}

/* hero */
.hero:before{content:'';position:absolute;z-index:-1;left:-12%;bottom:-38%;width:62%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,#2563eb59,#2563eb00);pointer-events:none}
.hero-copy .eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:700}
.hero-copy .eyebrow:before{content:'';width:8px;height:8px;border-radius:50%;background:var(--accent-bright);box-shadow:0 0 0 4px #93c5fd33}
.hero-copy .button{padding:16px 30px;font-size:15px;background:linear-gradient(135deg,#3b82f6,#1d4ed8)}
.hero-copy .fine{color:#d5deee}
.formcard{position:relative}
.formcard:before{content:'';position:absolute;left:24px;right:24px;top:0;height:4px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,var(--blue),var(--accent-bright))}
@media(min-width:1051px){
 .hero-grid{min-height:min(860px,88vh);padding-top:72px;padding-bottom:72px;align-items:center}
 .hero-copy h1{font-size:clamp(46px,5.2vw,72px);line-height:1.04;letter-spacing:-.045em}
 .hero-copy .intro{font-size:19px;max-width:560px}
}

/* accents */
.quick-services a:hover{border-color:var(--accent);background:var(--accent-soft);color:#1d4ed8}
.steps span{background:var(--accent-soft);color:#1d4ed8}
.faq summary:after{background:var(--accent-soft);color:#1d4ed8}
.service-card.featured{background:radial-gradient(120% 90% at 0% 100%,#2563eb40,#2563eb00 60%),linear-gradient(160deg,#101d38,#0b1324)}
.event{background:radial-gradient(80% 140% at 100% 0%,#2563eb66,#2563eb00 60%),linear-gradient(110deg,#0b1324 0%,#14285a 70%,#1d4ed8 140%)}
.event h3{font-size:clamp(28px,3vw,38px)}
.audiences article{border-top:3px solid var(--blue)}
.audiences article:nth-child(2){border-top-color:var(--accent)}
.audiences article:nth-child(3){border-top-color:#0b1324}
footer{border-top:4px solid transparent;border-image:linear-gradient(90deg,var(--blue),var(--accent-bright)) 1}

/* service icons */
.directory-row{position:relative;padding-top:28px}
.directory-row:before{content:'';width:52px;height:52px;border-radius:16px;background-color:#eef3fd;background-repeat:no-repeat;background-position:center;background-size:26px;transition:background-color .22s,transform .22s}
.directory-row:hover:before{background-color:var(--accent-soft);transform:scale(1.06)}
.directory-row .number{position:absolute;top:28px;right:24px;background:transparent;color:#8a96aa;padding:0;min-width:0}
#lawn:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 21h10M12 21v-9'/%3E%3Cpath d='M12 12c0-4-3-6-7-6 0 4 2 6 7 6Z'/%3E%3Cpath d='M12 15c0-3 2-5 7-5 0 4-2 5-7 5Z'/%3E%3C/svg%3E")}
#junk:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M9 7V4h6v3M6 7l1 13h10l1-13M10 11v6M14 11v6'/%3E%3C/svg%3E")}
#moving:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6h11v10H2zM13 10h5l4 4v2h-9z'/%3E%3Ccircle cx='6.5' cy='18' r='2'/%3E%3Ccircle cx='17.5' cy='18' r='2'/%3E%3C/svg%3E")}
#washing:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11Z'/%3E%3Cpath d='M9.5 14a2.5 2.5 0 0 0 2.5 2.5'/%3E%3C/svg%3E")}
#gutters:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-7 9 7M5 10v10h14V10M10 20v-6h4v6'/%3E%3C/svg%3E")}
#driveways:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3 5 21M16 3l3 18M12 5v2.5M12 11v2.5M12 17v2.5'/%3E%3C/svg%3E")}
#pools:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9c2-2 4-2 6 0s4 2 6 0 4-2 6 0 2 0 2 0M2 15c2-2 4-2 6 0s4 2 6 0 4-2 6 0 2 0 2 0M2 21c2-2 4-2 6 0s4 2 6 0 4-2 6 0 2 0 2 0'/%3E%3C/svg%3E")}
#windows:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16v16H4zM12 4v16M4 12h16'/%3E%3C/svg%3E")}

/* scroll reveal (only where supported, never with reduced motion) */
@supports (animation-timeline:view()){@media(prefers-reduced-motion:no-preference){
 .section-heading,.service-card,.event,.directory-row,.audiences article,.steps article,.faq details,.about-grid>*,.contact-grid>*{animation:reveal linear both;animation-timeline:view();animation-range:entry 0% entry 40%}
 @keyframes reveal{from{opacity:0;translate:0 28px}to{opacity:1;translate:0 0}}
}}
@media(max-width:760px){.section{padding:56px 0}.section-heading{margin-bottom:28px}.directory-row .number{top:20px;right:20px}.hero-copy .button{padding:14px 24px}}
footer .image-credit{max-width:1360px;margin:0 auto;padding:12px 32px 0!important}
@media(max-width:760px){footer .image-credit{padding:12px 22px 0!important}}

/* ---- 2026-10-10: blue + white only (gold removed 2026-10-10); one visit button per service ---- */
.event-actions{display:flex;flex-direction:column;gap:12px;flex-shrink:0}
.event-actions .button{white-space:nowrap}
.directory-actions .button{box-shadow:var(--shadow-sm)}
.featured .eyebrow,.event .eyebrow{color:#93c5fd}
@media(max-width:760px){.event-actions{margin-top:22px;align-items:flex-start}.event .event-actions .button{margin-top:0}}

/* ---- 2026-10-10: a photo on every service card ---- */
.directory-row{padding:0 0 24px;overflow:hidden}
.directory-row>*{margin-left:24px;margin-right:24px}
.directory-row>.directory-photo{display:block;width:100%;max-width:none;height:176px;margin:0;object-fit:cover}
.directory-row:before{position:absolute;top:150px;left:24px;z-index:1;background-color:#fff;box-shadow:var(--shadow-md)}
.directory-row:hover:before{background-color:#eef3fd}
.directory-row h3{margin-top:26px}
.directory-row .number{top:14px;right:14px;margin:0;padding:4px 10px;border-radius:999px;background:#ffffffe6;color:var(--ink);font-size:12px}
.directory-actions{width:auto}
.hero:after{background:linear-gradient(100deg,#070d1aeb 0%,#0b1a33b8 46%,#0b1a3357 100%)}
@media(max-width:1050px){.hero:after{background:linear-gradient(180deg,#070d1ac7,#0b1a33e6 55%,#0b1a33f2)}}
@media(max-width:760px){.directory-row{padding:0 0 20px}.directory-row>*{margin-left:20px;margin-right:20px}.directory-row>.directory-photo{height:190px}.directory-row:before{top:164px;left:20px}.directory-row .number{top:12px;right:12px}}
.directory-row>p{margin:0 24px}
.hero-background{object-position:center 60%}
@media(max-width:760px){.directory-row>p{margin:0 20px}}
/* ---- 2026-10-10: brighter hero so the photo shows ---- */
.hero:after{background:linear-gradient(100deg,#070d1ab8 0%,#0b1a3373 38%,#0b1a3314 68%,#0b1a3300 100%)}
.hero:before{display:none}
.hero-copy h1,.hero-copy .intro,.hero-copy .fine,.hero-copy .text-link{text-shadow:0 2px 18px #050b17b3,0 1px 2px #050b1780}
.hero-copy .eyebrow{background:#0b132499;border-color:#ffffff40}
@media(max-width:1050px){.hero:after{background:linear-gradient(180deg,#070d1a8c 0%,#0b1a33a6 55%,#0b1a33bf 100%)}}

/* ---- 2026-10-10: five departments on the home page, /services page, four-column footer ---- */
#dept-cleaning:before,#housecleaning:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l1.8 4.7L18.5 9.5l-4.7 1.8L12 16l-1.8-4.7L5.5 9.5l4.7-1.8z'/%3E%3Cpath d='M18.5 15.5l.8 2 2 .8-2 .8-.8 2-.8-2-2-.8 2-.8z'/%3E%3C/svg%3E")}
#dept-exterior:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11Z'/%3E%3Cpath d='M9.5 14a2.5 2.5 0 0 0 2.5 2.5'/%3E%3C/svg%3E")}
#dept-maintenance:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 6.5a4 4 0 0 0 5 5L11 20a2.1 2.1 0 0 1-3-3l8.5-8.5'/%3E%3Cpath d='M14.5 6.5 17 4'/%3E%3C/svg%3E")}
#dept-outdoor:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 21h10M12 21v-9'/%3E%3Cpath d='M12 12c0-4-3-6-7-6 0 4 2 6 7 6Z'/%3E%3Cpath d='M12 15c0-3 2-5 7-5 0 4-2 5-7 5Z'/%3E%3C/svg%3E")}
#painting:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h13v6H4zM17 7h3v6h-8v3M12 16v5'/%3E%3C/svg%3E")}
#handyman:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 6.5a4 4 0 0 0 5 5L11 20a2.1 2.1 0 0 1-3-3l8.5-8.5'/%3E%3Cpath d='M14.5 6.5 17 4'/%3E%3C/svg%3E")}
#appliance:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3h14v18H5zM5 8h14'/%3E%3Ccircle cx='12' cy='14' r='3.5'/%3E%3Cpath d='M8 5.5h0M11 5.5h0'/%3E%3C/svg%3E")}
#hvac:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18M4.2 7.5l15.6 9M19.8 7.5l-15.6 9'/%3E%3Cpath d='M9.5 4.5 12 7l2.5-2.5M9.5 19.5 12 17l2.5 2.5'/%3E%3C/svg%3E")}
#yard:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21v-8M12 13c0-4 3-7 7-7 0 4-3 7-7 7ZM12 16c0-3-2-5-6-5 0 3 2 5 6 5ZM6 21h12'/%3E%3C/svg%3E")}
#pest:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 7a4 4 0 0 1 4 4v4a4 4 0 0 1-8 0v-4a4 4 0 0 1 4-4ZM9 5l1.5 2.2M15 5l-1.5 2.2M4 10h4M16 10h4M4 15h4M16 15h4M5 20l3.4-2.5M19 20l-3.4-2.5'/%3E%3C/svg%3E")}
#dept-support:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6h11v10H2zM13 10h5l4 4v2h-9z'/%3E%3Ccircle cx='6.5' cy='18' r='2'/%3E%3Ccircle cx='17.5' cy='18' r='2'/%3E%3C/svg%3E")}

@media(min-width:1200px){.directory.departments{grid-template-columns:repeat(5,minmax(0,1fr))}.departments .directory-row h3{font-size:20px}.departments .directory-actions .button{padding:10px 14px;font-size:13px}}
@media(min-width:761px) and (max-width:1199px){.directory.departments{grid-template-columns:repeat(3,minmax(0,1fr))}}
.page-hero{padding:72px 0 56px;background:linear-gradient(160deg,#0b1324,#14285a 70%,#1d4ed8 150%);color:#fff}
.page-hero .eyebrow{color:#a3c5ff}
.page-hero h1{font-size:clamp(34px,4.6vw,60px);line-height:1.08;letter-spacing:-.04em;max-width:820px}
.page-hero .intro{color:#e6ecf7;max-width:640px}
.page-hero .button{background:#fff;border-color:#fff;color:#1d4ed8}
.page-hero .button:hover{background:#eef3fd}
.dept{scroll-margin-top:90px}
.availability-note{margin:24px 0 0;padding:16px 20px;border:1px solid #c9d6ee;border-left:4px solid var(--blue);border-radius:12px;background:#eef3fd;color:var(--ink);font-size:15px;line-height:1.65}
.availability-note strong{font-weight:700}
.note-wrap{padding-top:8px}
.note-wrap+.section{padding-top:56px}
.dept-more{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:24px;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}
.dept-more h3{font-size:18px;letter-spacing:-.02em;margin:0 0 12px}
.dept-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.dept-list li{padding:7px 14px;border-radius:999px;background:#eef3fd;color:#1d4ed8;font-size:14px;font-weight:600}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.6fr;gap:40px;padding-bottom:32px}
.footer-grid h2{font-family:inherit;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin:6px 0 14px}
.footer-grid nav{display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-size:15px;font-weight:400}
.footer-grid nav a,.footer-contact>a{display:inline-flex;align-items:center;min-height:36px;color:#e6ecf7}
.footer-grid nav a:hover,.footer-contact>a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.footer-about p{margin:18px 0 0;max-width:340px;font-size:15px;line-height:1.7;color:#a9b4c7}
.footer-contact{display:flex;flex-direction:column;align-items:flex-start;font-size:15px;scroll-margin-top:110px}
.footer-contact>a{font-weight:600}
.footer-contact p{margin:12px 0 0;font-size:14px;line-height:1.7;color:#a9b4c7}
.footer-contact p a{color:#e6ecf7;text-decoration:underline;text-underline-offset:3px}
.footer-states abbr{text-decoration:none;white-space:nowrap}
.footer-bottom{display:flex;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;padding-top:22px;border-top:1px solid #ffffff1f;font-size:12px;line-height:1.6;color:#a9b4c7}
footer .image-credit{font-size:12px;line-height:1.6;color:#8b96aa;padding-top:10px!important}
@media(max-width:1050px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:760px){.footer-bottom{flex-direction:column;align-items:flex-start}.page-hero{padding:48px 0 40px}.dept-more{padding:20px;align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr;gap:24px}.footer-grid nav a,.footer-contact>a{min-height:44px}}

/* ---- 2026-10-10: cleaning categories and /cleaning page ---- */
#svc-residential:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-7 9 7M5 10v10h14V10M10 20v-6h4v6'/%3E%3C/svg%3E")}
#svc-commercial:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V5h10v16M14 9h6v12M2 21h20M8 9h2M8 13h2M8 17h2M17 13h0M17 17h0'/%3E%3C/svg%3E")}
#svc-airbnb:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 18v-7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v7M3 14h18M3 18v2M21 18v2M7 9V6h10v3'/%3E%3C/svg%3E")}
#svc-move:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8l8-4 8 4v9l-8 4-8-4zM4 8l8 4 8-4M12 12v9'/%3E%3C/svg%3E")}
#svc-construction:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 18h16M6 18v-5a6 6 0 0 1 12 0v5M10 7V4h4v3'/%3E%3C/svg%3E")}
#svc-floors:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16v16H4zM4 12h16M12 4v16'/%3E%3C/svg%3E")}
#svc-exterior-cleaning:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11Z'/%3E%3C/svg%3E")}
#svc-specialty:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d4ed8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l1.8 4.7L18.5 9.5l-4.7 1.8L12 16l-1.8-4.7L5.5 9.5l4.7-1.8z'/%3E%3Cpath d='M18.5 15.5l.8 2 2 .8-2 .8-.8 2-.8-2-2-.8 2-.8z'/%3E%3C/svg%3E")}
.dept-note{margin:0;color:var(--muted);font-size:15px;line-height:1.6}
.dept-actions{display:flex;flex-wrap:wrap;gap:12px}
.svc-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}
.svc-list li{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}
.svc-list strong{font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}
.svc-list span{font-size:14px;line-height:1.55;color:var(--muted)}
.dept>.container>.fine{margin:16px 0 0;font-size:13px}
.page-hero .text-link{color:#dbe7ff}
@media(max-width:760px){.svc-list{grid-template-columns:1fr}.dept-actions{flex-direction:column;align-items:flex-start}}
