.city-directory{--dir-rule:rgba(255,175,203,.26);--dir-rose:#ffd2df;--dir-muted:#c9aeb8;padding:18px 0 56px}
.city-directory :is(h2,h3){text-wrap:pretty}
.dir-mast{position:relative;display:grid;grid-template-columns:minmax(0,1fr) clamp(168px,22vw,284px);gap:clamp(20px,5vw,78px);align-items:center;border-block:1px solid var(--dir-rule);background:linear-gradient(102deg,#1c1016,#2b1220 76%,#441323);overflow:hidden}
.dir-intro{padding:clamp(24px,3.4vw,44px) 0 clamp(24px,3.4vw,44px) clamp(18px,3.4vw,44px)}
.dir-mast h1{max-width:none;margin:.12em 0 .20em;font:normal clamp(44px,5.2vw,75px)/.99 var(--serif);letter-spacing:-.055em}
.dir-mast .eyebrow,.dir-section-title .eyebrow,.dir-inquiry .eyebrow{font:600 10px/1.6 system-ui,sans-serif;letter-spacing:.16em}
.dir-deck{color:var(--soft);max-width:57ch;font-size:clamp(16px,1.5vw,19px);line-height:1.52}
.dir-home-link,.dir-shortcuts a{color:var(--dir-rose);text-decoration:underline;text-underline-offset:4px}
.dir-home-link{display:inline-block;font:600 14px/1.5 system-ui,sans-serif;margin-top:16px}
.dir-home-link span{margin-left:4px}.city-directory svg{vertical-align:middle}.dir-shortcuts{justify-content:flex-start}
.dir-portrait{position:relative;align-self:stretch;min-height:200px;background:#71182e;overflow:hidden}
.dir-portrait img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.dir-portrait::after{content:'';position:absolute;inset:0;box-shadow:inset 13px 0 24px -18px #18090e;pointer-events:none}
.dir-finder{display:grid;grid-template-columns:minmax(155px,.36fr) minmax(0,1fr);align-items:center;gap:18px 32px;margin:27px 0 0}
.dir-search-label{display:grid;gap:1px}.dir-search-label label{font:normal clamp(25px,2.8vw,34px)/1.15 var(--serif);letter-spacing:-.035em}
.dir-search-label span,.dir-region-note,.dir-section-title>p,.dir-inquiry p:not(.eyebrow),.dir-results>div>p{color:var(--dir-muted)}
.dir-search-label span{font:13px/1.5 system-ui,sans-serif}
.dir-input{display:flex;align-items:center;gap:12px;min-height:56px;padding:0 16px;background:#1d1419;border:1px solid #855265;border-radius:4px}
.dir-input:focus-within{outline:2px solid var(--accent);outline-offset:2px}.dir-input svg{flex:none;color:var(--accent)}
.dir-input input{margin:0;border:0;padding:12px 0;min-width:0;flex:1;width:100%;background:transparent;color:var(--paper);font:16px/1.5 system-ui,sans-serif;outline:0}
.dir-input input:focus-visible{outline:0}.dir-input input::placeholder{color:#baa4ad;opacity:1}
.dir-input input::-webkit-search-cancel-button{display:none}.dir-clear{min-height:42px;background:transparent;color:var(--dir-rose);border:0;text-decoration:underline;font:600 14px/1 system-ui,sans-serif}
.dir-shortcuts{margin:14px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px}
.dir-shortcuts>span{color:var(--muted);font:600 10px/1.5 system-ui,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.dir-shortcuts a{display:inline-flex;align-items:center;min-height:35px;font-size:15px}
.dir-section-title{margin:30px 0 14px;display:flex;align-items:end;justify-content:space-between;gap:12px}
.dir-section-title h2,.dir-results h2,.dir-inquiry h2{font:normal clamp(30px,3.8vw,44px)/1.12 var(--serif);letter-spacing:-.045em;margin:3px 0 0}
.dir-section-title>p{font:14px/1.5 system-ui,sans-serif;margin-bottom:3px}
.dir-region{border-top:1px solid var(--dir-rule)}.dir-region:last-child{border-bottom:1px solid var(--dir-rule)}
.dir-region summary{list-style:none;cursor:pointer;display:grid;align-items:center;grid-template-columns:34px minmax(0,1fr) auto 32px;gap:15px;padding:19px 9px 19px 3px}
.dir-region summary::-webkit-details-marker{display:none}
.dir-region summary:hover,.dir-region[open]>summary{background:#22131a}
.dir-index{font:normal italic 19px/1 var(--serif);color:var(--accent);text-align:center}
.dir-region-titles{display:grid;gap:4px}
.dir-region-name{font:normal clamp(23px,2.7vw,32px)/1.13 var(--serif);letter-spacing:-.03em}
.dir-region-note{font:13px/1.4 system-ui,sans-serif}
.dir-count{color:var(--dir-muted);font:12px/1.3 system-ui,sans-serif;white-space:nowrap}
.dir-toggle{width:27px;height:27px;position:relative;border:1px solid #79505f;border-radius:50%;justify-self:end}
.dir-toggle:before,.dir-toggle:after{content:'';position:absolute;width:9px;height:1px;background:var(--dir-rose);left:8px;top:12px}
.dir-toggle:after{transform:rotate(90deg)}.dir-region[open] .dir-toggle:after{transform:rotate(0)}
.dir-groups{padding:0 12px 18px clamp(12px,3vw,44px)}
.dir-group{padding:15px 0 5px}.dir-group h3{color:var(--dir-rose);font:600 14px/1.5 system-ui,sans-serif;letter-spacing:0;margin:0 0 5px}
.dir-entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(18px,3.4vw,48px);list-style:none;padding:0;margin:0}
.dir-destination{position:relative;display:grid;gap:4px;align-content:center;padding:12px 21px 12px 0;min-height:62px;border-top:1px solid rgba(255,175,203,.16)}
.dir-entry-title{font:normal clamp(18px,1.55vw,22px)/1.2 var(--serif)}
.dir-entry-title abbr{font:600 10px/1.4 system-ui,sans-serif;text-decoration:none;letter-spacing:.05em;color:var(--dir-muted)}
.dir-badge{display:inline-block;vertical-align:middle;padding:2px 6px;margin:2px 0 2px 6px;border:1px solid #795163;border-radius:3px;color:var(--dir-rose);font:500 10px/1.45 system-ui,sans-serif}
.dir-entry-note,.dir-match-area{font:13px/1.4 system-ui,sans-serif;color:var(--dir-muted)}.dir-match-area{font-size:11px;color:var(--accent)}
.dir-go{position:absolute;right:0;top:13px;color:var(--accent);font-size:14px}
.dir-destination:hover .dir-entry-title{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.dir-results{margin:28px 0}.dir-results h2{font-size:27px;margin:0 0 15px}.dir-results .text-link{margin-top:12px}
.dir-inquiry{margin-top:36px;padding:22px clamp(16px,3vw,34px);display:flex;align-items:center;justify-content:space-between;gap:25px;background:#23141b;border-left:2px solid var(--accent)}
.dir-inquiry h2{font-size:30px}.dir-inquiry p:not(.eyebrow){font-size:16px;max-width:64ch;line-height:1.5;margin-top:6px}.dir-inquiry .text-link{flex:none;color:var(--dir-rose)}
@media(max-width:740px){.city-directory{padding-top:12px}.dir-mast{grid-template-columns:minmax(0,1fr) minmax(85px,23%);gap:10px}.dir-intro{padding:18px 0 18px 16px}.dir-mast h1{font-size:clamp(37px,6vw,48px)}.dir-portrait img{object-position:50% 25%}.dir-deck{font-size:16px}.dir-finder{grid-template-columns:1fr;gap:9px;margin-top:19px}.dir-search-label{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.dir-input{min-height:50px}.dir-section-title{display:block;margin:20px 0 12px}.dir-section-title>p{margin-top:5px}.dir-region summary{gap:9px;grid-template-columns:22px minmax(0,1fr) auto 26px;padding:15px 2px}.dir-index{font-size:16px}.dir-groups{padding:0 4px 16px 12px}.dir-entries{grid-template-columns:minmax(0,1fr)}.dir-inquiry{display:block}.dir-inquiry .text-link{margin-top:14px}}
@media(max-width:500px){.dir-mast{display:block}.dir-portrait{display:none}.dir-intro{padding:18px}.dir-home-link{margin-top:10px;font-size:13px}.dir-region summary{grid-template-columns:20px minmax(0,1fr) 25px}.dir-count{display:none}.dir-input{gap:8px;padding:0 12px}.dir-input input::placeholder{font-size:14px}.dir-shortcuts{column-gap:12px}.dir-region-note{font-size:12px}}
