:root{--ink:#18302b;--muted:#5e716b;--line:#d5e0dc;--surface:#fff;--soft:#f3f7f5;--green:#176d56;--green-dark:#124d40;--amber:#b97918;--red:#aa4035;background:#edf2ef;color:var(--ink);letter-spacing:0}
.election-link{padding:7px 10px;border:1px solid #b9c9c2;background:#fff;color:#7b2944;font-size:13px;font-weight:800;text-decoration:none}
html{scroll-behavior:smooth}body{background:#edf2ef;line-height:1.5;-webkit-font-smoothing:antialiased}header,main,footer,.satellite{width:min(1180px,calc(100% - 32px))}header{min-height:86px;padding:17px 0;gap:16px}header>div:first-child{white-space:nowrap}header time{color:#465c55;font-size:15px}.header-waste{border-radius:3px;box-shadow:0 1px 3px #4a3c191a}
.satellite{max-width:none}.satellite-title h2{line-height:1.12}.satellite-weather>div{min-width:0}.satellite-weather b{line-height:1.15}.important,.forecast-section,.transport-section,.shopping,.restaurants-section,.investments-section,.featured-info-section,.grid>article,.grid>.post-map-section{border-radius:6px;box-shadow:0 2px 8px #203b3110}.important{padding:17px 20px}.important>b{font-size:13px;letter-spacing:.04em}.important-row,.chmi-warning{border-radius:3px}
main .head{gap:16px;align-items:flex-start}.head>div{min-width:0}.head>span{max-width:40%;color:var(--muted);font-size:12px;text-align:right}main h2,main h3,main h4,p{overflow-wrap:anywhere}.forecast-section,.transport-section,.investments-section{margin-top:0}.transport-shopping-row,.info-triptych,.logistics-row,.grid{gap:12px}.grid{padding-bottom:2px}
.shop,.coop-offers article,.restaurant-list article,.parcel,.health-card,.service-card,.sport-card,.investment-card{border-radius:4px;box-shadow:0 1px 3px #203b3110}.shop-list,.coop-offers,.restaurant-list,.parcel-list,.service-list,.health-list,.sports-list,.investment-list{gap:10px}.item:last-child{padding-bottom:0}.restaurant-list article>div:last-child,.health-actions,.office-links{gap:8px 14px}.restaurant-list a,.shop a,.parcel a,.health-actions a,.service-card a,.sport-card a,.investment-card a,.office-links a,.coop-leaflet-link,.mass-source{display:inline-flex;align-items:center;min-height:34px;text-underline-offset:2px}
.direction-tabs{flex-wrap:wrap}.direction-tabs button,.departures-toggle{min-height:42px;border-radius:3px;font:inherit;font-weight:750}.direction-tabs button:hover,.departures-toggle:hover{background:#e5f1ec}.direction-tabs button.active:hover{background:#164f43}.departure{min-height:58px}.departure time{white-space:nowrap}.forecast-day,.hour{border-radius:3px}.hour{min-height:160px}.weather-label{line-height:1.3}.coop-offers article>strong{font-size:16px}
.post-card,.next-mass,.health-hours,.patient-status{border-radius:3px}.post-card .hours{flex-wrap:wrap}.service-search input{min-height:44px;border-radius:3px}.service-category,.routine-health{border-radius:4px;overflow:hidden}.service-category summary,.routine-health summary{position:relative;min-height:48px;padding-right:44px;list-style:none}.service-category summary::-webkit-details-marker,.routine-health summary::-webkit-details-marker{display:none}.service-category summary:after,.routine-health summary:after{content:"+";position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:20px}.service-category[open] summary:after,.routine-health[open] summary:after{content:"−"}
.map-filters label{min-height:38px}.map-filters span{display:flex;align-items:center;min-height:38px;border-radius:3px}.common-map,.investments-map{border:1px solid #c4d1cc;border-radius:4px;background:#e7eeeb}.leaflet-control-zoom a{font-weight:800}.library-card{border-radius:4px}.library-actions a{min-height:40px;text-decoration:none}.metric{gap:16px}.metric b{text-align:right}.sports-list .sport-card{border-top:3px solid #30805f}
a{color:var(--green);text-underline-offset:2px}button,select,input,summary,a{touch-action:manipulation}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #e0a52e;outline-offset:2px}footer{line-height:1.75}
@media(max-width:900px) and (min-width:761px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid .wide{grid-column:span 2}.sports-list{grid-template-columns:repeat(2,minmax(0,1fr))}.parcel-list{grid-template-columns:repeat(2,minmax(0,1fr))}.forecast-day-group{grid-template-columns:78px minmax(0,1fr)}.hour{padding:7px}}
@media(max-width:760px){header,main,footer,.satellite{width:min(100% - 20px,1180px)}header{min-height:76px;padding:13px 0}.header-waste{padding:8px 10px}.satellite{margin:0 auto;height:64vh;min-height:430px}.satellite-title{bottom:112px}.satellite-title p{font-size:14px}.satellite-weather>div{padding:9px 7px}.satellite-weather span{font-size:10px}.satellite-weather b{font-size:16px}.important,.forecast-section,.transport-section,.shopping,.restaurants-section,.investments-section,.featured-info-section,.grid>article,.grid>.post-map-section{padding:14px}.important,.forecast-section,.investments-section,.restaurants-section{margin-left:0;margin-right:0}.transport-shopping-row,.info-triptych,.logistics-row{margin-left:0;margin-right:0}.grid{padding:0}.head{display:grid;grid-template-columns:1fr}.head>span{max-width:none;text-align:left}.forecast-hours{gap:5px}.hour{min-height:148px;padding:8px}.weather-icon{font-size:23px}.weather-label{min-height:31px}.departure{grid-template-columns:40px 54px minmax(0,1fr) 58px;gap:6px;font-size:13px}.coop-offers article{grid-template-columns:28px minmax(0,1fr) auto}.coop-offers article>strong{font-size:15px}.post-card{grid-template-columns:1fr}.post-card>:not(.hours){grid-column:1}.health-heading,.health-hours{align-items:flex-start}.common-map{height:410px}.investments-map{height:320px}.service-category-grid,.health-routine-grid{padding:8px}.library-card{padding:13px}}
@media(max-width:420px){header{align-items:flex-start;flex-direction:column}header time{font-size:13px}.header-waste{width:100%}.satellite-title h2{font-size:27px}.satellite-weather small{display:none}.important-row,.chmi-warning{padding:10px}.forecast-hours{grid-template-columns:repeat(2,minmax(0,1fr))}.hour{min-height:142px}.departure{grid-template-columns:36px 50px minmax(0,1fr);align-items:start}.departure>:last-child{grid-column:3;text-align:left}.coop-offers article{grid-template-columns:28px 1fr}.coop-offers article>strong{grid-column:2}.restaurant-list article,.shop{grid-template-columns:1fr}.restaurant-list article>a,.shop>a{justify-self:start}.metric{align-items:flex-start}.common-map{height:370px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
