/* ═══════════════════════════════════════════════════════════════
   V29 LAYER — appended 2026-07-05
   Scope: nav double-bar fix · mobile navigation · accessibility
   (focus-visible, reduced-motion) · restrained institutional
   neon refinement. Base V28 rules above are left untouched.
   ═══════════════════════════════════════════════════════════════ */
:root{
  --neon:#4dd6ff;                 /* single cool accent, used sparingly */
  --glow-n:rgba(77,214,255,.16);
  --glow-deep:0 30px 80px rgba(0,0,0,.55);
}

/* ── ISS-01 · NAV DOUBLE-BAR ROOT-CAUSE FIX ─────────────────────
   1) Top menu: active keeps the single full gold underline; hover
      on non-active items shows a visibly lighter provisional line,
      and hovering the active item adds nothing new — one indicator
      language, never two identical bars. */
nav.sn .nav-links a:hover:not(.active)::after{background:rgba(224,192,112,.5);}
nav.sn .nav-links a.active:hover::after{background:var(--gold);}
/*  2) Single hairline between nav and ticker (replaces flat border
      with one refined gradient line — still exactly one bar). */
nav.sn{border-bottom-color:transparent;}
nav.sn::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(201,168,76,.55) 30%,rgba(77,214,255,.30) 70%,transparent 100%);}
/*  3) Section-index bar (.sub): restyled so it can no longer be
      mistaken for a second navigation bar — recessed panel tone,
      an explicit “ON THIS PAGE” label, and a dot marker instead of
      a second underline. */
.sub{background:rgba(12,20,40,.92);}
.sub.show{border-bottom-color:rgba(26,38,70,.9);}
.sub-inner::before{content:'On this page';font-family:var(--mono);font-size:9px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--text-mu);
  padding-right:18px;margin-right:6px;border-right:1px solid var(--bdr);
  flex-shrink:0;display:inline-flex;align-items:center;height:var(--sub-h);}
.sn-lk{border-bottom:none;gap:8px;}
.sn-lk.active{border-bottom:none;color:var(--gold);}
.sn-lk.active::before{content:'';width:5px;height:5px;border-radius:50%;flex-shrink:0;
  background:var(--gold);box-shadow:0 0 10px var(--glow-g);}

/* ── ISS-02 · MOBILE NAVIGATION (markup injected by dravnox-ui.js) */
.nav-burger{display:none;}
.mnav{position:fixed;inset:0;z-index:600;background:rgba(7,9,15,.97);
  backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);
  padding:calc(var(--nav-h) + 28px) 28px 40px;
  flex-direction:column;display:flex;
  opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s;}
.mnav.open{opacity:1;visibility:visible;}
.mnav-close{position:absolute;top:16px;right:20px;width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  background:none;border:1px solid var(--bdr);border-radius:8px;
  color:var(--text-m);font-size:20px;line-height:1;cursor:pointer;transition:border-color .2s,color .2s;}
.mnav-close:hover{border-color:var(--bdr-g);color:var(--gold);}
.mnav-list{list-style:none;display:flex;flex-direction:column;margin:0;padding:0;}
.mnav-list a{display:block;font-family:var(--serif);font-size:26px;font-weight:400;
  color:var(--text-m);padding:16px 4px;border-bottom:1px solid var(--bdr);
  letter-spacing:.01em;transition:color .2s,padding-left .2s;}
.mnav-list a:hover{color:var(--text);padding-left:12px;}
.mnav-list a.active{color:var(--gold-l);}
.mnav-list a.active::before{content:'◆ ';font-size:12px;color:var(--gold);vertical-align:3px;}
.m-part{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold);background:var(--gold-dim);border:1px solid var(--bdr-g);
  border-radius:6px;padding:16px 20px;transition:background .2s,box-shadow .2s;}
.m-part:hover{background:rgba(201,168,76,.2);box-shadow:0 0 24px var(--glow-g);}
body.nav-open{overflow:hidden;}
/* ── V29.1 · ISS V29A-006 · NAV BREAKPOINT WIDENED ──────────────
   V28 only hid .nav-links/.n-part at <=960px, but re-showing six links
   plus the Partner Portal button at 52px side padding created a crowding
   risk from ~961-1100px (compact laptops, tablet landscape). The mobile
   drawer now covers that whole zone: the hamburger shows and the desktop
   links stay hidden up to 1180px, comfortably past the crowding range. */
@media(max-width:1180px){
  nav.sn .nav-links,nav.sn .n-part{display:none;}
  nav.sn{padding:0 20px;}
  .nav-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;
    width:44px;height:44px;padding:10px;background:none;
    border:1px solid var(--bdr);border-radius:8px;cursor:pointer;transition:border-color .2s;}
  .nav-burger:hover{border-color:var(--bdr-g);}
  .nav-burger span{display:block;width:100%;height:1.5px;background:var(--gold);
    border-radius:1px;transition:transform .25s,opacity .2s;}
  body.nav-open .nav-burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
  body.nav-open .nav-burger span:nth-child(2){opacity:0;}
  body.nav-open .nav-burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
}
@media(min-width:1181px){.mnav{display:none;}}

/* ── ISS-03 · ACCESSIBILITY ─────────────────────────────────── */
:focus-visible{outline:2px solid var(--gold-l);outline-offset:3px;border-radius:2px;}
.nav-burger:focus-visible,.mnav-close:focus-visible{outline-offset:2px;}
@media(prefers-reduced-motion:reduce){
  #canvas{display:none!important;}
  .mq-track{animation:none!important;}
  .rv{opacity:1!important;transform:none!important;transition:none!important;}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important;}
}

/* ── V29 VISUAL REFINEMENT (restrained, institutional) ───────── */
::selection{background:rgba(201,168,76,.3);color:var(--text);}
::-webkit-scrollbar{width:10px;}
::-webkit-scrollbar-track{background:var(--navy-d);}
::-webkit-scrollbar-thumb{background:var(--navy-l);border-radius:5px;}
::-webkit-scrollbar-thumb:hover{background:var(--gold);}
.sub.show::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(201,168,76,.25),transparent);}
/* Ambient light bands (index sections) — depth without new colour noise */
.phil-sec{background:radial-gradient(55% 75% at 88% 15%,rgba(26,107,255,.07),transparent 60%),var(--navy-d);}
.elite-sec{background:radial-gradient(50% 70% at 8% 85%,rgba(201,168,76,.05),transparent 60%),var(--navy-d);}
/* Unified premium hover glow for interactive panels */
.svc-c:hover,.val-c:hover,.office:hover,.el-item:hover,.pill:hover{
  box-shadow:0 18px 50px rgba(0,0,0,.35),0 0 0 1px rgba(201,168,76,.08);}
.pp-btn:hover{box-shadow:0 0 28px var(--glow-g),0 0 60px var(--glow-n);}
/* Live indicators pick up the single cool accent */
.sc-live .ld{box-shadow:0 0 10px var(--glow-n);}
/* Editorial rhythm: slightly stronger section-intro hairline */
.tag{position:relative;}
