@media (min-width:560px){
  .hero-actions{flex-direction:row;flex-wrap:wrap}.hero-meta{grid-template-columns:repeat(3,1fr)}.countdown-grid{grid-template-columns:repeat(4,1fr)}.radio-tabs{grid-template-columns:1fr 1fr}.sponsor-grid{grid-template-columns:repeat(4,1fr)}.ticket-info-grid{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:768px){
  .section{padding:92px 0}.grid-2{grid-template-columns:repeat(2,1fr)}.registration-layout{grid-template-columns:minmax(0,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.stats-grid{grid-template-columns:repeat(4,1fr)}.hero-grid{grid-template-columns:1.14fr .86fr}.form-grid.two{grid-template-columns:repeat(2,1fr)}.form-grid.three{grid-template-columns:repeat(3,1fr)}.payment-layout{grid-template-columns:1fr 360px}.ticket-body{grid-template-columns:minmax(0,1fr) minmax(300px,330px)}.admin-kpi{grid-template-columns:repeat(4,1fr)}.footer-grid{grid-template-columns:1.1fr .9fr}.mobile-only{display:none}.desktop-only{display:block}
}
@media (min-width:980px){
  .menu-toggle{display:none}.registration-layout{grid-template-columns:minmax(0,1fr) minmax(300px,360px)}.nav-menu{position:static;display:flex!important;flex-direction:row;align-items:center;background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;inset:auto;gap:2px}.nav-link{font-size:.92rem}.sticky-mobile-cta{display:none}.hero{padding:82px 0 98px}.promo-box{padding:36px}.form-card{padding:26px}
}
@media (max-width:767px){
  body{padding-bottom:72px}.registration-layout{grid-template-columns:1fr}.form-card{padding:16px}.radio-tabs{grid-template-columns:1fr}.radio-card{align-items:flex-start}.admin-toolbar>div{width:100%;min-width:0}.admin-toolbar>div:last-child{display:grid!important;grid-template-columns:1fr 1fr}.admin-toolbar .btn{white-space:normal}.brand-text strong{font-size:.92rem}.brand-text small{font-size:.62rem}.promo-bar__inner{font-size:.85rem}.section-head{text-align:left}.hero-panel{min-height:340px}.runner-stat{grid-template-columns:1fr}.price-promo{font-size:1.72rem}.summary-box{position:static}.admin-toolbar{align-items:stretch}.admin-toolbar .btn{width:100%}.table.mobile-cards{min-width:0}.table.mobile-cards thead{display:none}.table.mobile-cards tr{display:grid;padding:10px;border-bottom:1px solid #E3E8F4}.table.mobile-cards td{display:flex;justify-content:space-between;gap:12px;border:0;padding:8px}.table.mobile-cards td::before{content:attr(data-label);font-weight:900;color:#64748B}.ticket-head{padding:20px}.ticket-body{padding:18px}.toast-wrap{bottom:86px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
}


@media (min-width:640px){.impact-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:900px){.impact-grid{grid-template-columns:repeat(4,1fr)}.map-layout{grid-template-columns:minmax(0,1fr) 340px}.route-map-leaflet{min-height:650px}.partner-form-layout{grid-template-columns:minmax(0,1fr) minmax(300px,380px)}}
@media (min-width:980px){.nav-link{font-size:.82rem;padding:10px 8px}.brand-text strong{font-size:.98rem}.brand-text small{font-size:.64rem}.brand-logo{width:42px;height:42px}.nav{gap:8px}.nav-actions .btn{padding-inline:14px}}
@media (max-width:767px){.route-map-leaflet{height:70vh;min-height:430px}.map-sidebar{order:-1}.partner-summary{position:static}.map-fullscreen-btn{top:10px;right:10px}.marker-list{max-height:260px}}

/* 2026-08-04 header-title override */
@media(min-width:980px){.brand-text strong{font-size:clamp(1.08rem,1.2vw,1.22rem)}}
@media(max-width:767px){.brand-text strong{font-size:1rem}}
@media(max-width:420px){.brand-text strong{font-size:.96rem}}

/* 2026-08-04.2 e-ticket responsive correction */
@media (min-width:900px){.ticket-body{grid-template-columns:minmax(0,1fr) minmax(300px,330px)!important}}
@media (min-width:768px) and (max-width:899px){.ticket-body{grid-template-columns:1fr!important}.ticket-qr{width:min(100%,420px)!important;margin-inline:auto}}

/* 2026-10-03: menus stay within the visible viewport, including nested groups. */
.site-header.has-open-menu{z-index:110}
.nav-subtree-toggle{grid-template-columns:36px minmax(0,1fr) auto}
@media(max-width:979px){
  .nav-menu{position:absolute;inset:auto 16px auto;top:calc(100% + 8px);background:var(--body-top,var(--dark));max-height:var(--menu-available,calc(100vh - 112px));max-height:var(--menu-available,calc(100dvh - 112px));overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#AAB4D4 transparent;padding-bottom:max(14px,env(safe-area-inset-bottom))}
  .nav-menu>*{flex-shrink:0;min-width:0}.nav-submenu{max-height:none;overflow:visible}.nav-link{min-height:44px;white-space:normal}.nav-submenu-link{min-height:48px}.nav-submenu-link strong,.nav-submenu-link small{overflow-wrap:anywhere}
}
@media(min-width:980px){
  .nav-tree.is-open::after{content:"";position:absolute;left:50%;top:100%;width:310px;height:12px;transform:translateX(-50%)}
  .nav-tree>.nav-submenu:not(.nav-submenu-nested){max-height:var(--menu-available,calc(100vh - 112px));max-height:var(--menu-available,calc(100dvh - 112px));overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#AAB4D4 transparent;opacity:0;visibility:hidden;pointer-events:none}
  .nav-tree.is-open>.nav-submenu:not(.nav-submenu-nested){opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
  .nav-tree>.nav-submenu::before{display:none}.nav-submenu-nested{max-height:none;overflow:visible}
  .nav-subtree:not(.is-open)>.nav-submenu-nested{display:none!important}
}
