.city-page main{font-size:16px;line-height:1.7}
.city-wrap{width:min(1280px,calc(100% - 112px));margin:0 auto}
.city-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:start;gap:64px;padding:58px 0 70px}
.city-breadcrumb{font-size:12px;color:#536154;margin:0 0 30px;display:flex;gap:10px;flex-wrap:wrap}
.city-breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.city-kicker{font-size:12px;font-weight:bold;letter-spacing:1.8px;line-height:1.6;margin:0 0 18px}
.city-title{font:clamp(60px,5.6vw,84px)/.99 Bebas,Impact,sans-serif;letter-spacing:0;margin:0 0 22px}
.city-title span{display:block;color:#758366}
.city-lede{font-size:18px;color:#4c5e50;line-height:1.75;margin:0 0 24px;max-width:490px}
.city-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px;margin:0 0 34px}
.city-actions .button{font-size:22px;padding:16px 24px;line-height:1.2}
.city-link{display:inline-block;text-decoration:underline;text-underline-offset:5px;font-size:14px;font-weight:bold}
.city-approach{border-top:1px solid #aab5a0;padding-top:26px}
.city-approach h2{font:29px/1.1 Bebas,Impact,sans-serif;margin:0 0 14px}
.city-route-steps{counter-reset:route;list-style:none;margin:0;padding:0;display:grid;gap:18px}
.city-route-steps li{position:relative;padding-left:39px;font-size:14px;line-height:1.65;color:#536154}
.city-route-steps li::before{counter-increment:route;content:'0' counter(route);position:absolute;left:0;top:0;color:#a47923;font:20px/1.4 Bebas,Impact,sans-serif}
.city-route-steps strong{color:#14382b;display:block;font-size:14px}
.city-map{margin:0;border:1px solid #82917b;background:#fffdf5;box-shadow:7px 7px 0 #14382b;min-width:0}
.city-map-heading{background:#d9ac3e;border-bottom:1px solid #82917b;padding:17px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.city-map-heading strong{font:25px/1.1 Bebas,Impact,sans-serif;letter-spacing:.3px}
.city-map-heading span{font-size:11px;letter-spacing:1px;white-space:nowrap}
.city-map-image{display:block}
.city-map img{display:block;width:100%;height:auto;max-width:100%;border:0;border-radius:0}
.city-map figcaption{border-top:1px solid #c6cfbd;padding:15px 20px 18px;font-size:12px;color:#536154;line-height:1.6}
.city-map figcaption strong{display:block;font-size:14px;color:#14382b;margin-bottom:4px}
.city-map .city-attribution{display:block;color:#14382b;font-size:12px;margin-bottom:5px}
.city-map figcaption a{text-decoration:underline;text-underline-offset:3px}
.city-map-cta{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 20px;border-top:1px solid #c6cfbd;font:22px/1.2 Bebas,Impact,sans-serif;letter-spacing:.6px;background:#14382b;color:#fff8e9}
.city-map-cta:hover{background:#29533a}
.city-band{background:#14382b;color:#f4f0e5;border-bottom:6px solid #d5a83c;padding:24px 0}
.city-band .city-wrap{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap}
.city-band span{font:25px/1.2 Bebas,Impact,sans-serif;letter-spacing:.5px}
.city-experience{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:74px;padding:80px 0}
.city-photo{position:relative;margin:0 16px 0 0;border:7px solid #e3dccb;box-shadow:1px 1px 0 #82917b}
.city-photo>img{width:100%;height:480px;object-fit:cover;border-radius:0}
.city-photo figcaption{position:absolute;bottom:20px;left:-20px;background:#d9ac3e;border:1px solid #14382b;padding:15px 22px;font:27px/1.1 Bebas,Impact,sans-serif;transform:rotate(-3deg)}
.city-heading{font:clamp(44px,4.3vw,62px)/1 Bebas,Impact,sans-serif;margin:0 0 23px;letter-spacing:0}
.city-experience p:not(.city-kicker){color:#536154;line-height:1.8;margin:0 0 22px}
.city-benefits{display:grid;gap:0;margin:0 0 22px}
.city-benefits div{padding:14px 0;border-top:1px solid #b8c1ad}
.city-benefits dt{font:23px/1.2 Bebas,Impact,sans-serif;margin-bottom:4px}
.city-benefits dd{margin:0;font-size:14px;line-height:1.7;color:#536154}
.city-visit{background:#dfe5d5;padding:68px 0}
.city-visit-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:74px}
.city-address{font-style:normal;font-size:20px;line-height:1.65;margin-bottom:14px}
.city-arrival{max-width:480px;font-size:15px;color:#536154;margin:0 0 24px}
.city-visit .city-link{margin-right:18px;margin-bottom:14px}
.city-hours{margin:0 0 25px;border-top:1px solid #9cad95}
.city-hours div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #9cad95;padding:14px 0;font-size:16px}
.city-hours dd{margin:0;font-weight:bold;white-space:nowrap}
.city-visit .button{font-size:22px;line-height:1.2}
.city-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:74px;padding:76px 0}
.city-faq details{border-top:1px solid #aeb9a5;padding:0}
.city-faq details:last-child{border-bottom:1px solid #aeb9a5}
.city-faq summary{font-weight:bold;font-size:16px;padding:20px 22px 20px 0;cursor:pointer;line-height:1.5}
.city-faq details p{font-size:15px;line-height:1.8;margin:0 0 22px;color:#536154}
.city-faq details a{text-decoration:underline;text-underline-offset:3px}
.city-other{border-top:1px solid #aeb9a5;padding:25px 0 45px;display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;font-size:14px}
.city-other>strong{font:23px/1.2 Bebas,Impact,sans-serif;margin-right:8px}
.city-other a{text-decoration:underline;text-underline-offset:4px}
.city-page main a:focus-visible,.city-page main summary:focus-visible{outline:3px solid #a47620;outline-offset:5px}
@media(max-width:1050px){
 .city-wrap{width:calc(100% - 64px)}
 .city-hero{gap:36px;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
 .city-title{font-size:64px}
 .city-lede{font-size:16px}
 .city-experience,.city-visit-grid,.city-faq{gap:40px}
 .city-photo>img{height:450px}
}
@media(max-width:800px){
 .city-wrap{width:calc(100% - 40px)}
 .city-hero{grid-template-columns:minmax(0,1fr);gap:32px;padding:30px 0 48px}
 .city-breadcrumb{margin-bottom:24px}
 .city-title{font-size:clamp(52px,10vw,76px)}
 .city-lede{max-width:none}
 .city-map{max-width:600px;width:100%;margin:auto;box-shadow:5px 5px 0 #14382b}
 .city-map-heading{padding:15px}
 .city-map-heading strong{font-size:24px}
 .city-map figcaption{padding:15px}
 .city-map-cta{padding:16px 15px;font-size:21px}
 .city-band .city-wrap{display:grid;grid-template-columns:1fr 1fr;gap:18px}
 .city-band span{font-size:23px}
 .city-experience,.city-visit-grid,.city-faq{grid-template-columns:minmax(0,1fr);gap:34px}
 .city-experience{padding:48px 0}
 .city-photo{margin-left:10px;margin-right:0}
 .city-photo>img{height:370px}
 .city-photo figcaption{left:-17px;font-size:24px}
 .city-visit{padding:45px 0}
 .city-faq{padding:45px 0}
 .city-faq .city-heading{margin-bottom:0}
 .city-other{padding-bottom:80px;gap:15px 20px}
}
@media(max-width:390px){
 .city-map-heading{flex-wrap:wrap;gap:7px}
 .city-map-heading span{font-size:11px}
 .city-hours div{font-size:14px;gap:12px}
 .city-title{font-size:51px}
}
