.nav-dropdown { position: relative; }
.nav-dropdown-toggle { border: 0; padding: 12px 0; background: transparent; color: var(--ink-soft); cursor: pointer; font-size: 14px; font-weight: 500; }
.nav-chevron { display: inline-block; margin-left: 4px; font-size: 13px; transition: transform 160ms var(--ease-out); }
.nav-dropdown-toggle[aria-expanded="true"] .nav-chevron { transform: rotate(180deg); }
.nav-popover {
  position: absolute; top: calc(100% + 15px); left: 50%; z-index: 40; padding: 14px; border: 1px solid var(--line); border-radius: 17px;
  background: rgba(255, 254, 251, .98); box-shadow: 0 24px 70px rgba(30, 24, 19, .16); opacity: 0; visibility: hidden; pointer-events: none;
  transform: translate(-50%, -8px) scale(.98); transform-origin: 50% 0; transition: transform 190ms var(--ease-out), opacity 150ms ease, visibility 0s linear 190ms;
}
.nav-dropdown[data-open="true"] .nav-popover { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0) scale(1); transition-delay: 0s; }
.nav-popover::before { content: ""; position: absolute; left: 0; right: 0; top: -20px; height: 20px; }
.nav-popover-wide { width: min(680px, calc(100vw - 40px)); }
.nav-popover-resources { width: 290px; display: grid; gap: 3px; }
.nav-popover-label { display: block; padding: 8px 10px 12px; color: #8a8c86; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.nav-popover-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; }
.nav-popover a { display: grid; gap: 4px; padding: 12px; border-radius: 11px; }
.nav-popover a b { color: var(--ink); font: 600 14px/1.2 "Manrope", sans-serif; }
.nav-popover a span { color: #7e817b; font-size: 11px; }
.mobile-nav-section-toggle { width: 100%; min-height: 58px; padding: 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; display: flex; align-items: center; justify-content: space-between; font: 600 18px/1.2 "Manrope", sans-serif; text-align: left; cursor: pointer; }
.mobile-nav-section-toggle span { color: #858781; font-size: 22px; font-weight: 400; transition: transform 180ms var(--ease-out); }
.mobile-nav-section-toggle[aria-expanded="true"] span { transform: rotate(45deg); }
.mobile-nav-submenu { display: none; grid-template-columns: 1fr 1fr; gap: 1px 18px; padding: 8px 0 14px; border-bottom: 1px solid var(--line); }
.mobile-nav-submenu[data-open="true"] { display: grid; }
.mobile-nav-submenu a { min-height: 42px; display: flex; align-items: center; border: 0; color: var(--ink-soft); font: 500 14px/1.25 "DM Sans", sans-serif; }
.mobile-nav-submenu a::after { content: none; }
.mobile-nav-direct { min-height: 58px !important; }
@media (hover: hover) and (pointer: fine) {
  .nav-dropdown:hover .nav-popover { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0) scale(1); transition-delay: 0s; }
  .nav-dropdown:hover .nav-chevron { transform: rotate(180deg); }
  .nav-popover a:hover { background: var(--paper); }
  .nav-dropdown-toggle:hover { color: var(--ink); }
}
@media (max-width: 980px) {
  .nav-dropdown { display: none; }
  .mobile-nav { max-height: calc(100dvh - 68px); overflow-y: auto; overscroll-behavior: contain; }
}
@media (max-width: 520px) { .mobile-nav-submenu { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .nav-popover { transform: translate(-50%, 0); } }
