body.admin-bar .site-header { top:32px; }
#main { min-height:55vh; }
.site-header .brand img { object-fit:contain; }
.card h3 a { color:inherit; text-decoration:none; }
.card-image { display:block; overflow:hidden; }
.card-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.card:hover .card-image img { transform:scale(1.035); }
.cta-band { display:block; width:100%; max-width:none; margin:0; padding:0; }
.cta-band-inner { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.65fr); gap:clamp(50px,8vw,140px); align-items:center; min-height:430px; }
.cta-band-inner h2 { margin:0; font-size:clamp(54px,5.2vw,82px); line-height:.94; }
.cta-band-inner p { margin:0 0 30px; font-size:18px; line-height:1.6; }
.site-footer a { display:block; text-decoration:none; }
.footer-bottom a { display:inline; }
.page-content-wrap .prose > :first-child { margin-top:0; }
.archive-intro { padding-bottom:35px; }
.archive-toolbar { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:42px; }
.article-body img { height:auto; }
.event-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:45px; }
.event-facts > div { padding:24px; background:rgba(255,255,255,.58); border:1px solid rgba(29,29,27,.1); }
.event-facts small { display:block; margin-bottom:8px; color:var(--coral); font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.event-facts strong { font:500 22px/1.2 var(--serif); }
.cards > .filter-item,
.event-list > .filter-item { display:contents; }
.filter-item[hidden] { display:none !important; }
.page-content-wrap { padding-top:0; padding-bottom:0; }
.page-content-wrap > .content-shell { padding-top:0; padding-bottom:0; }
.site-footer .footer-main { width:min(var(--max),100%); }
.partner-card-link { display:block; color:inherit; text-decoration:none; }
.partner-card-link .partner-card { height:100%; }

@media (max-width:980px) {
  body.admin-bar .site-header { top:46px; }
  .mobile-menu-panel,.site-header.is-scrolled .mobile-menu-panel { height:94svh; max-height:94svh; overflow-y:auto; }
  .mobile-menu-close { font-size:28px; line-height:1; }
}
@media (max-width:720px) {
  .cta-band-inner { grid-template-columns:1fr; gap:30px; min-height:0; padding-top:68px; padding-bottom:68px; }
  .cta-band-inner h2 { font-size:clamp(41px,11.5vw,54px); }
  .event-facts { grid-template-columns:1fr; }
  .archive-toolbar { display:block; }
  html,body { max-width:100%; overflow-x:clip; }
}
