:root{
  color-scheme:light;
  --lp-bg:#f2efe9;
  --lp-surface:#fffdf8;
  --lp-surface-soft:#ece9e2;
  --lp-ink:#292d2e;
  --lp-copy:#5f625f;
  --lp-muted:#85867f;
  --lp-blue:#444a4b;
  --lp-blue-deep:#292d2e;
  --lp-blue-light:#b7b2a8;
  --lp-border:#ddd8ce;
  --lp-red:#ad6654;
  --lp-radius:20px;
  --lp-shadow:0 16px 44px rgba(35,74,103,.07);
}

*{box-sizing:border-box}
html{background:var(--lp-bg);scroll-behavior:smooth}
body{margin:0;background:var(--lp-bg);color:var(--lp-ink);font-family:"Inter","Avenir Next","Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
.skip-link{position:fixed;left:16px;top:-60px;z-index:100;padding:10px 14px;border-radius:10px;background:var(--lp-ink);color:#fff}
.skip-link:focus{top:16px}

.community-page-shell{min-height:100vh;background:var(--lp-bg)}
.community-site-header{height:70px;display:flex;align-items:center;gap:28px;padding:0 max(28px,5vw);border-bottom:1px solid var(--lp-border);background:rgba(255,253,248,.92);backdrop-filter:blur(14px)}
.community-site-brand{font-size:15px;font-weight:760;text-decoration:none;letter-spacing:-.02em}
.community-site-header nav{display:flex;gap:25px;margin-left:auto}
.community-site-header nav a{color:var(--lp-copy);font-size:14px;text-decoration:none}
.community-site-header nav a:hover{color:var(--lp-blue)}
.community-site-action,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border:1px solid var(--lp-blue);border-radius:12px;background:var(--lp-blue);color:#fff;font-size:12px;font-weight:750;text-decoration:none;transition:background .18s ease,transform .18s ease}
.community-site-action:hover,.secondary-button:hover{background:var(--lp-blue-deep);transform:translateY(-1px)}
.community-site-action:focus-visible,.secondary-button:focus-visible,.chart-tabs button:focus-visible,.text-link:focus-visible{outline:3px solid rgba(47,111,159,.25);outline-offset:3px}
.community-site-footer{display:flex;justify-content:space-between;gap:20px;padding:28px max(28px,5vw);border-top:1px solid var(--lp-border);color:var(--lp-muted);font-size:12px}

.community-static{width:min(100%,1760px);margin:0 auto;padding:42px 24px 86px}
.community-overview{display:grid;grid-template-columns:minmax(360px,.82fr) minmax(520px,1.18fr);gap:42px;align-items:center}
.community-static-hero{padding:22px 0}
.hero-label,.module-label{margin:0;color:var(--lp-blue);font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.community-kicker{display:inline-flex;margin:24px 0 0;padding:7px 10px;border-radius:999px;background:var(--lp-surface-soft);color:var(--lp-blue);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.community-static-hero h1{margin:16px 0 22px;color:var(--lp-ink);font-size:clamp(56px,7vw,92px);font-weight:760;letter-spacing:-.065em;line-height:.94}
.community-static-hero>p:not(.hero-label):not(.community-kicker){max-width:580px;margin:0 0 24px;color:var(--lp-copy);font-size:17px;line-height:1.65}
.community-detail-actions{position:relative;display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.community-detail-actions>button{display:flex;align-items:center;gap:7px;min-height:42px;padding:0 12px;border:1px solid #cbdbe2;border-radius:9px;background:#f7fbfc;color:#477b92;font-size:16px;font-weight:800;cursor:pointer}.community-detail-actions>button:hover,.community-detail-actions>button.active{border-color:#5b91aa;background:#e6f2f6;color:#2f6f8b}.community-detail-actions>button.saved{border-color:#d69ba2;background:#f8e6e8;color:#b54e5a}.community-detail-actions .shared-share-panel{position:absolute;z-index:30;left:0;top:calc(100% + 8px);width:min(380px,calc(100vw - 36px))}

.community-map-island{position:relative;height:320px;overflow:hidden;border:1px solid var(--lp-border);border-radius:24px;background:#ebe8e1;box-shadow:var(--lp-shadow)}
.community-map-canvas{position:absolute!important;inset:0;height:100%;width:100%}
.community-boundary-overlay{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none;overflow:visible}
.community-boundary-overlay path{fill:rgba(173,102,84,.16);fill-rule:evenodd;stroke:#695f58;stroke-width:4;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.community-map-context{position:absolute;z-index:3;left:16px;top:16px;display:grid;gap:4px;min-width:175px;padding:13px 15px;border:1px solid rgba(215,227,234,.95);border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 10px 28px rgba(23,49,74,.11)}
.community-map-context span{color:var(--lp-blue);font-size:10px;font-weight:850;letter-spacing:.13em}
.community-map-context strong{font-size:17px;line-height:1.2}
.community-map-context small{color:var(--lp-muted);font-size:11px}
.community-location-marker{width:18px;height:18px;border:4px solid #fff;border-radius:50%;background:var(--lp-blue);box-shadow:0 2px 9px rgba(23,49,74,.32)}
.community-location-label{padding:5px 8px;border-radius:8px;background:var(--lp-ink);color:#fff;font-size:11px;font-weight:750;white-space:nowrap;box-shadow:0 5px 14px rgba(23,49,74,.2)}

.community-static-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
.community-static-kpis article{padding:22px 24px;border:1px solid var(--lp-border);border-radius:18px;background:var(--lp-surface);box-shadow:0 12px 30px rgba(40,52,57,.035)}
.community-static-kpis span,.community-static-kpis small{display:block;color:var(--lp-muted)}
.community-static-kpis span{font-size:13px;font-weight:650}
.community-static-kpis strong{display:block;margin:8px 0;color:var(--lp-ink);font-size:32px;font-weight:760;letter-spacing:-.035em}
.community-static-kpis em{margin-left:2px;color:var(--lp-muted);font-size:14px;font-style:normal}
.community-static-kpis small{font-size:12px;line-height:1.4}

.chart-suite{display:grid;gap:20px;margin-top:20px}
.profile-chart-grid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(340px,.78fr);align-items:start;gap:20px}
.secondary-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.chart-card,.community-module{border:1px solid var(--lp-border);border-radius:var(--lp-radius);background:var(--lp-surface);box-shadow:0 14px 36px rgba(40,52,57,.035)}
.chart-card{padding:26px}
.chart-card header,.module-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.chart-card h2,.community-module h2{margin:7px 0 0;color:var(--lp-ink);font-size:28px;font-weight:740;letter-spacing:-.035em}
.chart-card header>span,.module-heading>span{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:var(--lp-surface-soft);color:var(--lp-copy);font-size:12px;font-weight:650}

.signal-value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:4px}
.signal-value-grid div{padding:11px 12px;border-radius:12px;background:#efede7}
.signal-value-grid span,.signal-value-grid strong{display:block}
.signal-value-grid span{color:var(--lp-muted);font-size:11px}
.signal-value-grid strong{margin-top:4px;color:var(--lp-ink);font-size:14px}

.ranking-list{display:grid;gap:0;margin-top:12px}
.ranking-item{display:grid;grid-template-columns:1fr auto;gap:7px 14px;padding:8px 0;border-bottom:1px solid var(--lp-border)}
.ranking-item:last-child{border-bottom:0}
.ranking-copy span,.ranking-copy small{display:block}
.ranking-copy span{font-size:14px;font-weight:680}
.ranking-copy small,.ranking-percentile{color:var(--lp-muted);font-size:11px}
.ranking-item>strong{color:var(--rank-color,var(--lp-blue));font-size:18px;font-weight:800}
.ranking-track{height:6px;overflow:hidden;border-radius:999px;background:#e5e1d9}
.ranking-track i{display:block;height:100%;border-radius:inherit;background:var(--rank-color,var(--lp-blue))}
.ranking-percentile{text-align:right}
.rank-denominator{color:var(--lp-copy);font-size:13px;font-weight:600;white-space:nowrap}

.community-market-module{display:grid;min-width:0;gap:14px}.community-market-controls{display:flex;min-width:0;align-items:flex-end;justify-content:space-between;gap:20px;padding:24px 26px;border:1px solid var(--lp-border);border-radius:var(--lp-radius);background:var(--lp-surface)}.community-market-controls h2{margin:7px 0 0;font-size:28px;letter-spacing:-.035em}.community-market-controls nav{display:flex;min-width:0;max-width:100%;gap:6px;padding:5px;border-radius:12px;background:var(--lp-surface-soft)}.community-market-controls button{min-height:44px;padding:0 14px;border:0;border-radius:9px;background:transparent;color:var(--lp-copy);font-size:16px;font-weight:720;white-space:nowrap;cursor:pointer}.community-market-controls button.active{background:var(--lp-blue);color:#fff}.community-market-controls button:focus-visible{outline:3px solid rgba(47,111,159,.25);outline-offset:2px}
.community-price-type-tabs{display:flex;min-width:0;max-width:100%;gap:6px;margin:18px 0 6px;padding:5px;border-radius:12px;background:var(--lp-surface-soft);overflow-x:auto}.community-price-type-tabs button{flex:1 0 auto;min-height:44px;padding:0 14px;border:0;border-radius:9px;background:transparent;color:var(--lp-copy);font-size:16px;font-weight:720;white-space:nowrap;cursor:pointer}.community-price-type-tabs button.active{background:var(--lp-blue);color:#fff}.community-price-type-tabs button:focus-visible{outline:3px solid rgba(47,111,159,.25);outline-offset:2px}.community-market-unavailable{display:grid;place-items:start;gap:7px;min-height:250px;margin-top:12px;padding:24px;border:1px dashed #cbd6d9;border-radius:14px;background:#f5f8f8;align-content:center}.community-market-unavailable.compact{min-height:120px}.community-market-unavailable strong{color:var(--lp-ink);font-size:19px}.community-market-unavailable span{max-width:540px;color:var(--lp-muted);font-size:15px;line-height:1.5}
.market-card{padding-bottom:20px}.community-market-row{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.85fr);gap:20px;align-items:stretch}.community-market-row .chart-card{min-width:0}.community-market-row .heat-chart-layout{display:block}.community-market-row .heat-chart-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.community-market-row .heat-chart-facts div{padding:14px}.community-market-row .heat-chart-facts span{font-size:14px}.community-market-row .heat-chart-facts strong{font-size:23px}.community-market-row .heat-chart-facts small{display:block;margin-top:6px;color:var(--lp-muted);font-size:14px;line-height:1.4}
.chart-tabs{display:flex;gap:6px;padding:4px;border-radius:12px;background:var(--lp-surface-soft)}
.chart-tabs button{min-width:50px;min-height:44px;border:0;border-radius:9px;background:transparent;color:var(--lp-copy);padding:8px 12px;font-size:16px;font-weight:700;cursor:pointer}
.chart-tabs button.active{background:var(--lp-blue);color:#fff}
.chart-summary{display:flex;justify-content:flex-end;gap:24px;padding-top:14px;border-top:1px solid var(--lp-border);color:var(--lp-muted);font-size:14px}
.chart-summary strong{color:var(--lp-ink)}
.community-sales-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-top:22px;padding-top:20px;border-top:1px solid var(--lp-border)}.community-sales-heading h3{margin:5px 0 0;font-size:21px}.community-sales-heading>span{color:var(--lp-muted);font-size:14px}
.community-heat-summary{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-top:28px}.community-heat-summary>strong{font-size:58px;line-height:.9;letter-spacing:-.055em}.community-heat-summary>strong small{margin-left:4px;color:var(--lp-muted);font-size:18px;letter-spacing:0}.community-heat-summary>span{color:#4f88a4;font-size:22px;font-weight:800;text-align:right}.community-heat-scale{margin:28px 0 24px}.community-heat-scale>i{position:relative;display:block;height:18px;border-radius:999px;background:linear-gradient(90deg,#8db7c5 0 40%,#e0a557 40% 60%,#c65345 60% 100%)}.community-heat-scale>i b{position:absolute;top:50%;width:4px;height:31px;border:3px solid #fff;border-radius:3px;background:var(--lp-ink);box-shadow:0 2px 7px rgba(41,45,46,.22);translate:-50% -50%}.community-heat-scale>div{display:flex;justify-content:space-between;margin-top:10px;color:var(--lp-muted);font-size:14px}.community-heat-scale span{display:grid;gap:3px}.community-heat-scale span:last-child{text-align:right}.community-heat-scale span strong{color:var(--lp-ink);font-size:16px}
.community-heat-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:22px}.community-heat-comparison>div{display:grid;gap:5px;padding:14px;border:1px solid var(--lp-border);border-radius:13px;background:var(--lp-surface-soft)}.community-heat-comparison>div:first-child{border-color:#9bc1cf;background:#edf6f8}.community-heat-comparison span{color:var(--lp-muted);font-size:14px}.community-heat-comparison strong{color:var(--lp-ink);font-size:34px;line-height:1}.community-heat-comparison strong small{margin-left:3px;color:var(--lp-muted);font-size:15px}.community-heat-comparison b{color:#4f88a4;font-size:15px}.community-heat-scale>i b.calgary-marker{width:12px;height:12px;border:2px solid #fff;border-radius:50%;background:#d97732;translate:-50% -50%}.community-heat-scale>i b.community-marker{z-index:2;background:#246b83}.community-heat-scale>i b.community-marker:after,.community-heat-scale>i b.calgary-marker:after{position:absolute;top:-23px;left:50%;color:var(--lp-muted);font-size:10px;font-weight:800;white-space:nowrap;translate:-50% 0}.community-heat-scale>i b.community-marker:after{content:"Community"}.community-heat-scale>i b.calgary-marker:after{content:"Calgary"}
.heat-chart-layout{display:grid;grid-template-columns:230px 1fr;gap:18px;align-items:center}
.heat-chart-facts{display:grid;gap:10px}
.heat-chart-facts div{padding:14px 16px;border-radius:14px;background:var(--lp-surface-soft)}
.heat-chart-facts span,.heat-chart-facts strong{display:block}
.heat-chart-facts span{color:var(--lp-muted);font-size:12px}
.heat-chart-facts strong{margin-top:5px;color:var(--lp-ink);font-size:22px}
.community-heat-method{margin:18px 0 0;padding-top:16px;border-top:1px solid var(--lp-border);color:var(--lp-muted);font-size:14px;line-height:1.55}

.community-module{margin-top:20px;padding:30px}
.detail-visual-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.age-panel{grid-column:1/-1}
.detail-panel{padding:22px;border:1px solid var(--lp-border);border-radius:16px;background:#f5f5f2}
.detail-panel h3{margin:0;color:var(--lp-ink);font-size:19px;letter-spacing:-.02em}
.detail-panel>p{margin:6px 0 18px;color:var(--lp-muted);font-size:12px}
.detail-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.detail-panel-heading p{margin:5px 0 0;color:var(--lp-muted);font-size:12px}
.detail-panel-heading>strong{color:var(--lp-blue);font-size:24px;text-align:right}
.detail-panel-heading>strong small{display:block;color:var(--lp-muted);font-size:11px;font-weight:650}
.age-band-chart{display:grid;grid-template-columns:repeat(21,minmax(18px,1fr));align-items:end;gap:7px;height:200px;padding:12px 6px 0;border-bottom:1px solid var(--lp-border)}
.age-band-chart>div{display:grid;height:100%;grid-template-rows:1fr 34px;align-items:end;gap:7px}
.age-band-chart i{display:block;min-height:4px;border-radius:7px 7px 3px 3px;background:#246b83}
.age-band-chart span{color:var(--lp-copy);font-size:10px;line-height:1.1;text-align:center;writing-mode:vertical-rl;transform:rotate(180deg)}
.era-bars{display:grid;gap:18px;align-content:space-between;flex:1}
.era-bars>div{display:grid;grid-template-columns:115px 1fr 42px;align-items:center;gap:10px;font-size:14px}
.era-bars span{color:var(--lp-copy)}.era-bars strong{color:var(--lp-ink);text-align:right}
.era-bars i{height:24px;overflow:hidden;border-radius:8px;background:#e5e1d9}.era-bars b{display:block;height:100%;border-radius:inherit;background:#246b83}
.tenure-block{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;padding:14px;border-radius:14px;background:#fff}
.tenure-block>div:not(.tenure-track){display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--lp-copy);font-size:12px}
.tenure-block strong{color:var(--lp-ink);font-size:16px}
.tenure-track{grid-column:1/-1;display:flex;height:13px;overflow:hidden;border-radius:999px;background:#e5e1d9}
.tenure-track i{background:#246b83}.tenure-track b{background:#cf7447}
.detail-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.detail-stat-grid>div{padding:12px;border-radius:12px;background:#fff}
.detail-stat-grid span,.detail-stat-grid strong{display:block}.detail-stat-grid span{min-height:28px;color:var(--lp-muted);font-size:11px;line-height:1.35}.detail-stat-grid strong{margin-top:5px;color:var(--lp-blue);font-size:18px}
.population-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:28px;margin-top:24px}
.population-summary{display:flex;min-height:190px;flex-direction:column;justify-content:center;padding:24px;border-radius:16px;background:var(--lp-surface-soft)}
.population-summary strong{color:var(--lp-blue);font-size:46px;font-weight:780;letter-spacing:-.04em}
.population-summary span{margin-top:5px;color:var(--lp-muted);font-size:12px}
.population-ranks{display:grid;align-content:center}
.population-ranks h3{margin:0 0 4px;font-size:16px}
.rank-row{display:flex;justify-content:space-between;margin:0;padding:13px 0;border-bottom:1px solid var(--lp-border);font-size:14px}
.rank-row span{display:flex;align-items:center;gap:9px;color:var(--lp-copy)}
.rank-row strong{color:var(--lp-blue)}
.group-dot{width:10px;height:10px;border-radius:50%;background:#9b9d96}.group-not_visible_minority{background:#246b83}.group-south_asian{background:#cf7447}.group-black{background:#4c5557}.group-chinese{background:#c65345}.group-filipino{background:#5b99a8}.group-multiple_visible_minorities{background:#b89062}
.generation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.generation-grid article{padding:15px;border-radius:14px;background:var(--lp-surface-soft)}
.generation-grid span,.generation-grid strong,.generation-grid small{display:block}.generation-grid span{color:var(--lp-copy);font-size:12px}.generation-grid strong{margin-top:5px;color:var(--lp-blue);font-size:23px}.generation-grid small{margin-top:3px;color:var(--lp-muted);font-size:11px}
.source-note{display:block;margin-top:18px;color:var(--lp-muted);font-size:12px;line-height:1.55}

.module-intro{max-width:820px;margin:12px 0 0;color:var(--lp-copy);font-size:14px;line-height:1.55}
.text-link{color:var(--lp-blue);font-size:12px;font-weight:750;text-decoration:none}
.school-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.school-grid article{display:flex;min-height:310px;flex-direction:column;padding:22px;border:1px solid var(--lp-border);border-radius:18px;background:#f5f5f2}
.school-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.school-level,.school-status{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.school-level{background:#e9e5dd;color:var(--lp-ink)}
.school-status{background:#eef2f5;color:var(--lp-copy)}
.school-status.warning{background:#fff1e6;color:#9b6535}
.school-grid h3{margin:18px 0 7px;color:var(--lp-ink);font-size:21px;font-weight:740;letter-spacing:-.025em}
.school-address,.school-grades{margin:5px 0;color:var(--lp-muted);font-size:12px;line-height:1.45}
.school-rating{display:grid;grid-template-columns:1fr;gap:8px;margin-top:20px}
.school-rating>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:12px 14px;border-radius:12px;background:#fff}
.school-rating span,.school-rating strong,.school-rating small{display:block}
.school-rating span{color:var(--lp-copy);font-size:13px;line-height:1.4}
.school-rating strong{margin:0;color:var(--school-tone,var(--lp-blue));font-size:20px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.school-rating strong small{display:inline;margin-left:4px;font-size:13px;color:var(--lp-copy);font-weight:600}
.school-rating>div>small{grid-column:1/-1;margin:0;color:var(--lp-copy);font-size:12px;line-height:1.4}
.school-grid article footer{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px;color:var(--lp-copy);font-size:11px}
.school-tone-high{--school-tone:#246b83}.school-tone-mid{--school-tone:#cf7447}.school-tone-low{--school-tone:#c65345}.school-tone-missing{--school-tone:#85867f}
.standalone-safety{margin-top:20px}
.housing-panel{display:flex;flex-direction:column}
.school-level.level-elementary{background:#d9efdf;color:#21633c}
.school-level.level-junior_high{background:#faedb8;color:#775b12}
.school-level.level-senior_high{background:#f6dcd9;color:#a33530}
.ranking-card header{flex-wrap:wrap}
.chart-card header>span{white-space:nowrap}
.signal-value-grid div{display:flex;align-items:center;justify-content:space-between;gap:8px}
.signal-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.signal-value-grid span{font-size:13px}.signal-value-grid strong{font-size:15px;margin:0}

.community-static-footer{margin-top:38px;color:var(--lp-muted);font-size:11px;text-align:center}

.school-static{max-width:1320px;margin:0 auto;padding:56px 28px 96px}
.school-overview{display:grid;grid-template-columns:minmax(390px,.8fr) minmax(520px,1.2fr);gap:42px;align-items:center}
.school-static-hero{padding:22px 0}.school-static-hero h1{margin:18px 0 18px;color:var(--lp-ink);font-size:clamp(48px,6.5vw,84px);font-weight:760;letter-spacing:-.06em;line-height:.96}
.school-static-hero>p{color:var(--lp-copy);font-size:16px;line-height:1.55}.school-page-intro{max-width:560px!important;margin-top:22px;font-size:15px!important}
.school-page-level{display:inline-flex;margin-top:24px;padding:8px 12px;border-radius:999px;font-size:11px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.school-page-level.level-elementary{background:#d9efdf;color:#21633c}.school-page-level.level-junior_high{background:#faedb8;color:#775b12}.school-page-level.level-senior_high{background:#f6dcd9;color:#a33530}
.school-map-shell{position:relative;height:360px;overflow:hidden;border:1px solid var(--lp-border);border-radius:24px;background:#ebe8e1;box-shadow:var(--lp-shadow)}.school-map-canvas{position:absolute!important;inset:0;width:100%;height:100%}.school-location-marker{width:18px;height:18px;border:4px solid #fff;border-radius:50%;background:#444a4b;box-shadow:0 2px 9px rgba(41,45,46,.3)}
.school-map-controls{position:absolute;right:18px;top:18px;display:flex;gap:5px;padding:5px;border-radius:13px;background:rgba(255,253,248,.95);box-shadow:0 8px 22px rgba(41,45,46,.12)}.school-map-controls button{border:0;border-radius:8px;padding:8px 10px;background:transparent;color:var(--lp-copy);font-size:11px;cursor:pointer}.school-map-controls button.active{background:#444a4b;color:#fff}.school-map-legend{position:absolute;bottom:16px;left:16px;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:12px;background:rgba(255,253,248,.94);color:var(--lp-copy);font-size:11px;box-shadow:0 8px 22px rgba(41,45,46,.1)}.school-map-legend i{width:12px;height:12px;border-radius:4px;background:#246b83}
.school-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}.school-kpis article{padding:22px 24px;border:1px solid var(--lp-border);border-radius:18px;background:var(--lp-surface);box-shadow:0 12px 30px rgba(40,52,57,.035)}.school-kpis span,.school-kpis em{display:block;color:var(--lp-muted);font-size:13px}.school-kpis strong{display:block;margin:8px 0;color:#444a4b;font-size:29px;font-weight:800;font-variant-numeric:tabular-nums}.school-kpis small{font-size:14px}.school-kpis em{font-style:normal;font-size:11px}
.school-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.school-chart-card{padding:26px;border:1px solid var(--lp-border);border-radius:20px;background:var(--lp-surface);box-shadow:0 14px 36px rgba(40,52,57,.035)}.school-chart-card header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.school-chart-card h2{margin:7px 0 0;color:var(--lp-ink);font-size:26px}.school-chart-card header>span{display:inline-flex;padding:8px 10px;border-radius:999px;background:var(--lp-surface-soft);color:var(--lp-copy);font-size:11px}
.school-module-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.school-info-card{padding:28px;border:1px solid var(--lp-border);border-radius:20px;background:var(--lp-surface);box-shadow:0 14px 36px rgba(40,52,57,.035)}.school-info-card h2{margin:7px 0 20px;font-size:27px;color:var(--lp-ink)}.boundary-summary{display:grid;gap:10px}.boundary-summary-row{display:flex;justify-content:space-between;padding:14px;border-radius:12px;background:#f2f0ea;color:var(--lp-muted)}.boundary-summary-row.present{color:var(--lp-ink)}.boundary-summary-row span{font-size:12px}.school-list{display:grid;gap:9px}.school-list>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--lp-border)}.school-list strong{font-size:13px}.school-list span{color:var(--lp-muted);font-size:11px;text-align:right}.school-copy{color:var(--lp-copy);font-size:14px;line-height:1.6}.school-evidence-grid{margin-top:20px}
@media(max-width:1000px){.school-overview{grid-template-columns:1fr}.school-chart-grid,.school-module-grid{grid-template-columns:1fr}.school-static-hero{max-width:760px}}
@media(max-width:720px){.school-static{padding:38px 18px 68px}.school-static-hero h1{font-size:52px}.school-map-shell{height:300px}.school-kpis{grid-template-columns:1fr}.school-chart-card,.school-info-card{padding:20px}.school-chart-card header{align-items:flex-start;flex-direction:column}.school-list>div{display:block}.school-list span{display:block;margin-top:5px;text-align:left}}

@media(max-width:1000px){
  .community-overview{grid-template-columns:1fr}
  .community-static-hero{max-width:720px}
  .profile-chart-grid,.secondary-chart-grid,.community-market-row{grid-template-columns:minmax(0,1fr)}
  .community-market-controls{width:100%;align-items:stretch;flex-direction:column}.community-market-controls nav{width:100%;overflow-x:auto}
  .detail-visual-grid{grid-template-columns:1fr}.age-panel,.economics-panel{grid-column:auto}
  .school-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:720px){
  .community-site-header nav{display:none}
  .community-site-action{margin-left:auto}
  .community-static{padding:38px 18px 68px}
  .community-static-hero h1{font-size:54px}
  .community-map-island{height:280px}
  .community-static-kpis,.school-grid,.population-layout{grid-template-columns:1fr}
  .detail-visual-grid{grid-template-columns:1fr}.economics-panel{grid-column:auto}
  .age-band-chart{gap:3px;overflow-x:auto}.generation-grid{grid-template-columns:1fr}
  .signal-value-grid{grid-template-columns:repeat(2,1fr)}
  .chart-card,.community-module{padding:20px}
  .chart-card header,.module-heading{align-items:flex-start;flex-direction:column}
  .community-market-controls{padding:20px}.community-market-controls nav{margin-inline:-4px}.community-market-controls button{padding-inline:12px}.community-market-row,.community-market-row .chart-card{width:100%;min-width:0}.community-market-row .heat-chart-facts{grid-template-columns:1fr}.community-heat-summary{align-items:flex-start;flex-direction:column}.community-heat-summary>span{text-align:left}.chart-summary{display:grid;grid-template-columns:1fr auto;gap:8px 14px}.chart-summary span:first-child{grid-column:1/-1}.community-sales-heading{align-items:flex-start;flex-direction:column}
  .heat-chart-layout{grid-template-columns:1fr}
  .chart-summary{justify-content:flex-start;flex-wrap:wrap}
  .community-site-footer{display:block}
  .community-site-footer span{display:block;margin-top:5px}
}
.community-market-module .module-label{font-size:14px}
.reference-note{color:var(--lp-muted);font-size:.78em;font-weight:400}
.program-badges{display:flex;flex-wrap:wrap;gap:10px}.program-badge{display:inline-flex;padding:10px 13px;border-radius:999px;background:#edf1f2;color:var(--lp-ink);font-size:13px;font-weight:650}.program-badge-ap{background:#f6e8d7;color:#8c4e27}
.school-empty-state{margin:18px 0;padding:24px;border-radius:16px;background:#f4f1eb;color:var(--lp-muted);line-height:1.6}
.diploma-metric-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.diploma-metric-strip>div{padding:16px;border-radius:14px;background:#f4f1eb}.diploma-metric-strip span,.diploma-metric-strip small{display:block;color:var(--lp-muted);font-size:11px}.diploma-metric-strip strong{display:block;margin:6px 0;font-size:24px;color:var(--lp-ink)}
.diploma-metric-charts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;border-top:1px solid var(--lp-border);padding-top:14px}.diploma-metric-charts>div{min-width:0}
.school-map-controls{max-width:min(92%,620px);flex-wrap:wrap}.school-map-controls button:disabled{color:#aaa8a1;cursor:not-allowed;background:#f1eee8}
.school-map-shell{height:min(560px,48vw);min-height:480px;aspect-ratio:1 / 1}
@media(max-width:720px){.school-map-shell{height:360px;min-height:0}}
.school-static{max-width:1680px}.school-overview{grid-template-columns:minmax(540px,.88fr) minmax(620px,1.12fr);gap:64px}.school-static-hero{max-width:650px}.school-map-shell{width:100%;max-width:760px;justify-self:end}
@media(max-width:1100px){.school-overview{grid-template-columns:1fr;gap:28px}.school-map-shell{justify-self:stretch;max-width:none}}
@media(max-width:720px){.school-static{max-width:none}.school-map-shell{height:360px;min-height:0}}
.school-map-frame{display:grid;grid-template-columns:190px minmax(0,1fr);gap:16px;align-items:stretch}.school-map-frame .school-map-controls{position:static;display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:14px;border:1px solid var(--lp-border);border-radius:18px;background:var(--lp-surface);box-shadow:var(--lp-shadow)}.school-map-frame .school-map-controls button{font-size:12px;text-align:left;padding:11px 12px}.school-map-frame .school-map-controls small{margin-top:auto;color:var(--lp-muted);font-size:11px;line-height:1.5}.school-map-frame .school-map-legend{display:flex;align-items:center;gap:8px;margin-top:8px;color:var(--lp-muted);font-size:11px}.school-map-frame .school-map-shell{min-width:0}.school-map-frame .school-map-controls .module-label{margin:0 0 4px}
.school-map-frame{display:block;position:relative}.school-map-frame .school-map-shell{width:100%}.school-map-frame .school-map-controls{position:absolute;z-index:5;left:16px;top:16px;width:210px;max-height:calc(100% - 32px);overflow:auto;background:rgba(255,253,248,.96)}
@media(max-width:900px){.school-map-frame{grid-template-columns:1fr}.school-map-frame .school-map-controls{display:flex;flex-direction:row;flex-wrap:wrap}.school-map-frame .school-map-controls small{width:100%;margin-top:4px}}
.school-map-frame .school-map-controls button:disabled{display:none}.school-map-frame .school-map-controls{width:auto;right:auto;max-height:none;overflow:visible;padding:5px}.school-map-frame .school-map-controls.open{width:210px}.school-map-layer-panel{display:flex;flex-direction:column;gap:4px;min-width:0}.school-map-frame .school-map-controls button{min-height:44px}.school-map-frame .school-map-legend{position:static;box-shadow:none;background:none;margin-top:8px;padding:8px}.school-map-controls button:focus-visible,.school-chart-data summary:focus-visible{outline:2px solid var(--lp-ink);outline-offset:3px}.school-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.school-chart-card{min-width:0}.school-metric-value{display:flex;align-items:baseline;gap:18px;margin-top:16px;font-variant-numeric:tabular-nums}.school-metric-value strong{font-size:32px;color:var(--lp-ink)}.school-metric-value span{font-size:13px;color:var(--lp-copy)}.school-chart-data{margin-top:14px;font-size:13px;color:var(--lp-copy)}.school-chart-data summary{cursor:pointer;padding:12px 0}.school-chart-data table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.school-chart-data th,.school-chart-data td{padding:10px 6px;border-bottom:1px solid var(--lp-border);text-align:right}.school-chart-data th:first-child{text-align:left}@media(max-width:720px){.school-chart-grid{grid-template-columns:minmax(0,1fr)}.school-static-hero h1{overflow-wrap:anywhere}.school-map-frame .school-map-controls.open{width:180px}.school-map-frame .school-map-controls{left:10px;top:10px}}
.school-boundary-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.chart-tabs button,.school-map-controls button{border:1px solid var(--lp-border);background:#fffdf8}.chart-tabs button:hover,.school-map-controls button:hover{border-color:var(--lp-blue);background:#eef4ef}.school-filter-heading>button{min-height:30px;padding:0 10px;border:1px solid var(--sd-border);border-radius:8px;background:#f7f5f0;color:var(--sd-accent)}.school-filter-heading>button:hover{border-color:var(--sd-accent);background:#eef3ef}
.routing-page{max-width:1400px;margin:0 auto;padding:64px 28px 90px}.routing-hero{max-width:820px}.routing-kicker{color:#3f6b57;font-size:12px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.routing-hero h1{margin:10px 0 14px;color:#303833;font-size:clamp(42px,5vw,72px);line-height:1;letter-spacing:-.05em}.routing-hero p{max-width:720px;margin:0;color:#69736d;font-size:17px;line-height:1.55}.routing-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,260px));gap:12px;margin-top:38px}.routing-status-grid article{display:grid;gap:8px;padding:18px;border:1px solid #d9e0d9;border-radius:15px;background:#fffdf8}.routing-status-grid span{color:#69736d;font-size:13px;font-weight:750}.routing-status-grid strong{color:#315f4b;font-size:38px}.routing-status-grid small{color:#69736d;font-size:13px;line-height:1.35}.routing-section{margin-top:38px;padding:24px;border:1px solid #d9e0d9;border-radius:18px;background:#fffdf8}.routing-section>header{display:flex;align-items:end;justify-content:space-between;gap:20px}.routing-section h2{margin:8px 0 0;color:#303833;font-size:30px}.routing-outline-button{display:inline-flex;align-items:center;min-height:38px;padding:0 13px;border:1px solid #b7cdbd;border-radius:9px;background:#eef4ef;color:#315f4b;font-size:14px;font-weight:800;text-decoration:none}.routing-table-wrap{margin-top:22px;overflow:auto}.routing-table{width:100%;min-width:760px;border-collapse:collapse;font-size:14px}.routing-table th,.routing-table td{padding:13px 10px;border-bottom:1px solid #e1e5df;text-align:left;vertical-align:top}.routing-table th{color:#69736d;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.routing-table a{color:#315f4b;font-weight:800;text-decoration:none}.routing-table a:hover{text-decoration:underline}.routing-empty{margin-top:20px;padding:26px;border:1px dashed #b7cdbd;border-radius:13px;background:#f5f8f3}.routing-empty h3{margin:0;color:#315f4b;font-size:18px}.routing-empty p{margin:7px 0 0;color:#69736d;font-size:14px}@media(max-width:720px){.routing-page{padding:38px 16px 70px}.routing-status-grid{grid-template-columns:1fr}.routing-section{padding:18px}.routing-section>header{align-items:flex-start;flex-direction:column}}
.routing-relationship-list{display:grid;gap:22px;margin-top:24px}.routing-relationship{display:grid;grid-template-columns:minmax(180px,1fr) minmax(90px,150px) minmax(220px,1.15fr) minmax(90px,150px) minmax(220px,1.15fr);align-items:center;gap:12px}.routing-node{display:grid;gap:7px;min-height:116px;padding:17px;border:1px solid #d5ded7;border-radius:15px;background:#f6f8f4}.routing-node-label{color:#5c7969;font-size:10px;font-weight:850;letter-spacing:.1em}.routing-node strong,.routing-node a{color:#303833;font-size:17px;line-height:1.2;font-weight:850;text-decoration:none}.routing-node a:hover{text-decoration:underline}.routing-node small{color:#69736d;font-size:12px;line-height:1.35}.routing-community{background:#f0f5ef;border-color:#b7cdbd}.routing-designated{background:#eaf2ec;border-color:#6d9b7a;box-shadow:inset 0 3px #3f6b57}.routing-overflow{background:#fbf1e9;border-color:#e2c39c}.routing-connector{display:grid;grid-template-columns:1fr 30px 1fr;align-items:center;gap:6px;color:#69736d;text-align:center}.routing-connector i{position:relative;height:2px;background:#8ca895}.routing-connector i:after{content:"";position:absolute;right:0;top:-4px;width:8px;height:8px;border-top:2px solid #8ca895;border-right:2px solid #8ca895;transform:rotate(45deg)}.routing-connector span{grid-column:1 / -1;color:#315f4b;font-size:12px;font-weight:850}.routing-connector small{grid-column:1 / -1;font-size:11px}.routing-connector-overflow i{background:#c28d5d}.routing-connector-overflow i:after{border-color:#c28d5d}.routing-connector-overflow span{color:#a45e2c}@media(max-width:1050px){.routing-relationship{grid-template-columns:minmax(190px,1fr) 90px minmax(190px,1fr);}.routing-connector-overflow{grid-column:2;grid-row:2}.routing-overflow{grid-column:3;grid-row:2}}@media(max-width:720px){.routing-relationship{grid-template-columns:1fr;gap:8px}.routing-connector,.routing-connector-overflow{grid-column:auto;grid-row:auto;grid-template-columns:30px 1fr 30px;text-align:left}.routing-connector i{grid-column:1;grid-row:1}.routing-connector span{grid-column:2;grid-row:1;text-align:left}.routing-connector small{grid-column:3;grid-row:1}.routing-connector i:after{right:-1px;top:-4px}.routing-overflow{grid-column:auto;grid-row:auto}}
.routing-community-cluster{display:grid;gap:8px;align-content:center}.routing-community-cluster>.routing-node-label{display:block;margin-bottom:2px}.routing-community-cluster .routing-node{min-height:0;padding:12px 14px}.routing-community-cluster .routing-node strong{font-size:15px}.routing-community-cluster .routing-node small{font-size:11px}
.routing-relationship>.routing-node.routing-designated{grid-column:1;grid-row:1}.routing-relationship>.routing-connector:not(.routing-connector-overflow){grid-column:2;grid-row:1}.routing-relationship>.routing-community-cluster{grid-column:3;grid-row:1}.routing-relationship>.routing-connector-overflow{grid-column:4;grid-row:1}.routing-relationship>.routing-node.routing-overflow{grid-column:5;grid-row:1}@media(max-width:1050px){.routing-relationship>.routing-node.routing-designated{grid-column:1;grid-row:1}.routing-relationship>.routing-connector:not(.routing-connector-overflow){grid-column:2;grid-row:1}.routing-relationship>.routing-community-cluster{grid-column:3;grid-row:1}.routing-relationship>.routing-connector-overflow{grid-column:2;grid-row:2}.routing-relationship>.routing-node.routing-overflow{grid-column:3;grid-row:2}}@media(max-width:720px){.routing-relationship>.routing-node.routing-designated{grid-column:1;grid-row:1}.routing-relationship>.routing-connector:not(.routing-connector-overflow){grid-column:1;grid-row:2}.routing-relationship>.routing-community-cluster{grid-column:1;grid-row:3}.routing-relationship>.routing-connector-overflow{grid-column:1;grid-row:4}.routing-relationship>.routing-node.routing-overflow{grid-column:1;grid-row:5}}
.routing-overflow-cluster{grid-column:5;grid-row:1;display:grid;gap:8px;align-content:center}.routing-overflow-cluster>.routing-node{min-height:0;padding:13px 15px}.routing-overflow-cluster>.routing-node a{display:block}.routing-overflow-cluster>.routing-node small{display:block;margin-top:5px}.routing-relationship>.routing-node.routing-overflow{grid-column:auto;grid-row:auto}@media(max-width:1050px){.routing-overflow-cluster{grid-column:3;grid-row:2}}@media(max-width:720px){.routing-overflow-cluster{grid-column:1;grid-row:5}}
.routing-community-cluster .community-card{display:block;min-height:0;padding:14px 16px;border-top:3px solid #3f6b57;background:#f0f5ef}.routing-community-cluster .community-card header{display:block}.routing-community-cluster .community-card header .relationship-card-meta{display:none}.routing-community-cluster .community-card h3{margin:0;font-size:18px}.routing-community-cluster .community-card-facts,.routing-community-cluster .community-card .relationship-card-actions{display:none}
.routing-community-cluster .community-card{border-radius:16px!important;border:1px solid #d6bd80;border-top:3px solid #b08b45;background:#fbf5e6;color:#303833;font-family:inherit;box-shadow:0 8px 18px rgba(143,111,47,.08)}.routing-community-cluster .community-card h3{font-family:inherit;font-size:17px;font-weight:800}.routing-community-unspecified{border-color:#d6bd80!important;border-top-color:#b08b45!important;background:#fbf5e6!important;border-radius:16px!important}.routing-community-unspecified strong{font-size:16px}.routing-community-unspecified small{font-size:12px}
.routing-relationship-list{gap:14px}.routing-relationship{grid-template-columns:minmax(220px,280px) 82px minmax(220px,300px) 82px minmax(220px,300px);justify-content:start;gap:8px}.routing-node{min-height:0;padding:13px 15px}.routing-node.routing-designated a,.routing-node.routing-overflow a{font-size:16px}.routing-community-cluster{gap:6px}.routing-community-cluster .community-card{padding:11px 13px}.routing-community-cluster .community-card h3{font-size:16px}.routing-overflow-cluster{gap:6px}.routing-overflow-cluster>.routing-node{padding:11px 13px}.routing-connector{font-size:11px}.routing-connector span{font-size:11px}.routing-connector small{font-size:10px}
.routing-hero{max-width:1200px}.routing-tabs{display:flex;gap:8px;margin-top:34px;padding:5px;border-bottom:1px solid #d9e0d9}.routing-tabs a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 15px;border:1px solid #cbd8ce;border-bottom-color:#b7cdbd;border-radius:10px 10px 0 0;background:#fffdf8;color:#53675b;font-size:14px;font-weight:800;text-decoration:none}.routing-tabs a strong{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#e9f0ea;color:#315f4b;font-size:12px}.routing-tabs a:hover,.routing-tabs a.active{border-color:#3f6b57;background:#eef4ef;color:#315f4b}.routing-tabs a.active{box-shadow:inset 0 -3px #3f6b57}
.routing-tabs button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 15px;border:1px solid #cbd8ce;border-bottom-color:#b7cdbd;border-radius:10px 10px 0 0;background:#fffdf8;color:#53675b;font-size:14px;font-weight:800;cursor:pointer}.routing-tabs button strong{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#e9f0ea;color:#315f4b;font-size:12px}.routing-tabs button:hover,.routing-tabs button.active{border-color:#3f6b57;background:#eef4ef;color:#315f4b}.routing-tabs button.active{box-shadow:inset 0 -3px #3f6b57}.routing-section[hidden]{display:none}
.routing-lottery-list{display:grid;gap:14px;margin-top:24px}.routing-lottery-relation{display:grid;grid-template-columns:minmax(220px,280px) 82px minmax(220px,300px) 82px minmax(220px,300px);justify-content:start;align-items:center;gap:8px}.routing-lottery-node{border-color:#d9a86e;background:#fbf0e5;box-shadow:inset 0 3px #bd7435}.routing-lottery-node strong{font-size:16px}@media(max-width:1050px){.routing-lottery-relation{grid-template-columns:minmax(190px,1fr) 74px minmax(190px,1fr);}.routing-lottery-relation>.routing-connector-overflow{grid-column:2;grid-row:2}.routing-lottery-relation>.routing-lottery-node{grid-column:3;grid-row:2}}@media(max-width:720px){.routing-lottery-relation{grid-template-columns:1fr}.routing-lottery-relation>.routing-connector,.routing-lottery-relation>.routing-connector-overflow,.routing-lottery-relation>.routing-lottery-node{grid-column:1;grid-row:auto}}
.routing-lottery-relation>.routing-node.routing-community{border-color:#d6bd80;background:#fbf5e6;box-shadow:inset 0 3px #b08b45}.routing-lottery-relation>.routing-node{min-height:70px}.routing-lottery-relation>.routing-node.routing-designated{border-color:#7aa58a;background:#eaf2ec;box-shadow:inset 0 3px #3f6b57}.routing-lottery-relation>.routing-node.routing-lottery-node{border-color:#d9a86e;background:#fbf0e5;box-shadow:inset 0 3px #bd7435}
.routing-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(520px,680px);align-items:end;gap:54px;max-width:none}.routing-hero-copy{max-width:820px}.routing-hero-summary{display:grid;gap:14px}.routing-hero-summary .routing-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.routing-calendar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.routing-calendar>div{display:grid;gap:5px;padding:13px 14px;border:1px solid #d9e0d9;border-radius:12px;background:#fffdf8}.routing-calendar dt{color:#69736d;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.routing-calendar dd{margin:0;color:#315f4b;font-size:14px;font-weight:850;line-height:1.3}@media(max-width:1150px){.routing-hero{grid-template-columns:1fr;align-items:start}.routing-hero-summary{max-width:760px}}@media(max-width:720px){.routing-hero-summary .routing-status-grid,.routing-calendar{grid-template-columns:1fr}}
.community-directory{display:grid;grid-template-columns:390px minmax(0,1fr);gap:10px;height:calc(100vh - 70px);padding:10px;background:#eef0ee}.community-directory-list{display:flex;min-height:0;flex-direction:column;overflow:hidden;border:1px solid #cfd9dd;border-radius:20px;background:#fffdf8}.community-directory-list>header{padding:22px;border-bottom:1px solid #d9e1e4}.community-directory-list>header>span{color:#2f6f9f;font-size:11px;font-weight:850;letter-spacing:.12em}.community-directory-list h1{margin:7px 0 16px;font-size:36px;letter-spacing:-.045em}.community-directory-list input{width:100%;height:42px;padding:0 12px;border:1px solid #cbd8dd;border-radius:10px;background:#f6f7f5;font-size:15px}.community-directory-list header>div{display:flex;gap:5px;margin-top:10px}.community-directory-list header button{min-height:34px;padding:0 11px;border:1px solid #b8cad2;border-radius:8px;background:#fff;color:#45616e;font-weight:800}.community-directory-list header button.active{border-color:#2f6f9f;background:#2f6f9f;color:#fff}.community-directory-list header small{display:block;margin-top:11px;color:#6d7a80;font-size:13px}.community-directory-list>div{display:grid;overflow:auto}.community-directory-list>div>button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:10px 18px;border:0;border-bottom:1px solid #e2e6e4;background:#fffdf8;text-align:left;cursor:pointer}.community-directory-list>div>button:hover,.community-directory-list>div>button.active{background:#edf4f7}.community-directory-list>div>button.active{box-shadow:inset 4px 0 #2f6f9f}.community-directory-list>div>button strong{font-size:16px}.community-directory-list>div>button span{color:#7a8589;font-size:12px}.community-directory-map{position:relative;overflow:hidden;border:1px solid #cfd9dd;border-radius:20px;background:#e7ecee}.community-directory-canvas{position:absolute;inset:0}.community-map-card{position:absolute;z-index:5;right:18px;top:18px;width:360px;padding:20px;border:1px solid #b7ccd5;border-top:4px solid #2f6f9f;border-radius:18px;background:rgba(255,253,248,.97);box-shadow:0 18px 46px rgba(34,66,82,.18)}.community-map-card>span{color:#2f6f9f;font-size:11px;font-weight:850;letter-spacing:.12em}.community-map-card h2{margin:7px 0 15px;font-size:28px}.community-map-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.community-map-card dl div{padding:10px;border-radius:10px;background:#eef3f4}.community-map-card dt{color:#6d7a80;font-size:10px}.community-map-card dd{margin:4px 0 0;font-size:14px;font-weight:800}.community-map-card>a{display:flex;justify-content:center;align-items:center;min-height:42px;margin-top:14px;border:1px solid #2f6f9f;border-radius:10px;background:#2f6f9f;color:#fff;font-size:15px;font-weight:800;text-decoration:none}@media(max-width:900px){.community-directory{grid-template-columns:1fr;height:auto}.community-directory-list{max-height:560px}.community-directory-map{height:70vh;min-height:520px}}@media(max-width:600px){.community-directory{padding:6px}.community-map-card{left:12px;right:12px;top:12px;width:auto}.community-map-card dl{grid-template-columns:1fr}}
.community-hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:620px;margin:0 0 18px}.community-hero-facts>div{padding:11px 12px;border:1px solid #c8d9df;border-radius:11px;background:#eef4f6}.community-hero-facts dt{color:#667980;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.community-hero-facts dd{margin:4px 0 0;color:#245e82;font-size:15px;font-weight:850}@media(max-width:600px){.community-hero-facts{grid-template-columns:1fr}}

/* Full-screen community explorer */
body:has(.community-directory){overflow:hidden}.community-page-shell:has(.community-directory) .community-site-footer{display:none}.community-page-shell:has(.community-directory) main{height:calc(100dvh - 70px);min-height:0}
.community-directory{grid-template-columns:370px minmax(0,1fr);gap:0;height:100%;padding:0;background:#e8edef}.community-directory-list{z-index:8;border:0;border-right:1px solid #c8d4d9;border-radius:0;background:#fbfaf6;box-shadow:10px 0 34px rgba(32,59,72,.09)}
.community-directory-list>header{padding:20px 20px 15px;background:#fffdf8}.community-directory-title{display:flex;align-items:flex-start;justify-content:space-between}.community-directory-title>div>span{color:#2f6f9f;font-size:11px;font-weight:850;letter-spacing:.13em}.community-directory-list h1{margin:5px 0 16px;color:#28383f;font-size:31px;line-height:1;letter-spacing:-.045em}.community-list-close{display:none}
.community-search{display:flex;align-items:center;height:44px;padding:0 11px;border:1px solid #becfd6;border-radius:11px;background:#f5f7f6}.community-search>span{color:#58717d;font-size:22px}.community-directory-list .community-search input{height:42px;padding:0 8px;border:0;outline:0;background:transparent;font-size:16px}
.community-filter-row{display:grid!important;grid-template-columns:repeat(5,1fr);gap:5px!important;margin-top:9px!important}.community-filter-row button{min-width:0;padding:0!important}.community-select-row{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;margin-top:10px!important}.community-select-row label{display:grid;gap:4px}.community-select-row label>span{color:#61747c;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.community-select-row select{width:100%;height:38px;padding:0 9px;border:1px solid #cbd8dd;border-radius:9px;background:#fffdf8;color:#334951;font-size:14px;font-weight:700}
.community-result-count{display:flex!important;align-items:center;justify-content:space-between;margin-top:12px!important;color:#687b83;font-size:13px}.community-result-count strong{color:#2f6f9f;font-size:16px}.community-result-count button{min-height:0!important;padding:0!important;border:0!important;background:transparent!important;color:#2f6f9f!important;font-size:12px;text-decoration:underline}
.community-results{display:block!important;overflow-y:auto!important;scrollbar-width:thin;scrollbar-color:#b7c7cd transparent}.community-directory-list .community-results>button{width:100%;min-height:72px;padding:12px 18px}.community-result-copy,.community-result-price{display:grid;gap:4px}.community-result-copy{min-width:0}.community-result-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#293a41;font-size:16px!important}.community-result-copy small,.community-result-price small{color:#718087;font-size:11px}.community-result-price{flex:0 0 auto;text-align:right;color:#295f7d;font-size:14px;font-weight:850}.community-result-price small{font-weight:600}.community-directory-list .community-results>button.active{background:#e8f0f3;box-shadow:inset 4px 0 #2f6f9f}
.community-directory-map{border:0;border-radius:0;background:#dae2e5}.community-directory-canvas{inset:0}.community-directory-map .maplibregl-ctrl-bottom-right{bottom:18px;right:18px}.community-directory-map .maplibregl-ctrl-group{border-radius:10px;box-shadow:0 8px 24px rgba(30,59,72,.17)}
.community-layer-control{position:absolute;z-index:5;left:18px;top:18px;display:flex;align-items:center;gap:3px;padding:5px;border:1px solid rgba(184,202,210,.9);border-radius:13px;background:rgba(255,253,248,.96);box-shadow:0 10px 30px rgba(36,67,82,.14);backdrop-filter:blur(10px)}.community-layer-control>span{padding:0 7px;color:#728087;font-size:9px;font-weight:850;letter-spacing:.12em}.community-layer-control button{min-height:36px;padding:0 11px;border:0;border-radius:8px;background:transparent;color:#46616d;font-size:12px;font-weight:800;cursor:pointer}.community-layer-control button:hover{background:#edf2f3}.community-layer-control button.active{background:#294f64;color:#fff}
.community-map-legend{position:absolute;z-index:5;left:18px;bottom:20px;display:grid;grid-template-columns:auto 82px;gap:4px 10px;align-items:center;padding:10px 12px;border:1px solid rgba(184,202,210,.8);border-radius:11px;background:rgba(255,253,248,.94);box-shadow:0 8px 24px rgba(36,67,82,.12)}.community-map-legend>span{color:#344d58;font-size:11px;font-weight:850}.community-map-legend>div{display:grid;grid-template-columns:repeat(3,1fr);height:7px;overflow:hidden;border-radius:4px}.community-map-legend small{grid-column:1/-1;color:#718087;font-size:10px}
.community-map-card{right:20px;top:20px;width:370px;padding:22px;border-color:#b8cdd6;border-top:5px solid #2f6f9f;border-radius:18px;background:rgba(255,253,248,.97);backdrop-filter:blur(12px)}.community-card-close{position:absolute;right:12px;top:10px;width:32px;height:32px;border:0;border-radius:8px;background:#edf2f3;color:#506a75;font-size:22px;cursor:pointer}.community-map-card>span{display:block;padding-right:34px}.community-map-card h2{margin:7px 0 0;color:#26373e;font-size:30px;line-height:1.05}.community-card-zh{margin:5px 0 0;color:#6c7a80;font-size:14px}.community-card-primary{display:grid;margin-top:17px;padding:16px;border-radius:13px;background:#e9f1f4}.community-card-primary small,.community-card-primary span{color:#637982;font-size:11px}.community-card-primary strong{margin:3px 0;color:#245e82;font-size:28px;letter-spacing:-.03em}.community-map-card dl{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:10px}.community-map-card dl div{padding:10px 9px;background:#f2f3ef}.community-map-card dt{font-size:10px;line-height:1.2}.community-map-card dd{font-size:13px}.community-card-source{margin:12px 0 0;color:#77848a;font-size:10px;line-height:1.45}.community-map-card>a{justify-content:space-between;padding:0 14px}.community-map-card>a span{font-size:19px}.community-map-prompt{position:absolute;z-index:5;right:20px;top:20px;display:grid;gap:4px;padding:16px 20px;border:1px solid #bfd0d7;border-radius:14px;background:rgba(255,253,248,.95);box-shadow:0 12px 32px rgba(33,62,75,.13)}.community-map-prompt strong{color:#294f64;font-size:16px}.community-map-prompt span{color:#687b83;font-size:12px}.community-mobile-list{display:none}
@media(max-width:1050px){.community-directory{grid-template-columns:330px minmax(0,1fr)}.community-map-card{width:330px}.community-layer-control>span{display:none}.community-layer-control button{padding:0 8px}}
@media(max-width:760px){body:has(.community-directory){overflow:hidden}.community-page-shell:has(.community-directory) main{height:calc(100dvh - 70px)}.community-directory{display:block;height:100%}.community-directory-list{position:absolute;z-index:20;inset:0 auto 0 0;width:min(92vw,370px);max-height:none;transform:translateX(-105%);transition:transform .22s ease}.community-directory-list.open{transform:translateX(0)}.community-list-close{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:9px;background:#edf2f3;color:#48626d;font-size:24px}.community-directory-map{height:100%;min-height:0}.community-mobile-list{position:absolute;z-index:6;left:10px;top:10px;display:flex;align-items:center;gap:8px;min-height:42px;padding:0 13px;border:1px solid #b9ccd4;border-radius:11px;background:rgba(255,253,248,.97);color:#294f64;font-size:14px;font-weight:850;box-shadow:0 8px 22px rgba(33,62,75,.14)}.community-mobile-list strong{display:grid;place-items:center;min-width:24px;height:24px;padding:0 5px;border-radius:999px;background:#e6eef1;font-size:11px}.community-layer-control{left:10px;right:10px;top:62px;overflow-x:auto}.community-layer-control button{flex:0 0 auto}.community-map-card{left:10px;right:10px;top:auto;bottom:18px;width:auto;max-height:55%;overflow:auto;padding:18px}.community-map-card dl{grid-template-columns:repeat(3,1fr)}.community-map-legend,.community-map-prompt{display:none}.community-directory-map .maplibregl-ctrl-bottom-right{bottom:10px;right:8px}}
@media(max-width:430px){.community-map-card dl{grid-template-columns:repeat(2,1fr)}.community-card-primary strong{font-size:25px}.community-layer-control button{font-size:11px}.community-directory-list h1{font-size:28px}}
