.civic-facts{--civic-ink:#294536;--civic-line:#d7ddcf;font-family:var(--sans,'DM Sans',sans-serif)}
.civic-scope{background:#e9eddf;border-left:3px solid #6c805d;padding:14px 18px;font-size:13px;line-height:1.8;color:#415237;margin:0 0 18px}
.civic-photo{min-width:0;background:#e8eddf;border-left:1px solid var(--civic-line);display:flex;flex-direction:column;justify-content:center}.civic-photo .transit-photo{margin:0}.civic-photo .transit-photo img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}.civic-photo .transit-photo figcaption{padding:16px 24px;font-size:13px;line-height:1.8}.civic-photo .transit-photo figcaption small{font-size:10px}.civic-photo .civic-photo-note{font-size:11px;line-height:1.7;padding:0 24px 18px;margin:0;color:#626b57}
.civic-facts .civic-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 24px}
.civic-metric{min-width:0;background:#f0f2e9;border:1px solid var(--civic-line);border-radius:8px;padding:24px 20px 20px;border-top:3px solid #6c805d}
.civic-metric dt{display:flex;align-items:center;gap:10px;color:#43593e;font-size:13px;line-height:1.5;font-weight:600;min-height:40px}
.civic-metric dt svg{flex:none}.civic-metric dd{font-family:var(--sans,'DM Sans',sans-serif);font-size:clamp(25px,2.3vw,35px);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1.2;margin:20px 0 14px;color:var(--civic-ink);white-space:nowrap}
.civic-metric small{display:block;font-size:11px;line-height:1.6;color:#626b5c}
.civic-context{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--civic-line);border-radius:8px;overflow:hidden}
.civic-identity,.civic-villages{padding:30px;min-width:0}.civic-identity{background:#fcfbf6}.civic-villages{background:#e8eddf;border-left:1px solid var(--civic-line)}
.civic-facts h3{font-family:inherit;font-size:23px;line-height:1.5;color:var(--civic-ink);margin:8px 0 16px;font-weight:600}
.civic-identity>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#56604f;margin:0 0 24px}
.civic-facts .civic-admin{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;margin:0}
.civic-admin>div{padding:14px 0;border-top:1px solid var(--civic-line);min-width:0}.civic-admin dt{font-size:11px;color:#6b735e;margin-bottom:7px}.civic-admin dd{font-family:inherit;font-size:14px;color:#344933;line-height:1.7;margin:0;overflow-wrap:anywhere}
.civic-village-heading{display:flex;align-items:center;gap:20px;margin-bottom:23px}.civic-village-heading>span{font-size:64px;font-weight:500;letter-spacing:-.06em;line-height:1;color:#6d8058}.civic-village-heading h3{font-size:19px;margin:0 0 5px}.civic-village-heading p{font-size:12px;line-height:1.7;margin:0;color:#626b57}
.civic-villages ul{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 23px;gap:8px}.civic-villages li{background:#fafcf5;border:1px solid #cdd6bf;padding:7px 11px;border-radius:4px;font-size:12px;line-height:1.5;color:#3b5234}.civic-villages>a{font-size:12px;line-height:1.8;text-underline-offset:4px;text-decoration:underline}
.civic-methodology{margin-top:20px;font-size:12px;line-height:1.8;color:#626b58}.civic-methodology summary{cursor:pointer;padding:8px 0;color:#435a3e}.civic-methodology p{max-width:100ch;margin:8px 0;font-size:12px;line-height:1.8}
.civic-sources{display:flex;flex-wrap:wrap;gap:10px 22px;border-top:1px solid var(--civic-line);padding-top:14px;margin-top:10px;font-size:11px;line-height:1.8;color:#637157}.civic-sources a{text-decoration:underline;text-underline-offset:3px}.civic-sources>span{margin-left:auto}
/* Local maps get a full row so the broader crop remains readable. */
.area-transit:has(#area-newton-subway) .transit-mode-grid{grid-template-columns:1fr}
@media(min-width:1000px){.area-transit:has(#area-newton-subway) .transit-mode{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.7fr);column-gap:36px;align-content:start}.area-transit:has(#area-newton-subway) .transit-mode>.transit-access,.area-transit:has(#area-newton-subway) .transit-mode>h3,.area-transit:has(#area-newton-subway) .transit-mode>p,.area-transit:has(#area-newton-subway) .transit-mode>.transit-routes{grid-column:1}.area-transit:has(#area-newton-subway) .transit-mode>.official-transit-maps{grid-column:2;grid-row:1/6;margin:0}}
@media(max-width:1100px){.civic-facts .civic-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.civic-metric dd{font-size:32px}}
@media(max-width:760px){.civic-context{grid-template-columns:1fr}.civic-villages,.civic-photo{border-left:0;border-top:1px solid var(--civic-line)}.civic-identity,.civic-villages{padding:23px}.civic-metric{padding:18px 15px}.civic-metric dd{font-size:25px;margin:16px 0 12px}.civic-metric dt{font-size:12px;gap:7px}.civic-metric dt svg{width:20px}.civic-facts .civic-metrics{gap:10px}.civic-sources>span{margin-left:0}.civic-facts h3{font-size:21px}}
@media(max-width:380px){.civic-facts .civic-metrics{grid-template-columns:1fr}.civic-metric{display:grid;grid-template-columns:1fr auto;gap:8px 12px;padding:18px}.civic-metric dt{min-height:0}.civic-metric dd{font-size:24px;margin:0}.civic-metric small{grid-column:1/-1}.civic-facts .civic-admin{grid-template-columns:1fr}.civic-village-heading{gap:15px}.civic-village-heading h3{font-size:18px}}
