/* Top-level Services and Service Areas directories. */
.directory-body .site-header:not(.is-scrolled) { background:var(--navy-900); }
.directory-page { background:var(--cream-50); padding:155px 0 85px; }
.directory-intro { max-width:880px; margin:0 auto 48px; text-align:center; }
.directory-intro h1 { font-size:clamp(2.1rem,4vw,3.5rem); line-height:1.12; }
.directory-intro p { max-width:780px; margin:24px auto 0; color:var(--muted); font-size:1.08rem; line-height:1.8; }
.directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.directory-card { display:flex; flex-direction:column; background:white; border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); }
.directory-card>img { width:100%; height:230px; object-fit:cover; }
.directory-card-body { padding:28px; display:flex; flex-direction:column; flex:1; align-items:flex-start; }
.directory-card h2 { font-size:1.45rem; line-height:1.25; }
.directory-card p { margin:16px 0 24px; color:var(--muted); font-size:.95rem; line-height:1.75; flex:1; }
.directory-card .btn { font-size:.88rem; padding:12px 22px; }
@media(max-width:1050px) { .directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; } }
@media(max-width:640px) { .directory-page { padding:125px 0 55px; } .directory-intro { margin-bottom:32px; } .directory-intro p { font-size:1rem; } .directory-grid { grid-template-columns:1fr; } .directory-card-body { padding:24px; } .directory-card>img { height:220px; } }

.directory-cta { margin-top:26px; }
