:root{
  --ink: var(--wp--preset--color--ink);
  --cream: var(--wp--preset--color--cream);
  --sage: var(--wp--preset--color--sage);
  --moss: var(--wp--preset--color--moss);
  --wheat: var(--wp--preset--color--wheat);
}
.wp-site-blocks{scroll-behavior:smooth}
.container{max-width:var(--wp--style--layout--content-size);margin-inline:auto;padding-inline:1rem}
.btn{display:inline-block;padding:.75rem 1rem;border-radius:.75rem;background:var(--sage);color:#fff;text-decoration:none;border:1px solid rgba(0,0,0,.05)}
.btn:is(:hover,:focus){filter:brightness(.95)}
.card{background:#fff;border-radius:1rem;border:1px solid #e5e7eb;box-shadow:0 1px 2px rgba(0,0,0,.04);padding:1rem}
/* Residents scroller */
.residents-scroller-wrap{position:relative}
.res-scroll-controls{position:absolute; inset-block-start:-2.2rem; inset-inline-end:0; display:flex; gap:.5rem; z-index:2}
.res-scroll-btn{appearance:none; border:1px solid #d1d5db; background:#fff; border-radius:.6rem; padding:.35rem .6rem; cursor:pointer}
.res-scroll{display:grid; grid-auto-flow:column; grid-auto-columns: clamp(220px, 28vw, 300px); gap:1rem; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; padding: .5rem 0 0; scrollbar-width:none}
.res-scroll::-webkit-scrollbar{display:none}
.res-card{display:block; background:#fff; border:1px solid #e5e7eb; border-radius:1rem; overflow:hidden; text-decoration:none; color:inherit; scroll-snap-align:start; box-shadow:0 1px 2px rgba(0,0,0,.05)}
.res-photo{margin:0; position:relative; aspect-ratio: 4 / 5; background:#f3f4f6}
.res-photo img{width:100%; height:100%; object-fit:cover; display:block}
.res-pill{position:absolute; inset: .5rem .5rem auto auto; background: var(--sage); color:#fff; font-size:.75rem; padding:.2rem .5rem; border-radius:999px}
.res-meta{padding:.65rem .8rem}
.res-name{margin:0 0 .25rem 0; font-size:1rem; line-height:1.2}
.res-blurb{margin:0; font-size:.9rem; color:#475569}
.footer{padding:2rem 0;border-top:1px solid #e5e7eb}
.support-cta{background:var(--moss); color:#fff; padding:3rem 0}
.support-cta .btn{background:#fff; color:var(--ink)}
.newsletter{background:var(--wheat); padding:2rem 1rem; border-radius:1rem}