    /* Clean festival navigation */
    .festival-nav-link {
      position: relative;
      display: inline-flex;
      align-items: center;
      white-space: nowrap;
      font-family: 'Oswald', sans-serif;
      font-size: 18px;
      font-weight: 500;
      letter-spacing: 0;
      color: #1a1208;
      text-decoration: none;
      transition: color .2s ease;
    }

    .festival-nav-link:hover { color: #e63a2b; }

    .festival-header-row {
      width: min(100% - 40px, 1500px);
      margin-inline: auto;
      gap: 28px;
    }

    .festival-primary-nav {
      display: none;
      align-items: center;
      justify-content: center;
      gap: clamp(24px, 2.25vw, 42px);
      margin-left: auto;
      flex-shrink: 0;
    }

    .festival-ticket-wrap {
      display: none;
      flex-shrink: 0;
    }

    @media (min-width: 1200px) {
      .festival-primary-nav,
      .festival-ticket-wrap {
        display: flex;
      }

      .festival-menu-toggle {
        display: none;
      }
    }

    @media (min-width: 1200px) and (max-width: 1350px) {
      .festival-header-row { gap: 20px; }
      .festival-primary-nav { gap: 24px; }
      .festival-nav-link { font-size: 17px; }
      .festival-ticket-button { padding-left: 1rem !important; padding-right: 1rem !important; }
    }

    .festival-mobile-link {
      font-family: 'Oswald', sans-serif;
      font-size: 1.25rem;
      font-weight: 500;
      color: #1a1208;
      text-decoration: none;
      transition: color .2s ease;
    }

    .festival-mobile-link:hover { color: #e63a2b; }

    .festival-nav-item {
      position: relative;
      display: flex;
      align-items: center;
    }

    .festival-nav-trigger {
      gap: 7px;
      background: none;
      border: 0;
      padding: 0;
      cursor: pointer;
    }

    .festival-nav-chevron {
      width: 14px;
      height: 14px;
      transition: transform .2s ease;
    }

    .festival-dropdown {
      position: absolute;
      top: calc(100% + 18px);
      left: 50%;
      z-index: 70;
      min-width: 235px;
      padding: 10px;
      border: 1px solid rgba(26,18,8,.1);
      border-radius: 14px;
      background: #fff;
      box-shadow: 0 18px 45px rgba(26,18,8,.16);
      opacity: 0;
      visibility: hidden;
      transform: translate(-50%, -8px);
      transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    }

    .festival-dropdown::before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: -20px;
      height: 20px;
    }

    .festival-nav-item:hover .festival-dropdown,
    .festival-nav-item:focus-within .festival-dropdown {
      opacity: 1;
      visibility: visible;
      transform: translate(-50%, 0);
    }

    .festival-nav-item:hover .festival-nav-chevron,
    .festival-nav-item:focus-within .festival-nav-chevron {
      transform: rotate(180deg);
    }

    .festival-dropdown-link {
      display: block;
      padding: 11px 13px;
      border-radius: 9px;
      font-family: 'Inter', sans-serif;
      font-size: 14px;
      font-weight: 600;
      line-height: 1.3;
      color: #1a1208;
      text-decoration: none;
      transition: background .18s ease, color .18s ease, transform .18s ease;
    }

    .festival-dropdown-link:hover,
    .festival-dropdown-link:focus {
      background: #fff2c9;
      color: #c2261a;
      transform: translateX(2px);
      outline: none;
    }

    .festival-mobile-group {
      border-bottom: 1px solid rgba(26,18,8,.1);
      padding-bottom: 14px;
    }

    .festival-mobile-summary {
      display: flex;
      align-items: center;
      justify-content: space-between;
      cursor: pointer;
      list-style: none;
    }

    .festival-mobile-summary::-webkit-details-marker { display: none; }

    .festival-mobile-summary .festival-nav-chevron {
      width: 18px;
      height: 18px;
    }

    .festival-mobile-group[open] .festival-mobile-summary .festival-nav-chevron {
      transform: rotate(180deg);
    }

    .festival-mobile-submenu {
      display: grid;
      gap: 4px;
      margin-top: 12px;
      padding-left: 14px;
      border-left: 3px solid #e63a2b;
    }

    .festival-mobile-sublink {
      padding: 8px 0;
      font-family: 'Inter', sans-serif;
      font-size: 1rem;
      font-weight: 600;
      color: #3a2a1a;
      text-decoration: none;
    }
    
    
    /* Active desktop navigation */
.festival-nav-link.is-active,
.festival-nav-item.is-active > .festival-nav-link {
  color: #e63a2b;
}

.festival-nav-link.is-active::after,
.festival-nav-item.is-active > .festival-nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -5px;
  height: 2px;
  background: #e63a2b;
  border-radius: 999px;
}
    
  