.council-members-block{margin:3rem 0}.council-members-heading{font-size:2rem;color:var(--text-primary);margin:0 0 2rem;font-weight:700;text-align:center}.council-members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:2rem;gap:2rem;margin-top:2rem}.council-member-card{background:white;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.1);transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column}.council-member-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(0,0,0,.15)}.council-member-photo{width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--light-gray)}.council-member-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.council-member-info{padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;flex:1 1}.council-member-name{font-size:1.375rem;color:var(--text-primary);margin:0;font-weight:700;line-height:1.3}.council-member-title{font-size:1rem;color:var(--water-blue);margin:0;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.council-member-bio{font-size:.9375rem;color:var(--text-secondary);line-height:1.6;margin:.5rem 0 0}.council-member-contact{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.5rem}.council-contact-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--water-blue);text-decoration:none;font-size:.875rem;font-weight:500;padding:.375rem .75rem;border-radius:6px;background:rgba(56,126,209,.08);transition:all .2s ease}.council-contact-link:hover{background:rgba(56,126,209,.15);color:#1873cc}.council-contact-link svg{flex-shrink:0}.vision-statement-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--water-blue);color:white;text-decoration:none;border-radius:8px;font-weight:600;font-size:.9375rem;transition:all .3s ease;margin-top:auto;text-align:center}.vision-statement-button:hover{background:#1873cc;transform:translateY(-2px);box-shadow:0 4px 12px rgba(56,126,209,.3)}.vision-statement-button svg{flex-shrink:0}@media (max-width:768px){.council-members-grid{grid-template-columns:1fr;gap:1.5rem}.council-members-heading{font-size:1.75rem;margin-bottom:1.5rem}.council-member-name{font-size:1.25rem}.council-member-info{padding:1.25rem}}@media (min-width:769px) and (max-width:1024px){.council-members-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1025px){.council-members-grid{grid-template-columns:repeat(3,1fr)}}