.community-page{background:#fff;color:#1e1c19}.community-shell{max-width:1180px;margin:auto;padding:0 24px}.community-hero{padding:48px 24px 22px;text-align:center;background:#fff}.community-eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8a8275}.community-hero h1{font:700 clamp(30px,3.6vw,42px)/1.08 var(--font-sans);letter-spacing:-.02em;margin:10px 0 12px;color:#1e1c19}.community-lede{max-width:760px;margin:0 auto;color:#6b6459;font-size:16px;line-height:1.65}.community-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:0;background:#faf8f4;border:1px solid #E9E2D6;clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,0 100%)}.community-stat{padding:22px 24px;border-right:1px solid #E9E2D6}.community-stat:last-child{border:0}.community-stat span{display:block;color:#8a8275;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.community-stat strong{display:block;margin-top:4px;color:#1e1c19;font-size:26px}.community-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.65fr);gap:24px;padding-bottom:72px}.community-grid>aside{position:relative}.community-grid>aside .community-card{position:sticky;top:94px}.community-card{overflow:hidden;padding:24px;background:#fff;border:1px solid #E9E2D6;box-shadow:0 1px 2px #1e1c190d;clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,0 100%)}.community-card h2{margin:0 0 8px;color:#1e1c19;font-size:22px;line-height:1.25}.community-card>p{margin:0 0 18px;color:#6b6459;font-size:13px;line-height:1.55}.community-map{height:300px;margin:20px -24px -24px;overflow:hidden;border-top:1px solid #E9E2D6}.community-highlights{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0;padding:0;list-style:none}.community-highlights li{padding:6px 10px;background:#faf8f4;border:1px solid #E9E2D6;border-radius:999px;color:#4a4438;font-size:12px}.community-school{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:18px 0;border-top:1px solid #F0EBE0;animation:fadeUp .55s ease both;color:inherit}.community-school:first-of-type{border-top:0}.community-school-name{color:#1e1c19;font-size:15px;font-weight:700;text-decoration:none}.community-school-name:hover,.community-school-website:hover{color:#0f766e}.community-school-meta{margin-top:5px;color:#6b6459;font-size:12px}.community-school-website{display:inline-block;margin-top:7px;color:#0f766e;font-size:12px;font-weight:700;text-decoration:none}.community-school-distance{color:#0f766e;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.community-school-location{display:block;margin-top:5px;padding:3px 7px;background:#ccfbf1;border-radius:999px;color:#0f766e;font-size:10px;font-weight:700;white-space:nowrap}.community-actions{display:grid;gap:10px;margin-top:22px}.community-action{display:flex;justify-content:center;padding:12px 15px;background:var(--brand-grad);background-size:200% auto;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);color:#fff;font-size:13px;font-weight:700;text-align:center;text-decoration:none;transition:background-position .4s ease}.community-action:hover{background-position:100% 50%}.community-action.secondary{background:#fff;border:1px solid #D6CDBE;color:#1e1c19}.community-centre-icon{background:transparent;border:0}.community-centre-pin{position:relative;display:grid;width:34px;height:34px;place-items:center;background:var(--brand-grad);border:3px solid #fff;border-radius:50%;box-shadow:0 8px 18px #1e1c1938;color:#fff;font:700 8px/1 var(--font-mono)}.community-centre-pin:before,.community-centre-pin:after{content:"";position:absolute;inset:-7px;border:2px solid #7c3aed;border-radius:50%;animation:pulseRing 2.4s ease-out infinite}.community-centre-pin:after{animation-delay:1.2s}.community-school-marker{background:#0d9488;border:2px solid #fff;border-radius:50%;box-shadow:0 4px 10px #1e1c1933}@media(max-width:800px){.community-shell{padding:0 18px}.community-grid{grid-template-columns:1fr}.community-grid>aside .community-card{position:static}.community-map{height:280px}.community-stats{grid-template-columns:1fr}.community-stat{border-right:0;border-bottom:1px solid #E9E2D6}.community-stat:last-child{border-bottom:0}}@media(prefers-reduced-motion:reduce){.community-school,.community-centre-pin:before,.community-centre-pin:after{animation:none}}.community-map-heading{display:flex;align-items:center;gap:16px;margin-bottom:8px}.community-map-heading h2{margin:2px 0 0}.community-map-diamond{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;background:var(--brand-grad);transform:rotate(45deg)}.community-map-diamond span{color:#fff;font:700 18px/1 var(--font-mono);transform:rotate(-45deg)}.community-map-card{padding-bottom:0}.community-map-card>p{margin-bottom:0}.community-map-card .community-map{position:relative;margin-bottom:0}.community-map-card .community-map:before{content:"HERE";position:absolute;z-index:999;top:50%;left:50%;display:grid;width:34px;height:34px;place-items:center;background:var(--brand-grad);border:3px solid #fff;border-radius:50%;box-shadow:0 8px 18px #1e1c1938;color:#fff;font:700 8px/1 var(--font-mono);transform:translate(-50%,-50%);pointer-events:none}.community-map-card .community-map:after{content:"";position:absolute;z-index:998;top:calc(50% - 20px);left:calc(50% - 20px);width:40px;height:40px;border:2px solid #7c3aed;border-radius:50%;animation:pulseRing 2.4s ease-out infinite;pointer-events:none}.community-map-google{display:block;margin:0 -24px;padding:13px 24px;background:#faf8f4;border-top:1px solid #E9E2D6;color:#0f766e;font-size:12px;font-weight:700;text-align:right;text-decoration:none}.community-map-google:hover{color:#6d28d9}@media(prefers-reduced-motion:reduce){.community-map-card .community-map:after{animation:none}}.community-map{background:#f4efe6}.community-map .leaflet-tile-pane{filter:sepia(.18) saturate(.55) contrast(.9) brightness(1.04)}.community-map-card .community-map:before{background:#0f4a46}.community-map-card .community-map:after{border-color:#0f766e;opacity:.55}.community-map-google{text-decoration:underline;text-underline-offset:3px}
