/* Base variables */
:host {
    --duke-blue: #012169;
    --white: #fff;
    --ironweed: #b547c7;
    --dandelion: #edde2e;
    --transition: 0.3s;
    --header-bg: var(--duke-blue);
    --text-light: var(--white);
    --border-color: #97a4c2;
    --hover-bg: #2c4783;
    --dropdown-bg: var(--white);
    --dropdown-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.04);
    --mobile-breakpoint: 64.0625rem;
  }
  
  /* Core styles */
  .main-nav.component {
    width: 100%;
    background-color: var(--header-bg);
    border: 2px solid red;
  }
  
  .menu {
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  
  /* Menu items */
  .menu-item {
    position: relative;
  }
  
  .menu-item a {
    display: flex;
    align-items: center;
    padding: 1.25rem;
    color: var(--text-light);
    font-family: Montserrat, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    text-decoration: none;
    transition: var(--transition);
  }
  
  .menu-item a:hover {
    background: var(--hover-bg);
  }
  
  /* Expanded menu items */
  .menu-item--expanded > a::after {
    content: "";
    width: 10px;
    height: 5px;
    margin-left: 0.5rem;
    background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iNSIgdmlld0JveD0iMCAwIDEwIDUiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTAgMEw1IDVMMTAgMEgwWiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+') no-repeat center;
  }
  
  /* Dropdowns */
  .menu-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 100;
    min-width: 200px;
    background: var(--dropdown-bg);
    box-shadow: var(--dropdown-shadow);
    border-radius: 4px;
  }
  
  .menu-dropdown.show {
    display: block;
  }
  
  /* Nested menus */
  .menu-level-1 {
    flex-direction: column;
    padding: 0.5rem 0;
  }
  
  .menu-level-1 .menu-item a {
    color: var(--duke-blue);
    padding: 0.75rem 1.25rem;
  }
  
  .menu-level-1 .menu-item a:hover {
    background: rgba(0, 0, 0, 0.05);
  }
  
  /* Responsive styles */
  @media (max-width: 64rem) {
    .menu {
      flex-direction: column;
    }
  
    .menu-dropdown {
      position: static;
      box-shadow: none;
    }
  
    .menu-item a {
      padding: 1rem;
    }
  }
  
  /* Accessibility */
  .menu-item a:focus {
    outline: 2px solid var(--duke-blue);
    outline-offset: -2px;
  }
  
  .menu-item a:focus:not(:focus-visible) {
    outline: none;
  }
  
  @media (prefers-reduced-motion: reduce) {
    * {
      transition-duration: 0.01ms !important;
    }
  }