.directory-view-switch {
    display: flex;
    border: 1px solid #d5d9dd;
    border-radius: .5rem;
    overflow: hidden;
    width: min(100%, 28rem);
    flex-shrink: 0;
}
.directory-view-switch a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .85rem;
    flex: 1;
    padding: .85rem 1.25rem;
    color: #252a2e;
    font-size: 1.25rem;
    font-weight: 700;
    text-decoration: none;
}
.directory-view-switch i { font-size: 1.9rem; line-height: 1; }
.directory-view-switch a[aria-current="page"] { background: #006747; color: #fff; }
.directory-view-switch a:hover { background: #edf4f0; color: #00583d; }
.directory-view-switch a[aria-current="page"]:hover { background: #00583d; color: #fff; }
.directory-view-switch a:focus-visible { outline: 3px solid #111; outline-offset: -4px; }
.directory-people-switch { display: flex; justify-content: flex-end; margin-top: 2rem; }
.office-search { padding-top: 2.5rem; padding-bottom: 4rem; color: #252a2e; }
.office-search__top, .directory-results__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; }
.directory-results__container { padding-top: 2.5rem; padding-bottom: 4rem; }
.directory-results__top { margin-bottom: 1.5rem; }
.directory-results__top .directory-results__back { margin-bottom: 0; padding-top: .4rem; }
.office-search__back { display: inline-flex; align-items: center; gap: .5rem; padding-top: .4rem; color: #006747; font-size: 1.25rem; font-weight: 700; text-decoration: none; }
.office-search__heading { margin: 1.5rem 0 2rem; }
.office-search__heading h1 { color: #050607; font-size: clamp(2.75rem, 4.7vw, 4.25rem); font-weight: 700; line-height: 1.08; margin: 0 0 .5rem; }
.office-search__heading p { font-size: 1.5rem; line-height: 1.4; margin: 0; color: #4b5560; }
.office-search__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .85rem; }
.office-search__toolbar p { margin: 0; font-size: 1.25rem; font-weight: 700; }
.office-search__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; list-style: none; padding: 0; margin: 0; }
.office-card { display: flex; flex-direction: column; min-width: 0; padding: 1.5rem 2rem; border: .0625rem solid #b9b9b9; border-radius: 0; box-shadow: none; transition: border-color .18s ease; }
.office-card:focus-within, .office-card:hover { border-color: #296039; }
.office-card__icon { display: flex; align-items: center; justify-content: center; align-self: flex-start; width: 7rem; height: 7rem; margin-bottom: 1.4rem; border-radius: 50%; background: #285780; color: #fff; font-size: 3rem; }
.office-card h2 { color: #1b4167; font-size: 1.5rem; font-weight: 700; line-height: 1.2; margin: 0 0 .85rem; }
.office-card h2::before, .office-search__empty h2::before { display: none; }
.office-card__description { font-size: 1.125rem; line-height: 1.4; margin: 0 0 1.25rem; }
.office-card__contact { display: grid; gap: .8rem; list-style: none; padding: 0; margin: auto 0 0; }
.office-card__contact li { display: flex; align-items: baseline; gap: 1rem; font-size: 1.0625rem; line-height: 1.4; }
.office-card__contact i { flex-shrink: 0; }
.office-card__contact a { color: #006747; font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
.office-card__contact .office-card__phone { color: #4b5560; font-weight: 400; }
.office-card__contact .office-card__website { color: #1763ac; }
.office-search a:hover { text-decoration: underline; }
.office-search :is(a, button, select):focus-visible { outline: 3px solid #111; outline-offset: 3px; }
.office-search__empty { padding: 1.5rem 1rem; border: 1px solid #dfe3e6; border-radius: .5rem; text-align: center; }
.office-search__empty h2 { font-size: 1.5rem; margin: 0 0 .5rem; }
.office-search__empty p { margin: 0 0 .75rem; }
@media (max-width: 1199.98px) {
    .office-search__heading { margin-top: 1.5rem; padding-right: 0; }
    .office-card { padding: 1.5rem; }
}
@media (max-width: 991.98px) {
    .office-search__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .directory-view-switch { width: 22rem; }
}
@media (max-width: 575.98px) {
    .office-search { padding: 1.5rem 1.25rem 3rem; }
    .office-search__top, .directory-results__top { flex-direction: column; }
    .office-search__top > .directory-search-type__choices,
    .directory-results__top > .directory-search-type__choices { align-self: flex-end; }
    .directory-results__container { padding-top: 1.5rem; padding-bottom: 3rem; }
    .directory-view-switch { width: 100%; }
    .office-search__heading p { font-size: 1.25rem; }
    .office-search__toolbar { align-items: flex-start; flex-direction: column; gap: .75rem; margin-bottom: 1.25rem; }
    .office-search__grid { grid-template-columns: minmax(0, 1fr); }
    .office-card { padding: 1.75rem; }
}
