/* Real, server-authorized directory matches. Fictional example rails are separate. */
.directory-display-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0;margin-bottom:16px}
.directory-display-toolbar .button{min-height:44px;white-space:normal}
.directory-density-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.directory-grouping-note{flex:1 1 100%;color:var(--muted);font-size:12px;line-height:1.65;margin:0}
.directory-layout-controls,.directory-density-controls,.directory-rail-controls{display:flex;gap:6px;flex-shrink:0}
.directory-layout-controls,.directory-density-controls{flex-wrap:wrap;max-width:100%}
.directory-layout-controls .button,.directory-density-controls .button,.directory-rail-controls .button{min-width:44px;min-height:44px}
.directory-layout-controls [aria-pressed=true],.directory-density-controls [aria-pressed=true]{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);font-weight:700}
.directory-category-sections{display:flex;flex-direction:column;gap:30px;min-width:0}
.directory-all-offices-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-flow:row;gap:14px;min-width:0;max-width:100%;align-items:stretch}
.directory-category-section{min-width:0;max-width:100%}
.directory-category-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.directory-category-heading>div:first-child{min-width:0}
.directory-category-heading h3{font-size:18px;line-height:1.4;overflow-wrap:anywhere;margin:0}
.directory-category-count{color:var(--muted);font-size:12px;line-height:1.6;margin:4px 0 0}
.directory-rail-controls [aria-disabled=true]{opacity:.5;cursor:default}
.directory-office-rail{display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,auto);grid-auto-columns:100%;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:4px;padding:4px 4px 12px;min-width:0;max-width:100%;align-items:stretch;scrollbar-width:thin}
.directory-office-rail[data-rows="1"]{grid-template-rows:auto}
.directory-rail-item{min-width:0;scroll-snap-align:start;display:flex}
.discovery-layout .directory-rail-item>.profile-card{flex:1;min-width:0;margin:0;padding:18px}
.directory-office-rail:focus-visible,.directory-compact-link:focus-visible,.directory-compact-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.directory-rail-item .profile-card h3{font-size:21px;line-height:1.35;overflow-wrap:anywhere}
.directory-results-footer{margin-top:16px}
.discovery-layout .directory-rail-item>.directory-compact-card{display:block;padding:0}
.directory-compact-link{display:flex;align-items:flex-start;gap:12px;padding:16px 16px 4px;color:var(--ink);text-decoration:none;border-radius:inherit}
.directory-compact-link .avatar{flex:0 0 48px;width:48px;height:48px;border-radius:12px}
/* The summary budget is one name line plus two expertise lines. The separate
   disclosure control is always available, including after responsive reflow. */
.directory-compact-copy{display:flex;flex:1;flex-direction:column;gap:5px;min-width:0}
.directory-compact-copy strong{display:block;font-size:16px;line-height:1.45;overflow-wrap:anywhere;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.directory-compact-expertise{font-size:13px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;max-height:3.2em;overflow:hidden;text-overflow:ellipsis}
.directory-compact-card[data-expanded=true] .directory-compact-copy strong{white-space:normal;overflow:visible;text-overflow:clip}
.directory-compact-card[data-expanded=true] .directory-compact-expertise{display:block;-webkit-line-clamp:unset;line-clamp:unset;max-height:none;overflow:visible}
.directory-compact-toggle{min-height:44px;margin:0 16px 8px 76px;max-width:calc(100% - 92px);white-space:normal;text-align:left}
@container offices (min-width:480px){.directory-all-offices-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container offices (min-width:720px){.directory-all-offices-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container offices (min-width:480px){.directory-office-rail{grid-auto-columns:calc((100% - 14px)/2)}}
@container offices (min-width:720px){.directory-office-rail{grid-auto-columns:calc((100% - 28px)/3)}}
/* Seven or more loaded members: three full columns, three gaps and a 32px peek.
   Smaller containers keep one/two readable columns with normal rail scrolling. */
@container offices (min-width:720px){.directory-office-rail[data-overflow=true]{grid-auto-columns:calc((100% - 42px - 32px)/3)}}
@media(max-width:420px){.directory-category-heading{align-items:flex-start;flex-wrap:wrap}.directory-rail-controls{margin-left:auto}.directory-compact-link{padding:13px 13px 4px}.directory-compact-toggle{margin-left:73px;margin-right:13px;max-width:calc(100% - 86px)}}
@media(prefers-reduced-motion:reduce){.directory-office-rail{scroll-behavior:auto}}
@media(forced-colors:active){.directory-layout-controls [aria-pressed=true],.directory-density-controls [aria-pressed=true]{border:2px solid Highlight}.directory-office-rail:focus-visible,.directory-compact-link:focus-visible,.directory-compact-toggle:focus-visible{outline-color:Highlight}.directory-rail-controls [aria-disabled=true]{color:GrayText;opacity:1}}
/* Filters disclose in-place; search and the applied choices remain reachable. */
.directory-filter-panel[hidden]{display:none}
.directory-filter-panel{border-top:1px solid var(--line);margin-top:14px;padding-top:14px;min-width:0}
.directory-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.directory-filter-heading h3{font-size:16px;margin:0}
.directory-applied-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0;margin-top:10px}
.directory-applied-filters:empty{display:none}
.directory-applied-filters .category-chip{min-height:44px;max-width:100%;overflow-wrap:anywhere;white-space:normal;text-align:left}
.directory-applied-filters .category-chip svg{flex-shrink:0}
.directory-order-field{max-width:320px;margin-top:14px}
#directory-filter-toggle,.directory-following-link,[data-directory-filters-close]{min-height:44px;flex-shrink:0}
@media(max-width:600px){.directory-tools .search-wrap{flex-basis:100%}.directory-following-link{flex-shrink:1;white-space:normal}.directory-filter-panel .topic-select,.directory-order-field{width:100%;max-width:100%}}
