/* India Rises Pune Run: simple text navigation and white page canvas. */
.run-navigation {
  --nav-bg: #ffffff;
  --nav-panel: #ffffff;
  --nav-accent: #a17823;
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr) auto;
  gap: 24px;
  min-height: 80px;
  padding: 10px clamp(20px, 3vw, 52px);
  background: var(--nav-bg);
  border: 0;
  border-bottom: 1px solid #e3e7e4;
  box-shadow: 0 8px 32px #091e2426;
}

body.ir-site .run-navigation [data-account-open][hidden],
body.ir-site .run-navigation .mobile-account-actions[hidden],
body.ir-site .run-navigation .header-logout[hidden],
body.ir-site .run-navigation .mobile-logout[hidden],
body.ir-site .run-navigation .account-error[hidden],
body.ir-site .run-navigation .mobile-logout-error[hidden] {
  display: none !important;
}

body.ir-site .run-navigation .header-logout {
  min-height: 46px;
  border: 1px solid rgba(255, 255, 255, .3);
  border-radius: 5px;
  padding: 0 16px;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

body.ir-site .run-navigation .header-logout:hover,
body.ir-site .run-navigation .header-logout:focus-visible {
  background: #0b8791;
  color: #fff;
}

body.ir-site .run-navigation [data-logout]:disabled { opacity: .6; cursor: wait; }
body.ir-site .run-navigation .account-error,
body.ir-site .run-navigation .mobile-logout-error {
  margin: 8px 0 0;
  color: #b02e2e;
  font-size: 12px;
}

@media (min-width: 541px) {
  body.ir-site .run-navigation .mobile-logout { display: none; }
}

@media (max-width: 540px) {
  body.ir-site .run-navigation .header-logout { display: none; }
  body.ir-site .run-navigation .mobile-logout:not([hidden]) {
    display: flex;
    width: 100%;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    margin-top: 18px;
    border: 1px solid #a9c1b4;
    border-radius: 5px;
    background: #edf4ef;
    color: #183b32;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
  }
}
.run-navigation .brand-event {
  width: auto;
  min-width: 0;
  justify-content: flex-start;
}
.run-navigation .brand-event-wordmark b { color: #b32d2a; font-size: 29px; }
.run-navigation .brand-event-wordmark small { color: var(--nav-accent); font-size: 11px; letter-spacing: 3px; }
.run-navigation .main-nav {
  display: flex;
  position: static;
  width: 100%;
  max-width: none;
  min-height: 0;
  align-self: center;
  justify-content: center;
  gap: 4px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
.run-navigation .nav-group { display: flex; position: relative; align-items: stretch; flex: 1 1 0; }
.run-navigation .nav-group > button,
.run-navigation .nav-result {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 7px;
  width: 100%;
  min-height: 44px;
  padding: 10px 8px;
  border: 1px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #243d33;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.3;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background 160ms ease, color 160ms ease;
}
.run-navigation .nav-result { flex: 1 1 0; }
.run-navigation .nav-icon {
  display: inline-block;
  width: 23px;
  height: 23px;
  flex-shrink: 0;
  color: currentColor;
  vertical-align: middle;
}
.run-navigation .nav-group > button::before,
.run-navigation .nav-group > button::after,
.run-navigation .nav-result::before { content: none; display: none; }
.run-navigation .nav-group > button:hover,
.run-navigation .nav-group > button:focus-visible,
.run-navigation .nav-group.open > button,
.run-navigation .nav-result:hover,
.run-navigation .nav-result:focus-visible {
  background: #f6f7f6;
  border-color: #e3e7e4;
  color: var(--nav-accent);
}
.run-navigation .nav-dropdown,
.run-navigation .nav-dropdown-right {
  top: 100%;
  left: 0;
  right: auto;
  width: 300px;
  display: none;
  padding: 18px 12px 12px;
  border: 1px solid #e3e7e4;
  border-radius: 16px;
  background: var(--nav-panel);
  box-shadow: 0 20px 45px #05191355;
  opacity: 1;
  visibility: visible;
  transform: none;
  pointer-events: auto;
}
.run-navigation .nav-dropdown-right { left: auto; right: 0; }
.run-navigation .nav-group.open .nav-dropdown { display: grid; }
.run-navigation .nav-dropdown > small { margin: 0 10px 12px; color: var(--nav-accent); font-size: 10px; letter-spacing: 1px; }
.run-navigation .nav-dropdown > a {
  display: grid;
  grid-template-columns: 1fr;
  min-height: 46px;
  gap: 12px;
  padding: 10px;
  border: 0;
  border-radius: 9px;
  color: #243d33;
  font-size: 12px;
  font-weight: 550;
  line-height: 1.4;
}
.run-navigation .nav-dropdown > a:hover,
.run-navigation .nav-dropdown > a:focus-visible { background: #f6f7f6; color: #243d33; padding-left: 10px; }
.run-navigation .header-actions { gap: 8px; }
.run-navigation .header-login,
.run-navigation .header-register,
.run-navigation .menu-toggle {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid #d1dad5;
  border-radius: 10px;
  background: #ffffff;
  color: #243d33;
  font-size: 12px;
  font-weight: 700;
}
.run-navigation .header-register { background: #b32d2a; color: #ffffff; border-color: #b32d2a; }
.run-navigation .header-register:hover { background: #922b27; color: #ffffff; border-color: #922b27; }
.run-navigation .header-login:hover { background: #f6f7f6; }
.run-navigation .header-actions .nav-icon { width: 18px; height: 18px; }
.run-navigation .menu-toggle { display: none; width: auto; }
.run-navigation .menu-toggle .menu-label { display: inline; width: auto; height: auto; margin: 0; background: none; transform: none; }
.run-navigation .menu-toggle[aria-expanded="true"] .menu-label { transform: none; }
.run-navigation .account-trigger { border: 1px solid #d1dad5; border-radius: 10px; background: #ffffff; color: #243d33; }
.run-navigation .account-menu { border: 1px solid #d1dad5; border-radius: 12px; padding: 18px; background: var(--nav-panel); color: #243d33; }
.run-navigation .account-menu a,
.run-navigation .account-menu button,
.run-navigation .account-menu strong { color: #243d33; }
.run-navigation .account-menu small { color: var(--nav-accent); }
.run-navigation .mobile-account-actions { display: none; }
.run-navigation :focus-visible { outline: 2px solid var(--nav-accent); outline-offset: 3px; }

@media (max-width: 1100px) {
  .run-navigation { grid-template-columns: 1fr auto; min-height: 80px; gap: 12px; padding: 10px 20px; }
  .run-navigation .menu-toggle { display: inline-flex; }
  .run-navigation .main-nav {
    display: none;
    position: absolute;
    inset: 100% 0 auto;
    width: 100%;
    max-height: calc(100svh - 80px);
    overflow-y: auto;
    padding: 16px 20px 24px;
    background: var(--nav-bg);
    border-bottom: 1px solid #e3e7e4;
    opacity: 1;
    pointer-events: auto;
  }
  .run-navigation .main-nav.open { display: block; }
  .run-navigation .nav-group { display: block; }
  .run-navigation .nav-group > button,
  .run-navigation .nav-result { flex-direction: row; justify-content: flex-start; min-height: 54px; gap: 14px; padding: 12px 14px; margin-bottom: 4px; font-size: 14px; }
  .run-navigation .nav-group > button::after { display: block; content: ""; position: static; width: 7px; height: 7px; margin: -3px 4px 0 auto; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); }
  .run-navigation .nav-group.open > button::after { transform: rotate(225deg); margin-top: 4px; }
  .run-navigation .nav-dropdown,
  .run-navigation .nav-dropdown-right { position: static; width: 100%; margin: 0 0 12px; box-shadow: none; }
}
@media (max-width: 540px) {
  .run-navigation { padding-inline: 16px; }
  .run-navigation .brand-event-wordmark b { font-size: 24px; }
  .run-navigation .brand-event-wordmark small { font-size: 9px; }
  .run-navigation .header-login,
  .run-navigation .header-register { display: none; }
  .run-navigation .mobile-account-actions { display: flex; gap: 12px; margin-top: 18px; padding: 0; border: 0; }
  .run-navigation .mobile-account-actions button { display: flex; flex: 1; align-items: center; justify-content: center; gap: 9px; border: 1px solid #d1dad5; padding: 13px; border-radius: 10px; background: #ffffff; color: #243d33; }
  .run-navigation .mobile-account-actions button:last-child { background: #b32d2a; color: #ffffff; }
  .run-navigation .account-trigger strong { display: none; }
}
/* Consistent white backgrounds with readable text on formerly dark sections. */
:root {
  --site-canvas: #ffffff;
  --premium-bg: #ffffff;
  --premium-surface: #ffffff;
}
body, main { background: #ffffff; }
main#mainContent > section:not(.hero),
main#mainContent .contest-card,
main#mainContent .sponsor-heading,
main#mainContent .sponsor-lockup,
main#mainContent .sponsor-reserve,
body .site-footer {
  background: #ffffff;
  color: #15241f;
  border-color: #dce2de;
}
main#mainContent .contests h2,
main#mainContent .contests .light-heading > p,
main#mainContent .contest-card,
main#mainContent .contest-card strong,
main#mainContent .contest-card > a,
main#mainContent .register h2,
main#mainContent .register-intro,
main#mainContent .closing h2,
body .site-footer .footer-main,
body .site-footer .footer-links a,
body .site-footer .footer-phone,
body .site-footer .footer-bottom { color: #15241f; }
main#mainContent .contest-card p,
main#mainContent .contest-top small,
main#mainContent .prizes span,
main#mainContent .register-intro > p,
main#mainContent .register-notes,
main#mainContent .register-notes span,
body .site-footer .footer-main > p span { color: #52645b; }
main#mainContent .contest-top > span,
main#mainContent .prizes,
main#mainContent .prizes span,
main#mainContent .register-notes,
main#mainContent .register-notes span,
body .site-footer .footer-bottom { border-color: #dce2de; }
main#mainContent .closing .eyebrow,
main#mainContent .contests .eyebrow,
main#mainContent .contests .section-label,
main#mainContent .register .eyebrow,
main#mainContent .register .section-label { color: #a02e29; }

/* Black-and-white event canvas with neutral working surfaces. */
:root {
  --premium-surface: #f3f3f1;
  --premium-bg: #ffffff;
}

main#mainContent .contest-card {
  background: #1f1f1f;
  border-color: #4b4b4b;
  color: #ffffff;
}

main#mainContent .sponsor-heading,
main#mainContent .sponsor-lockup,
main#mainContent .sponsor-reserve,
main#mainContent .story-poster,
main#mainContent .route-map,
main#mainContent .runner-hub-shell,
main#mainContent .hub-panel,
main#mainContent .results-tool,
main#mainContent .initiative-tool,
main#mainContent .form-panel,
main#mainContent .account-dialog {
  background: #f3f3f1;
  border-color: #d3d3cf;
}

main#mainContent .hub-tabs,
main#mainContent .hub-panel-heading,
main#mainContent .form-title,
main#mainContent .selection-summary,
main#mainContent .race-day-utilities,
main#mainContent .pledge-list,
main#mainContent .account-dialog-intro {
  background: #e7e7e4;
  border-color: #d3d3cf;
}

main#mainContent .payment-section,
main#mainContent .payment-method span,
main#mainContent .form-panel input,
main#mainContent .form-panel select,
main#mainContent .form-panel textarea,
main#mainContent .results-tool input,
main#mainContent .service-form input,
main#mainContent .service-form select,
main#mainContent .service-form textarea,
main#mainContent .account-dialog input {
  background: #ffffff;
  border-color: #bdbdb9;
}

main#mainContent .payment-section,
main#mainContent .payment-method input:checked + span {
  background: #e9e9e6;
  border-color: #bdbdb9;
}

main#mainContent .route-map figcaption,
main#mainContent .information-directory,
main#mainContent .information-article,
main#mainContent .faq-list details {
  background: #f0f0ee;
  border-color: #d3d3cf;
}

main#mainContent .contests,
main#mainContent .event-updates,
main#mainContent .register,
main#mainContent .closing,
body .site-footer {
  background: #151515 !important;
  color: #ffffff !important;
  border-color: #3c3c3c !important;
}

main#mainContent .contests h2,
main#mainContent .contests .light-heading > p,
main#mainContent .contests .contest-card,
main#mainContent .contests .contest-card strong,
main#mainContent .contests .contest-card > a,
main#mainContent .event-updates h2,
main#mainContent .event-updates .updates-heading > p,
main#mainContent .register h2,
main#mainContent .register-intro,
main#mainContent .register-intro > p,
main#mainContent .closing h2,
body .site-footer .footer-main,
body .site-footer .footer-links a,
body .site-footer .footer-phone,
body .site-footer .footer-bottom {
  color: #ffffff;
}

main#mainContent .contests .contest-card p,
main#mainContent .contests .contest-top small,
main#mainContent .contests .prizes span,
main#mainContent .register-notes,
main#mainContent .register-notes span,
body .site-footer .footer-main > p span {
  color: #c9c9c5;
}

/* Solid black navigation for the black-and-white website theme. */
.run-navigation {
  --nav-bg: #101010;
  --nav-panel: #1b1b1b;
  --nav-accent: #e2bd6d;
  background: #101010;
  border-bottom-color: #3e3e3e;
}

.run-navigation .nav-group > button,
.run-navigation .nav-result {
  color: #f4f4f2;
}

.run-navigation .nav-group > button:hover,
.run-navigation .nav-group > button:focus-visible,
.run-navigation .nav-group.open > button,
.run-navigation .nav-result:hover,
.run-navigation .nav-result:focus-visible {
  background: #292929;
  border-color: #515151;
  color: var(--nav-accent);
}

.run-navigation .nav-dropdown,
.run-navigation .nav-dropdown-right {
  background: #1b1b1b;
  border-color: #505050;
}

.run-navigation .nav-dropdown > a {
  color: #f4f4f2;
}

.run-navigation .nav-dropdown > a:hover,
.run-navigation .nav-dropdown > a:focus-visible {
  background: #303030;
  color: #ffffff;
}

.run-navigation .header-login,
.run-navigation .menu-toggle,
.run-navigation .account-trigger {
  background: #202020;
  border-color: #565656;
  color: #ffffff;
}

.run-navigation .header-login:hover {
  background: #303030;
}

.run-navigation .account-menu {
  background: #1b1b1b;
  border-color: #565656;
  color: #ffffff;
}

.run-navigation .account-menu a,
.run-navigation .account-menu button,
.run-navigation .account-menu strong {
  color: #ffffff;
}

@media (max-width: 540px) {
  .run-navigation .mobile-account-actions button {
    background: #202020;
    border-color: #565656;
    color: #ffffff;
  }
}

/* Compact editorial navigation: text-led, with a red route marker. */
@media (min-width: 1101px) {
  .run-navigation {
    grid-template-columns: 190px minmax(0, 1fr) auto;
    min-height: 74px;
    gap: 22px;
  }

  .run-navigation .main-nav {
    justify-content: center;
    gap: 0;
  }

  .run-navigation .nav-group,
  .run-navigation .nav-result {
    flex: 0 0 auto;
    width: auto;
  }

  .run-navigation .nav-group + .nav-group,
  .run-navigation .nav-result {
    border-left: 1px solid #3b3b3b;
  }

  .run-navigation .nav-group > button,
  .run-navigation .nav-result {
    position: relative;
    min-height: 36px;
    padding: 0 16px;
    border: 0;
    color: #f1f1ef;
    font-size: 12px;
    font-weight: 700;
  }

  .run-navigation .nav-group > button::after,
  .run-navigation .nav-result::after {
    content: "";
    position: absolute;
    right: 16px;
    bottom: -10px;
    left: 16px;
    height: 3px;
    background: #b32d2a;
    transform: scaleX(0);
    transition: transform 160ms ease;
  }

  .run-navigation .nav-group > button:hover,
  .run-navigation .nav-group > button:focus-visible,
  .run-navigation .nav-group.open > button,
  .run-navigation .nav-result:hover,
  .run-navigation .nav-result:focus-visible {
    border: 0;
    background: transparent;
    color: #ffffff;
  }

  .run-navigation .nav-group > button:hover::after,
  .run-navigation .nav-group > button:focus-visible::after,
  .run-navigation .nav-group.open > button::after,
  .run-navigation .nav-result:hover::after,
  .run-navigation .nav-result:focus-visible::after {
    transform: scaleX(1);
  }

  .run-navigation .nav-dropdown,
  .run-navigation .nav-dropdown-right {
    top: calc(100% + 16px);
    border-radius: 0;
    border-top: 3px solid #b32d2a;
  }
}

/* India Rises visual system */
:root {
  --ink: #17332e;
  --ink-2: #21463d;
  --ink-3: #356358;
  --ivory: #f4f7f3;
  --paper: #ffffff;
  --muted: #61746d;
  --line: rgba(23, 51, 46, 0.15);
  --red: #e85b4a;
  --red-dark: #bf4438;
  --gold: #95bf3d;
  --teal: #0b8791;
  --premium-red: #e85b4a;
  --premium-gold: #95bf3d;
  --glopixs-plum: #123b34;
  --glopixs-plum-deep: #0d302b;
  --glopixs-violet: #0b8791;
  --glopixs-coral: #e85b4a;
  --glopixs-coral-deep: #bf4438;
  --glopixs-mist: #f4f7f3;
  --glopixs-ink: #17332e;
  --glopixs-muted: #61746d;
}

body {
  background: #f4f7f3 !important;
  color: #17332e !important;
}

.run-navigation,
body .site-header.run-navigation {
  background: #123b34 !important;
  background-image: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 5px 18px rgba(16, 49, 43, 0.12);
}

.run-navigation .brand-event {
  min-width: 210px;
  gap: 10px;
  padding-left: 0;
}

.run-navigation .brand-event::before,
.run-navigation .brand-event::after {
  content: none !important;
  display: none !important;
}

.india-rises-mark {
  display: block;
  width: 44px;
  height: 48px;
  flex: 0 0 auto;
  object-fit: contain;
}

.run-navigation .brand-event-wordmark {
  gap: 5px;
}

.run-navigation .brand-event-wordmark b {
  color: #ffffff !important;
  font-size: 20px;
  font-weight: 800;
}

.run-navigation .brand-event-wordmark small {
  color: #b7d94b !important;
  font-size: 10px;
  letter-spacing: 1.8px;
}

.run-navigation .nav-group > button,
.run-navigation .nav-result,
.run-navigation .header-login {
  color: #f7faf6 !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
}

.run-navigation .nav-group > button:hover,
.run-navigation .nav-group > button:focus-visible,
.run-navigation .nav-group.open > button,
.run-navigation .nav-result:hover,
.run-navigation .nav-result:focus-visible {
  color: #ffffff !important;
  background: #0b8791 !important;
  transform: translateY(-1px);
}

.run-navigation .header-register,
.button-primary,
.run-navigation .mobile-account-actions button:last-child {
  color: #ffffff !important;
  background: #e85b4a !important;
  border-color: #e85b4a !important;
}

.run-navigation .header-register:hover,
.button-primary:hover,
.run-navigation .mobile-account-actions button:last-child:hover {
  background: #bf4438 !important;
}

.run-navigation .nav-dropdown,
.run-navigation .nav-dropdown-right,
.run-navigation .account-menu {
  color: #17332e;
  background: #ffffff !important;
  border-color: #dce8df !important;
  box-shadow: 0 18px 40px rgba(17, 58, 50, 0.16);
}

.run-navigation .nav-dropdown a:hover,
.run-navigation .nav-dropdown a:focus-visible {
  color: #0b6870 !important;
  background: #eef6ef !important;
}

.hero {
  background-color: #153d35 !important;
  background-image: linear-gradient(90deg, rgba(14, 49, 43, 0.92) 0%, rgba(14, 49, 43, 0.78) 42%, rgba(14, 49, 43, 0.2) 75%, rgba(14, 49, 43, 0.06) 100%), url("assets/running/user-run-10-sunset-runners.jpg") !important;
  background-position: center 46% !important;
  background-size: cover !important;
}

.hero::after {
  background: linear-gradient(90deg, rgba(183, 217, 75, 0.8) 0 4px, transparent 4px) !important;
}

.hero .eyebrow.light {
  color: #c7e76b !important;
}

.hero .hero-intro,
.hero .availability,
.hero .availability strong {
  color: #f1f6f1 !important;
}

.hero-event-logo.hero-event-brand {
  width: auto;
  height: auto;
  flex-direction: row;
  align-items: center;
  gap: 18px;
  color: #ffffff;
  line-height: 1;
}

.hero-event-brand img {
  display: block;
  width: clamp(72px, 8vw, 104px);
  height: clamp(82px, 9vw, 116px);
  object-fit: contain;
}

.hero-event-brand > span {
  display: grid;
  gap: 10px;
}

.hero-event-brand b {
  color: #ffffff !important;
  font-size: clamp(40px, 5vw, 72px) !important;
  line-height: 0.98;
}

.hero-event-brand small {
  color: #c7e76b !important;
  font-size: clamp(15px, 1.45vw, 22px) !important;
  letter-spacing: 2.4px !important;
}

.hero-facts {
  border-top-color: #b7d94b !important;
  background: rgba(13, 48, 43, 0.94) !important;
}

.hero-facts > div > span { color: #cbd9d1 !important; }
.hero-facts > div > strong { color: #ffffff !important; }

body #mainContent .section,
body #mainContent .story,
body #mainContent .runner-hub,
body #mainContent .event-updates,
body #mainContent .faq,
body #mainContent .register,
body .site-footer {
  color: #17332e !important;
  background: #f4f7f3 !important;
  border-color: #dce6de !important;
}

body #mainContent .contests,
body #mainContent .closing {
  color: #ffffff !important;
  background: #123b34 !important;
  border-color: #123b34 !important;
}

body #mainContent .sponsors {
  color: #17332e !important;
  background: #eaf1e9 !important;
}

.section-label,
.eyebrow,
.section-heading .eyebrow {
  color: #0b7880 !important;
}

.sponsor-heading .eyebrow.light,
.closing .eyebrow.light,
.contests .eyebrow.light {
  color: #c7e76b !important;
}

.route-map-event-brand {
  display: grid;
  grid-template-columns: 34px auto;
  align-items: center;
  column-gap: 7px;
  min-width: 128px;
  background: #ffffff !important;
}

.route-map-event-brand img {
  grid-row: span 2;
  width: 32px;
  height: 38px;
  object-fit: contain;
}

.route-map-event-brand b { color: #17332e !important; font-size: 12px !important; }
.route-map-event-brand small { color: #0b8791 !important; font-size: 8px !important; }

.confirmation-brand,
.account-brand {
  display: grid;
  grid-template-columns: 38px auto;
  align-items: center;
  column-gap: 9px;
}

.confirmation-brand img,
.account-brand img {
  grid-row: span 2;
  width: 36px;
  height: 44px;
  object-fit: contain;
}

.confirmation-brand span,
.account-brand span {
  color: #17332e !important;
}

.confirmation-brand strong,
.account-brand strong {
  margin-top: 1px;
  color: #0b8791 !important;
}

.site-footer .footer-brand .india-rises-mark { width: 42px; height: 46px; }
body .site-footer .footer-main,
body .site-footer .footer-links a,
body .site-footer .footer-phone,
body .site-footer .footer-bottom { color: #17332e !important; }
body .site-footer .footer-bottom { border-color: #dce6de !important; }

.payment-invoice,
.confirmation-card,
.runner-hub-shell,
.contest-card,
.form-panel,
.account-dialog-shell {
  border-color: #d6e2d9 !important;
}

input:focus,
select:focus,
textarea:focus,
button:focus-visible,
a:focus-visible {
  outline-color: #0b8791 !important;
}

@media (max-width: 680px) {
  .run-navigation .brand-event { min-width: 0; gap: 7px; }
  .run-navigation .india-rises-mark { width: 36px; height: 40px; }
  .run-navigation .brand-event-wordmark b { font-size: 16px; }
  .run-navigation .brand-event-wordmark small { font-size: 8px; letter-spacing: 1.2px; }
  .hero { background-position: 62% center !important; }
  .hero h1.hero-event-name { height: auto; min-height: 104px; max-width: 100%; overflow: visible; }
  .hero-event-logo.hero-event-brand { gap: 10px; }
  .hero-event-brand img { width: 58px; height: 70px; }
  .hero-event-brand b { font-size: clamp(31px, 9vw, 44px) !important; }
  .hero-event-brand small { font-size: 12px !important; letter-spacing: 1.5px !important; }
}

body #mainContent .route {
  grid-template-columns: minmax(0, 1fr);
  background: #eaf1e9 !important;
  color: #17332e !important;
}

.route .route-copy { max-width: 780px; }
.route .section-label,
.route .eyebrow { color: #0b7880 !important; }
.route .route-copy h2 { color: #17332e !important; }
.route .route-copy > p:not(.eyebrow) { color: #536b61 !important; }
.route .route-data { border-color: #c9d9cd !important; }
.route .route-data > div { border-color: #c9d9cd !important; }
.route .route-data dt { color: #0b7880 !important; }
.route .route-data dd { color: #17332e !important; }

/* Signature navigation: a branded dark command bar rather than a generic header. */
.run-navigation {
  position: relative;
  isolation: isolate;
  min-height: 92px;
  padding: 14px clamp(20px, 3.5vw, 64px);
  background:
    radial-gradient(circle at 12% 140%, rgba(214, 168, 82, 0.18), transparent 17rem),
    linear-gradient(110deg, #090909 0%, #171717 54%, #0b0b0c 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.22);
}

.run-navigation::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #b32d2a 0%, #e2bd6d 48%, #b32d2a 100%);
}

.run-navigation .brand-event-wordmark { gap: 2px; }

.run-navigation .brand-event-wordmark b {
  color: #faf9f4;
  font-size: 30px;
  letter-spacing: -0.06em;
  text-shadow: 0 0 24px rgba(255, 255, 255, 0.14);
}

.run-navigation .brand-event-wordmark small {
  color: #e2bd6d;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.32em;
}

.run-navigation .header-login,
.run-navigation .menu-toggle,
.run-navigation .account-trigger {
  border-color: rgba(255, 255, 255, 0.24);
  background: rgba(255, 255, 255, 0.06);
  color: #fdfcf8;
}

.run-navigation .header-login:hover,
.run-navigation .menu-toggle:hover,
.run-navigation .account-trigger:hover {
  border-color: #e2bd6d;
  background: rgba(226, 189, 109, 0.14);
}

.run-navigation .header-register {
  border: 0;
  background: linear-gradient(135deg, #d7443e, #a91f1d);
  box-shadow: 0 9px 22px rgba(179, 45, 42, 0.3);
}

.run-navigation .header-register:hover {
  border: 0;
  background: linear-gradient(135deg, #ef5a51, #be2e29);
  transform: translateY(-1px);
}

@media (min-width: 1101px) {
  .run-navigation {
    grid-template-columns: 210px minmax(0, 1fr) auto;
    gap: 28px;
  }

  .run-navigation .main-nav {
    width: max-content;
    max-width: 100%;
    min-height: 54px;
    padding: 5px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.055);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 8px 18px rgba(0, 0, 0, 0.12);
  }

  .run-navigation .nav-group,
  .run-navigation .nav-result { border-left: 0; }

  .run-navigation .nav-group + .nav-group::before,
  .run-navigation .nav-result::before {
    content: "";
    align-self: center;
    width: 1px;
    height: 18px;
    background: rgba(255, 255, 255, 0.14);
  }

  .run-navigation .nav-group > button,
  .run-navigation .nav-result {
    min-height: 42px;
    padding: 0 15px;
    border-radius: 9px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 10px;
    font-weight: 780;
    letter-spacing: 0.075em;
    text-transform: uppercase;
  }

  .run-navigation .nav-group > button::after,
  .run-navigation .nav-result::after {
    top: 7px;
    right: auto;
    bottom: auto;
    left: 50%;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #e7534c;
    transform: translateX(-50%) scale(0);
  }

  .run-navigation .nav-group > button:hover,
  .run-navigation .nav-group > button:focus-visible,
  .run-navigation .nav-group.open > button,
  .run-navigation .nav-result:hover,
  .run-navigation .nav-result:focus-visible {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.06));
    color: #ffffff;
  }

  .run-navigation .nav-group > button:hover::after,
  .run-navigation .nav-group > button:focus-visible::after,
  .run-navigation .nav-group.open > button::after,
  .run-navigation .nav-result:hover::after,
  .run-navigation .nav-result:focus-visible::after {
    transform: translateX(-50%) scale(1);
  }

  .run-navigation .nav-dropdown,
  .run-navigation .nav-dropdown-right {
    top: calc(100% + 12px);
    width: 318px;
    padding: 18px 12px 12px;
    border: 1px solid rgba(255, 255, 255, 0.17);
    border-top: 3px solid #d7443e;
    border-radius: 14px;
    background: linear-gradient(145deg, #242424, #121213);
    box-shadow: 0 24px 54px rgba(0, 0, 0, 0.38);
  }

  .run-navigation .nav-dropdown > small {
    color: #e2bd6d;
    font-weight: 800;
    letter-spacing: 0.13em;
  }

  .run-navigation .nav-dropdown > a:hover,
  .run-navigation .nav-dropdown > a:focus-visible {
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
  }
}

@media (max-width: 1100px) {
  .run-navigation {
    min-height: 78px;
    padding-block: 10px;
  }

  .run-navigation .main-nav {
    background: linear-gradient(145deg, #191919, #0c0c0d);
    border-bottom: 1px solid rgba(255, 255, 255, 0.17);
    box-shadow: 0 20px 38px rgba(0, 0, 0, 0.34);
  }

  .run-navigation .nav-group > button,
  .run-navigation .nav-result {
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    color: #f4f3ef;
  }

  .run-navigation .nav-dropdown,
  .run-navigation .nav-dropdown-right {
    border-color: rgba(255, 255, 255, 0.16);
    background: #252525;
  }
}

/* Refined monochrome: porcelain canvas, graphite surfaces, one event-red accent. */
body,
main {
  background-color: #ececea;
  background-image: linear-gradient(135deg, #f6f6f4 0%, #e5e5e2 100%);
}

main#mainContent .story,
main#mainContent .sponsors,
main#mainContent .route,
main#mainContent .runner-hub,
main#mainContent .schedule,
main#mainContent .faq {
  background:
    linear-gradient(90deg, rgba(14, 15, 17, 0.035) 1px, transparent 1px) 0 0 / 48px 48px,
    linear-gradient(0deg, rgba(14, 15, 17, 0.025) 1px, transparent 1px) 0 0 / 48px 48px,
    linear-gradient(135deg, #fafaf9 0%, #eeeeeb 100%) !important;
  color: #17181a;
}

main#mainContent .story::before,
main#mainContent .route::before,
main#mainContent .runner-hub::before {
  background: #c9322e;
}

main#mainContent .sponsor-heading,
main#mainContent .sponsor-lockup,
main#mainContent .sponsor-reserve,
main#mainContent .story-poster,
main#mainContent .route-map,
main#mainContent .runner-hub-shell,
main#mainContent .hub-panel,
main#mainContent .results-tool,
main#mainContent .initiative-tool,
main#mainContent .form-panel,
main#mainContent .account-dialog {
  border-color: #d0d0cd;
  background: #f1f1ef;
  box-shadow: 0 20px 48px rgba(13, 14, 16, 0.1);
}

main#mainContent .hub-tabs,
main#mainContent .hub-panel-heading,
main#mainContent .form-title,
main#mainContent .selection-summary,
main#mainContent .race-day-utilities,
main#mainContent .pledge-list,
main#mainContent .account-dialog-intro,
main#mainContent .payment-section {
  background: #e3e3e0;
  border-color: #ccccca;
}

main#mainContent .form-panel input,
main#mainContent .form-panel select,
main#mainContent .form-panel textarea,
main#mainContent .results-tool input,
main#mainContent .service-form input,
main#mainContent .service-form select,
main#mainContent .service-form textarea,
main#mainContent .account-dialog input {
  background: #f9f9f7;
  border-color: #bebeba;
}

main#mainContent .contests,
main#mainContent .event-updates,
main#mainContent .register,
main#mainContent .closing,
body .site-footer {
  background:
    radial-gradient(circle at 92% 12%, rgba(255, 255, 255, 0.075), transparent 24rem),
    linear-gradient(135deg, #0a0b0d 0%, #1c1d1f 58%, #101113 100%) !important;
  border-color: #3b3c3e !important;
}

.hero {
  background-image:
    linear-gradient(90deg, rgba(6, 7, 9, 0.94) 0%, rgba(10, 11, 13, 0.8) 43%, rgba(10, 11, 13, 0.16) 73%, rgba(10, 11, 13, 0.04) 100%),
    url("assets/running/user-run-10-sunset-runners.jpg") !important;
}

.hero::after {
  background:
    linear-gradient(90deg, #c9322e 0 3px, transparent 3px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.04), transparent 54%);
}

.hero .eyebrow.light { color: #e7e7e4; }

.run-navigation {
  --nav-accent: #e7e7e4;
  background: linear-gradient(110deg, #090a0c 0%, #17181a 54%, #0c0d0f 100%);
}

.run-navigation::before { background: #c9322e; }
.run-navigation .brand-event-wordmark b { color: #ffffff; }
.run-navigation .brand-event-wordmark small { color: #bdbdb9; }

.run-navigation .header-login:hover,
.run-navigation .menu-toggle:hover,
.run-navigation .account-trigger:hover {
  border-color: #efefec;
  background: rgba(255, 255, 255, 0.12);
}

@media (min-width: 1101px) {
  .run-navigation .main-nav {
    border-color: rgba(255, 255, 255, 0.13);
    background: rgba(255, 255, 255, 0.06);
  }

  .run-navigation .nav-dropdown,
  .run-navigation .nav-dropdown-right {
    border-top-color: #c9322e;
    background: linear-gradient(145deg, #232426, #111214);
  }

  .run-navigation .nav-dropdown > small { color: #c9c9c6; }
}

/* India Rises signature palette: Midnight Plum, Ember Coral and Arctic Mist. */
:root {
  --glopixs-plum: #171229;
  --glopixs-plum-deep: #100d1f;
  --glopixs-violet: #7256db;
  --glopixs-coral: #ff685d;
  --glopixs-coral-deep: #de3f4c;
  --glopixs-mist: #f1f3ff;
  --glopixs-ink: #201b35;
  --glopixs-muted: #68637f;
}

body,
main {
  background-color: var(--glopixs-mist);
  background-image:
    radial-gradient(circle at 9% 12%, rgba(114, 86, 219, 0.17), transparent 28rem),
    radial-gradient(circle at 94% 22%, rgba(255, 104, 93, 0.13), transparent 25rem),
    linear-gradient(135deg, #f6f7ff 0%, #ebedf9 100%);
  color: var(--glopixs-ink);
}

main#mainContent .story,
main#mainContent .sponsors,
main#mainContent .route,
main#mainContent .runner-hub,
main#mainContent .schedule,
main#mainContent .faq {
  background:
    radial-gradient(circle at 0 0, rgba(114, 86, 219, 0.09) 0 1px, transparent 1.5px) 0 0 / 24px 24px,
    linear-gradient(135deg, #fbfbff 0%, #eef0fb 100%) !important;
  color: var(--glopixs-ink);
}

main#mainContent .story::before,
main#mainContent .route::before,
main#mainContent .runner-hub::before {
  width: 90px;
  background: linear-gradient(90deg, var(--glopixs-coral), var(--glopixs-violet));
}

main#mainContent .story h2,
main#mainContent .route h2,
main#mainContent .runner-hub h2,
main#mainContent .schedule h2,
main#mainContent .faq h2,
main#mainContent .sponsors h2,
main#mainContent .sponsors h3 {
  color: var(--glopixs-ink);
}

main#mainContent .story p,
main#mainContent .route p,
main#mainContent .runner-hub p,
main#mainContent .schedule p,
main#mainContent .faq p,
main#mainContent .sponsors p {
  color: var(--glopixs-muted);
}

main#mainContent .sponsor-heading,
main#mainContent .sponsor-lockup,
main#mainContent .sponsor-reserve,
main#mainContent .story-poster,
main#mainContent .route-map,
main#mainContent .runner-hub-shell,
main#mainContent .hub-panel,
main#mainContent .results-tool,
main#mainContent .initiative-tool,
main#mainContent .form-panel,
main#mainContent .account-dialog {
  border-color: #d6d2e8;
  background: linear-gradient(145deg, #faf9ff, #ece9f7);
  box-shadow: 0 22px 54px rgba(39, 24, 74, 0.13);
}

main#mainContent .hub-tabs,
main#mainContent .hub-panel-heading,
main#mainContent .form-title,
main#mainContent .selection-summary,
main#mainContent .race-day-utilities,
main#mainContent .pledge-list,
main#mainContent .account-dialog-intro,
main#mainContent .payment-section {
  border-color: #d1cce5;
  background: #e8e4f3;
}

main#mainContent .form-panel input,
main#mainContent .form-panel select,
main#mainContent .form-panel textarea,
main#mainContent .results-tool input,
main#mainContent .service-form input,
main#mainContent .service-form select,
main#mainContent .service-form textarea,
main#mainContent .account-dialog input {
  border-color: #c5bfdc;
  background: #f7f6fc;
  color: var(--glopixs-ink);
}

main#mainContent .contests,
main#mainContent .event-updates,
main#mainContent .register,
main#mainContent .closing,
body .site-footer {
  background:
    radial-gradient(circle at 90% 8%, rgba(255, 104, 93, 0.28), transparent 25rem),
    radial-gradient(circle at 8% 100%, rgba(114, 86, 219, 0.32), transparent 30rem),
    linear-gradient(135deg, #110d23 0%, #25163d 57%, #151027 100%) !important;
  border-color: rgba(204, 192, 255, 0.24) !important;
}

.hero {
  background-image:
    linear-gradient(90deg, rgba(13, 10, 28, 0.96) 0%, rgba(30, 15, 48, 0.85) 41%, rgba(30, 15, 48, 0.22) 72%, rgba(12, 10, 25, 0.06) 100%),
    url("assets/running/user-run-10-sunset-runners.jpg") !important;
}

.hero::after {
  background:
    linear-gradient(90deg, var(--glopixs-coral) 0 4px, transparent 4px),
    radial-gradient(circle at 52% 25%, rgba(114, 86, 219, 0.32), transparent 19rem);
}

.hero .eyebrow.light { color: #cfc4ff; }
.hero .button-primary { border-color: var(--glopixs-coral); background: var(--glopixs-coral); }
.hero .button-primary:hover { border-color: #ff8d82; background: #ff8d82; }
.hero-facts { border-top-color: var(--glopixs-coral); background: rgba(16, 12, 31, 0.94); }

.run-navigation {
  --nav-accent: #cfc4ff;
  background:
    radial-gradient(circle at 14% 150%, rgba(114, 86, 219, 0.31), transparent 18rem),
    linear-gradient(110deg, #100d20 0%, #24153a 54%, #131025 100%);
}

.run-navigation::before { background: linear-gradient(90deg, var(--glopixs-coral), var(--glopixs-violet), var(--glopixs-coral)); }
.run-navigation .brand-event-wordmark b { color: #ffffff; }
.run-navigation .brand-event-wordmark small { color: #cfc4ff; }

.run-navigation .header-login:hover,
.run-navigation .menu-toggle:hover,
.run-navigation .account-trigger:hover {
  border-color: #cfc4ff;
  background: rgba(207, 196, 255, 0.14);
}

.run-navigation .header-register {
  background: linear-gradient(135deg, #ff786d, #df3e52);
  box-shadow: 0 10px 25px rgba(222, 63, 76, 0.32);
}

.run-navigation .header-register:hover { background: linear-gradient(135deg, #ff9288, #ed5063); }

@media (min-width: 1101px) {
  .run-navigation .main-nav {
    border-color: rgba(207, 196, 255, 0.23);
    background: rgba(255, 255, 255, 0.075);
  }

  .run-navigation .nav-group + .nav-group::before,
  .run-navigation .nav-result::before { background: rgba(207, 196, 255, 0.19); }

  .run-navigation .nav-group > button:hover,
  .run-navigation .nav-group > button:focus-visible,
  .run-navigation .nav-group.open > button,
  .run-navigation .nav-result:hover,
  .run-navigation .nav-result:focus-visible {
    background: linear-gradient(135deg, rgba(207, 196, 255, 0.23), rgba(255, 255, 255, 0.06));
  }

  .run-navigation .nav-group > button::after,
  .run-navigation .nav-result::after { background: var(--glopixs-coral); }

  .run-navigation .nav-dropdown,
  .run-navigation .nav-dropdown-right {
    border-top-color: var(--glopixs-coral);
    background: linear-gradient(145deg, #30204c, #151126);
  }

  .run-navigation .nav-dropdown > small { color: #cfc4ff; }
}

/* Race-control navigation: numbered sections, precision dividers and a live route line. */
.run-navigation .brand-event {
  position: relative;
  padding-left: 17px;
}

.run-navigation .brand-event::before {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 0;
  width: 3px;
  border-radius: 4px;
  background: var(--glopixs-coral);
  box-shadow: 0 0 18px rgba(255, 104, 93, 0.45);
}

.run-navigation .header-login,
.run-navigation .header-register,
.run-navigation .account-trigger {
  min-height: 46px;
  border-radius: 5px;
  padding-inline: 16px;
  letter-spacing: 0.04em;
}

.run-navigation .header-register::after {
  content: "↗";
  margin-left: 7px;
  font-size: 13px;
}

@media (min-width: 1101px) {
  .run-navigation {
    grid-template-columns: 205px minmax(0, 1fr) auto;
    min-height: 90px;
    gap: 30px;
  }

  .run-navigation .main-nav {
    position: relative;
    width: min(100%, 760px);
    min-height: 58px;
    align-items: stretch;
    gap: 0;
    padding: 0;
    border: 0;
    border-bottom: 1px solid rgba(207, 196, 255, 0.27);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .run-navigation .main-nav::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 104, 93, 0.72), transparent);
    pointer-events: none;
  }

  .run-navigation .nav-group,
  .run-navigation .nav-result {
    position: relative;
    flex: 1 1 0;
    width: auto;
    border: 0;
  }

  .run-navigation .nav-group + .nav-group::before,
  .run-navigation .nav-result::before {
    content: none;
    display: none;
  }

  .run-navigation .nav-group > button,
  .run-navigation .nav-result {
    display: flex;
    width: 100%;
    min-height: 57px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 4px;
    padding: 7px 12px 6px;
    border: 0;
    border-left: 1px solid rgba(207, 196, 255, 0.17);
    border-radius: 0;
    background: transparent;
    color: #f7f5ff;
    font-size: 10px;
    font-weight: 760;
    letter-spacing: 0.055em;
    text-transform: uppercase;
  }

  .run-navigation .nav-group:first-child > button { border-left: 0; }

  .run-navigation .nav-group > button::before,
  .run-navigation .nav-result::before {
    display: block;
    position: static;
    width: auto;
    height: auto;
    background: none;
    color: #a99bde;
    font-size: 8px;
    font-weight: 850;
    line-height: 1;
    letter-spacing: 0.12em;
    transform: none;
  }

  .run-navigation .nav-result::before { align-self: flex-start; }

  .run-navigation .nav-group:nth-child(1) > button::before { content: "01"; }
  .run-navigation .nav-group:nth-child(2) > button::before { content: "02"; }
  .run-navigation .nav-group:nth-child(3) > button::before { content: "03"; }
  .run-navigation .nav-group:nth-child(4) > button::before { content: "04"; }
  .run-navigation .nav-group:nth-child(5) > button::before { content: "05"; }
  .run-navigation .nav-result::before { content: "06"; }

  .run-navigation .nav-group > button::after,
  .run-navigation .nav-result::after {
    content: "";
    position: absolute;
    top: auto;
    right: 12px;
    bottom: -1px;
    left: 12px;
    width: auto;
    height: 3px;
    border-radius: 3px 3px 0 0;
    background: var(--glopixs-coral);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 180ms ease;
  }

  .run-navigation .nav-group > button:hover,
  .run-navigation .nav-group > button:focus-visible,
  .run-navigation .nav-group.open > button,
  .run-navigation .nav-result:hover,
  .run-navigation .nav-result:focus-visible {
    border-left-color: rgba(207, 196, 255, 0.17);
    background: linear-gradient(180deg, rgba(207, 196, 255, 0.13), transparent);
    color: #ffffff;
  }

  .run-navigation .nav-group > button:hover::before,
  .run-navigation .nav-group > button:focus-visible::before,
  .run-navigation .nav-group.open > button::before,
  .run-navigation .nav-result:hover::before,
  .run-navigation .nav-result:focus-visible::before {
    color: var(--glopixs-coral);
  }

  .run-navigation .nav-group > button:hover::after,
  .run-navigation .nav-group > button:focus-visible::after,
  .run-navigation .nav-group.open > button::after,
  .run-navigation .nav-result:hover::after,
  .run-navigation .nav-result:focus-visible::after {
    transform: scaleX(1);
  }

  .run-navigation .nav-dropdown,
  .run-navigation .nav-dropdown-right {
    top: calc(100% + 14px);
    border-radius: 8px;
  }
}

@media (max-width: 1100px) {
  .run-navigation .brand-event { padding-left: 14px; }
  .run-navigation .header-register::after { content: none; }
}

/* Interlocking race lanes: an asymmetric India Rises navigation signature. */
@media (min-width: 1101px) {
  .run-navigation {
    grid-template-columns: 230px minmax(0, 1fr) auto;
    min-height: 96px;
    gap: 26px;
    overflow: visible;
  }

  .run-navigation .brand-event {
    min-height: 64px;
    margin-left: -18px;
    padding: 11px 38px 11px 30px;
  }

  .run-navigation .brand-event::before {
    top: 7px;
    bottom: 7px;
    left: 12px;
  }

  .run-navigation .brand-event::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    border: 1px solid rgba(207, 196, 255, 0.18);
    background: linear-gradient(120deg, rgba(114, 86, 219, 0.28), rgba(255, 255, 255, 0.035));
    clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 50%, calc(100% - 28px) 100%, 0 100%);
  }

  .run-navigation .main-nav {
    width: min(100%, 790px);
    min-height: 52px;
    gap: 0;
    overflow: visible;
    border: 0;
    background: transparent;
  }

  .run-navigation .main-nav::after { content: none; }

  .run-navigation .nav-group,
  .run-navigation .nav-result {
    flex: 1 1 0;
    margin-left: -8px;
  }

  .run-navigation .nav-group:first-child { margin-left: 0; }

  .run-navigation .nav-group > button,
  .run-navigation .nav-result {
    width: calc(100% + 8px);
    min-height: 52px;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 15px 8px 18px;
    border: 1px solid rgba(207, 196, 255, 0.19);
    background: rgba(255, 255, 255, 0.055);
    color: #f7f5ff;
    clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%, 12px 50%);
    transition: background 180ms ease, color 180ms ease, transform 180ms ease;
  }

  .run-navigation .nav-group:first-child > button {
    padding-left: 13px;
    clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%);
  }

  .run-navigation .nav-group > button::before,
  .run-navigation .nav-result::before {
    display: inline-flex;
    position: static;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    align-items: center;
    justify-content: center;
    align-self: center;
    border: 1px solid rgba(207, 196, 255, 0.32);
    border-radius: 50%;
    background: rgba(16, 13, 32, 0.58);
    color: #cfc4ff;
    font-size: 7px;
    line-height: 1;
  }

  .run-navigation .nav-group > button::after,
  .run-navigation .nav-result::after {
    right: 24px;
    bottom: 5px;
    left: 24px;
    height: 2px;
    background: var(--glopixs-coral);
    transform: scaleX(0);
    transform-origin: center;
  }

  .run-navigation .nav-group > button:hover,
  .run-navigation .nav-group > button:focus-visible,
  .run-navigation .nav-group.open > button,
  .run-navigation .nav-result:hover,
  .run-navigation .nav-result:focus-visible {
    border-color: rgba(255, 133, 124, 0.54);
    background: linear-gradient(135deg, rgba(114, 86, 219, 0.44), rgba(255, 104, 93, 0.19));
    color: #ffffff;
    transform: translateY(-2px);
  }

  .run-navigation .nav-group > button:hover::before,
  .run-navigation .nav-group > button:focus-visible::before,
  .run-navigation .nav-group.open > button::before,
  .run-navigation .nav-result:hover::before,
  .run-navigation .nav-result:focus-visible::before {
    border-color: var(--glopixs-coral);
    background: var(--glopixs-coral);
    color: #171229;
  }

  .run-navigation .nav-dropdown,
  .run-navigation .nav-dropdown-right {
    top: calc(100% + 12px);
    left: 8px;
    border-radius: 12px;
    clip-path: none;
  }

  .run-navigation .nav-dropdown-right {
    right: 0;
    left: auto;
  }

  .run-navigation .header-login {
    border-radius: 3px;
    background: transparent;
  }

  .run-navigation .header-register {
    min-width: 116px;
    border-radius: 0;
    clip-path: polygon(9px 0, 100% 0, calc(100% - 9px) 100%, 0 100%);
  }
}

/* Seamless lanes: retain the silhouette while removing visible box outlines. */
.run-navigation { border-bottom: 0; }

@media (min-width: 1101px) {
  .run-navigation .brand-event::after { border: 0; }

  .run-navigation .nav-group > button,
  .run-navigation .nav-result {
    border: 0;
    background: rgba(255, 255, 255, 0.065);
  }

  .run-navigation .nav-group > button:hover,
  .run-navigation .nav-group > button:focus-visible,
  .run-navigation .nav-group.open > button,
  .run-navigation .nav-result:hover,
  .run-navigation .nav-result:focus-visible {
    border: 0;
  }

  .run-navigation .header-login {
    border: 0;
    background: rgba(255, 255, 255, 0.075);
  }

  .run-navigation .nav-dropdown,
  .run-navigation .nav-dropdown-right {
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
  }
}

/* Final India Rises brand overrides */
:root {
  --ink: #17332e;
  --ivory: #f4f7f3;
  --paper: #ffffff;
  --muted: #61746d;
  --red: #e85b4a;
  --red-dark: #bf4438;
  --gold: #95bf3d;
  --teal: #0b8791;
  --premium-red: #e85b4a;
  --premium-gold: #95bf3d;
  --glopixs-plum: #123b34;
  --glopixs-plum-deep: #0d302b;
  --glopixs-violet: #0b8791;
  --glopixs-coral: #e85b4a;
  --glopixs-coral-deep: #bf4438;
}

body #mainContent .route {
  grid-template-columns: minmax(0, 1fr);
  background: #eaf1e9 !important;
  color: #17332e !important;
}

.route .route-copy { max-width: 780px; }
.route .section-label,
.route .eyebrow { color: #0b7880 !important; }
.route .route-copy h2 { color: #17332e !important; }
.route .route-copy > p:not(.eyebrow) { color: #536b61 !important; }
.route .route-data,
.route .route-data > div { border-color: #c9d9cd !important; }
.route .route-data dt { color: #0b7880 !important; }
.route .route-data dd { color: #17332e !important; }

body { background: #f4f7f3 !important; color: #17332e !important; }

.run-navigation,
body .site-header.run-navigation {
  background: #123b34 !important;
  background-image: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, .12) !important;
}

.run-navigation::before {
  height: 3px;
  background: linear-gradient(90deg, #0b8791, #b7d94b, #0b8791) !important;
}

.run-navigation .brand-event { min-width: 210px; gap: 10px; padding-left: 0; }
.run-navigation .brand-event::before,
.run-navigation .brand-event::after { display: none !important; content: none !important; }
.run-navigation .india-rises-mark { width: 44px !important; height: 48px !important; object-fit: contain !important; }
.run-navigation .brand-event-wordmark { gap: 5px; }
.run-navigation .brand-event-wordmark b { color: #fff !important; font-size: 20px !important; letter-spacing: 0 !important; }
.run-navigation .brand-event-wordmark small { color: #b7d94b !important; font-size: 10px !important; letter-spacing: 1.8px !important; }

.run-navigation .nav-group > button,
.run-navigation .nav-result,
.run-navigation .header-login {
  color: #f7faf6 !important;
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.16) !important;
}

.run-navigation .nav-group > button:hover,
.run-navigation .nav-group > button:focus-visible,
.run-navigation .nav-group.open > button,
.run-navigation .nav-result:hover,
.run-navigation .nav-result:focus-visible { background: #0b8791 !important; color: #fff !important; }

.run-navigation .header-register,
.button-primary,
.run-navigation .mobile-account-actions button:last-child {
  color: #fff !important;
  background: #e85b4a !important;
  border-color: #e85b4a !important;
}

.run-navigation .nav-dropdown,
.run-navigation .nav-dropdown-right,
.run-navigation .account-menu {
  color: #17332e !important;
  background: #fff !important;
  border-color: #dce8df !important;
  box-shadow: 0 18px 40px rgba(17,58,50,.16) !important;
}

.hero {
  background-color: #153d35 !important;
  background-image: linear-gradient(90deg, rgba(14,49,43,.92) 0%, rgba(14,49,43,.78) 42%, rgba(14,49,43,.2) 75%, rgba(14,49,43,.06) 100%), url("assets/running/user-run-10-sunset-runners.jpg") !important;
  background-position: center 46% !important;
  background-size: cover !important;
}

.hero::after { background: linear-gradient(90deg, rgba(183,217,75,.8) 0 4px, transparent 4px) !important; }
.hero .eyebrow.light { color: #c7e76b !important; }
.hero .hero-intro,
.hero .availability,
.hero .availability strong { color: #f1f6f1 !important; }
.hero h1.hero-event-name { height: auto !important; min-height: 116px; overflow: visible !important; }

.hero-event-logo.hero-event-brand {
  display: inline-flex !important;
  width: auto !important;
  height: auto !important;
  flex-direction: row !important;
  align-items: center;
  gap: 18px;
}

.hero-event-brand img { display: block; width: 92px !important; height: 106px !important; object-fit: contain !important; }
.hero-event-brand > span { display: grid; gap: 9px; }
.hero-event-brand b { color: #fff !important; font-size: clamp(40px,5vw,72px) !important; line-height: .98; }
.hero-event-brand small { color: #c7e76b !important; font-size: clamp(15px,1.45vw,22px) !important; letter-spacing: 2.4px !important; }
.hero-facts { border-top-color: #b7d94b !important; background: rgba(13,48,43,.94) !important; }
.hero-facts > div > span { color: #cbd9d1 !important; }
.hero-facts > div > strong { color: #fff !important; }

body #mainContent .story,
body #mainContent .runner-hub,
body #mainContent .event-updates,
body #mainContent .faq,
body #mainContent .register,
body .site-footer {
  color: #17332e !important;
  background: #f4f7f3 !important;
  border-color: #dce6de !important;
}

body #mainContent .contests,
body #mainContent .closing { color: #fff !important; background: #123b34 !important; }
body #mainContent .sponsors { color: #17332e !important; background: #eaf1e9 !important; }
.section-label,
.eyebrow,
.section-heading .eyebrow { color: #0b7880 !important; }
.closing .eyebrow.light,
.contests .eyebrow.light,
.sponsor-heading .eyebrow.light { color: #c7e76b !important; }

.route-map-event-brand {
  display: grid;
  grid-template-columns: 34px auto;
  align-items: center;
  column-gap: 7px;
  min-width: 128px;
  background: #fff !important;
}
.route-map-event-brand img { grid-row: span 2; width: 32px; height: 38px; object-fit: contain; }
.route-map-event-brand b { color: #17332e !important; font-size: 12px !important; }
.route-map-event-brand small { color: #0b8791 !important; font-size: 8px !important; }
.confirmation-brand,
.account-brand { display: grid; grid-template-columns: 38px auto; align-items: center; column-gap: 9px; }
.confirmation-brand img,
.account-brand img { grid-row: span 2; width: 36px; height: 44px; object-fit: contain; }
.confirmation-brand span,
.account-brand span { color: #17332e !important; }
.confirmation-brand strong,
.account-brand strong { margin-top: 1px; color: #0b8791 !important; }

body .site-footer .footer-main,
body .site-footer .footer-links a,
body .site-footer .footer-phone,
body .site-footer .footer-bottom { color: #17332e !important; }
body .site-footer .footer-bottom { border-color: #dce6de !important; }

@media (max-width: 680px) {
  .run-navigation .brand-event { min-width: 0; gap: 7px; }
  .run-navigation .india-rises-mark { width: 36px !important; height: 40px !important; }
  .run-navigation .brand-event-wordmark b { font-size: 16px !important; }
  .run-navigation .brand-event-wordmark small { font-size: 8px !important; letter-spacing: 1.2px !important; }
  .hero { background-position: 62% center !important; }
  .hero h1.hero-event-name { min-height: 92px; }
  .hero-event-logo.hero-event-brand { gap: 10px; }
  .hero-event-brand img { width: 58px !important; height: 70px !important; }
  .hero-event-brand b { font-size: clamp(31px,9vw,44px) !important; }
  .hero-event-brand small { font-size: 12px !important; letter-spacing: 1.5px !important; }
}
