/* One Cambridge preview page and homepage card. */
.direction-civic .priority-cta { align-self: flex-start; margin-top: auto; min-height: 48px; white-space: normal; text-align: center; }
.direction-civic .principles article { min-width: 0; }
.direction-civic .principles article > .priority-cta { margin-top: var(--space-md); }
@media (min-width: 40rem) {
  .direction-civic .principles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-xl); }
  .direction-civic .principles article { display: flex; flex-direction: column; }
  .direction-civic .principles h3, .direction-civic .principles .lead { min-height: 0; }
}
@media (min-width: 64rem) {
  .direction-civic .principles { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-2xl); }
  .direction-civic .principles article { display: flex; grid-row: auto; }
  .direction-civic .principles ul { grid-row: auto; }
}
.one-cambridge-hero { display: grid; gap: var(--space-xl); align-items: start; }
.gateway-concept { margin: 0; min-width: 0; background: var(--color-paper); color: var(--color-ink); border-top: 5px solid var(--color-accent); }
.gateway-concept img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.gateway-concept figcaption { padding: .75rem 1rem; font-size: var(--text-sm); }
.community-quote, .regional-quote { max-width: 52rem; margin-top: var(--space-xl); padding: var(--space-lg); border-left: 5px solid var(--color-accent); background: var(--color-paper-2); font-family: var(--font-display); font-size: clamp(1.5rem, 3vw, 2.125rem); line-height: 1.28; }
.community-quote footer, .regional-quote footer { margin-top: var(--space-sm); font: 500 var(--text-sm)/1.5 var(--font-body); }
.one-cambridge-links { display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-md); margin-top: var(--space-lg); }
.three-towers-list, .councillor-grid ul, .safeguards-list { max-width: 48rem; }
.proposal-note { max-width: 48rem; margin-top: var(--space-lg); padding: var(--space-md); border: 1px solid var(--color-rule); background: var(--color-paper-2); font-weight: 600; }
.councillor-grid { display: grid; gap: var(--space-xl); margin-top: var(--space-lg); }
.councillor-grid article { border-top: 5px solid var(--color-ink); padding-top: var(--space-md); }
@media (min-width: 64rem) {
  .one-cambridge-hero { grid-template-columns: minmax(0, .95fr) minmax(28rem, 1.05fr); align-items: center; }
  .councillor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
