/* Task-first browsing, with native disclosures that also work without JavaScript. */
.service-directory-section { padding-top:44px; }
.service-paths-heading { max-width:700px; margin-bottom:28px; }
.service-paths-heading h2,.service-browse-heading h2 { font-size:clamp(28px,3vw,40px); line-height:1.12; margin-bottom:12px; }
.service-paths-heading>p:last-child,.service-browse-heading>p { font-size:15px; line-height:1.7; color:var(--muted); margin-bottom:0; }
.service-directory-section [data-directory-mood] { --directory-accent:var(--brand-cooling); --directory-link:var(--brand-link); }
.service-directory-section [data-directory-mood=heating] { --directory-accent:var(--brand-accent); --directory-link:var(--heating-link,#ffbf75); }
.service-directory-section [data-directory-mood=air] { --directory-accent:var(--brand-air); --directory-link:var(--air-link,#a5efd9); }
.service-quick-paths { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:68px; }
.service-quick-path { position:relative; min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:19px; padding:24px; border:1px solid var(--line); border-radius:22px; background:linear-gradient(145deg,color-mix(in srgb,var(--directory-accent) 8%,transparent),transparent),var(--glass); box-shadow:inset 0 1px #ffffff0b; }
.service-path-icon { width:39px; height:39px; display:grid; place-items:center; color:var(--directory-link); border-radius:13px; background:color-mix(in srgb,var(--directory-accent) 9%,transparent); }
.service-path-icon>.icon { width:22px; height:22px; }
.service-quick-path strong { display:block; font-size:17px; line-height:1.35; font-weight:600; color:var(--ink); }
.service-quick-path small { display:block; font-size:12px; line-height:1.5; color:var(--muted); margin-top:6px; }
.service-path-arrow { position:absolute; top:29px; right:22px; color:var(--directory-link); }
.service-path-arrow .icon { width:18px; height:18px; }
.service-browse-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:28px; }
.service-browse-heading h2 { margin-bottom:0; }
.service-browse-heading>p { max-width:360px; }
.service-directory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.service-directory-grid .service-directory-card { min-width:0; padding:30px; border:1px solid var(--line); border-radius:28px; background:linear-gradient(140deg,color-mix(in srgb,var(--directory-accent) 5%,transparent),transparent),var(--glass); box-shadow:inset 0 1px #ffffff0b; }
.service-category-heading { display:flex; align-items:flex-start; gap:17px; margin-bottom:24px; }
.service-category-icon { display:grid; place-items:center; width:46px; height:46px; flex-shrink:0; border:1px solid color-mix(in srgb,var(--directory-accent) 20%,var(--line)); border-radius:15px; background:color-mix(in srgb,var(--directory-accent) 8%,transparent); color:var(--directory-link); }
.service-category-icon .icon { width:25px; height:25px; }
.service-directory-grid .service-category-heading h3 { font-size:clamp(22px,2.2vw,28px); font-weight:500; letter-spacing:-.04em; line-height:1.2; margin:0 0 10px; }
.service-category-heading p { color:var(--muted); font-size:14px; line-height:1.65; margin:0; max-width:430px; }
.service-primary-list,.service-additional-list { list-style:none; padding:0; margin:0; }
.service-primary-list { border-block:1px solid var(--line); }
.service-primary-list li+li { border-top:1px solid color-mix(in srgb,var(--line) 65%,transparent); }
.service-primary-list a,.service-additional-list a { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:50px; padding:13px 5px; color:var(--ink); font-size:15px; font-weight:500; line-height:1.45; border-radius:8px; }
.service-primary-list a>span:last-child,.service-additional-list a>span:last-child { display:flex; flex-shrink:0; color:var(--directory-link); }
.service-primary-list .icon,.service-additional-list .icon { width:17px; height:17px; }
.service-more-options { margin-top:12px; }
.service-more-options summary { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:48px; padding:10px 5px; color:var(--directory-link); font-size:14px; font-weight:500; cursor:pointer; list-style:none; border-radius:8px; }
.service-more-options summary::-webkit-details-marker { display:none; }
.service-more-options summary>span:first-child { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.service-option-count { display:inline-grid; place-items:center; min-width:24px; height:24px; padding:0 6px; border-radius:7px; color:var(--muted); background:#ffffff07; font-size:11px; }
.service-details-icon { display:flex; flex-shrink:0; }
.service-details-icon .icon { width:17px; height:17px; }
.service-more-options[open] .service-details-icon { transform:rotate(180deg); }
.service-additional-list { border-radius:13px; background:color-mix(in srgb,var(--brand-background) 50%,transparent); padding:8px 12px; margin:6px 0 14px; }
.service-additional-list a { font-size:14px; color:var(--muted); font-weight:400; }
.service-category-link { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:46px; margin-top:13px; padding:8px 5px; font-size:12px; color:var(--directory-link); }
.service-category-link>span { display:flex; }
.service-category-link .icon { width:17px; height:17px; }
.service-help-panel { display:flex; align-items:center; justify-content:space-between; gap:40px; padding:36px 40px; margin-top:36px; border:1px solid color-mix(in srgb,var(--brand-accent) 28%,var(--line)); border-radius:26px; background:linear-gradient(115deg,color-mix(in srgb,var(--brand-accent) 5%,transparent),transparent),var(--glass); }
.service-help-panel h2 { font-size:clamp(26px,3vw,36px); line-height:1.2; margin:0 0 12px; }
.service-help-panel p:last-child { color:var(--muted); line-height:1.7; font-size:15px; max-width:630px; margin:0; }
.service-help-panel .eyebrow { margin-bottom:14px; }
.service-help-panel .button { flex-shrink:0; }
.service-directory-section :is(.service-primary-list a,.service-additional-list a,.service-category-link,.service-more-options summary):focus-visible { outline-offset:2px; }
@media(min-width:768px) {
    .service-directory-grid>.service-directory-card:last-child:nth-child(odd) { grid-column:1/-1; }
    .service-directory-grid>.service-directory-card:last-child:nth-child(odd) .service-primary-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
    .service-directory-grid>.service-directory-card:last-child:nth-child(odd) .service-primary-list li+li { border-top:0; }
}
@media(hover:hover) and (pointer:fine) {
    .service-quick-path:hover,.service-directory-card:focus-within { border-color:color-mix(in srgb,var(--directory-accent) 48%,var(--line)); }
    .service-primary-list a:hover,.service-additional-list a:hover,.service-more-options summary:hover { color:var(--directory-link); background:color-mix(in srgb,var(--directory-accent) 6%,transparent); }
    .service-category-link:hover,.service-category-heading h3 a:hover { color:var(--directory-link); text-decoration:underline; text-underline-offset:4px; }
}
@media(prefers-reduced-motion:no-preference) {
    html[data-ambient-motion=running] .service-quick-path,html[data-ambient-motion=running] .service-directory-card { transition:border-color .25s ease,box-shadow .25s ease; }
    html[data-ambient-motion=running] .service-quick-path:hover { box-shadow:0 12px 32px -24px var(--directory-accent),inset 0 1px #ffffff0b; }
}
@media(max-width:1100px) { .service-quick-paths { grid-template-columns:repeat(2,minmax(0,1fr)); }.service-quick-path { flex-direction:row; align-items:center; padding:22px 46px 22px 22px; gap:14px; }.service-path-arrow { top:50%; right:17px; transform:translateY(-50%); }.service-path-icon { flex-shrink:0; } }
@media(max-width:767px) {
    .service-directory-section { padding-top:28px; }
    .service-quick-paths { margin-bottom:46px; gap:10px; }
    .service-quick-path { padding:18px 15px; flex-direction:column; align-items:flex-start; gap:15px; }
    .service-path-arrow { top:28px; right:16px; transform:none; }
    .service-quick-path strong { font-size:16px; }
    .service-quick-path small { font-size:12px; }
    .service-browse-heading { display:block; }
    .service-browse-heading>p { margin-top:15px; max-width:500px; font-size:14px; }
    .service-directory-grid { grid-template-columns:1fr; gap:18px; }
    .service-directory-grid .service-directory-card { padding:24px 22px; border-radius:23px; }
    .service-category-heading { gap:13px; margin-bottom:19px; }
    .service-category-icon { width:40px; height:40px; border-radius:12px; }
    .service-category-icon .icon { width:22px; height:22px; }
    .service-category-heading p { font-size:13px; }
    .service-help-panel { flex-direction:column; align-items:flex-start; padding:28px 24px; gap:24px; }
    .service-help-panel .button { width:100%; }
}
@media(max-width:359px) { .service-quick-paths { grid-template-columns:1fr; }.service-quick-path { flex-direction:row; align-items:center; padding-right:45px; }.service-path-arrow { top:50%; transform:translateY(-50%); }.service-category-heading { display:block; }.service-category-icon { margin-bottom:15px; } }
