
.np .nav-links { gap: var(--s-5); }
.np .np-item { position: static; display: flex; align-items: center; }
.np .np-trigger {
  appearance: none; background: none; border: 0; cursor: pointer;
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--sans); font-size: var(--fs-micro); letter-spacing: .18em; text-transform: uppercase;
  font-weight: 500; color: var(--ink); opacity: .78; position: relative; padding: 4px 0; white-space: nowrap;
  transition: opacity var(--t-fast) var(--ease);
}
.np .np-trigger::after { content: ''; position: absolute; left: 0; bottom: -2px; width: 0; height: 1px; background: var(--brass); transition: width var(--t-fast) var(--ease); }
.np .np-trigger:hover, .np .np-trigger[aria-expanded="true"], .np .np-trigger[aria-current] { opacity: 1; }
.np .np-trigger:hover::after, .np .np-trigger[aria-current]::after { width: 100%; }
.np .np-caret { width: 10px; height: 10px; transition: transform var(--t-fast) var(--ease); }
.np .np-trigger[aria-expanded="true"] .np-caret { transform: rotate(180deg); }
.np .nav-links a[aria-current] { opacity: 1; }
.np .nav-links a[aria-current]::after { width: 100%; }
.np .np-plans { margin-left: var(--s-3); }

.np .np-panel {
  position: absolute; left: 0; right: 0; top: 100%;
  background: var(--cream); border-bottom: 1px solid var(--rule-strong);
  box-shadow: 0 24px 48px rgba(14,31,56,.14);
  opacity: 0; visibility: hidden; transform: translateY(-6px); pointer-events: none;
  transition: opacity var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), visibility 0s linear var(--t-fast);
}
.np .np-item.open .np-panel { opacity: 1; visibility: visible; transform: none; pointer-events: auto; transition: opacity var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), visibility 0s; }
.np .np-inner { max-width: var(--page-max); margin: 0 auto; padding: 28px var(--margin) 32px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-5); }
.np .np-row { display: block; text-decoration: none; padding: 6px 0; text-transform: none; letter-spacing: 0; opacity: 1; white-space: normal; }
.np .np-row * { white-space: normal; }
.np .np-row::after { display: none; }
.np .np-eyebrow { display: block; font-family: var(--mono); font-size: var(--fs-nano); letter-spacing: .14em; text-transform: uppercase; color: var(--teal); margin-bottom: 6px; }
.np .np-title { display: block; font-family: var(--serif); font-size: var(--fs-subhead); line-height: 1.15; color: var(--ink); font-weight: 400; }
.np .np-row:hover .np-title, .np .np-row:focus-visible .np-title { color: var(--teal); }
.np .np-sub { display: block; font-family: var(--sans); font-size: var(--fs-micro); line-height: 1.5; color: var(--ink); opacity: .8; margin-top: 6px; max-width: 34ch; letter-spacing: 0; text-transform: none; }
.np .np-row[aria-current] .np-title { color: var(--teal); }

.np .np-tel { display: none; }
.np .np-toggle { display: none; }
.np .np-drawer { display: none; }

@media (max-width: 1080px) {
  .np .nav-links { display: none; }
  .np .nav-inner { gap: 10px; }
  .np .nav-cta { display: inline-flex; padding: 8px 10px; letter-spacing: .12em; font-size: 10px; }
  .np .np-tel { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid var(--rule-strong); border-radius: var(--r-1); color: var(--ink); }
  .np .np-tel svg { width: 16px; height: 16px; }
  .np .np-toggle { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid var(--rule-strong); border-radius: var(--r-1); color: var(--ink); background: none; cursor: pointer; }
  .np .np-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
  .np .np-drawer[hidden] { display: none; }
  .np .np-drawer:focus { outline: none; }
  .np .np-drawer { display: block; border-top: 1px solid var(--rule); background: var(--cream); padding: var(--s-3) var(--margin) var(--s-5); max-height: calc(100dvh - 72px); overflow-y: auto; -webkit-overflow-scrolling: touch; }
  .np .np-drawer .np-group { padding: 10px 0 4px; font-family: var(--mono); font-size: var(--fs-nano); letter-spacing: .14em; text-transform: uppercase; color: var(--teal); }
  .np .np-drawer a { display: block; padding: 13px 0; font-family: var(--sans); font-size: var(--fs-micro); letter-spacing: .18em; text-transform: uppercase; border-bottom: 1px solid var(--rule); color: var(--ink); }
  .np .np-drawer a.np-sub-link { padding-left: 16px; font-size: 11px; }
  .np .np-drawer a[aria-current] { color: var(--teal); }
  .np .np-drawer a .np-quiet { text-transform: none; letter-spacing: 0; opacity: .7; margin-left: 8px; }
  .np .np-drawer .np-drawer-cta { display: flex; justify-content: center; margin-top: var(--s-4); border: 1px solid var(--ink); border-radius: var(--r-1); padding: 12px; border-bottom: 1px solid var(--ink); }
}
@media (max-width: 480px) { .np .nav-mark .nav-wordmark { display: none !important; } .np .nav-inner { padding-left: 16px; padding-right: 16px; } }


[id] { scroll-margin-top: 84px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto !important; } }


@media (max-width: 1280px) and (min-width: 1081px) {
  .np .nav-links { gap: 18px; }
  .np .nav-links a, .np .np-trigger { letter-spacing: .12em; font-size: 11px; }
  .np .np-plans { margin-left: 6px; }
  .np .nav-cta { padding: 9px 12px; letter-spacing: .12em; font-size: 11px; }
  .np .nav-inner { gap: 16px; }
}
@media (max-width: 1180px) and (min-width: 1081px) {
  .np .nav-mark .nav-wordmark { display: none; }
}
