.parking-page .nav{height:auto;min-height:82px;gap:18px;flex-wrap:wrap;padding-top:15px;padding-bottom:15px}.parking-page a{color:#096774}.parking-page .brand{color:var(--ink)}.parking-intro{padding-top:40px;padding-bottom:40px;max-width:1180px}.parking-intro h1{font-size:clamp(48px,7vw,80px)}.parking-intro .lede{max-width:680px;margin-bottom:0}.parking-notice{margin:28px 0 18px;padding:18px 22px;border:1px solid #d4c8b7;border-radius:12px;background:#fff8e9;font-size:14px}.verification-banner{display:flex;gap:18px;background:#edf3f3;border:1px solid #c5d8d8;padding:24px;border-radius:14px;margin-bottom:34px}.verification-banner h2{font-size:21px;margin:0 0 7px}.verification-banner p{margin:0 0 12px;max-width:850px}.status-icon{font-size:24px;font-weight:800;flex:0 0 40px;width:40px;height:40px;background:#d5e3e3;border-radius:50%;text-align:center}.parking-page button{font:inherit;cursor:pointer;min-height:44px;border:1px solid #aab9bf;border-radius:8px;background:#fff;padding:9px 14px;color:var(--ink);font-weight:650}.parking-page button:hover{background:#e5eeed}.parking-page :focus-visible{outline:3px solid #096774;outline-offset:4px}.map-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.map-heading h2,.parking-content-grid h2{font:400 34px/1.15 Georgia,serif;margin:0 0 16px}.map-heading .eyebrow{margin-bottom:7px}#filters{display:flex;flex-wrap:wrap;gap:8px 18px;border:0;padding:0;margin:10px 0}#filters[hidden]{display:none}#filters legend{font-weight:700;margin-bottom:8px}#filters label{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;font-size:14px}#filters input{width:20px;height:20px;accent-color:#176b54}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:20px}#parking-map{height:480px;background:#e4eae7;border:1px solid #b7c7c6;border-radius:14px;z-index:0}#parking-detail{align-self:start;background:#fff;border:1px solid var(--line);border-top:4px solid var(--accent2);border-radius:12px;padding:22px;overflow-wrap:anywhere}#parking-detail h3{font:400 27px/1.2 Georgia,serif;margin:0 0 18px}#parking-detail p{font-size:14px}#parking-detail dl{font-size:13px}#parking-detail dt{font-weight:750;margin-top:12px}#parking-detail dd{margin:0}#parking-detail ul{padding-left:18px;font-size:13px}.map-caption,#map-status,#data-status,#results-status{font-size:14px;color:#4c5e6b}.map-caption{margin-top:8px}.legend{border-bottom:1px solid var(--line);padding:12px 0}.legend summary{cursor:pointer;font-weight:650;min-height:44px}#legend-items{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:18px}#legend-items li{display:flex;align-items:center;gap:10px;font-size:13px}.swatch{width:34px;border-top:4px solid;display:inline-block}.swatch.free_unrestricted{border-color:#176b54}.swatch.free_time_limited{border-color:#086c80;border-top-style:dashed}.swatch.permit{border-color:#704195;border-top-style:dotted}.swatch.restricted{border-color:#ab392e;border-top-style:double;border-top-width:6px}.swatch.paid{border-color:#254fa1;border-top-style:dashed}.swatch.not_verified{border-color:#59616c;border-top-style:dotted}#street-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}#street-list button{text-align:left;padding:18px}#street-list strong,#street-list span{display:block}#street-list span{font-size:13px;font-weight:400;margin-top:5px}.parking-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;margin:55px 0}.parking-content-grid h3{margin-top:28px}.parking-footer{padding-top:22px;padding-bottom:30px;border-top:1px solid var(--line);font-size:13px}.hall-marker{border:2px solid white;background:#254fa1;border-radius:9px;color:white;box-shadow:0 2px 8px #10203366;display:grid;place-items:center;font:bold 13px system-ui}.skip-link{position:absolute;top:-100px;left:16px;z-index:10000;background:white;padding:12px}.skip-link:focus{top:8px}.leaflet-container{font-family:inherit}.parking-page .leaflet-control-zoom a{min-width:44px;min-height:44px;line-height:44px}.leaflet-interactive:focus{outline:3px solid #096774}#map-status:empty{display:none}
@media(max-width:800px){.map-layout{grid-template-columns:1fr}#parking-map{height:420px}#parking-detail{width:100%}#street-list{grid-template-columns:1fr}.parking-content-grid{grid-template-columns:1fr;gap:28px;margin-top:38px}}
@media(max-width:500px){.parking-page .wrap{padding-left:18px;padding-right:18px}.parking-page .nav{font-size:13px}.parking-intro{padding-top:25px;padding-bottom:28px}.parking-intro .lede{font-size:17px}.verification-banner{padding:18px;gap:12px}.verification-banner h2{font-size:19px}.verification-banner p{font-size:14px}.map-heading{align-items:flex-start;flex-direction:column;gap:0}.map-heading button{margin-bottom:12px}#parking-map{height:370px}#filters{gap:2px 13px}#filters label{font-size:13px}.parking-content-grid h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.parking-page .parking-footer a{color:#9be4df}

.parking-jump-links{display:flex;flex-wrap:wrap;gap:14px 26px;margin-top:24px;font-size:15px;font-weight:700}.swatch.sign_evidence{border-color:#98600b;border-top-style:dashed}.sign-evidence{background:#fff7e7;border:1px solid #e1c590;border-radius:8px;padding:14px;margin-top:18px}.sign-evidence h4{margin:0;font-size:16px}.sign-evidence p{margin:8px 0}.sign-evidence dl{margin-bottom:10px}.paid-parking{border-top:1px solid var(--line);padding-top:36px;margin-top:48px;scroll-margin-top:20px}.paid-parking h2{font:400 38px/1.15 Georgia,serif;margin:0 0 16px}.paid-intro{max-width:780px;font-size:18px}.comparison-note{padding:18px 22px;background:#edf3f3;border-radius:10px;font-size:14px}.paid-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px}.paid-card{padding:26px;background:#fff;border:1px solid var(--line);border-radius:14px}.paid-card h3{font:400 30px/1.2 Georgia,serif;margin:10px 0}.paid-card .price{font-size:38px;font-weight:700;color:#086c80;margin:16px 0}.price span{font-size:16px;font-weight:400}.paid-card p{font-size:14px}.paid-card .eyebrow{font-size:12px}.tariff-list{display:grid;grid-template-columns:1fr auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;gap:8px;font-size:15px}.tariff-list dd{margin:0;font-weight:700}.paid-card a{font-size:14px;font-weight:700}.paid-card .source-help,.paid-footnote{font-size:13px;color:#4c5e6b}.paid-footnote{margin-top:24px}
@media(max-width:800px){.paid-cards{grid-template-columns:1fr}.paid-card{padding:22px}.paid-parking h2{font-size:32px}}
#parking-detail{max-height:570px;overflow-y:auto}#parking-detail summary{font-size:14px;font-weight:700;cursor:pointer;padding:10px 0}#street-list{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:800px){#parking-detail{max-height:none}#street-list{grid-template-columns:1fr}}

.area-controls{background:#edf3f3;border:1px solid #c5d8d8;border-radius:14px;padding:24px;margin:12px 0 20px}.area-controls[hidden]{display:none}.area-intro h3{font:400 27px/1.2 Georgia,serif;margin:0 0 8px}.area-intro p{font-size:15px;max-width:760px;margin:0 0 20px}.area-fields{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:16px}.area-fields label{font-size:13px;font-weight:700}.area-fields select,.area-fields input{display:block;width:100%;min-height:46px;margin-top:7px;border:1px solid #9caeb3;border-radius:7px;background:#fff;color:var(--ink);font:inherit;font-size:15px;padding:10px}.area-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin-top:20px}.area-actions label{display:flex;align-items:center;gap:9px;font-size:14px;min-height:44px}.area-actions input{width:20px;height:20px;accent-color:#086c80}.area-hint{font-size:13px;color:#4c5e6b;margin-bottom:0}.beach-marker{border:2px solid white;background:#086c80;border-radius:9px;color:white;box-shadow:0 2px 8px #10203366;display:grid;place-items:center;font:bold 13px system-ui}.research-label{background:#edf3f3;border-radius:8px;padding:12px;font-weight:700}.residential-guide{margin:38px 0;padding:26px;border:1px solid var(--line);border-radius:14px;background:#fff}.residential-guide h2{font:400 32px/1.2 Georgia,serif;margin:0 0 18px}.residential-guide p{max-width:900px}
@media(max-width:700px){.area-fields{grid-template-columns:1fr}.area-controls,.residential-guide{padding:18px}.area-actions{align-items:stretch;flex-direction:column}.area-fields select{max-width:100%}}
