/* Shared IMTPA navigation styles */
/* NAV */
    nav { background: var(--white); position: sticky; top: 0; z-index: 200; padding: 0 2rem; display: flex; align-items: center; justify-content: space-between; height: 74px; box-shadow: 0 1px 0 var(--border), 0 2px 16px rgba(11,29,53,0.07); }
    .nav-logo { display: flex; align-items: center; gap: 0.75rem; text-decoration: none; }
    .nav-logo img { height: 58px; width: auto; }
    .nav-logo-text { font-family: 'Fraunces', serif; font-size: 1.25rem; color: var(--navy); font-weight: 600; letter-spacing: 0.02em; }
    .nav-links { display: flex; list-style: none; gap: 0.1rem; align-items: center; }
    .nav-links > li { position: relative; }
    .nav-links > li > a, .nav-links > li > span { color: var(--navy); text-decoration: none; font-size: 0.88rem; font-weight: 500; padding: 0.45rem 0.85rem; border-radius: 6px; transition: all 0.2s; cursor: pointer; display: flex; align-items: center; gap: 0.3rem; white-space: nowrap; user-select: none; }
    .nav-links > li:hover > a, .nav-links > li:hover > span { color: var(--teal); background: var(--teal-pale); }
    .nav-links > li.nav-cta > a, .nav-links > li.nav-cta > span { background: var(--teal); color: var(--white); font-weight: 600; border-radius: 6px; }
    .nav-links > li.nav-cta:hover > a, .nav-links > li.nav-cta:hover > span { background: var(--teal-light); color: var(--white); }
    .nav-chevron { font-size: 0.6rem; opacity: 0.5; transition: transform 0.2s; display: inline-block; }
    .nav-links > li:hover .nav-chevron { transform: rotate(180deg); }
    .nav-dropdown { position: absolute; top: calc(100% + 6px); left: 0; background: var(--white); border: 1px solid var(--border); border-radius: 10px; min-width: 210px; padding: 0.5rem; opacity: 0; visibility: hidden; transform: translateY(-6px); transition: all 0.18s ease; z-index: 300; box-shadow: 0 8px 32px rgba(11,29,53,0.12); }
    .nav-links > li:hover .nav-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
    .nav-dropdown a { display: block; color: var(--text); text-decoration: none; font-size: 0.85rem; font-weight: 400; padding: 0.5rem 0.9rem; border-radius: 6px; transition: all 0.15s; white-space: nowrap; }
    .nav-dropdown a:hover { background: var(--teal-pale); color: var(--teal); }
    .nav-dropdown .dd-new { color: var(--teal); font-weight: 500; }
    .nav-dropdown hr { border: none; border-top: 1px solid var(--border); margin: 0.4rem 0.5rem; }
    /* HAMBURGER */
    .nav-hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 6px; border: none; background: none; z-index: 210; }
    .nav-hamburger span { display: block; width: 24px; height: 2px; background: var(--navy); border-radius: 2px; transition: all 0.3s; }
    .nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-hamburger.open span:nth-child(2) { opacity: 0; }
    .nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    /* MOBILE MENU */
    .mobile-menu { display: none; position: fixed; top: 74px; left: 0; right: 0; bottom: 0; background: var(--white); z-index: 199; overflow-y: auto; padding: 1rem 0 3rem; border-top: 1px solid var(--border); box-shadow: 0 8px 32px rgba(11,29,53,0.12); }
    .mobile-menu.open { display: block; }
    .mobile-group { border-bottom: 1px solid var(--border); }
    .mobile-group-header { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.5rem; cursor: pointer; font-size: 0.95rem; font-weight: 600; color: var(--navy); user-select: none; }
    .mobile-group-header .m-chevron { font-size: 0.65rem; color: var(--text-muted); transition: transform 0.2s; }
    .mobile-group-header.active .m-chevron { transform: rotate(180deg); }
    .mobile-group-items { display: none; padding: 0 0 0.5rem; background: var(--off-white); }
    .mobile-group-items.open { display: block; }
    .mobile-group-items a { display: block; padding: 0.7rem 2rem; font-size: 0.9rem; color: var(--text-muted); text-decoration: none; font-weight: 400; border-left: 3px solid transparent; transition: all 0.15s; }
    .mobile-group-items a:hover { color: var(--teal); border-left-color: var(--teal); background: var(--teal-pale); }
    .mobile-group-items a[style*="opacity"] { opacity: 0.5 !important; pointer-events: none; }
    .mobile-single { display: block; padding: 1rem 1.5rem; font-size: 0.95rem; font-weight: 600; color: var(--navy); text-decoration: none; border-bottom: 1px solid var(--border); }
    .mobile-single:hover { color: var(--teal); background: var(--teal-pale); }
    .mobile-cta { display: block; margin: 1.25rem 1.5rem; padding: 0.85rem 1.5rem; background: var(--teal); color: var(--white) !important; text-align: center; border-radius: 8px; font-weight: 700; font-size: 0.95rem; text-decoration: none; }
    .mobile-cta:hover { background: var(--teal-light); }
    .mobile-divider { height: 1px; background: var(--border); margin: 0.25rem 0; }

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