.access-hero{background:linear-gradient(115deg,#eef9ff,#e1f3fc);padding:45px max(6%,calc((100% - 1100px)/2));display:flex;align-items:center;justify-content:space-between;gap:25px}.access-hero h1{font-size:37px;letter-spacing:1px;margin:10px 0 15px}.access-hero>img{object-fit:contain;transform:rotate(-5deg)}.access-hero p:not(.eyebrow){font-size:14px;color:#628297}.access-tabs{display:flex;gap:40px;justify-content:center;padding:19px;border-bottom:1px solid var(--line);font-size:13px}.access-tabs a:hover{color:var(--blue)}.access-page>section:not(.access-hero){max-width:1160px;padding:60px 30px;margin:auto}.location-section{display:grid;grid-template-columns:1fr 1.1fr;gap:60px}.location-section p{font-size:13px;color:#627e90}.location-section .address{margin:20px 0 12px;font-size:15px;color:var(--ink)}.location-help{font-size:12px!important}.hours-panel{padding:28px;background:#f5faff;border:1px solid #dcecf6;border-radius:10px;align-self:center}.hours-panel table{border-collapse:collapse;width:100%;margin:20px 0;font-size:11px;text-align:center;white-space:nowrap}.hours-panel th,.hours-panel td{border-bottom:1px solid #d7e8f2;padding:9px 4px}.hours-panel thead th{color:#347fa4}.hours-panel tbody th{text-align:left;font-weight:400}.hours-panel p,.hours-panel>a{font-size:11px}.hours-panel>a{color:var(--blue);text-decoration:underline}.train-section{border-top:1px solid var(--line)}.train-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:25px}.train-cards article{background:#f3f9fd;padding:25px;border-radius:8px}.train-cards article>span{color:var(--blue);font-size:11px}.train-cards h3{font-size:21px;margin:8px 0 15px}.train-cards h3 strong{display:block;color:#1488c1;font-size:16px;font-weight:500}.train-cards p{color:#688291;font-size:12px}.parking-section{border-top:1px solid var(--line);scroll-margin-top:20px}.parking-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:30px}.parking-heading h2{font-size:27px}.naoshi-note{display:flex;gap:12px;align-items:center;background:#edf8fd;border-radius:14px;padding:15px;font-size:11px;color:#4f7990}.naoshi-note img{object-fit:contain}.parking-map-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:24px;align-items:start}.map-wrap{position:sticky;top:20px;border:1px solid #d5e7f2;border-radius:12px;overflow:hidden;background:#eef6fa}#parking-map{height:565px;width:100%;background:#e8f2f7;z-index:0}.map-fallback{padding:40px;font-size:13px;color:#5a7e95}.map-toolbar{padding:12px;display:flex;align-items:center;justify-content:space-between;background:white;gap:10px}.map-toolbar span{font-size:10px;color:#7292a5}.map-toolbar button,.parking-actions button{border:1px solid #b3d9ee;background:white;border-radius:7px;padding:8px 12px;color:#267fa9;font-size:11px}.map-toolbar button:disabled,.parking-actions button:disabled{opacity:.45;cursor:default}.parking-cards{display:grid;gap:18px}.parking-card{padding:24px;border:1px solid #d6e8f3;border-radius:10px;background:white;transition:border-color .2s}.parking-card.selected{border-color:#1794d0;box-shadow:0 0 0 2px #1794d012}.parking-card-top{display:flex;align-items:center;justify-content:space-between}.parking-number{background:#258fbc;color:white;border-radius:6px;padding:3px 10px;font-size:12px}.badge{background:#eaf5fb;color:#5e8ba3;padding:3px 9px;font-size:10px;border-radius:4px}.parking-card h3{font-size:16px;margin:12px 0 0}.parking-card p{font-size:11px;color:#5c7d92}.parking-card .parking-price{color:#168ac4;font-size:13px;line-height:1.4;margin:10px 0}.parking-price strong{font-size:40px;font-weight:500;letter-spacing:1px;margin-left:6px}.parking-price span{margin-left:4px}.parking-address{margin-top:10px}.parking-actions{display:flex;align-items:center;gap:15px;margin-top:14px}.parking-actions a{font-size:12px;color:var(--blue)}.source{display:block;font-size:10px;color:#809baa;text-decoration:underline;margin-top:12px}.parking-caution{margin-top:18px;font-size:11px;color:#6b8799;line-height:1.9}.arrival{text-align:center;background:#f3faff;max-width:none!important}.arrival h2{font-size:24px}.arrival p:not(.eyebrow){font-size:12px;color:#668497;margin-top:14px}.contact-call{display:block;margin-top:20px;color:#387d9e;font-size:13px}.price-marker{background:none;border:0}.price-label{display:block;width:138px;background:white;border:2px solid #2294c8;border-radius:9px;padding:8px;color:#216c90;box-shadow:0 4px 13px #244b6630;text-align:center;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;font-size:11px;line-height:1.55;position:relative}.price-label:after{content:"";position:absolute;left:62px;bottom:-7px;background:white;border-bottom:2px solid #2294c8;border-right:2px solid #2294c8;width:10px;height:10px;transform:rotate(45deg)}.price-label strong{font-size:20px;font-weight:600}.price-label small{font-size:9px}.clinic-label{border-color:#184a70;background:#184a70;color:white;width:116px}.clinic-label:after{background:#184a70;border-color:#184a70;left:51px}.leaflet-popup-content{line-height:1.8;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif}.leaflet-container a{color:#167fae}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:800px){.access-hero{padding:35px 7%;align-items:start}.access-hero h1{font-size:28px}.access-hero p:not(.eyebrow){font-size:12px}.access-hero>img{width:75px;height:75px;margin-top:25px}.access-tabs{gap:20px;font-size:11px}.access-page>section:not(.access-hero){padding:40px 7%}.location-section{grid-template-columns:1fr;gap:30px}.hours-panel{padding:20px}.train-cards{grid-template-columns:1fr}.train-cards h3 strong{display:inline-block;margin-left:12px}.parking-heading{display:block}.parking-heading h2{font-size:23px}.naoshi-note{margin-top:20px}.parking-map-layout{grid-template-columns:1fr}.map-wrap{position:static}#parking-map{height:440px}.map-toolbar{flex-wrap:wrap}.arrival h2{font-size:21px}}

/* Compact parking captions below pins; clinic and stations remain prominent. */
.parking-map-point span,.station-map-point span,.clinic-map-point span{display:grid;place-items:center;width:100%;height:100%;border:2px solid white;border-radius:50%;background:#258fbc;color:white;font:bold 11px/1 sans-serif;box-shadow:0 1px 5px #163d5640}
.clinic-map-point span{background:#164c70;font-size:21px;border-radius:6px}.station-map-point span{background:#525e91;border-radius:5px;font-size:11px}
.leaflet-tooltip.parking-map-label{padding:3px 6px;border:1px solid #87bcd5;border-radius:5px;box-shadow:0 1px 4px #163d5618;color:#286b8b;font-size:10px;line-height:1.3;text-align:center;opacity:1!important}.parking-map-label span,.parking-map-label strong{display:block}.parking-map-label strong{font-size:12px}.leaflet-tooltip-bottom.parking-map-label:before{border-bottom-color:#87bcd5}
.leaflet-tooltip.clinic-map-label{padding:6px 10px;background:#164c70;border-color:#164c70;color:#fff;text-align:center;opacity:1!important;line-height:1.5}.clinic-map-label strong{display:block;font-size:14px}.clinic-map-label small{display:block;font-size:10px}.leaflet-tooltip-top.clinic-map-label:before{border-top-color:#164c70}
.leaflet-tooltip.station-map-label{padding:4px 7px;border:1px solid #747da6;background:white;color:#384775;text-align:center;line-height:1.3;opacity:1!important}.station-map-label strong{display:block;font-size:13px}.station-map-label small{display:block;font-size:9px}.leaflet-tooltip-top.station-map-label:before{border-top-color:#747da6}

.leaflet-tooltip-right.clinic-map-label:before{border-right-color:#164c70}
