.meter-page { max-width: 1100px; margin: 0 auto; padding: 2rem 1rem 4rem; }
.meter-intro { margin-bottom: 1.5rem; }
.meter-eyebrow { color: #2563eb; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.meter-intro h1 { margin: .35rem 0 .75rem; }
.meter-intro p { max-width: 72ch; line-height: 1.6; }
.meter-search { padding: 1rem; background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 12px; }
.meter-search label { display: block; font-weight: 700; margin-bottom: .5rem; }
.meter-search-row { display: flex; gap: .6rem; flex-wrap: wrap; }
.meter-search-row input { flex: 1 1 280px; min-width: 0; padding: .75rem; border: 1px solid #94a3b8; border-radius: 8px; font: inherit; }
.meter-search-row button { padding: .75rem 1rem; border: 1px solid #2563eb; border-radius: 8px; background: #2563eb; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.meter-search-row .meter-secondary { background: #fff; color: #1d4ed8; }
.meter-search-row button:focus-visible, .meter-toggle input:focus-visible, .meter-related a:focus-visible { outline: 3px solid #f59e0b; outline-offset: 2px; }
.meter-main-map { height: min(68vh, 620px); min-height: 400px; width: 100%; border-radius: 12px; z-index: 0; }
.meter-status { min-height: 1.5em; margin: .65rem 0; color: #334155; }
.meter-note { color: #475569; font-size: .95rem; line-height: 1.55; margin-top: 1.2rem; }
.meter-related { margin-top: 1rem; }
.meter-toggle-row { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin: .8rem 0; }
.meter-toggle { display: inline-flex; align-items: center; gap: .5rem; font-weight: 700; cursor: pointer; }
.meter-toggle input { width: 1.2rem; height: 1.2rem; accent-color: #2563eb; }
.meter-toggle-row .meter-status { margin: 0; flex-basis: 100%; }
@media (max-width: 600px) { .meter-page { padding-top: 1rem; } .meter-search-row button { flex: 1 1 auto; } .meter-main-map { min-height: 440px; } }
