/* Seitenbezogener Entwurf: offene Ratsübersicht ohne Kartenflächen. */
.council-page :is(.local-hero h1,.local-section-heading h2) {
  font-family: 'IBM Plex Serif', Georgia, serif;
  font-weight: 400;
}
.council-page .local-facts {
  max-width: 660px;
  margin-top: 32px;
  padding: 24px 0 0;
  border: 0;
  border-top: 1px solid #38515f;
  background: transparent;
  color: #dce8eb;
}
.council-page .local-facts strong { color: white; font-size: 22px; }
.council-page .local-facts p { color: #c4d1d7; margin-bottom: 0; }
.council-page .council-overview { padding-block: 88px; }
.council-page .local-section-heading { gap: 48px; margin-bottom: 40px; }
.council-page .local-section-heading h2 { font-size: clamp(40px,4.7vw,64px); line-height: 1.03; }
.council-page .council-grid { gap: 0 56px; }
.council-page .council-card {
  min-height: 0;
  padding: 30px 0 40px;
  gap: 24px;
  border: 0;
  border-top: 1px solid #c5d1cf;
  background: transparent;
}
.council-page .council-card-featured {
  display: grid;
  grid-template-columns: minmax(0,1.3fr) minmax(0,1fr);
  gap: 56px;
  align-items: start;
}
.council-page .council-level { font-weight: 600; font-size: 11px; }
.council-page .council-card h3 { margin: 14px 0 14px; font-size: 32px; line-height: 1.15; }
.council-page .council-card p { max-width: 620px; }
.council-page .council-card-footer { padding: 0; border: 0; gap: 16px 24px; }
.council-page .council-card-featured .council-card-footer { align-self: end; }
.council-page .council-status { padding: 0; background: transparent; font-weight: 500; font-size: 11px; line-height: 1.6; }
.council-page .council-card-special .council-status { background: transparent; color: #785100; }
.council-page .council-card-footer a { font-weight: 500; color: #00777c; line-height: 1.6; }
.council-page .council-card-footer a:hover { color: #071f33; text-decoration: underline; text-underline-offset: 4px; }
.council-page a:focus-visible { outline: 2px solid #ffa600; outline-offset: 5px; }
.council-page .source-note { margin: 0; padding: 24px 0; border: 0; border-top: 1px solid #c5d1cf; background: transparent; line-height: 1.7; }
@media (max-width: 980px) {
  .council-page .council-grid { gap: 0 32px; }
  .council-page .council-card-featured { gap: 32px; }
}
@media (max-width: 720px) {
  .council-page .council-overview { padding-block: 60px; }
  .council-page .local-section-heading { gap: 24px; margin-bottom: 32px; }
  .council-page .local-section-heading h2 { font-size: 36px; line-height: 1.1; hyphens: none; }
  .council-page .council-grid { grid-template-columns: 1fr; }
  .council-page .council-card { padding: 26px 0 32px; }
  .council-page .council-card-featured { display: flex; gap: 24px; }
  .council-page .council-card-featured .council-card-footer { align-self: stretch; }
  .council-page .council-card h3 { font-size: 28px; overflow-wrap: anywhere; hyphens: auto; }
}
