.catalog-heading { margin-bottom: 2rem; }
.menu a.catalog-area-current { color: var(--blue); text-decoration: underline; text-decoration-color: var(--gold-ink); text-decoration-thickness: 2px; text-underline-offset: .55rem; }
.catalog-heading h1 { max-width: 23ch; margin-top: .5rem; }
.catalog-intro { max-width: 65ch; font-size: 1.15rem; color: var(--muted); }
.catalog-tabs, .catalog-back { display: flex; flex-wrap: wrap; gap: .75rem 2rem; margin-block: 2rem; }
.catalog-tabs { border-bottom: 1px solid var(--line); }
.catalog-tabs a { padding: .75rem .1rem; border-bottom: 3px solid transparent; text-decoration: none; }
.catalog-tabs [aria-current] { border-color: var(--gold); color: var(--blue); font-weight: 700; }
.catalog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 3rem 2rem; }
.catalog-card { min-width: 0; }
.catalog-card-image { display: block; width: 100%; height: auto; aspect-ratio: 1.6; object-fit: cover; border-radius: .3rem; }
.catalog-card h2, .catalog-card h3 { font-size: 1.4rem; line-height: 1.35; margin: 1rem 0 .6rem; }
.catalog-card h2 a, .catalog-card h3 a { text-decoration: none; }
.catalog-card h2 a:hover, .catalog-card h3 a:hover { text-decoration: underline; }
.catalog-card p { margin-block: .6rem; }
.catalog-date { display: flex; flex-wrap: wrap; gap: .25rem .75rem; font-size: .85rem; color: var(--blue); }
.catalog-date span, .catalog-status { font-weight: 700; }
.catalog-venue { color: var(--muted); font-size: .9rem; }
.catalog-cover { margin-block: 2rem; }
.catalog-cover img { width: 100%; max-height: 31rem; aspect-ratio: 2.2; object-fit: cover; border-radius: .3rem; }
.catalog-single .entry-content { max-width: 72ch; }
.catalog-single .entry-details { max-width: 60rem; }
.catalog-back { border-top: 1px solid var(--line); padding-top: 1rem; }
.catalog-back a { padding-block: .6rem; }
.home-offerings .offerings { gap: 3rem; }
.home-offerings .offering { padding-block: 1rem; border-bottom: 1px solid var(--line); }
.home-offerings .offering h4 { font-size: 1.2rem; margin: 0 0 .5rem; }
.home-offerings .offering p { margin: 0; }
.home-offerings .offering-group > img { width: 100%; aspect-ratio: 2.4; object-fit: cover; border-radius: .3rem; }
.home-offerings .offering-group > h3 { margin-top: 1.25rem; }
.home-agenda { background: var(--soft); }
.home-agenda .event-item { display: grid; grid-template-columns: 7rem 1fr; gap: 2rem; border-bottom: 1px solid var(--line); padding: 1.5rem 0; }
.home-agenda .event-item time { display: flex; flex-direction: column; color: var(--blue); }
.home-agenda .event-item time strong { font-size: 2rem; line-height: 1.2; }
.home-agenda .event-item h3 { margin: 0 0 .5rem; font-size: 1.35rem; }
.home-agenda .event-item p { margin: .4rem 0; }
.site-nav .menu > li { position: relative; }
.site-nav .submenu-toggle { display: none; min-width: 44px; min-height: 44px; padding: .25rem; background: transparent; color: var(--blue); border: 0; }
.site-nav .submenu-toggle::after { content: '⌄'; font-size: 1.2rem; }
.js .site-nav .submenu-toggle { display: inline-flex; align-items: center; justify-content: center; }
.site-nav .sub-menu { margin: 0; padding: .5rem; list-style: none; background: white; border: 1px solid var(--line); }
.site-nav .sub-menu[hidden] { display: none; }
.site-nav .sub-menu a { display: block; padding: .75rem; white-space: normal; }
.site-footer .sub-menu { margin: 0; padding-left: .75rem; border-left: 2px solid var(--line); }
@media(min-width:87.5rem) {
 .site-nav .menu { gap: .65rem; }
 .site-nav .menu-item-has-children { display: flex; align-items: center; }
 .site-nav .sub-menu { position: absolute; top: 100%; left: 0; min-width: 13rem; z-index: 30; box-shadow: 0 .5rem 1.5rem #00316d18; }
}
@media(max-width:87.49rem) {
 .site-nav .menu-item-has-children > a { display: inline-block; }
 .site-nav .submenu-toggle { float: right; }
 .site-nav .sub-menu { clear: both; margin: 0 0 .5rem; }
}
@media(max-width:63.99rem) { .catalog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:47.99rem) {
 .catalog-grid { grid-template-columns: 1fr; }
 .catalog-cover img { aspect-ratio: 1.5; }
 .home-agenda .event-item { grid-template-columns: 4.5rem minmax(0,1fr); gap: 1rem; }
}
.large-text .catalog-grid, .large-text .home-agenda .event-item { grid-template-columns: 1fr; }
.high-contrast .catalog-card, .high-contrast .home-agenda, .high-contrast .site-nav .sub-menu { background: #000; color: #fff; }
.high-contrast .catalog-date, .high-contrast .catalog-venue, .high-contrast .catalog-intro, .high-contrast .home-agenda time { color: #fff; }
.high-contrast .catalog-tabs [aria-current], .high-contrast .site-nav .submenu-toggle { color: #ffdf00; }
