.directory-search[hidden],.directory-search [hidden]{display:none!important}
.directory-search{padding:clamp(20px,3vw,34px);margin:22px 0 28px;border-radius:28px}
.directory-heading{display:flex;align-items:center;gap:32px;margin-bottom:26px}
.directory-heading h1{order:2;flex:1;font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.7;margin:0}
.directory-progress{flex:2;display:flex;list-style:none;padding:0;margin:0}
.directory-progress li{position:relative;flex:1;display:grid;justify-items:center;gap:8px;color:#597283;font-size:.9rem;text-align:center}
.directory-progress li:not(:last-child)::after{content:"";position:absolute;right:calc(50% + 27px);left:calc(-50% + 27px);top:21px;height:1px;background:#9dc9dc}
.step-index{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;border:1px solid #a6d4e9;background:#ffffffa8;font-size:1.1rem;color:#237ea6}
.directory-progress [aria-current="step"]{color:#0874af;font-weight:700}
.directory-progress [aria-current="step"] .step-index{background:#087fb8;color:white;border-color:#087fb8;box-shadow:0 0 0 4px #ffffffb5}
.directory-progress .is-complete .step-index{color:#087fb8;border-color:#087fb8}
.finder-panel h2{font-size:1.05rem;margin:20px 0 8px}.finder-panel>h2:first-child{margin-top:0}
.finder-filter{display:flex;align-items:stretch;gap:12px;padding:15px;border:1px solid #fff;border-radius:22px;background:#ffffff40}
.finder-filter .search-field{min-width:0;flex:1;flex-direction:row-reverse;background:#ffffffad;min-height:54px}
.finder-filter input{width:100%;min-width:0;text-align:right}
.finder-filter .search-field:focus-within{outline:2px solid #096bba;outline-offset:3px}
.finder-filter .search-field>input:focus,.finder-filter .search-field>input:focus-visible{outline:none}
.location-selection{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:190px;padding:12px 16px;border:1px solid #9cd7f3;border-radius:17px;background:#ffffffad;color:#244a61;font:inherit;cursor:pointer}
.location-selection>.icon{color:#1688be;flex-shrink:0}.location-selection>span:last-child{font-size:1.2rem;color:#1688be}
.location-selection:hover{background:#fff}.location-selection:focus-visible{outline:2px solid #096bba;outline-offset:3px}
.location-status{font-size:.85rem;color:#597283;margin:12px 2px;min-height:22px}
.location-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-height:280px;overflow-y:auto;padding:5px 4px 12px;scrollbar-width:thin;scrollbar-color:#9fc8da transparent}
.location-option{display:flex;align-items:center;gap:14px;min-width:0;min-height:74px;text-align:right;font:inherit;font-weight:600;cursor:pointer;color:#153f59;background:#ffffffa8;border:1px solid #fff;border-radius:19px;padding:14px 16px}
.location-pin{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:50%;background:#dff2fc;color:#1481b7}
.location-option-name{flex:1;overflow-wrap:anywhere}.location-arrow{font-size:1.7rem;font-weight:400;color:#1481b7}
.location-option:hover{background:#f5fcff;border-color:#87cbe9}.location-option:focus-visible{outline:2px solid #167bab;outline-offset:2px}
[data-directory-status]{margin:18px 2px 0;color:#37637b}
.directory-search .directory-section{padding:16px;margin:16px 0 0;border-radius:22px;box-shadow:none;background:#ffffff35;backdrop-filter:none;-webkit-backdrop-filter:none}
.directory-section h2{font-size:1.05rem;margin:0 0 12px}.directory-table{min-width:0}.directory-table td,.directory-table th{padding:14px 18px}
.directory-search .pagination{flex-wrap:wrap}
/* Opacity only: no animated blur, geometry, shadows or per-card effects. */
.directory-stage{min-height:280px}
.directory-stage.is-leaving{animation:directory-fade-out 100ms ease-in both;pointer-events:none}
.directory-stage.is-entering,#directory-results.is-entering{animation:directory-fade-in 140ms ease-out both}
@keyframes directory-fade-out{from{opacity:1}to{opacity:0}}
@keyframes directory-fade-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.directory-stage.is-leaving,.directory-stage.is-entering,#directory-results.is-entering{animation:none}}
@media(max-width:900px){.directory-heading{flex-direction:column;align-items:stretch;gap:20px}.directory-heading h1{order:0;text-align:center}.location-selection{min-width:160px}.finder-filter{flex-wrap:wrap}.finder-filter .search-field{flex-basis:250px}}
@media(max-width:640px){
.directory-search{padding:20px 14px;margin-top:16px}.directory-heading{margin-bottom:20px}.directory-progress li{font-size:.78rem}.step-index{width:36px;height:36px}.directory-progress li:not(:last-child)::after{top:18px}
.finder-filter{padding:12px;gap:10px}.finder-filter .search-field{flex-basis:100%}.location-selection{min-width:0;flex:1;padding:10px;font-size:.9rem}.location-selection>.icon{width:18px}
.location-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:380px}.location-option{padding:10px;gap:8px;font-size:.9rem;min-height:68px}.location-pin{width:30px;height:30px}.location-pin .icon{width:18px}.location-arrow{font-size:1.3rem}
.directory-search .directory-section{padding:10px}.directory-table{display:block}.directory-table tbody{display:block}
.directory-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.directory-table tbody tr{display:block;padding:12px;margin-bottom:12px;background:#ffffff70;border:1px solid white;border-radius:18px}
.directory-table td,.directory-table td:first-child,.directory-table td:last-child{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;padding:8px 0;border:0;border-radius:0;background:none;min-width:0}
.directory-table td[data-label]::before{content:attr(data-label);color:#597283;font-size:.85rem}
.directory-table td.empty{display:block}.directory-table td bdi{justify-self:start}
}
