/* Scoped navigation enhancement. The original header and menus remain the fallback. */
.dna-nav-backdrop {
  position:fixed; inset:0; z-index:9999998;
  background:rgb(12 14 18 / 42%); backdrop-filter:blur(5px);
  opacity:0; visibility:hidden; transition:opacity .28s, visibility .28s;
}
.dna-nav-panel {
  --nav-ink:#17181b; --nav-muted:#71737b; --nav-line:#e6e7eb;
  position:fixed; inset:12px 12px 12px auto; z-index:9999999;
  width:min(480px, calc(100% - 24px)); max-height:calc(100dvh - 24px);
  box-sizing:border-box; display:flex; flex-direction:column; overflow:hidden;
  background:#fff; color:var(--nav-ink); border:1px solid #e6e7eb;
  border-radius:22px; box-shadow:0 24px 100px rgb(0 0 0 / 15%);
  font-family:Manrope, sans-serif; text-align:left;
  visibility:hidden; transform:translateX(calc(100% + 24px));
  transition:transform .4s cubic-bezier(.22,.75,.2,1), visibility .4s;
}
.dna-nav-panel.is-open { visibility:visible; transform:translateX(0); }
.dna-nav-backdrop.is-open { opacity:1; visibility:visible; }
.dna-nav-panel *, .dna-nav-panel *::before, .dna-nav-panel *::after { box-sizing:border-box; }
.dna-nav-panel button, .dna-nav-panel input { font:inherit; text-transform:none; letter-spacing:normal; }
.dna-nav-panel button { cursor:pointer; border:0; box-shadow:none; }
.dna-nav-panel button::before, .dna-nav-panel button::after { content:none; }
.dna-nav-panel a { color:inherit; text-decoration:none; }
.dna-nav-panel :focus-visible { outline:2px solid var(--nav-ink); outline-offset:3px; }
.dna-nav-top { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:24px 28px 20px; flex-shrink:0; }
.dna-nav-brand { display:block; position:relative; width:176px; height:44px; flex-shrink:0; overflow:hidden; }
/* The supplied logo contains transparent padding; crop its canvas, not the artwork. */
.dna-nav-brand img { position:absolute; width:550px; height:auto; max-width:none; max-height:none; left:-13px; top:-18px; }
.dna-nav-panel .dna-nav-close { width:44px; height:44px; padding:0; border:1px solid var(--nav-line); border-radius:50%; background:#f8f8fa; color:var(--nav-ink); display:grid; place-items:center; }
.dna-nav-close svg { width:18px; height:18px; }
.dna-nav-intro { padding:8px 28px 24px; flex-shrink:0; }
.dna-nav-eyebrow { display:block; margin:0 0 8px; color:var(--nav-muted); font-size:10px; font-weight:700; line-height:1.5; letter-spacing:.16em; text-transform:uppercase; }
.dna-nav-panel .dna-nav-title { margin:0 0 22px; color:var(--nav-ink); font-family:Sora, sans-serif; font-size:clamp(28px, 7.8vw, 34px); line-height:1.2; font-weight:500; letter-spacing:-.055em; }
.dna-nav-search { display:flex; align-items:center; gap:10px; min-height:48px; padding:0 14px; background:#f5f5f7; border:1px solid var(--nav-line); border-radius:10px; }
.dna-nav-search:focus-within { border-color:var(--nav-ink); }
.dna-nav-search svg { width:18px; height:18px; flex-shrink:0; color:var(--nav-muted); }
.dna-nav-panel .dna-nav-search input { width:100%; min-width:0; height:48px; padding:0; margin:0; background:transparent; border:0; border-radius:0; box-shadow:none; outline:0; font-size:14px; color:var(--nav-ink); }
.dna-nav-search input::placeholder { color:#74767d; opacity:1; }
.dna-nav-panel .dna-nav-clear { flex-shrink:0; background:none; color:var(--nav-muted); padding:0 4px; min-height:44px; font-size:12px; }
.dna-nav-scroll { min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; padding:0 28px 24px; flex:1; }
.dna-nav-section { border-top:1px solid var(--nav-line); }
.dna-nav-panel .dna-nav-section-title { margin:0; padding:0; font:inherit; }
.dna-nav-panel .dna-nav-group { display:flex; align-items:center; width:100%; min-height:68px; gap:14px; background:transparent; color:var(--nav-ink); padding:14px 0; text-align:left; }
.dna-nav-number { width:20px; flex-shrink:0; font-size:10px; font-weight:600; color:#858790; font-variant-numeric:tabular-nums; }
.dna-nav-group-name { flex:1; font-size:21px; line-height:1.3; font-weight:600; letter-spacing:-.045em; }
.dna-nav-plus { position:relative; width:22px; height:22px; flex-shrink:0; }
.dna-nav-plus::before, .dna-nav-plus::after { content:""; position:absolute; background:currentColor; width:10px; height:1px; top:10px; left:6px; }
.dna-nav-plus::after { transform:rotate(90deg); transition:transform .2s; }
.dna-nav-group[aria-expanded="true"] .dna-nav-plus::after { transform:rotate(0); }
.dna-nav-panel .dna-nav-links { list-style:none; padding:0 0 16px 34px; margin:0; }
.dna-nav-panel .dna-nav-links li { margin:0; padding:0; list-style:none; }
.dna-nav-links li::before, .dna-nav-links li::after { content:none !important; }
.dna-nav-panel .dna-nav-link { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px; margin:0 -12px; border-radius:8px; min-height:48px; font-size:16px; line-height:1.5; font-weight:500; transition:background .18s, color .18s; overflow-wrap:anywhere; }
.dna-nav-link::before, .dna-nav-link::after { content:none !important; }
.dna-nav-link svg { width:15px; height:15px; flex-shrink:0; color:#8c8e96; }
.dna-nav-link:hover, .dna-nav-link[aria-current="page"] { background:#f3f3f5; }
.dna-nav-link[aria-current="page"] { font-weight:700; }
.dna-nav-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 28px max(12px, env(safe-area-inset-bottom)); border-top:1px solid var(--nav-line); background:#fafafa; flex-shrink:0; }
.dna-nav-bottom a, .dna-nav-panel .dna-nav-site-search { display:flex; align-items:center; gap:8px; min-height:44px; padding:0; font-size:12px; font-weight:600; line-height:1.4; background:none; color:var(--nav-ink); }
.dna-nav-bottom svg { width:15px; height:15px; }
.dna-nav-status { font-size:14px; line-height:1.7; color:var(--nav-muted); margin:12px 0; }
.dna-nav-panel [hidden] { display:none !important; }
@media (max-width:479px) {
  .dna-nav-panel { inset:8px 8px 8px auto; width:calc(100% - 16px); max-height:calc(100dvh - 16px); border-radius:18px; }
  .dna-nav-top { padding:16px 20px 12px; }
  .dna-nav-intro { padding:8px 20px 20px; }
  .dna-nav-scroll { padding-inline:20px; }
  .dna-nav-bottom { padding-inline:20px; }
}
@media (max-height:640px) {
  .dna-nav-top { padding-block:10px; }
  .dna-nav-intro { padding-block:0 14px; }
  .dna-nav-eyebrow, .dna-nav-panel .dna-nav-title { display:none; }
  .dna-nav-panel .dna-nav-group { min-height:58px; }
  .dna-nav-bottom { padding-block:4px; }
}
@media (prefers-reduced-motion:reduce) {
  .dna-nav-panel, .dna-nav-backdrop, .dna-nav-plus::after, .dna-nav-link { transition:none !important; }
}
