/* DN nav, revamp 2026-11. Shared by every page with the main nav.
   Versioned filename: netlify.toml caches *.css immutable. */
  /* Nav, revamp 2026-11: three offers fold into one Solutions menu; the bar
     goes dark over the footage hero and turns white once you scroll past it. */
  .nav-links.nx { justify-content:center; gap:2.2rem; }
  .nx a, .nx-trigger { white-space:nowrap; }
  .nx-drop { position:relative; }
  .nx-trigger { display:inline-flex; align-items:center; gap:.45rem; background:none; border:0; padding:0; cursor:pointer; font:inherit; font-size:.92rem; color:var(--ink); opacity:.78; transition:opacity .2s; }
  .nx-trigger:hover, .nx-drop.open .nx-trigger, .nx-drop:focus-within .nx-trigger { opacity:1; }
  .nx-trigger svg { transition:transform .2s ease; }
  .nx-drop.open .nx-trigger svg { transform:rotate(180deg); }
  .nx-menu { position:absolute; top:calc(100% + 22px); left:50%; width:330px; transform:translate(-50%, 6px); background:#fff; border:1px solid var(--ink);
    box-shadow:0 18px 50px rgba(10,10,10,.14); padding:.5rem; display:grid; opacity:0; visibility:hidden; transition:opacity .18s ease, transform .18s ease, visibility 0s .18s; }
  .nx-menu::before { content:""; position:absolute; left:0; right:0; top:-24px; height:24px; }
  .nx-drop.open .nx-menu { opacity:1; visibility:visible; transform:translate(-50%, 0); transition:opacity .18s ease, transform .18s ease, visibility 0s; }
  .nx-menu a { display:grid; gap:.15rem; padding:.75rem .85rem; opacity:1; color:var(--ink); }
  .nx-menu a::after { display:none; }
  .nx-menu a b { font-weight:600; font-size:.95rem; }
  .nx-menu a span { font-size:.8rem; color:#6b7471; white-space:normal; }
  .nx-menu a:hover { background:#f2fbf9; }
  .nx-menu a:hover b { color:var(--teal); }
  .nx-menu .nx-all { border-top:1px dashed var(--rule); margin-top:.3rem; }
  .nx-menu .nx-all b { font-family:var(--mono); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; font-weight:700; }
  .nx-logo-light { display:none; }
  .nav-mobile-inner a span { display:none; }
  .nav-mobile-inner a b { font-weight:400; }

  /* Dark state, homepage only, while the hero is on screen */
  .nav { transition:background .3s ease, border-color .3s ease; }
  .nav.nx-dark { background:#050606; border-bottom-color:rgba(255,255,255,.08); }
  .nav.nx-dark .logo-word, .nav.nx-dark .nav-links > a, .nav.nx-dark .nx-trigger { color:#fff; }
  .nav.nx-dark .nx-logo-dark { display:none; }
  .nav.nx-dark .nx-logo-light { display:block; }
  .nav.nx-dark .nav-cta { background:var(--teal-bright); color:var(--ink); }
  .nav.nx-dark .nav-cta:hover { background:#fff; }
  .nav.nx-dark .nav-burger { border-color:rgba(255,255,255,.3); background:transparent; }
  .nav.nx-dark .nav-burger span { background:#fff; }
  body.nav-open .nav.nx-dark { background:#fff; border-bottom-color:var(--rule); }
  body.nav-open .nav.nx-dark .logo-word { color:var(--ink); }
  body.nav-open .nav.nx-dark .nx-logo-dark { display:block; }
  body.nav-open .nav.nx-dark .nx-logo-light { display:none; }
  body.nav-open .nav.nx-dark .nav-burger span { background:var(--ink); }
  body.nav-open .nav.nx-dark .nav-cta { background:var(--ink); color:#fff; }
  .nx a[aria-current="page"], .nx-drop.current .nx-trigger { opacity:1; }
  .nx > a[aria-current="page"]::after { transform:scaleX(1); }
  .nx-drop.current .nx-trigger { position:relative; }
  .nx-drop.current .nx-trigger::after { content:""; position:absolute; left:0; right:0; bottom:-5px; height:1px; background:var(--teal); }
  .nx-menu a[aria-current="page"] b { color:var(--teal); }

  /* Solutions menu, two columns (Build | Run) with a Map footer. 2026-11 */
  .nx-menu.nx-wide { width:620px; grid-template-columns:1fr 1fr; gap:0 .4rem; padding:.7rem .6rem .5rem; }
  .nx-col { display:grid; align-content:start; }
  .nx-h { font-family:var(--mono); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:var(--teal); margin:.35rem .85rem .2rem; }
  .nx-menu.nx-wide .nx-all { grid-column:1 / -1; }
  .nx-menu.nx-wide .nx-all b { color:var(--ink); }
  .nx-menu.nx-wide .nx-all:hover b { color:var(--teal); }

/* Small screens (fold cover screens, older small phones): keep the bar on one line. */
.nav-cta { white-space:nowrap; }
@media (max-width:380px) {
  .nav-cta { padding:.55rem .7rem; font-size:.66rem; letter-spacing:.06em; }
  .logo-word { font-size:.92rem; }
}
@media (max-width:345px) {
  .logo-word { display:none; }
}
