.mobile-menu{display:none}
@media(max-width:900px){
 header{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center!important;gap:0 12px!important;padding:16px 6%!important}
 header>.brand{min-width:0;font-size:clamp(19px,5.2vw,25px);line-height:1.05}
 header>.brand small{font-size:8px;letter-spacing:.12em;margin-top:6px}
 header>nav,header>.language-switch{display:none!important}
 .mobile-menu{display:block;position:relative;justify-self:end}
 .mobile-menu summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 12px;list-style:none;border:1px solid #d71920;color:#b70e19;background:#fff;font:700 12px 'DM Sans',Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}
 .mobile-menu summary::-webkit-details-marker{display:none}
 .mobile-menu summary::after{content:'☰';font-size:19px;line-height:1}
 .mobile-menu[open] summary::after{content:'×';font-size:24px}
 .mobile-menu summary:focus-visible,.mobile-menu a:focus-visible{outline:3px solid #d71920;outline-offset:3px}
 .mobile-menu-panel{position:absolute;z-index:1000;right:0;top:calc(100% + 12px);width:min(300px,calc(100vw - 12vw));background:#fff;border-top:4px solid #d71920;box-shadow:0 10px 32px #0003;padding:8px 18px 14px}
 .mobile-menu-panel nav{display:flex!important;flex-direction:column;align-items:stretch;gap:0!important;font-size:13px!important;line-height:1.4}
 .mobile-menu-panel nav a{display:block;padding:13px 2px;border-bottom:1px solid #e7e7e5;min-height:44px}
 .mobile-menu-panel nav a[aria-current=page]{color:#c91622}
 .mobile-menu-panel .language-switch{display:flex!important;gap:9px;align-items:center;margin-top:14px;font-size:12px}
 .mobile-menu-panel .language-switch a{padding:5px 0}
 .hero h1{overflow-wrap:normal}
 .hero p{max-width:100%}
}
@media(max-width:480px){
 header>.brand small{font-size:7px;letter-spacing:.08em}
 .hero h1{font-size:clamp(39px,10vw,52px);line-height:1.07}
 .hero{min-height:0!important;padding-top:55px!important;padding-bottom:64px!important}
 .section{padding-top:58px!important;padding-bottom:58px!important}
 .section h2{font-size:clamp(34px,9vw,48px)}
 .calendar,.events{padding:16px!important;min-width:0}
 .toolbar{flex-wrap:wrap}
 .toolbar h2{font-size:26px!important}
 .controls button,.tabs button{min-height:42px}
}
.nav-events{position:relative;display:inline-flex;align-items:center;gap:4px}
.event-submenu{position:relative}.event-submenu>summary{cursor:pointer;list-style:none;padding:12px 5px;font-size:12px;color:#b70e19}.event-submenu>summary::-webkit-details-marker{display:none}.event-submenu-list{position:absolute;top:100%;left:-14px;z-index:1200;min-width:235px;background:#fff;border-top:3px solid #d71920;box-shadow:0 10px 28px #0002;padding:7px 15px}.event-submenu-list a{display:block!important;padding:12px 3px;color:#171717;white-space:nowrap;font-size:12px}.event-submenu-list a:hover{color:#c91622}.event-submenu summary:focus-visible,.event-submenu a:focus-visible{outline:3px solid #d71920;outline-offset:3px}
@media(max-width:900px){.mobile-menu-panel .nav-events{display:grid;grid-template-columns:1fr auto;align-items:center;border-bottom:1px solid #e7e7e5}.mobile-menu-panel .nav-events>a{border:0}.mobile-menu-panel .event-submenu{position:static}.mobile-menu-panel .event-submenu>summary{display:flex;min-height:44px;border:0;padding:10px 12px;background:transparent;color:#b70e19;font-size:14px}.mobile-menu-panel .event-submenu>summary:after{content:none}.mobile-menu-panel .event-submenu[open] .event-submenu-list{position:static;box-shadow:none;border:0;padding:0 0 8px 12px;grid-column:1/-1}.mobile-menu-panel .event-submenu[open]{grid-column:2}.mobile-menu-panel .event-submenu-list{min-width:0}.mobile-menu-panel .event-submenu-list a{white-space:normal;border:0;padding:9px 5px;min-height:0}.mobile-menu-panel:has(.event-submenu[open]) .event-submenu{grid-column:1/-1}.mobile-menu-panel:has(.event-submenu[open]) .event-submenu>summary{position:absolute;right:18px;top:auto;transform:translateY(-44px)}}
@media(max-width:900px){.mobile-menu-panel .nav-events{display:block;position:relative}.mobile-menu-panel .nav-events>a{padding-right:50px}.mobile-menu-panel .event-submenu>summary,.mobile-menu-panel:has(.event-submenu[open]) .event-submenu>summary{position:absolute;right:0;top:0;transform:none}.mobile-menu-panel .event-submenu[open] .event-submenu-list{position:static;padding:0 0 8px 12px}.mobile-menu-panel .event-submenu-list a{padding:9px 5px}}
/* Keep the submenu aligned with the other navigation items on every page. */
header nav .nav-events{align-self:center;align-items:center;line-height:normal}
header nav .nav-events .event-submenu{border:0;padding:0;margin:0;max-width:none;align-self:center;line-height:normal}
header nav .nav-events .event-submenu>summary{display:flex;align-items:center;justify-content:center;line-height:1;font-size:12px;padding:8px 5px}
@media(max-width:900px){.mobile-menu-panel nav .nav-events{align-self:stretch}.mobile-menu-panel nav .nav-events .event-submenu>summary{min-height:44px;padding:10px 12px}}
