.councillor-directory{padding-top:24px}.councillor-directory [data-member-status]{margin:22px 0;color:#536a79}.councillor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.councillor-card{background:#fff;border:1px solid #e5e9eb;border-radius:20px;padding:24px;box-shadow:0 5px 20px #173c4807;display:flex;flex-direction:column;scroll-margin-top:130px}.councillor-card--leader{border-top:4px solid #ed7740;background:linear-gradient(145deg,#fff5e9,#fff 60%)}.councillor-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;color:#546b77;margin-bottom:22px}.councillor-ward{border:0;border-radius:24px;background:#fff0e5;color:#ab481d;padding:8px 12px;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}.councillor-ward svg{vertical-align:middle}.councillor-identity{display:flex;align-items:center;gap:16px;margin-bottom:18px}.councillor-photo{width:96px;height:112px;object-fit:cover;object-position:top;border-radius:14px;flex-shrink:0}.councillor-photo--empty{display:grid;place-items:center;background:#edf4f3;color:#607e81}.councillor-identity h2{font-size:22px;line-height:1.5;margin:0;overflow-wrap:anywhere}.councillor-identity small{display:block;font-size:15px;color:#536a79;font-weight:500}.councillor-address{display:flex;gap:9px;font-size:14px;color:#536a79;line-height:1.7;margin:0 0 14px}.councillor-address svg{flex-shrink:0;margin-top:4px}.councillor-phone{display:flex;gap:9px;align-items:center;font-weight:700;margin:auto 0 18px}.councillor-actions{display:flex;gap:10px}.councillor-actions a{flex:1;justify-content:center;text-align:center;padding:10px 12px;min-width:0}.councillor-areas-link{background:none;border:0;font:inherit;color:#23646b;text-align:left;padding:18px 0 0;cursor:pointer;font-size:14px}.councillor-dialog{width:min(720px,calc(100% - 32px));max-height:80vh;border:1px solid #e4e9e9;border-radius:24px;padding:28px;color:#16313d;background:#fffaf5}.councillor-dialog::backdrop{background:#0e2839a6}.councillor-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.councillor-dialog-head h2{margin:0;font-size:28px}.councillor-dialog-head button{font-size:28px;border:0;border-radius:50%;width:44px;height:44px;background:#ffeddf;cursor:pointer}.councillor-dialog ul{padding:0;list-style:none}.councillor-dialog li{padding:14px 0;border-bottom:1px solid #e6e7e5}.councillor-dialog li span{display:block;color:#536a79;font-size:14px;margin-top:4px}.councillor-card[hidden]{display:none}.councillor-card:target{outline:3px solid #ed7740;outline-offset:3px}@media(max-width:1100px){.councillor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.councillor-grid{grid-template-columns:1fr;gap:18px}.councillor-card{padding:20px}.councillor-dialog{padding:20px}.councillor-identity h2{font-size:21px}}

/* Compact profiles; city leadership occupies its own first row. */
.councillor-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.councillor-card{grid-column:span 2;padding:18px;border-radius:16px}.councillor-card--leader{grid-column:span 3}.councillor-card-top{margin-bottom:12px;justify-content:flex-end}.councillor-card--leader .councillor-card-top{justify-content:space-between}.councillor-identity{gap:12px;margin-bottom:12px}.councillor-photo{width:76px;height:88px}.councillor-identity h2{font-size:20px}.councillor-identity small{font-size:14px}.councillor-address{margin-bottom:10px}.councillor-phone{margin-bottom:12px}.councillor-areas-link{padding-top:12px}.councillor-dialog{position:fixed;inset:0;margin:auto}.councillor-directory [data-member-status]{margin:0}@media(max-width:1100px){.councillor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.councillor-card,.councillor-card--leader{grid-column:span 1}}@media(max-width:640px){.councillor-grid{grid-template-columns:1fr}.councillor-card{padding:18px}}
.councillor-directory .browse-search{margin-bottom:24px}@media(max-width:640px){.councillor-dialog-head h2{font-size:22px}.councillor-dialog-head button{flex-shrink:0}}

/* Ward title doubles as the area-list trigger. */
.councillor-card{padding:14px;gap:0}.councillor-title-row{display:flex;align-items:center;gap:8px;width:100%;border:0;border-bottom:1px solid #e9eceb;background:transparent;padding:0 0 10px;margin:0 0 12px;text-align:left;font:inherit;color:#173c48;cursor:pointer;min-height:36px}.councillor-title-row strong{font-size:16px}.councillor-title-row span{font-size:12px;color:#516d75}.councillor-title-row svg{margin-left:auto;flex-shrink:0}.councillor-title-row:hover{color:#c65726;background:#fff8f0}.councillor-title-row:focus-visible{outline:2px solid #ed7740;outline-offset:3px}.councillor-role{font-size:13px;font-weight:700;color:#b55527;margin:0 0 8px}.councillor-photo{width:58px;height:68px;border-radius:10px}.councillor-identity{margin-bottom:8px;gap:10px}.councillor-identity h2{font-size:18px;line-height:1.4}.councillor-identity small{font-size:13px;margin-top:3px}.councillor-address{font-size:13px;line-height:1.5;margin-bottom:8px}.councillor-phone{font-size:14px;margin:0 0 10px}.councillor-actions{margin-top:auto;gap:8px}.councillor-actions a{display:flex;align-items:center;gap:7px;padding:8px 10px;min-height:36px;font-size:13px;line-height:1.4}.councillor-actions svg{flex-shrink:0}.councillor-actions .btn-outline{color:#21734b;background:#f2faf5;border-color:#cfe4d6}@media(max-width:640px){.councillor-card{padding:14px}.councillor-identity h2{font-size:18px}}

/* Pastel ward headers and compact civic office stamps. */
.councillor-title-row{background:#edf5f2;border:0;border-radius:9px;padding:9px 10px;transition:background-color .18s ease,color .18s ease}.councillor-title-row:hover,.councillor-title-row:focus-visible{background:#d2e9df;color:#174a3d}.councillor-title-row:hover span{color:inherit}.councillor-card--leader .councillor-title-row{background:#ffeadb}.councillor-card--leader .councillor-title-row:hover,.councillor-card--leader .councillor-title-row:focus-visible{background:#f8cfaf;color:#7b391a}.councillor-card--leader .councillor-identity{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:10px}.councillor-stamp{display:block;max-width:116px;padding:9px 10px;border:3px double #b86b42;border-radius:7px;color:#98502c;background:#fff3e7;text-align:center;font-size:12px;line-height:1.6;font-weight:750;transform:rotate(-5deg)}@media(max-width:640px){.councillor-stamp{max-width:88px;font-size:11px;padding:6px}.councillor-card--leader .councillor-identity{gap:8px}}@media(prefers-reduced-motion:reduce){.councillor-title-row{transition:none}}
