:root { --i22-green:#376b5d; --i22-green-dark:#234b40; --i22-cream:#fbfaf6; --i22-pale:#eaf1ed; --i22-ink:#25332e; --i22-muted:#66746e; --i22-line:#dce5df; }
html { scroll-behavior:smooth; }
body { background:var(--i22-cream); color:var(--i22-ink); }
a { text-underline-offset:.18em; }
a:hover { color:var(--i22-green-dark); }
.wp-site-blocks { min-height:100vh; display:flex; flex-direction:column; }
.wp-site-blocks > main { flex:1; }
.i22-site-header { background:#fff; border-bottom:1px solid var(--i22-line); }
.i22-header-inner { max-width:1120px; margin:0 auto; padding:1.1rem 1.5rem; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.i22-brand { display:flex; flex-direction:column; color:var(--i22-green-dark); text-decoration:none; line-height:1.2; }
.i22-brand strong { font-size:1.1rem; }
.i22-brand span { font-size:.78rem; color:var(--i22-muted); }
.i22-nav .wp-block-navigation__container { gap:clamp(.7rem,2vw,1.5rem); }
.i22-nav a { text-decoration:none; }
.i22-content { width:min(100% - 2rem, 1120px); margin-inline:auto; }
.i22-hero { padding-block:clamp(2.5rem,7vw,5.5rem) 2.5rem; }
.i22-eyebrow { color:var(--i22-green); text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; font-weight:800; margin-bottom:.7rem; }
.i22-hero h1 { max-width:760px; font-size:clamp(2.3rem,5.3vw,4rem); letter-spacing:-.035em; margin:0 0 1rem; }
.i22-lead { max-width:720px; font-size:clamp(1.05rem,1.8vw,1.2rem); color:#53645c; }
.i22-hero-image img { width:100%; max-height:560px; object-fit:cover; border-radius:12px; }
.i22-actions { margin-top:1.5rem; gap:.75rem; }
.i22-button-secondary .wp-block-button__link { background:transparent; color:var(--i22-green-dark); border:1px solid #9ab7aa; }
.i22-section { padding-block:2.5rem 3.5rem; }
.i22-section h2, .i22-residents h2 { font-size:clamp(1.6rem,3vw,2.1rem); margin-bottom:1.4rem; }
.i22-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
.i22-card { height:100%; background:#fff; border:1px solid var(--i22-line); border-radius:16px; padding:1.5rem; box-shadow:0 4px 18px rgba(35,75,64,.04); }
.i22-card h3 { margin:.4rem 0 .65rem; font-size:1.15rem; }
.i22-card p { color:var(--i22-muted); }
.i22-card-icon { color:var(--i22-green); font-size:1.7rem; margin:0; }
.i22-residents { background:var(--i22-pale); border-radius:18px; padding:clamp(1.5rem,4vw,3rem); margin-block:1rem 4rem; }
.i22-residents p { max-width:820px; }
.i22-site-footer { background:var(--i22-green-dark); color:#fff; margin-top:3rem; }
.i22-footer-inner { width:min(100% - 2rem,1120px); margin-inline:auto; padding:2.5rem 0 1.2rem; }
.i22-footer-inner a { color:#fff; }
.i22-footer-grid { display:grid; grid-template-columns:2fr 1fr; gap:2rem; }
.i22-footer-title { font-weight:800; margin-bottom:.5rem; }
.i22-footer-bottom { border-top:1px solid rgba(255,255,255,.25); margin-top:1.5rem; padding-top:1rem; font-size:.85rem; }
.i22-page { padding-block:3rem 4rem; }
.i22-page > h1 { font-size:clamp(2rem,4vw,3.25rem); }
.wp-block-post-content > * { max-width:760px; }
.wp-block-post-content > .alignwide { max-width:1120px; }
.wp-block-post-content > .alignfull { max-width:none; }
.wp-block-post-content img { border-radius:12px; }
.wp-block-query .wp-block-post { background:#fff; border:1px solid var(--i22-line); border-radius:14px; padding:1.25rem; }
@media (max-width:760px) {
 .i22-header-inner { align-items:flex-start; flex-direction:column; gap:1rem; }
 .i22-nav .wp-block-navigation__container { flex-wrap:wrap; }
 .i22-cards { grid-template-columns:1fr; }
 .i22-footer-grid { grid-template-columns:1fr; gap:1rem; }
 .i22-hero { padding-top:2.5rem; }
}
