.service-directory{padding:44px 0 72px;background:#fff;letter-spacing:0}
.directory-heading{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:32px}
.directory-heading .directory-kicker{font-size:11px;font-weight:600;color:#2589a7;margin:0 0 12px}
.directory-heading h1{font-size:36px;line-height:1.18;color:#163e50;margin:0 0 14px}
.directory-heading p{font-size:16px;line-height:1.7;margin:0;color:#576c77;max-width:650px}
.directory-quote{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;padding:12px 22px;border-radius:30px;white-space:nowrap;color:#fff;background:linear-gradient(150deg,#45a8bc,#10738e);box-shadow:0 2px 4px #176c821c,0 7px 16px #176c8224;font-weight:600}
.directory-quote img{filter:brightness(0) invert(1)}
.directory-meta{display:flex;align-items:center;justify-content:space-between;padding:0 0 18px;margin-bottom:12px;font-size:13px;color:#657882}
.directory-meta strong{color:#20788c;font-size:17px;margin-right:4px}
.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.directory-card{position:relative;min-width:0;background:#fff;border-radius:10px;box-shadow:none;transition:transform .24s ease,box-shadow .24s ease}
.service-directory .directory-card{overflow:hidden;border:1px solid #d8e9ee;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(18,85,107,.09),0 18px 42px rgba(18,85,107,.07);transition:border-color .2s ease,box-shadow .2s ease}
.service-directory .directory-link{border-radius:inherit;transform:none}
.service-directory .directory-photo{border-radius:0}
.service-directory .directory-copy{padding:20px 22px 22px}
.service-directory .directory-link:focus-visible{outline-offset:-4px}
.directory-card::after{display:none}
.directory-link{height:100%;display:flex;flex-direction:column;border-radius:8px;color:inherit;text-decoration:none}
.directory-photo{aspect-ratio:3/2;overflow:hidden;border-radius:8px 8px 0 0;background:#edf5f7}
.service-directory .directory-photo img{display:block;width:100%;height:100%;margin:0;border-radius:0;object-fit:cover}
.directory-copy{display:flex;flex-direction:column;flex:1;align-items:flex-start;padding:24px}
.directory-category{font-size:11px;line-height:1.5;color:#25809b;margin-bottom:10px}
.directory-copy h2{font-size:21px;line-height:1.4;margin:0 0 12px;color:#183f51;overflow-wrap:anywhere}
.directory-copy p{font-size:14px;line-height:1.8;color:#60727b;margin:0 0 24px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.directory-read{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;font-size:13px;font-weight:600;color:#147994;margin-top:auto;padding-top:16px;border-top:1px solid #e9f0f3}
.directory-pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:40px}
.directory-pagination>a,.directory-pagination>span{display:grid;place-items:center;width:44px;height:44px;border-radius:6px;background:#f0f6f8;color:#24586e;font-weight:600;font-size:14px}
.directory-pagination [aria-current=page]{background:#187f9b;color:#fff;box-shadow:0 3px 8px #187f9b25}
.directory-pagination [aria-disabled=true]{opacity:.35}
.directory-prev{transform:rotate(180deg)}
.directory-link:focus-visible,.directory-quote:focus-visible,.directory-pagination a:focus-visible{outline:3px solid #168dab;outline-offset:5px}
@media(hover:hover) and (pointer:fine){.directory-pagination a:hover{background:#dceef3}.directory-quote:hover{box-shadow:0 3px 8px #176c8229,0 9px 22px #176c823b}}
@media(max-width:1050px){.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.directory-heading h1{font-size:32px}}
@media(max-width:600px){.service-directory{padding:30px 0 44px}.directory-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:26px}.directory-heading h1{font-size:28px}.directory-heading p{font-size:15px}.directory-grid{grid-template-columns:minmax(0,1fr);gap:24px}.directory-copy{padding:22px}.directory-copy h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){.directory-card{transition:none}}
@media(max-width:600px){body:has(.service-directory) .social-dock{display:none}}
