:root { --navy:#102c4c; --deep:#091e36; --gold:#c29b53; --paper:#f5f2eb; --ink:#202c32; --teal:#215d58; --muted:#64716e; --line:#d9ddd4; }
* { box-sizing:border-box; } body { margin:0; background:var(--paper); color:var(--ink); font-family:"Source Sans 3",sans-serif; line-height:1.5; } button,input,select { font:inherit; } button,select { cursor:pointer; } a { color:inherit; text-underline-offset:4px; } button,a,input,select,summary { -webkit-tap-highlight-color:transparent; } :focus-visible { outline:3px solid #a47a30; outline-offset:4px; } [hidden] { display:none!important; } .skip-link { position:fixed; top:-80px; left:15px; background:white; padding:15px; z-index:20; }.skip-link:focus { top:10px; }
.directory-header { max-width:1440px; margin:auto; padding:25px clamp(22px,5vw,72px); display:flex; justify-content:space-between; align-items:center; gap:24px; }.directory-brand { display:flex; align-items:center; gap:13px; text-decoration:none; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; line-height:1.45; color:var(--navy); }.directory-monogram { font:35px Georgia,serif; letter-spacing:-.1em; padding-right:12px; border-right:1px solid #b9b8a9; }.directory-header nav { display:flex; gap:29px; font-size:13px; }.directory-header nav a { text-decoration:none; padding:12px 0; }.directory-header nav a[aria-current] { color:var(--teal); border-bottom:2px solid var(--teal); font-weight:700; }
main { max-width:1440px; margin:auto; padding:0 clamp(22px,5vw,72px); }.directory-hero { border-top:1px solid var(--line); display:grid; grid-template-columns:1.05fr 1fr; gap:20px 70px; padding:52px 0 32px; }.eyebrow { color:var(--teal); font-size:11px; text-transform:uppercase; letter-spacing:.18em; font-weight:700; margin:0 0 17px; } h1 { font:400 clamp(38px,4.5vw,65px)/1.16 Georgia,serif; color:var(--navy); letter-spacing:-.035em; margin:0; } h1 em { color:var(--teal); font-weight:400; }.hero-intro { align-self:center; padding-top:15px; max-width:490px; }.hero-intro>p { font-size:18px; line-height:1.7; margin:0 0 18px; }.hero-intro .hero-note { color:var(--teal); font-size:12px; font-weight:600; letter-spacing:.02em; }.directory-steps { grid-column:1/-1; display:flex; list-style:none; gap:35px; margin:18px 0 0; padding:0; font-size:12px; color:var(--muted); }.directory-steps li { display:flex; align-items:center; gap:10px; }.directory-steps span { color:var(--teal); font-size:10px; font-weight:700; }.directory-steps li+li::before { content:""; height:1px; width:45px; background:#bdc9c0; margin-right:15px; }
.directory-search-panel { background:var(--deep); color:#fff; padding:27px 32px 21px; margin:0 0 46px; }.directory-search-panel>label { display:block; font-size:13px; font-weight:600; letter-spacing:.02em; margin-bottom:10px; }.search-field { background:#fff; color:var(--ink); display:flex; align-items:center; min-height:57px; border:1px solid #e7e5dc; }.search-field>span { font:30px Georgia,serif; transform:rotate(-35deg); color:var(--teal); padding:0 18px; }.search-field input { border:0; background:none; min-width:0; flex:1; width:100%; font-size:16px; padding:15px 10px 15px 0; color:var(--ink); }.search-field input:focus { outline:none; }.search-field:focus-within { outline:3px solid var(--gold); outline-offset:3px; }.search-field button { border:0; background:none; color:var(--teal); width:48px; height:48px; font-size:26px; }.suggested-needs { display:flex; align-items:center; flex-wrap:wrap; gap:3px 19px; font-size:12px; padding-top:8px; }.suggested-needs>span { color:#b9c7cd; }.suggested-needs button { background:none; color:#f0e0be; border:0; border-bottom:1px solid #f0e0be50; padding:10px 0 6px; min-height:44px; }.suggested-needs button:hover { color:white; }
.directory-layout { display:grid; grid-template-columns:215px minmax(0,1fr); gap:42px; }.directory-sidebar summary { font-size:11px; letter-spacing:.14em; font-weight:700; text-transform:uppercase; color:var(--navy); list-style:none; padding:0 0 17px; cursor:pointer; }.directory-sidebar summary::-webkit-details-marker { display:none; }.directory-sidebar summary span { display:none; }#topic-filters { display:flex; flex-direction:column; gap:3px; }.topic-button { display:flex; justify-content:space-between; gap:12px; width:100%; min-height:44px; text-align:left; padding:11px 12px; background:transparent; border:0; color:#4d5e5c; font-size:13px; border-left:2px solid transparent; }.topic-button span { color:#617773; font-size:11px; }.topic-button:hover { background:#e9ede5; }.topic-button[aria-pressed="true"] { background:#e1e9df; color:#174c46; border-left-color:var(--teal); font-weight:700; }.sidebar-note { color:var(--muted); font-size:12px; line-height:1.7; padding-top:22px; margin:24px 10px 0; border-top:1px solid var(--line); }
.results-topline { display:flex; justify-content:space-between; align-items:center; gap:15px; }.results-topline .eyebrow { font-size:9px; margin-bottom:5px; } h2 { font:400 27px/1.3 Georgia,serif; color:var(--navy); margin:0; }.reset-button { border:0; background:none; color:var(--teal); font-size:12px; text-decoration:underline; text-underline-offset:4px; min-height:44px; padding:8px 0; }.result-filters { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:25px; }.result-filters label { display:block; color:#52615c; font-size:11px; margin-bottom:7px; }.result-filters select { width:100%; background:transparent; color:var(--navy); border:1px solid #bcc7be; border-radius:0; padding:11px 13px; min-height:46px; font-size:13px; }.results-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--muted); font-size:11px; margin:16px 0 3px; }.results-meta p { margin:6px 0 12px; color:var(--navy); }.results-meta>span { font-size:10px; }.region-note { font-size:12px; color:var(--muted); margin:0 0 15px; }.organization-list { display:grid; grid-template-columns:1fr 1fr; column-gap:28px; }.organization-card { min-width:0; padding:25px 0 22px; border-top:1px solid #bdc8be; display:flex; flex-direction:column; }.organization-meta { display:flex; justify-content:space-between; gap:12px; color:#65716e; font-size:10px; margin-bottom:12px; }.organization-type { color:var(--teal); font-weight:700; text-transform:uppercase; letter-spacing:.07em; }.organization-type.is-assistance::before { content:""; display:inline-block; width:5px; height:5px; background:var(--teal); margin-right:6px; border-radius:50%; vertical-align:2px; }.organization-card h3 { color:var(--navy); font:400 23px/1.3 Georgia,serif; letter-spacing:-.02em; margin:0 0 11px; }.organization-card>p { color:#57655e; font-size:14px; line-height:1.6; margin:0 0 15px; }.organization-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:auto; margin-bottom:17px; }.organization-tags span { background:#e8ece3; color:#55675b; font-size:10px; padding:3px 7px; }.organization-links { display:flex; align-items:center; justify-content:space-between; gap:15px; border-top:1px solid #e0e3d9; padding-top:8px; }.organization-links a { display:inline-flex; align-items:center; gap:12px; min-height:44px; color:var(--navy); font-size:12px; font-weight:600; text-decoration:none; }.organization-links a:hover { text-decoration:underline; }.organization-links .help-link { color:var(--teal); }.show-more { display:block; margin:18px auto 25px; background:transparent; color:var(--teal); border:1px solid #7b9e8a; padding:13px 27px; min-height:48px; font-size:13px; }.show-more:hover { background:#e1e9df; }.directory-message { grid-column:1/-1; padding:50px 20px; text-align:center; border-top:1px solid var(--line); }.message-mark { font:40px Georgia,serif; color:var(--teal); }.directory-message h3 { font:25px Georgia,serif; color:var(--navy); }.directory-message p { color:var(--muted); font-size:14px; }.directory-message button { color:var(--teal); background:none; border:1px solid #8ba292; padding:10px 20px; min-height:44px; }
.connection-note { display:flex; gap:25px; align-items:center; border-top:1px solid #becbbf; margin:45px 0; padding:29px 0 0; }.connection-note>span { color:var(--teal); font:45px Georgia,serif; }.connection-note h2 { font-size:24px; }.connection-note p { color:var(--muted); font-size:14px; margin:10px 0 0; max-width:700px; }.directory-footer { background:var(--deep); color:#ccd3cf; padding:38px max(22px,calc((100vw - 1296px)/2)); display:grid; grid-template-columns:1fr 2fr auto; gap:35px; align-items:start; font-size:12px; }.footer-brand { font:22px Georgia,serif; color:#f0e7d7; text-decoration:none; }.directory-footer h2 { font:600 10px "Source Sans 3",sans-serif; color:#dcc496; text-transform:uppercase; letter-spacing:.1em; margin-bottom:10px; }.directory-footer p { line-height:1.7; margin:0; }.directory-footer>a:last-child { color:#dcc496; min-height:44px; padding-top:4px; }
@media(max-width:1000px) { .directory-layout { grid-template-columns:185px minmax(0,1fr); gap:28px; }.organization-list { column-gap:22px; }.directory-hero { gap:25px 35px; }.hero-intro>p { font-size:16px; }.directory-header nav { gap:18px; }.organization-card h3 { font-size:21px; }.directory-footer { padding:32px; } }
@media(max-width:760px) { .directory-header { flex-wrap:wrap; gap:15px; padding:20px 22px 0; }.directory-header nav { width:100%; justify-content:space-between; gap:12px; font-size:12px; }.directory-hero { grid-template-columns:1fr; padding:32px 0 25px; gap:15px; }h1 { font-size:45px; }.hero-intro { padding-top:0; max-width:100%; }.hero-intro>p { font-size:15px; margin-bottom:12px; }.directory-steps { margin:0; gap:15px; justify-content:space-between; font-size:10px; }.directory-steps li { gap:6px; }.directory-steps li+li::before { display:none; }.directory-search-panel { padding:21px 18px 16px; margin-bottom:25px; }.search-field>span { padding:0 11px; }.search-field input { font-size:16px; }.suggested-needs { gap:0 13px; font-size:11px; }.directory-layout { grid-template-columns:1fr; gap:28px; }.directory-sidebar summary { min-height:46px; display:flex; align-items:center; justify-content:space-between; padding:12px 0; border-block:1px solid var(--line); }.directory-sidebar summary span { display:block; font-size:20px; font-weight:400; }.directory-sidebar details[open] summary span { transform:rotate(45deg); }#topic-filters { display:grid; grid-template-columns:1fr 1fr; gap:3px; padding-top:8px; }.topic-button { font-size:12px; }.sidebar-note { margin:12px 0 0; padding:0; border:0; font-size:11px; }.result-filters { gap:12px; margin-top:20px; }.result-filters select { font-size:12px; padding:12px 8px; }.results-topline h2 { font-size:25px; }.organization-list { grid-template-columns:1fr; }.organization-card { padding:23px 0 15px; }.organization-card h3 { font-size:25px; }.organization-card>p { font-size:15px; }.organization-meta { font-size:11px; }.organization-tags span { font-size:11px; }.organization-links a { font-size:13px; }.connection-note { align-items:flex-start; margin:30px 0; gap:15px; }.connection-note h2 { font-size:22px; }.directory-footer { grid-template-columns:1fr; gap:25px; padding:30px 22px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; } }

.topic-button .topic-name { color:inherit; font-size:inherit; }.organization-card .organization-note { padding-left:10px; border-left:2px solid var(--gold); font-size:12px; color:#726344; }.unavailable-link { color:var(--muted); font-size:12px; }

.directory-header .community-navigation-account .account-link { color:var(--navy)!important; border-color:#83968b!important; background:transparent!important; }.directory-header .community-navigation-account .account-link:hover { background:#e1e9df!important; }
.directory-header .account-display-name { color:var(--navy); }

.reset-button { white-space:nowrap; flex-shrink:0; }
.directory-sidebar summary .topic-summary-copy { display:block; min-width:0; }
.topic-summary-copy small { display:none; }
@media(max-width:760px) {
 .directory-sidebar summary { gap:15px; }
 .directory-sidebar summary .topic-summary-copy { font-size:11px; font-weight:700; transform:none!important; }
 .topic-summary-copy small { display:block; color:var(--teal); font-size:12px; font-weight:400; line-height:1.5; letter-spacing:0; text-transform:none; margin-top:3px; overflow-wrap:anywhere; }
 .directory-sidebar summary .topic-summary-toggle { flex-shrink:0; }
}
