*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
    :root {
      --navy:       #162040;
      --navy-deep:  #0d1628;
      --navy-mid:   #162040;
      --gold:       #d4a94a;
      --gold-dim:   #9e7929;
      --white:      #ffffff;
      --cream:      #f5f2eb;
      --text-light: rgba(255,255,255,0.75);
      --text-body:  rgba(255,255,255,0.75);
      --text-muted: rgba(255,255,255,0.5);
    }
    html { scroll-behavior: smooth; }
    body { font-family: "Raleway", sans-serif; background: var(--navy-deep); }

    nav {
      position: fixed; top: 0; left: 0; right: 0; z-index: 200;
      display: flex; align-items: center; justify-content: space-between;
      padding: 0 3rem; height: 80px;
      background: rgba(13, 22, 40, 0.92);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      transition: background 0.4s, height 0.4s, box-shadow 0.4s;
    }
    nav.scrolled { background: var(--navy-deep); height: 68px; box-shadow: 0 2px 30px rgba(0,0,0,0.4); }
    nav.scrolled::after { content:""; position:absolute; bottom:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--gold),transparent); opacity:0.5; }
    .nav-logo img { height: 38px; width: auto; display: block; transition: height 0.4s; }
    nav.scrolled .nav-logo img { height: 32px; }

    .nav-links { display: flex; align-items: center; gap: 2rem; list-style: none; }
    .nav-links > li { position: relative; }
    .nav-links > li > a {
      display: flex; align-items: center; gap: 0.3rem;
      color: rgba(255,255,255,0.85); text-decoration: none;
      font-size: 0.78rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase;
      transition: color 0.25s; white-space: nowrap; padding: 28px 0;
    }
    .nav-links > li > a:hover, .nav-links > li > a.active { color: var(--white); }
    .nav-link-inner { position: relative; display: inline-block; }
    .nav-link-inner::after { content:""; position:absolute; bottom:-2px; left:0; width:0; height:1px; background:var(--gold); transition:width 0.3s; }
    .nav-links > li > a:hover .nav-link-inner::after,
    .nav-links > li > a.active .nav-link-inner::after { width: 100%; }
    .chevron { font-size:0.55rem; opacity:0.6; transition:transform 0.25s; display:inline-block; margin-left:2px; }
    .has-dropdown.open > a .chevron { transform: rotate(180deg); }

    .nav-dropdown { display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%); padding-top:4px; min-width:230px; z-index:300; }
    .nav-dropdown.open { display: block; }
    .nav-dropdown-inner { background:var(--navy-mid); border:1px solid rgba(212,169,74,0.25); border-radius:4px; box-shadow:0 16px 48px rgba(0,0,0,0.5); overflow:hidden; }
    .nav-dropdown-label { padding:0.55rem 1.2rem; font-size:0.6rem; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold); border-bottom:1px solid rgba(212,169,74,0.15); }
    .nav-dropdown a { display:block; padding:0.75rem 1.2rem; font-size:0.72rem; font-weight:500; letter-spacing:0.06em; text-transform:uppercase; color:rgba(255,255,255,0.7); text-decoration:none; border-bottom:1px solid rgba(255,255,255,0.04); transition:background 0.2s,color 0.2s; white-space:nowrap; }
    .nav-dropdown a:last-child { border-bottom: none; }
    .nav-dropdown a:hover { background:rgba(212,169,74,0.09); color:var(--gold); }
    .nav-cta { padding:0.6rem 1.4rem !important; border:1px solid var(--gold) !important; color:var(--gold) !important; border-radius:2px; }
    .nav-cta .nav-link-inner::after { display:none; }
    .nav-cta:hover { background:var(--gold) !important; color:var(--navy-deep) !important; }

    
    /* ── HAMBURGER ── */
    .hamburger {
      display: none;
      flex-direction: column; justify-content: center; align-items: center;
      width: 44px; height: 44px; cursor: pointer;
      background: none; border: none; padding: 0; z-index: 400;
      position: relative;
    }
    .hamburger span {
      display: block; width: 24px; height: 2px;
      background: var(--white); border-radius: 2px;
      transition: transform 0.35s ease, opacity 0.35s ease, width 0.35s ease;
      transform-origin: center;
    }
    .hamburger span:nth-child(1) { margin-bottom: 5px; }
    .hamburger span:nth-child(2) { margin-bottom: 5px; }
    /* open state — morphs to X */
    .hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .hamburger.open span:nth-child(2) { opacity: 0; width: 0; }
    .hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    /* ── MOBILE PANEL ── */
    .mobile-panel {
      display: none;
      position: fixed;
      top: 0; right: 0; bottom: 0;
      width: min(320px, 85vw);
      background: var(--navy-deep, #0d1628);
      border-left: 1px solid rgba(212,169,74,0.2);
      box-shadow: -20px 0 60px rgba(0,0,0,0.5);
      z-index: 350;
      overflow-y: auto;
      transform: translateX(100%);
      transition: transform 0.38s cubic-bezier(0.4,0,0.2,1);
      padding-top: 90px;
    }
    .mobile-panel.open {
      display: block;
      transform: translateX(0);
    }

    /* overlay behind panel */
    .mobile-overlay {
      display: none;
      position: fixed; inset: 0;
      background: rgba(0,0,0,0.55);
      backdrop-filter: blur(3px);
      z-index: 340;
      opacity: 0;
      transition: opacity 0.35s ease;
    }
    .mobile-overlay.open { display: block; opacity: 1; }

    /* mobile nav links */
    .mobile-nav { list-style: none; padding: 0.5rem 0 2rem; }
    .mobile-nav li { border-bottom: 1px solid rgba(255,255,255,0.05); }
    .mobile-nav > li > a {
      display: flex; align-items: center; justify-content: space-between;
      padding: 1rem 2rem;
      font-size: 0.78rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
      color: rgba(255,255,255,0.8); text-decoration: none;
      transition: color 0.2s, background 0.2s;
    }
    .mobile-nav > li > a:hover,
    .mobile-nav > li > a.active { color: var(--gold, #d4a94a); background: rgba(212,169,74,0.04); }
    .mobile-nav > li > a .mob-chevron {
      font-size: 0.55rem; opacity: 0.5; transition: transform 0.3s;
    }
    .mobile-nav > li.open > a .mob-chevron { transform: rotate(180deg); }

    /* compliance accordion */
    .mobile-sub {
      display: none; background: rgba(255,255,255,0.02);
      border-top: 1px solid rgba(255,255,255,0.04);
    }
    .mobile-sub.open { display: block; }
    .mobile-sub-label {
      padding: 0.5rem 2.5rem;
      font-size: 0.6rem; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase;
      color: var(--gold, #d4a94a); opacity: 0.7;
    }
    .mobile-sub a {
      display: block; padding: 0.7rem 2.5rem;
      font-size: 0.72rem; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase;
      color: rgba(255,255,255,0.6); text-decoration: none;
      border-bottom: 1px solid rgba(255,255,255,0.03);
      transition: color 0.2s, background 0.2s;
    }
    .mobile-sub a:hover { color: var(--gold, #d4a94a); background: rgba(212,169,74,0.06); }
    .mobile-sub a:last-child { border-bottom: none; }

    /* mobile CTA */
    .mobile-cta-wrap { padding: 1.5rem 2rem 0; }
    .mobile-cta {
      display: block; text-align: center;
      padding: 0.85rem; width: 100%;
      border: 1px solid var(--gold, #d4a94a);
      color: var(--gold, #d4a94a) !important;
      font-size: 0.72rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
      text-decoration: none; border-radius: 2px;
      transition: background 0.25s, color 0.25s;
    }
    .mobile-cta:hover { background: var(--gold, #d4a94a); color: #0d1628 !important; }

    /* gold bar at top of panel */
    .mobile-panel::before {
      content: '';
      display: block; position: absolute; top: 0; left: 0; right: 0;
      height: 3px;
      background: linear-gradient(90deg, transparent, var(--gold, #d4a94a), transparent);
    }

    /* logo in mobile panel */
    .mobile-panel-logo {
      position: absolute; top: 24px; left: 2rem;
    }
    .mobile-panel-logo img { height: 28px; width: auto; opacity: 0.7; }

    @media (max-width: 900px) {
      .nav-links { display: none; }
      .hamburger { display: flex; }
    }

/* ── scroll to top button ── */
#scroll-top {
    position:fixed; bottom:2rem; right:2rem; z-index:500;
    width:44px; height:44px; border-radius:50%;
    background:var(--navy-mid); border:1px solid rgba(212,169,74,0.4);
    color:var(--gold); cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    opacity:0; visibility:hidden;
    transition:opacity 0.3s, visibility 0.3s, background 0.2s;
}
#scroll-top.visible { opacity:1; visibility:visible; }
#scroll-top:hover { background:var(--gold); color:var(--navy); }
#scroll-top svg { width:18px; height:18px; }
