:root{--cs-navy:#062B5C;--cs-orange:#F56A00;--cs-blue:#F4F8FC;--cs-cream:#FFFDF8;--cs-slate:#667085;--cs-line:#E6EAF0;--cs-ink:#17233A;--cs-bg:#F7F9FC;--cs-green:#0D7A5B}
body.city-subpage{background:var(--cs-bg)}
.cs-hero{position:relative;overflow:hidden;background:linear-gradient(110deg,#062B5C 0%,#0A4673 65%,#1B667F 100%);color:#fff}
.cs-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38}
.cs-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,43,92,.94),rgba(6,43,92,.72) 62%,rgba(6,43,92,.38));pointer-events:none}
.cs-hero-inner{position:relative;z-index:1;padding:48px 0 54px}.cs-crumb{font-size:.76rem;color:rgba(255,255,255,.76);margin-bottom:16px}.cs-crumb a{color:#fff;text-decoration:none}.cs-kicker{font-size:.66rem;font-weight:900;letter-spacing:.09em;color:#FFD4B3;text-transform:uppercase}.cs-hero h1{font-family:Georgia,serif;font-size:2.7rem;line-height:1.05;margin:8px 0 10px;color:#fff}.cs-hero p{max-width:720px;margin:0;color:#E6EFF6;font-size:.92rem;line-height:1.65}.cs-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.cs-pill{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.15);font-size:.68rem;font-weight:800}
.cs-shell{padding:24px 0 64px}.cs-toolbar{background:#fff;border:1px solid var(--cs-line);border-radius:14px;padding:10px 12px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-bottom:20px}.cs-toolbar::-webkit-scrollbar{display:none}.cs-toolbar a{padding:8px 11px;border-radius:999px;background:var(--cs-blue);font-size:.68rem;font-weight:800;color:var(--cs-navy);white-space:nowrap;text-decoration:none}.cs-toolbar a.active{background:var(--cs-navy);color:#fff}
.cs-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}.cs-card{background:#fff;border:1px solid var(--cs-line);border-radius:16px;padding:20px;margin-bottom:16px}.cs-eyebrow{font-size:.62rem;color:var(--cs-orange);font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.cs-card h2,.cs-card h3{color:var(--cs-navy)}.cs-card h2{font-size:1.35rem;margin:0 0 8px}.cs-card p{font-size:.84rem;line-height:1.7;color:#556273}.cs-rich{color:#445268;font-size:.9rem;line-height:1.78}.cs-rich h2,.cs-rich h3,.cs-rich h4{color:var(--cs-navy);margin-top:1.35em}.cs-rich img{max-width:100%;height:auto;border-radius:12px}.cs-rich table{width:100%;border-collapse:collapse;display:block;overflow:auto}.cs-rich th,.cs-rich td{border:1px solid var(--cs-line);padding:9px;text-align:left}
.cs-place-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.cs-place{display:grid;grid-template-columns:145px minmax(0,1fr);border:1px solid var(--cs-line);border-radius:14px;overflow:hidden;background:#fff;text-decoration:none;color:inherit}.cs-place-img{min-height:145px;background:linear-gradient(135deg,#C5D8E0,#E8D4B2);position:relative;overflow:hidden}.cs-place-img img{width:100%;height:100%;object-fit:cover;display:block}.cs-place-img.placeholder:after{content:"YS";position:absolute;inset:0;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--cs-navy),#0B4D80);font-weight:900;font-size:1.4rem}.cs-place-body{padding:13px;min-width:0}.cs-place-body h3{margin:0 0 6px;font-size:.92rem}.cs-place-body p{margin:0;font-size:.72rem;line-height:1.55}.cs-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.cs-meta span{font-size:.58rem;background:var(--cs-blue);padding:5px 7px;border-radius:999px;color:#526174}.cs-read{display:inline-flex;margin-top:9px;color:var(--cs-orange);font-size:.68rem;font-weight:900}
.cs-route-list{display:grid;gap:9px;margin-top:14px}.cs-route{display:flex;align-items:center;gap:12px;border:1px solid var(--cs-line);border-radius:12px;padding:13px 14px;text-decoration:none;color:inherit}.cs-route:hover{border-color:#F6B27B}.cs-route-main{min-width:0}.cs-route-main b{display:block;color:var(--cs-navy);font-size:.84rem}.cs-route-main span{font-size:.68rem;color:var(--cs-slate)}.cs-route-arrow{margin-left:auto;color:var(--cs-orange);font-weight:900}
.cs-faq{display:grid;gap:9px}.cs-faq details{background:#fff;border:1px solid var(--cs-line);border-radius:12px;padding:0 14px}.cs-faq summary{cursor:pointer;padding:13px 0;font-size:.82rem;font-weight:800;color:var(--cs-navy)}.cs-faq-answer{padding:0 0 14px;color:#556273;font-size:.78rem;line-height:1.65}
.cs-side{position:sticky;top:92px}.cs-sidecard{background:#fff;border:1px solid var(--cs-line);border-radius:15px;padding:16px;margin-bottom:14px}.cs-sidecard h3{margin:0 0 10px;color:var(--cs-navy);font-size:.9rem}.cs-jump{display:grid;gap:5px}.cs-jump a{padding:7px 8px;border-radius:8px;color:#556273;font-size:.7rem;text-decoration:none}.cs-jump a.active,.cs-jump a:hover{background:var(--cs-blue);color:var(--cs-navy)}.cs-cta{background:linear-gradient(135deg,var(--cs-navy),#0B4D80);color:#fff}.cs-cta h3{color:#fff}.cs-cta p{font-size:.7rem;line-height:1.5;color:#DCE8F1}.cs-btn{display:inline-flex;padding:9px 12px;border-radius:9px;background:var(--cs-orange);color:#fff;text-decoration:none;font-size:.68rem;font-weight:850;margin-top:7px}.cs-btn.secondary{background:#fff;color:var(--cs-navy)}
.cs-more{background:#fff;border:1px solid var(--cs-line);border-radius:16px;padding:18px;margin-top:16px}.cs-more h3{margin:0 0 12px;color:var(--cs-navy);font-size:1rem}.cs-more-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.cs-more-grid a{padding:11px 8px;border-radius:10px;background:var(--cs-blue);text-align:center;font-size:.63rem;font-weight:800;color:var(--cs-navy);text-decoration:none}
/* dedicated map page */
.cs-map-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr);gap:22px;align-items:start}.cs-map-wrap{background:#fff;border:1px solid var(--cs-line);border-radius:16px;padding:12px;overflow:hidden;isolation:isolate}.cs-map{height:560px;border-radius:12px;overflow:hidden;position:relative;z-index:0}.cs-map .leaflet-pane,.cs-map .leaflet-top,.cs-map .leaflet-bottom{z-index:auto!important}.cs-map-list{background:#fff;border:1px solid var(--cs-line);border-radius:16px;padding:16px}.cs-map-list h2{font-size:1rem;color:var(--cs-navy);margin:0 0 10px}.cs-map-place{display:flex;gap:10px;padding:10px 6px;border-bottom:1px solid #EEF1F5;text-decoration:none;color:inherit}.cs-map-place:last-child{border-bottom:0}.cs-pin-num{width:28px;height:28px;border-radius:50%;background:var(--cs-navy);color:#fff;display:grid;place-items:center;font-size:.7rem;font-weight:900;flex:0 0 auto}.cs-map-place b{display:block;color:var(--cs-navy);font-size:.78rem}.cs-map-place span{display:block;color:var(--cs-slate);font-size:.66rem;margin-top:2px}
@media(max-width:980px){.cs-layout,.cs-map-grid{grid-template-columns:1fr}.cs-side{position:static}.cs-more-grid{grid-template-columns:repeat(3,1fr)}.cs-map{height:390px}}
@media(max-width:700px){.cs-hero-inner{padding:38px 0 42px}.cs-hero h1{font-size:2rem}.cs-shell{padding-top:14px}.cs-layout{gap:14px}.cs-place-grid{grid-template-columns:1fr}.cs-place{grid-template-columns:1fr}.cs-place-img{min-height:165px}.cs-more-grid{grid-template-columns:1fr 1fr}.cs-card{padding:16px}.cs-map{height:260px}.cs-toolbar{position:sticky;top:68px;z-index:20;border-radius:0;margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}}
