/* The shared brokerage masthead and typography remain the site's foundation. */
.community-directory-intro{display:grid;grid-template-columns:1.05fr 1fr;gap:6vw;padding:55px 7vw 45px;align-items:center}
.community-directory-intro h1{font-size:clamp(42px,5.3vw,76px);line-height:1.08;margin:20px 0 26px;color:var(--navy)}
.community-directory-intro p:not(.kicker){font-size:18px;max-width:53ch;color:#454545}
.community-directory-intro figure{margin:0;min-width:0}.community-directory-intro img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.community-directory-intro figcaption{font-size:14px;line-height:1.6;color:#596673;padding-top:13px;max-width:50ch}
.community-region-links{display:flex;flex-wrap:wrap;gap:12px 32px;padding:25px 7vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--cream)}
.community-region-links a{font-size:16px;padding:8px 0;text-decoration:underline;text-underline-offset:6px;line-height:1.6}
.community-directory-help{margin:0;padding:25px 7vw 0;font-size:16px;color:#596673}
.community-region{padding:55px 7vw 65px;scroll-margin-top:24px}.community-region+.community-region{border-top:1px solid var(--line)}
.community-region>header{max-width:760px;margin-bottom:30px}.community-region h2{font-size:clamp(32px,3.7vw,48px);line-height:1.2;margin:0 0 18px;color:var(--navy)}
.community-region>header p{font-size:18px;color:#454545;max-width:65ch;margin:0}
.community-directory-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:5vw;align-items:start}.community-entry{border-top:1px solid var(--line);min-width:0;scroll-margin-top:24px}
.community-entry summary{position:relative;display:block;list-style:none;cursor:pointer;padding:25px 36px 25px 0}.community-entry summary::-webkit-details-marker{display:none}
.community-entry summary::after{content:'+';position:absolute;right:5px;top:28px;font:300 25px/1 var(--brand-sans);color:var(--navy)}.community-entry[open] summary::after{content:'−'}
.community-entry-name{display:block;font-family:var(--brand-serif);font-size:clamp(25px,2.4vw,33px);font-weight:400;line-height:1.25;color:var(--navy)}
.community-entry-location{display:block;font-size:14px;line-height:1.6;color:#596673;margin-top:8px}.community-entry-copy{padding:0 22px 28px 0}.community-entry-copy p{font-size:17px;margin:0 0 20px;max-width:59ch;color:#454545}
.community-entry-links{display:flex;flex-wrap:wrap;gap:12px 25px}.community-entry-links a{font-size:15px;line-height:1.7;text-decoration:underline;text-underline-offset:5px}
.community-entry summary:hover .community-entry-name{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.community-resources{margin:0;padding:25px 7vw 40px}.community-resources summary{font-size:15px;padding:10px 0;cursor:pointer}.community-resources p{font-size:15px;max-width:85ch}.community-resources a{text-decoration:underline;text-underline-offset:4px}
.communities-page a:focus-visible,.community-entry summary:focus-visible,.community-resources summary:focus-visible{outline:2px solid var(--navy);outline-offset:5px}
@media(max-width:850px){.community-directory-intro{grid-template-columns:1fr;gap:28px;padding:40px 7vw}.community-directory-intro h1{max-width:13ch}.community-directory-intro img{aspect-ratio:16/9}.community-region{padding:45px 7vw 50px}}
@media(max-width:600px){.community-directory-grid{grid-template-columns:1fr}.community-region-links{gap:6px 22px}.community-region-links a{font-size:15px}.community-directory-intro h1{font-size:clamp(38px,10vw,54px)}}
