.fountain-figure { margin: 0; }
.fountain-figure .article-hero-image { display: block; height: auto; max-height: 650px; }
.fountain-figure figcaption { padding: 12px 20px; color: var(--muted); font-size: 13px; text-align: center; background: var(--surface); }
.article-body .fountain-updated, .article-body .fountain-table-hint { font-size: 14px; }
.fountain-toc { display: flex; flex-wrap: wrap; gap: 10px; margin: 25px 0 35px; }
.fountain-toc a { padding: 10px 16px; border: 1px solid var(--line); border-radius: 30px; text-decoration: none; }
.fountain-schedule caption { padding: 16px; text-align: left; font-weight: 700; background: #f4efe4; }
.fountain-schedule .comparison-table { min-width: 820px; }
.fountain-schedule .comparison-table th, .fountain-schedule .comparison-table td { padding: 13px 10px; text-align: center; }
.fountain-schedule .comparison-table tbody th { width: auto; }
.fountain-schedule .evening-row { background: #edf3e8; }
.fountain-schedule:focus-visible { outline: 3px solid var(--green); outline-offset: 3px; }
.fountain-music { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.fountain-music div { padding: 18px; border: 1px solid var(--line); border-radius: 12px; }
.fountain-music dt { font-weight: 750; margin-bottom: 5px; }
.fountain-music dd { margin: 0; color: var(--muted); }
.article-body [id] { scroll-margin-top: 110px; }
@media (max-width: 600px) { .fountain-music { grid-template-columns: 1fr; } .fountain-figure .article-hero-image { min-height: 235px; object-fit: cover; } }
