/* Responsive media and card layout repairs. Load after readability.css. */
img{height:auto}
.hero-stage{width:100%;height:auto;aspect-ratio:6/5;object-fit:cover}
.hero-art{align-self:center}
.hero-chip{max-width:calc(100% - 44px)}
.poster-link{isolation:isolate}
.poster-link img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.show-poster{aspect-ratio:16/11;background:#17271f;padding:0 0 38px;border:1px solid #d5ddcf}
.show-poster>img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;object-position:center;background:#17271f}
.show-poster:hover img{transform:none}
.show-card>.date-pill{position:static;display:inline-block;max-width:100%;margin:16px 0 0;background:#e9edde;border-radius:10px;padding:7px 10px}
.show-card .location{margin-top:12px}
.image-watermark{position:absolute;right:10px;bottom:5px;display:inline-flex;align-items:center;gap:6px;direction:ltr;white-space:nowrap;color:#fff;font:700 16px/1 Arial,system-ui,sans-serif;letter-spacing:-.5px;pointer-events:none}
.image-watermark svg{height:28px;width:28px;flex:none}
.show-media{position:relative;margin:0 0 30px;padding:0 0 42px;background:#17271f;border-radius:18px;overflow:hidden}
.show-media>img{aspect-ratio:auto;border-radius:0;display:block;margin:0 auto;width:100%;height:auto;max-height:620px;object-fit:contain;object-position:center}
.show-media .image-watermark{bottom:7px;right:13px}
.article-body>.image-credit{font-size:16px;line-height:1.6;color:var(--muted);margin:-15px 0 28px;overflow-wrap:anywhere}
.page-illustration{display:block;width:100%;height:auto;aspect-ratio:auto;max-height:none;object-fit:contain;margin:0 0 32px;border-radius:20px}
.content-page .page-head,.content-page .prose{max-width:880px;margin-inline:auto}
.content-page .prose{min-width:0}
.content-page .prose .page-illustration{width:100%;max-width:880px}
.partner-article .source-note{font-size:16px}
.city-section{display:block;padding:40px}
.city-section>div:first-child{max-width:780px;margin-bottom:30px}
.city-section h2{white-space:normal;max-width:720px}
.city-section p{max-width:720px}
.city-grid,.city-grid.cities-page{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.city-tile,.cities-page .city-tile{display:grid;grid-template-columns:48px minmax(0,1fr) 22px;align-items:center;gap:16px;padding:22px;min-height:126px;border-radius:16px}
.city-tile>div{min-width:0}
.city-tile strong{font-size:24px;line-height:1.35;letter-spacing:-.3px;overflow-wrap:anywhere}
.city-tile small{display:block;font-size:16px;line-height:1.5;margin-top:5px;overflow-wrap:anywhere;color:#dce6dd}
.city-tile-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#f8f7f214;color:#eef56a;flex:none}
.city-tile-icon>.icon{width:27px;height:27px}
.city-tile>.icon{width:22px;height:22px}
.cities-page .city-tile{background:var(--green);color:var(--paper)}
.cities-page .city-tile:hover{background:#20382a}
.nav a{gap:7px}
.filters{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) auto}
.filters button{max-width:250px}
.article-layout{grid-template-columns:minmax(0,1fr) minmax(260px,310px);gap:36px}
.provider-list{grid-template-columns:1fr}
.footer-links{gap:30px}
.footer-links>div{min-width:130px;max-width:280px}
.header-controls{flex-shrink:0}
.header-controls .language{width:auto;max-width:170px}
.intro-strip span{flex:1 1 240px}
.booking-banner{grid-template-columns:220px minmax(0,1fr)}
html[data-cs-contrast=true] .city-tile-icon{color:#000;background:#fff;border:1px solid #000}
html[data-cs-contrast=true] .image-watermark,html[data-cs-contrast=true] .image-watermark span{color:#fff!important}
@media(max-width:1100px){
 .city-grid,.city-grid.cities-page{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hero{gap:30px}.hero h1{font-size:clamp(40px,5vw,60px)}
 .filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .filter-search{grid-column:1/-1}.filters button{max-width:none;width:100%}
 .show-grid,.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .article-layout{grid-template-columns:minmax(0,1fr) 275px;gap:25px}
 .header-inner{column-gap:18px}.nav{column-gap:14px}
}
@media(max-width:900px){
 .article-layout{grid-template-columns:1fr}.article-aside{order:1}
 .article-body{order:0}.details-box dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
 .side-note{display:none}
 .header-inner .nav{order:3;width:100%;justify-content:center}
 .header-controls{margin-inline-start:auto}
}
@media(max-width:760px){
 .hero{grid-template-columns:1fr;gap:28px}.hero-stage{aspect-ratio:4/3;height:auto}
 .hero h1{font-size:clamp(39px,9vw,60px)}
 .city-section{padding:26px}.city-section>div:first-child{margin-bottom:24px}
 .city-tile,.cities-page .city-tile{grid-template-columns:42px minmax(0,1fr) 20px;padding:18px;gap:12px;min-height:112px}
 .city-tile-icon{width:42px;height:42px}.city-tile strong{font-size:22px}
 .booking-banner{grid-template-columns:1fr}
 .show-media{border-radius:14px}.show-media>img{max-height:540px}
 .footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:24px}
 .footer-links>div{min-width:0;max-width:none}
 .header-inner .nav{align-items:stretch;justify-content:flex-start}
 .header-controls .language{max-width:140px;padding:10px}
 .header-controls{flex-shrink:1}
}
@media(max-width:600px){
 .city-grid,.city-grid.cities-page,.show-grid,.partner-grid{grid-template-columns:minmax(0,1fr)}
 .city-tile,.cities-page .city-tile{min-height:104px}
 .hero-stage{aspect-ratio:1/1}
 .feature-sticker{left:auto;right:auto;inset-inline:12px;bottom:12px;padding:14px;gap:10px}
 .feature-sticker strong{font-size:20px}.feature-sticker small{font-size:15px}
 .hero-chip{inset-inline-start:12px;top:12px}
 .intro-strip span:last-child{display:flex}
 .show-card h3{font-size:25px}
 .page-head h1{font-size:clamp(32px,8vw,42px)}
 .page-illustration{margin-bottom:26px;border-radius:14px}
 .content-page .prose .page-illustration{width:100%}
}
@media(max-width:480px){
 .filters{grid-template-columns:minmax(0,1fr)}.filters>*{grid-column:1}
 .details-box dl{grid-template-columns:minmax(0,1fr)}
 .header-inner{gap:8px}.header-controls{gap:6px}.brand{font-size:22px}
 .header-controls .language{max-width:140px;font-size:16px}
 .js .menu-toggle{font-size:15px;padding:9px 10px}
 .city-section{padding:22px}
 .footer-links{gap:18px}.footer-links a{font-size:16px}
}
