.directory-page [hidden]{display:none!important}
.directory-header{gap:24px}
.directory-header nav{gap:24px;font-size:14px}
.directory-header [aria-current=page]{color:var(--blue);text-decoration:underline;text-underline-offset:6px}
.directory-email{color:var(--blue);font-size:14px;font-weight:700}
.skip-link{position:absolute;top:-100px;left:20px;background:#fff;color:var(--blue);padding:14px;z-index:1100}
.skip-link:focus{top:12px}
.directory-hero{padding:38px max(6vw,20px) 52px;background:linear-gradient(115deg,#e4f2fc,#f5fbff);border-bottom:1px solid var(--line)}
.back-link{display:inline-block;margin-bottom:34px;color:var(--muted);font-size:14px;padding:8px 0}
.directory-hero h1{font-size:clamp(48px,6vw,82px);line-height:1;letter-spacing:-.05em;margin:22px 0}
.directory-hero h1 em{font-style:normal;color:var(--blue)}
.directory-intro{max-width:700px;font-size:20px;line-height:1.65;color:var(--muted)}
.directory-review{font-size:13px;color:var(--muted);line-height:1.6;max-width:800px;margin-top:22px}
.directory-body{max-width:1360px;padding:32px max(4vw,20px) 72px;margin:auto}
.directory-jump{display:flex;flex-wrap:wrap;gap:12px 26px;margin:0 0 24px;font-size:15px}
.directory-jump a{padding:9px 0;color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.directory-tools{background:#fff;padding:26px;border:1px solid var(--line);border-top:3px solid var(--blue);margin-bottom:48px}
.directory-search-row{display:grid;grid-template-columns:1.25fr 1fr auto;gap:18px;align-items:end}
.directory-search-row>div{min-width:0}
.directory-search-row label{display:block;font-size:13px;font-weight:700;margin-bottom:9px}
.directory-search-row input,.directory-search-row select{border:1px solid #8eacc6;padding:13px 12px;min-height:48px;width:100%;min-width:0;max-width:100%;font:inherit;font-size:15px;background:#fff;color:var(--ink);border-radius:0}
.directory-search-row input::placeholder{color:#607489}
.directory-reset,.directory-empty button{font:inherit;border:1px solid var(--blue);background:#e4f2fc;color:var(--blue);padding:12px 18px;min-height:48px;cursor:pointer;font-weight:700}
.directory-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.directory-filters button{font:inherit;font-size:14px;line-height:1.4;border:1px solid #9ab8d2;background:#fff;color:var(--ink);padding:10px 14px;min-height:44px;cursor:pointer}
.directory-filters [aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}
#directory-count{color:var(--muted);font-size:13px;margin-top:18px}
.directory-group{margin-top:52px;scroll-margin-top:24px}
.directory-section-head{max-width:800px;margin-bottom:26px}
.directory-section-head h2{font-size:clamp(30px,4vw,44px);line-height:1.12;letter-spacing:-.035em;font-weight:700;margin:14px 0}
.directory-section-head>p:last-child{color:var(--muted);line-height:1.7;font-size:16px}
.directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.directory-card{min-width:0;background:#fff;border:1px solid var(--line);padding:26px;overflow-wrap:anywhere}
.directory-parent{grid-column:1/-1;border-top:3px solid var(--blue)}
.directory-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}
.directory-kind{font-size:11px;letter-spacing:.07em;color:var(--muted);text-transform:uppercase;line-height:1.6;font-weight:700}
.directory-code{font-size:13px;font-weight:800;color:var(--blue);background:#e4f2fc;padding:4px 8px;flex-shrink:0}
.directory-card h3{font-size:24px;font-weight:700;line-height:1.25;letter-spacing:-.02em;margin-bottom:12px}
.directory-description{font-size:15px;line-height:1.7;color:var(--muted);margin-bottom:20px}
.legacy-note{font-size:12px;color:#625436;background:#faf5e9;padding:10px 12px;line-height:1.6;margin:18px 0}
.contact-row{padding:14px 0;border-top:1px solid #e1ebf3}
.contact-label{display:block;color:var(--muted);font-size:12px;line-height:1.6;margin-bottom:6px;font-weight:700}
.contact-actions{display:flex;gap:12px;align-items:center;justify-content:space-between;min-width:0}
.contact-value{font-size:16px;font-weight:700;line-height:1.6;min-width:0;overflow-wrap:anywhere;color:var(--blue);text-decoration:underline;text-underline-offset:3px}
span.contact-value{text-decoration:none;color:var(--ink)}
.copy-button{flex-shrink:0;padding:8px 9px;font:inherit;font-size:11px;font-weight:700;min-height:44px;border:1px solid var(--line);background:#f0f7fc;color:var(--blue);cursor:pointer}
.copy-button:hover{border-color:var(--blue)}
.contact-sources{display:flex;gap:4px 12px;flex-wrap:wrap;font-size:11px;line-height:1.65;margin-top:6px;color:var(--muted)}
.contact-sources a{display:inline-flex;align-items:center;min-height:24px;text-decoration:underline;text-underline-offset:3px}
.photo-label{color:#625436}
.contact-note,.directory-caution{font-size:13px;line-height:1.7;color:#625436;margin-top:10px}
.directory-card details{margin-top:12px;border-top:1px solid var(--line)}
.directory-card summary{font-size:14px;font-weight:700;color:var(--blue);cursor:pointer;padding:16px 0 4px;min-height:44px}
.directory-details{padding-top:18px;font-size:14px;line-height:1.75}
.directory-details>p{margin-bottom:16px}
.directory-details h4{font-weight:700;font-size:15px;margin:20px 0 12px}
.source-list{padding-left:18px;list-style:disc}
.source-list li{margin:10px 0;color:var(--muted);font-size:12px;line-height:1.7}
.source-list a,.related-docs a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.source-list li span{display:block}
.source-review{font-size:12px;color:var(--muted);line-height:1.7;margin-top:16px}
.resource-card h3{font-size:20px;line-height:1.35}
.resource-card h3 a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.resource-date{font-size:11px;line-height:1.7;color:var(--muted);margin-top:16px}
.directory-empty{padding:40px 24px;text-align:center;border:1px solid var(--line);background:white}
.directory-empty h2{font-size:26px;font-weight:700;letter-spacing:normal}
.directory-empty p{color:var(--muted);margin:14px 0 22px}
.directory-method{margin-top:52px;border-left:3px solid #8abfdf;padding:4px 0 4px 22px;max-width:900px}
.directory-method h2{font-size:20px;font-weight:700;line-height:1.4;letter-spacing:normal;margin:0 0 12px}
.directory-method p{font-size:13px;line-height:1.8;color:var(--muted);margin:12px 0}
.directory-help{margin-top:40px;background:var(--deep);padding:30px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:28px}
.directory-help h2{font-size:26px;font-weight:700;letter-spacing:normal;line-height:1.3;margin:0 0 10px}
.directory-help p{color:#b9d1e8;font-size:15px;line-height:1.7}
.directory-help .btn{flex-shrink:0;line-height:1.5;padding:14px 22px;justify-content:center}
.directory-page a:focus-visible,.directory-page button:focus-visible,.directory-page input:focus-visible,.directory-page select:focus-visible,.directory-page summary:focus-visible{outline:3px solid #1266b5;outline-offset:4px}
.copy-status{position:fixed;bottom:20px;right:20px;background:var(--deep);color:#fff;font-size:14px;padding:0;z-index:900;max-width:calc(100% - 40px)}
.copy-status:not(:empty){padding:14px 20px}
.copy-fallback{position:fixed;z-index:1100;bottom:20px;left:20px;right:20px;max-width:620px;margin:auto;background:white;border:2px solid var(--blue);padding:22px;box-shadow:0 8px 30px #142d4e33}
.copy-fallback label{display:block;font-size:14px;line-height:1.6;margin-bottom:12px}
.copy-fallback input{width:100%;border:1px solid var(--line);padding:12px;font:inherit;color:var(--ink);margin-bottom:12px}
.copy-fallback button{padding:10px 16px;background:var(--blue);color:#fff;font:inherit;cursor:pointer;min-height:44px}
@media(max-width:1000px){.directory-header{height:auto;min-height:90px;flex-wrap:wrap;padding-block:20px}.directory-header nav{display:flex;order:3;flex-basis:100%;margin:0;flex-wrap:wrap;gap:10px 24px}.directory-email{margin-left:auto}.directory-search-row{grid-template-columns:1fr 1fr}.directory-reset{grid-column:1/-1;justify-self:start}.directory-help{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.directory-grid{grid-template-columns:1fr}.directory-card{padding:22px}.directory-parent{grid-column:auto}.directory-search-row{grid-template-columns:1fr}.directory-tools{padding:20px}.directory-hero{padding-top:24px}.directory-hero h1{font-size:52px}.directory-intro{font-size:17px}.directory-email{display:none}.directory-header nav{font-size:13px;gap:10px 18px}.directory-body{padding-top:22px}.directory-group{margin-top:40px}.directory-contact-actions{align-items:flex-start}.directory-help{padding:24px}.directory-help .btn{width:100%}}
@media(max-width:420px){.contact-actions{align-items:flex-start;flex-direction:column;gap:6px}.directory-card h3{font-size:22px}.directory-card-top{flex-wrap:wrap}.directory-hero h1{font-size:46px}.directory-filters button{font-size:13px;padding:10px}.directory-jump{gap:6px 18px}}
