/* One shared grid for town introduction, visitor information, records and map. */
#town-map{--town-ink:#25483c;--town-muted:#667166;--town-line:rgba(37,72,60,.22);padding-top:56px;padding-bottom:56px;background:#e8e5d9;color:var(--town-ink)}
#town-map .map-intro,#town-map .now-compact,#town-map .town-map-frame,#town-map .map-pan-controls,#town-map .town-map-mobile-links,#town-map .town-map-extra-links{box-sizing:border-box;width:calc(100% - 64px);max-width:1120px;margin-left:auto;margin-right:auto}
#town-map .map-intro{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:48px;align-items:center;margin-bottom:30px}
.map-eyebrow,.now-eyebrow{font-family:Arial,sans-serif;font-size:10px;font-weight:600;letter-spacing:.16em;line-height:1.6}
.map-eyebrow{margin:0 0 14px;color:var(--town-muted)}.map-eyebrow span{margin-right:16px}
#town-map .map-intro h2{font-size:clamp(30px,3.5vw,46px);font-weight:500;line-height:1.35;letter-spacing:.06em;margin:0 0 12px}
.map-intro-description{font-size:13px;line-height:1.9;letter-spacing:.04em;margin:0;color:var(--town-muted)}
#town-map #visitor-counter{box-sizing:border-box;margin:0;padding:8px 0 8px 24px;border:0;border-left:1px solid var(--town-line);border-radius:0;background:transparent;text-align:left;color:var(--town-ink)}
#visitor-counter h3{font-size:12px;font-weight:500;line-height:1.8;letter-spacing:.04em;margin:0 0 7px}#visitor-counter h3 span{font-size:7px;color:#a47c43;margin-right:7px;vertical-align:middle}
#visitor-counter [data-visitor-status]{font-size:12px;line-height:1.7;margin:0;color:var(--town-muted);letter-spacing:.02em}#visitor-counter strong{font-size:20px;color:var(--town-ink)}
#town-map #visitor-counter button{font-size:11px;line-height:1.6;margin:3px 0 0;padding:2px 0;min-height:0;box-shadow:none;border:0;border-bottom:1px solid var(--town-line);border-radius:0;background:transparent;color:var(--town-ink)}
#visitor-counter .visitor-about{margin-top:8px;font-size:10px;color:var(--town-muted);line-height:1.7}#visitor-counter .visitor-about summary{cursor:pointer}#visitor-counter small{font-size:10px;line-height:1.8;margin-top:4px}
#town-map .now-compact{display:grid;grid-template-columns:180px minmax(0,1fr);gap:32px;margin-top:0;margin-bottom:24px;padding:22px 0;border-top:1px solid var(--town-line);border-bottom:1px solid var(--town-line);background:transparent}
#now .now-heading{display:block;margin:0}#now .now-eyebrow{font-size:9px;letter-spacing:.12em;white-space:nowrap;margin:0 0 9px;display:flex;align-items:center;gap:7px}#now .now-eyebrow i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#a47c43}
#now #now-title{font-size:22px;font-weight:500;line-height:1.5;letter-spacing:.08em;margin:0 0 3px}#now .now-note{font-size:11px;line-height:1.8;margin:0 0 10px;color:var(--town-muted)}#now .now-heading>a{font-size:10px;letter-spacing:.05em;text-decoration:none;border-bottom:1px solid var(--town-line);padding-bottom:3px}
#now ul{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0}#now li{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:0 0 0 20px;border-left:1px solid var(--town-line);min-width:0}
#now .now-meta{display:flex;flex-direction:column;gap:3px;margin-bottom:10px;font-family:Arial,sans-serif}#now .now-category{font-size:11px;line-height:1.7;font-weight:500;letter-spacing:.03em;color:var(--town-ink)}#now time{font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.05em;line-height:1.6;color:var(--town-muted)}
#now h4{font-size:15px;font-weight:500;line-height:1.8;letter-spacing:.04em;margin:0 0 12px}#now a{color:inherit;text-decoration:none;overflow-wrap:anywhere}#now h4 a{display:block}#now h4 a:hover{text-decoration:underline;text-underline-offset:5px}#now .now-read{font-size:10px;letter-spacing:.06em;color:var(--town-muted);margin-top:auto}#now a:focus-visible,#visitor-counter summary:focus-visible,#visitor-counter button:focus-visible{outline:2px solid #25483c;outline-offset:5px}
#town-map .town-map-frame{overflow:hidden;border-radius:3px}#town-map .town-map-frame figcaption{margin:0;padding:12px 0;text-align:left;font-size:10px;color:var(--town-muted)}
@media(max-width:760px){#town-map{padding-top:32px;padding-bottom:32px}#town-map .map-intro,#town-map .now-compact,#town-map .town-map-frame,#town-map .map-pan-controls,#town-map .town-map-mobile-links,#town-map .town-map-extra-links{width:calc(100% - 40px)}#town-map .map-intro{grid-template-columns:1fr;gap:18px;margin-bottom:22px}.map-eyebrow{font-size:9px;margin-bottom:10px}#town-map .map-intro h2{font-size:30px;letter-spacing:.04em;white-space:normal}.map-intro-description{font-size:12px;line-height:1.9}#town-map #visitor-counter{border-left:0;border-top:1px solid var(--town-line);padding:13px 0 0}#visitor-counter h3{font-size:11px;margin-bottom:4px}#visitor-counter [data-visitor-status]{display:inline;font-size:11px}#town-map #visitor-counter button{margin:0 0 0 10px;font-size:10px}#visitor-counter .visitor-about{margin-top:5px}#town-map .now-compact{grid-template-columns:1fr;gap:16px;padding:20px 0;margin-bottom:20px}#now .now-heading{display:grid;grid-template-columns:1fr auto;gap:0 12px;align-items:baseline}#now .now-eyebrow{grid-column:1/-1;margin-bottom:5px}#now #now-title{font-size:21px}#now .now-note{grid-column:1;margin:0}#now .now-heading>a{grid-column:2;grid-row:2/4;align-self:center}#now ul{grid-template-columns:1fr;gap:0}#now li{padding:13px 0;border-left:0;border-top:1px solid var(--town-line);position:relative}#now .now-meta{flex-direction:row;gap:12px;align-items:baseline;margin-bottom:5px}#now .now-category{font-size:10px}#now time{font-size:10px}#now h4{font-size:14px;margin:0;padding-right:28px;line-height:1.8}#now .now-read{position:absolute;right:0;bottom:17px;font-size:0}#now .now-read::after{content:'↗';font-size:15px}}
