   /* Navigation */
   .top-nav {
        line-height: 1.5em;
        align-self:center;
    }
      /* Hamburger menu styles */
    .top-nav .menu-toggle {
        display: none;
    }

    .top-nav .hamburger {
        display: none;
        cursor: pointer;
        font-size: 2rem;
        padding: 0.5rem 1rem;
        background: none;
        border: none;
        position: absolute;
        top: clamp(0vh, calc(23vw - calc(180px - 13vw)), 6.3vh);
        right: calc(20.5vw - 90px);
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-end;
        width: 40px;
        height: 40px;
        margin-bottom: 1em;
        z-index: 5;
    }
    .top-nav .hamburger span {
        display: block;
        height: 4px;
        width: 30px;
        background: var(--color-gold, #c9a74a);
        margin: 5px 0;
        border-radius: 2px;
        transition: 0.3s;
    }
    .top-nav .hamburger span.open:nth-child(1) {
        transform: translateY(9px) rotate(45deg);
    }
    .top-nav .hamburger span.open:nth-child(2) {
        opacity: 0;
    }
    .top-nav .hamburger span.open:nth-child(3) {
        transform: translateY(-9px) rotate(-45deg);
    }

    .top-nav .menu-parent > .submenu-stack {
        display: none;
        position: static;
        height: 0;
        overflow: hidden;
    }
    .top-nav .menu-parent.active > .submenu-stack {
       display:flex;
        flex-direction: column;
        position: absolute;
        text-align: right;
        height: auto;
        padding-right: 2rem;
        overflow: visible;
    }

@media (max-width: 700px) {
  .top-nav ul {
    display: none;
    flex-direction: column;
    position: absolute;
    right: calc(20.5vw - 30px);
    width: auto;
    padding-right: 1rem;
    z-index: 20;
    background: var(--color-amethyst);
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    
  }
  .top-nav .menu-toggle:checked + .top-nav .hamburger + .top-nav ul {
    display: flex;
  }
  .top-nav .hamburger {
    display: inline-block;
  }
  .top-nav li {
    text-align: right;
  }
  .top-nav .menu-parent > .submenu,
  .top-nav .menu-parent > ul {
    margin-left: 0;
  }
  .top-nav .menu-parent > .submenu-stack {
        display: none;
        position: static;
        height: 0;
        overflow: hidden;
    }
    .top-nav .menu-parent.active > .submenu-stack {
        display:flex;
        flex-direction: column;
        position: absolute;
        right: 0;
        text-align: right;
        height: auto;
        overflow: visible;
    }
}

    .top-nav .submenu-mobile {
        position:relative;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 0.5em;
    }

    .top-nav .submenu-mobile li {
        list-style: none;
    }

    .top-nav .submenu-stack {
        padding: .5em;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 0.5em;
        background: var(--color-amethyst);
    }
    .top-nav .submenu-stack li {
        list-style: none;
    }
    .top-nav .menu-label {
        cursor: pointer;
    }

    .top-nav .menu-parent::after {
        content: "\25B2"; /* ▲ */
    }
    .top-nav .menu-parent.active::after {
        content: "\25BC"; /* ▼ */;
    }

    .top-nav {
        position: absolute;
        top: 2vh;
        right: 4vw;
        padding-right: 2rem;
        z-index: 20;
    }

    .top-nav ul {
        color: lavender;
        font-size:large;
        line-height: 1.7em;
        text-align: right;
    }
    
    .top-nav:has(.hamburger) {
        background: var(--color-amethyst);
    }

    .top-nav li:hover, .top-nav li:focus {
        color: var(--color-gold);
    }

    @media(min-width: 1401px) {
        .top-nav .hamburger {
            display: none;
        }
        .top-nav {
            position: absolute;
            top: 2vh;
            right: calc(50vw - 700px + 4vw);
            padding-right: 2rem;
            z-index: 20;
            text-align: right;   
        }
    }

    /* Brand */

    .brand-bar {
        display: none;
        position: absolute;
        top: 0;
        width: 100%;
        height: 40%;
        opacity: .4;
        z-index: 3;
        pointer-events: none;
    }

    .branding::before {
        content: '';
        position: absolute;
        inset: 0;
        background-size: cover;
        background-position: center;
        backdrop-filter: blur(30px);
        z-index: 0;
        pointer-events: none;
        opacity: .8;
    }

    .branding {
        position: relative;
        top: 4vh;
        left: 0rem;
        max-height: 13rem;
        padding: 1em;
        background:
            linear-gradient(40deg, rgba(226, 160, 95, 0.651) 10%, rgba(255, 212, 139, 0.685) 80%, rgba(254, 201, 110, 0.795) 80%, rgba(226, 160, 95, 0.651) 90%, rgba(165, 102, 71, 0.582) 100%),
            no-repeat top center/100% url(/images/textures/gold-surface.png);
        background-blend-mode:color;
    }

    .branding > a {
        display:inline-flex;
        align-items: center;
    }

    .branding img {
        position: relative;
        max-height: 11rem;
        z-index: 3;
    }

    #title-bl {
        filter: brightness(1.1) contrast(2) drop-shadow(1px 1px var(--color-lt-gold));
    }

    #title-gl {
        transition: all 3s;
    }

    @media(max-width: 470px) {
        .branding::before {
            display: none;
        }
        #title-bl {
            display:none;
        }
        #title-gd {
            display:block;
        }
        .branding {
            position: absolute;
            top: 4vh;
            left:0;
            width: clamp(30%, 50vw, 60%);
            height: auto;
            justify-content: center;
            background: none;
            z-index: 5;
        }
        #oval {
            width: 30cqi;
            height: auto;
            filter: drop-shadow(0 0 12px var(--color-brand-blue));
        }
        #title-gd {
            width: 60cqi;
            height: auto;
            position: relative;
            top: calc(4vh - 4vw);
            filter: brightness(1.1);
        }
    }

    @media(min-width: 471px) and (max-width: 700px) {
        .branding::before {
            display: none;
        }
        #title-bl {
            display:none;
        }
        #title-gd {
            display:block;
        }
        .branding {
            position: absolute;
            top: 4vh;
            left:0;
            width: clamp(30%, 63vw, 70%);
            max-width: clamp(350px, 63vw, 618px);
            height: auto;
            justify-content: center;
            background: none;
            z-index: 5;
        }
        #oval {
            width: 140px;            
            height: auto;
            filter: drop-shadow(0 0 12px var(--color-brand-blue));
        }
        #title-gd {
            width: 280px;
            height: auto;
            position: relative;
            top: calc(4vh - 4vw);
            filter: brightness(1.1);
        }
        .homepage .brand-bar {
            width: 100%;
            background-color: var(--color-brand-blue);
            
        }
    }

    @media(min-width: 701px) and (max-width: 1400px) {
        .top-nav .hamburger {
            display: none;
        }
        .top-nav {
            position: absolute;
            top: 2vh;
            right: 4vw;
            padding-right: 2rem;
            z-index: 20;
            text-align: right;
        }
        .branding {
            position: absolute;
            top: 4vh;
            left: 0rem;
            max-width: clamp(450px, 63vw, 618px);
            height: auto;
            padding: 1rem;
            z-index: 1;
        }
        #oval {
            width: clamp(120px, 20vw, 173px);
            height: auto;
        }
        #title-bl {
            width: clamp(300px, 40vw, 435px);
            height: auto;
        }
        #title-gd {
            display: none;
        }
    }

    @media(min-width: 1401px) {
        .branding {
            position: relative;
            top: 4vh;
            left: 0;
            max-width: clamp(450px, 62vw, 615px);
            height: auto;
            padding: 1rem;
            z-index: 1;
        }
        #oval {
            width: clamp(120px, 20vw, 173px);
            height: auto;
        }
        #title-bl {
            width: clamp(300px, 40vw, 435px);
            height: auto;
        }
        #title-gd {
            display: none;
        }
    }
