/* Only the service directory: existing branding, fonts and all other pages stay intact. */
.service-directory .directory-jump{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 48px;padding:0}
.service-directory .directory-jump a{display:inline-flex;align-items:center;gap:9px;padding:12px 16px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:14px;font-weight:700;transition:border-color .18s,background .18s}
.service-directory .directory-dot{height:8px;width:8px;flex:none;border-radius:50%;background:var(--c)}
.service-directory .directory-jump a:hover{border-color:var(--c);background:color-mix(in srgb,var(--c) 6%,white)}
.service-directory .directory-families{display:grid;gap:72px}
.service-directory .directory-family{scroll-margin-top:112px}
.service-directory .directory-family__head{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);border:1px solid color-mix(in srgb,var(--c) 18%,var(--line));border-radius:24px;overflow:hidden;background:linear-gradient(120deg,color-mix(in srgb,var(--c) 7%,white),#fff)}
.service-directory .directory-family__copy{padding:clamp(24px,3.5vw,44px);align-self:center}
.service-directory .directory-kicker{display:flex;align-items:center;gap:10px;color:var(--c);font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;margin:0 0 18px}
.service-directory .directory-kicker svg{width:23px;height:23px;flex:none}
.service-directory .directory-family h2{font-size:clamp(26px,3vw,38px);line-height:1.15;letter-spacing:-.025em;margin:0 0 16px}
.service-directory .directory-family h2 a{color:var(--ink)}
.service-directory .directory-family__copy>p:not(.directory-kicker){max-width:58ch;font-size:16px;line-height:1.75;color:var(--slate);margin:0 0 22px}
.service-directory .directory-family__link{display:inline-flex;align-items:center;gap:12px;color:var(--c);font-size:14px;font-weight:800}
.service-directory .directory-family__photo{margin:0;min-height:290px;overflow:hidden}
.service-directory .directory-family__photo img{display:block;width:100%;height:100%;object-fit:cover}
.service-directory .directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}
.service-directory .directory-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-directory .directory-card{display:flex;flex-direction:column;min-width:0;padding:26px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 4px 18px rgba(6,27,61,.025);transition:border-color .18s,box-shadow .18s}
.service-directory .directory-card:hover{border-color:color-mix(in srgb,var(--c) 45%,var(--line));box-shadow:0 8px 28px rgba(6,27,61,.065)}
.service-directory .directory-card h3{font-size:19px;line-height:1.4;margin:0 0 12px;letter-spacing:-.015em}
.service-directory .directory-card h3 a{color:var(--ink)}
.service-directory .directory-card>p{font-size:14px;line-height:1.75;color:var(--slate);margin:0 0 20px}
.service-directory .directory-card__link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px;color:var(--c);font-size:13px;font-weight:800;border-top:1px solid var(--line)}
.service-directory .directory-card__link svg{flex:none}
.service-directory .directory-card__details{margin:0 0 18px;padding-top:14px;border-top:1px solid var(--line);font-size:13px}
.service-directory .directory-card__details summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;color:var(--ink);font-weight:700;list-style:none;min-height:28px}
.service-directory .directory-card__details summary::-webkit-details-marker,.service-directory .directory-more summary::-webkit-details-marker{display:none}
.service-directory .directory-card__details summary svg,.service-directory .directory-more summary svg{flex:none;transition:transform .18s}
.service-directory .directory-card__details[open]>summary svg,.service-directory .directory-more[open]>summary svg{transform:rotate(180deg)}
.service-directory .directory-card__details ul{display:grid;gap:7px;margin:14px 0 0;padding:0;list-style:none}
.service-directory .directory-card__details ul ul{margin-top:8px;padding-left:12px;border-left:2px solid color-mix(in srgb,var(--c) 25%,white)}
.service-directory .directory-card__details a{display:inline-block;color:var(--slate);line-height:1.6;overflow-wrap:anywhere}
.service-directory .directory-card__details a:hover{color:var(--c)}
.service-directory .directory-more{margin-top:20px}
.service-directory .directory-more>summary{display:flex;align-items:center;justify-content:center;gap:12px;padding:17px 20px;background:color-mix(in srgb,var(--c) 5%,white);border:1px solid color-mix(in srgb,var(--c) 18%,var(--line));border-radius:14px;font-size:14px;font-weight:800;color:var(--c);cursor:pointer;list-style:none}
.service-directory .directory-more>summary:hover{background:color-mix(in srgb,var(--c) 9%,white)}
.service-directory .directory-family a:focus-visible,.service-directory summary:focus-visible,.service-directory .directory-jump a:focus-visible{outline:3px solid var(--c,var(--brand));outline-offset:4px;border-radius:5px}
@media(max-width:1000px){.service-directory .directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-directory .directory-family__head{grid-template-columns:1.25fr 1fr}.service-directory .directory-family__copy{padding:28px}}
@media(max-width:760px){.service-directory .directory-family__head{grid-template-columns:1fr}.service-directory .directory-family__photo{height:220px;min-height:0;grid-row:1}.service-directory .directory-family__copy{padding:26px}.service-directory .directory-families{gap:48px}.service-directory .directory-jump{gap:8px;margin-bottom:32px}.service-directory .directory-jump a{padding:10px 13px;font-size:12px}}
@media(max-width:560px){.service-directory .directory-grid,.service-directory .directory-grid--two{grid-template-columns:minmax(0,1fr);gap:14px}.service-directory .directory-card{padding:22px}.service-directory .directory-family h2{font-size:28px}.service-directory .directory-more>summary{font-size:13px}.service-directory .directory-family__photo{height:200px}}
@media(prefers-reduced-motion:reduce){.service-directory *{transition:none!important}}
/* Service detail pages share the same quieter visual system. */
.service-detail .phero{background:linear-gradient(125deg,color-mix(in srgb,var(--c) 6%,white),#fff 72%);padding-block:40px 60px}
.service-detail .phero__grid{gap:clamp(28px,4vw,54px)}
.service-detail .phero h1{font-size:clamp(32px,3.8vw,50px);line-height:1.14;max-width:20ch;overflow-wrap:break-word;hyphens:auto}
.service-detail .phero .lead{font-size:17px;line-height:1.75;max-width:56ch;margin-top:18px}
.service-detail .phero__img{aspect-ratio:5/4;border-radius:24px;box-shadow:0 16px 44px rgba(6,27,61,.09)}
.service-detail .steps li{border-radius:18px;box-shadow:0 4px 18px rgba(6,27,61,.035);padding:26px}
.service-detail .steps__n{border-radius:8px;padding:6px 11px}
.service-detail .steps p{line-height:1.75}
.service-detail .benefits h2{font-size:clamp(25px,2.5vw,32px);letter-spacing:-.02em}
.service-detail .benefits li{line-height:1.7}
.service-detail .detail-team{margin:0;border:1px solid var(--line);border-radius:24px;background:#fff;overflow:hidden}
.service-detail .detail-team{align-self:center;min-width:0}.service-detail .detail-team img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.service-detail .detail-team figcaption{padding:18px 22px;font-size:14px;font-weight:700;color:var(--brand)}
.service-detail .note{border-radius:18px}
@media(max-width:900px){.service-detail .phero__img{aspect-ratio:16/10;max-height:360px}.service-detail .phero h1{max-width:25ch}.service-detail .phero{padding-bottom:40px}}
