.article-body{width:min(940px,calc(100% - 40px))}
.article-body .lead{font-size:21px;color:var(--ink)}
.article-hero{position:relative;overflow:hidden}
.article-hero:after{content:"5";position:absolute;right:5vw;bottom:-.24em;font-family:"Playfair Display",serif;font-size:clamp(220px,34vw,500px);line-height:1;color:rgba(255,255,255,.035);pointer-events:none}
.article-hero>*{position:relative;z-index:1}
.read-link,.map-link{margin-top:18px;display:inline-flex;align-items:center;gap:12px;color:var(--red);font-weight:800}
.map-link{font-size:14px}
.venue-entry{display:grid;grid-template-columns:90px 1fr;gap:28px;padding:52px 0;border-top:1px solid var(--line)}
.venue-entry:first-of-type{margin-top:18px}
.venue-rank{font-family:"Playfair Display",serif;font-size:62px;line-height:1;color:rgba(226,34,54,.28)}
.venue-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.venue-content h2,.bonus-box h2,.article-cta h2{font-size:clamp(32px,5vw,48px);line-height:1.05;margin:7px 0 15px}
.district{color:var(--red);font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:800}
.rating{flex:0 0 auto;min-width:110px;text-align:right}
.rating strong,.bonus-score strong{display:block;font-family:"Playfair Display",serif;font-size:48px;line-height:1;color:var(--red)}
.rating span,.bonus-score span{display:block;margin-top:7px;color:var(--muted);font-size:13px;font-weight:700}
.venue-note{padding:18px 20px;background:rgba(217,155,56,.09);border-left:3px solid var(--gold);font-size:16px!important}
.bonus-box{display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center;margin:40px 0 70px;padding:38px;background:var(--ink);color:#fff}
.bonus-box h2{margin-top:8px}
.bonus-box p{color:#d9d4ca}
.bonus-box .map-link{color:#ffbf72}
.bonus-score{text-align:right}
.bonus-score strong{color:#ffbf72;font-size:64px}
.bonus-score span{color:#d9d4ca}
.article-cta{display:flex;justify-content:space-between;align-items:center;gap:34px;margin-top:58px;padding:38px;border:1px solid var(--line);background:var(--paper)}
.article-cta h2{margin-top:8px}
.article-cta p{margin-bottom:0}
.cta-button{flex:0 0 auto;padding:15px 20px;background:var(--red);color:#fff;font-weight:800;border-radius:999px}
.back-link{margin-top:38px}
@media(max-width:850px){.venue-entry{grid-template-columns:1fr;gap:12px}.venue-top{display:block}.rating{text-align:left;margin-top:18px}.article-cta,.bonus-box{display:block}.bonus-score{text-align:left;margin-top:30px}}
