/* Shared organizer lockup: identical geometry wherever the component appears. */
maps-brand { display: block; flex-shrink: 0; }
maps-brand .brand-lockup { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 3px; color: var(--ink); }
maps-brand .brand-lockup .brand { position: static; margin: 0; font: 400 36px/.9 MonumentExtended, sans-serif; letter-spacing: -.025em; color: inherit; }
maps-brand .brand-lockup .company-lockup { display: block; margin: 0; color: inherit; font: 500 7.5px/1.2 Montserrat, sans-serif; letter-spacing: .025em; text-transform: uppercase; white-space: nowrap; }
nav .nav-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 14px 21px; border: 1px solid var(--lime); border-radius: 0; background: var(--lime); color: var(--ink); font-weight: 700; transition: background-color .2s ease, border-color .2s ease, transform .2s ease; }
nav .nav-cta:hover { background: #b8e33b; border-color: #b8e33b; transform: translateY(-2px); }

/* Original pictograms use a shared canvas, equipment stroke and athlete weight. */
.station-icon{display:block;width:88px;height:76px;max-width:100%;margin:0 auto;color:#35442b}
.station-icon svg{display:block;width:100%;height:100%;overflow:visible}
.station-icon .athlete{stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.station-icon .equipment{stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.station-icon .equipment-fill{fill:#c9d5b0}
@media(max-width:480px){.station-icon{width:82px;height:70px}}
@media (max-width: 700px) {
  maps-brand .brand-lockup .brand { font-size: 30px; }
  maps-brand .brand-lockup .company-lockup { font-size: 6.8px; letter-spacing: 0; }
  nav .nav-cta { min-height: 44px; padding: 11px 14px; }
}
@media (prefers-reduced-motion: reduce) {
  nav .nav-cta, .station-icon { transition: none; }
  nav .nav-cta:hover, .station-list li:hover .station-icon { transform: none; }
}
@media (max-width: 480px) {
  nav .nav-cta { white-space: nowrap; gap: 8px; padding: 11px 12px; font-size: 11px; }
}

/* Readable identity while the reusable component is loading or unavailable. */
maps-brand:not(:defined){flex-shrink:1;max-width:48%;font-size:12px;line-height:1.35;overflow-wrap:anywhere}

/* Strong, consistent directional icons for participation CTAs. */
.cta-arrow { display: block; width: 28px; height: 28px; flex: 0 0 auto; transition: transform .3s var(--ease); }
nav .nav-cta { gap: 12px; }
nav .nav-cta .cta-arrow { width: 22px; height: 22px; }
:is(.button, .nav-cta):is(:hover, :focus-visible) .cta-arrow { transform: translate(2px, -2px); }
@media (max-width: 360px) { nav .nav-cta { gap: 8px; } nav .nav-cta .cta-arrow { width: 20px; height: 20px; } }
@media (prefers-reduced-motion: reduce) { .cta-arrow { transition: none; } :is(.button, .nav-cta):is(:hover, :focus-visible) .cta-arrow { transform: none; } }
