/* Industries mega menu + drawer accordion. Loaded on every page, after the page's own styles.
   One DOM, two layouts: two-pane panel at 1024px and up, nested accordion in the drawer below. */

.nav-ind{list-style:none}
.ind-trigger{display:inline-flex; align-items:center; gap:6px; background:none; border:0; padding:0; margin:0; font:inherit; font-size:.95rem; font-weight:500; color:var(--muted); cursor:pointer; transition:color .2s}
.ind-trigger:hover,.ind-trigger[aria-expanded="true"],.nav-ind.is-section .ind-trigger{color:var(--text)}
.chev{width:14px; height:14px; flex-shrink:0; transition:transform .2s}
.ind-trigger[aria-expanded="true"] .chev{transform:rotate(180deg)}
.ind-trigger:focus-visible,.mega a:focus-visible,.mega button:focus-visible{outline:2px solid var(--primary-2); outline-offset:3px; border-radius:8px}
.mg-acc{display:none}
.mg-m{display:none}

/* ---------- Desktop ---------- */
@media(min-width:1024px){
  .nav-ind .mega{position:absolute; top:100%; left:50%; width:min(960px,calc(100vw - 44px)); max-height:calc(100dvh - 96px); overflow-y:auto; transform:translate(-50%,-6px);
    background:var(--surface); border:1px solid var(--border-2); border-radius:var(--radius); box-shadow:var(--shadow);
    opacity:0; visibility:hidden; transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s; z-index:70}
  .nav-ind .mega::before{content:""; position:absolute; left:0; right:0; top:-26px; height:26px}
  .nav-ind.open .mega{opacity:1; visibility:visible; transform:translate(-50%,0); transition-delay:0s}
  .mega-body{position:relative; display:grid; grid-template-columns:250px minmax(0,1fr); grid-template-rows:repeat(6,auto) 1fr; padding:12px 0; min-height:340px}
  .mega-body::before{content:""; position:absolute; left:0; top:0; bottom:0; width:250px; background:var(--bg-2); border-right:1px solid var(--border); border-radius:var(--radius) 0 0 0}
  .mg{display:contents}
  .mg:nth-child(1) .mg-rail{grid-row:1} .mg:nth-child(2) .mg-rail{grid-row:2} .mg:nth-child(3) .mg-rail{grid-row:3}
  .mg:nth-child(4) .mg-rail{grid-row:4} .mg:nth-child(5) .mg-rail{grid-row:5} .mg:nth-child(6) .mg-rail{grid-row:6}
  .mg-rail{position:relative; grid-column:1; display:flex; align-items:center; justify-content:space-between; margin:2px 12px; padding:11px 14px; border-radius:12px; color:var(--text); font-weight:500; font-size:.95rem; transition:background .15s}
  .mg-rail .chev{transform:rotate(-90deg); opacity:0; color:var(--muted)}
  .mg-rail:hover,.mg.is-active .mg-rail{background:rgba(255,255,255,.07)}
  .mg.is-active .mg-rail .chev{opacity:1}
  .mg-pane{display:none; grid-column:2; grid-row:1 / -1; padding:10px 26px 14px}
  .mg.is-active .mg-pane{display:block}
  .mg-title{margin:0 0 10px; padding:0 12px; font-size:.74rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--primary-2)}
  .mg-list{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr; gap:2px}
  .mg-list.mg-cols{grid-template-columns:1fr 1fr; column-gap:10px}
  .mg-list a{display:block; padding:9px 12px; border-radius:10px; transition:background .15s}
  .mg-list a:hover{background:rgba(255,255,255,.06)}
  .mg-name{display:block; font-size:.93rem; font-weight:600; color:var(--text); line-height:1.3}
  .mg-desc{display:block; margin-top:2px; font-size:.8rem; line-height:1.45; color:var(--muted)}
  .mg-list a[aria-current="page"] .mg-name,.mg-rail[aria-current="page"]{color:var(--primary-2)}
  .mg-all{order:99; grid-column:1 / -1; margin-top:8px; padding-top:8px; border-top:1px solid var(--border)}
  .mg-all a{display:inline-flex; font-size:.9rem; font-weight:600; color:var(--primary-2); padding:8px 12px}
  .mg-all a:hover{text-decoration:underline}
  .mega-foot{display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 26px; background:var(--bg-2); border-top:1px solid var(--border); border-radius:0 0 var(--radius) var(--radius)}
  .mega-foot p{margin:0; display:flex; align-items:center; gap:14px; font-size:.9rem}
  .mega-foot .btn{padding:9px 18px; font-size:.88rem}
  .mega-browse{font-size:.92rem; font-weight:600; color:var(--text)}
  .mega-browse:hover{color:var(--primary-2)}
}

/* ---------- Drawer (below 1024px) ---------- */
@media(max-width:1023px){
  .hamburger{display:flex}
  .nav-cta .btn-ghost{display:none}
  .nav-links{position:fixed; inset:72px 0 auto 0; flex-direction:column; align-items:stretch; gap:6px; background:rgba(8,11,20,.97); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); padding:18px 22px 24px; border-bottom:1px solid var(--border); transform:translateY(-140%); visibility:hidden; transition:transform .35s,visibility 0s linear .35s; z-index:55; max-height:calc(100dvh - 72px); overflow-y:auto}
  body.menu-open .nav-links{transform:none; visibility:visible; transition-delay:0s}
  .nav-links>li>a,.ind-trigger{display:flex; align-items:center; min-height:44px; font-size:1.05rem}
  .ind-trigger{width:100%; justify-content:space-between; color:var(--muted)}
  .nav-ind .mega{display:none}
  .nav-ind.open .mega{display:block}
  .mg{border-top:1px solid var(--border)}
  .mg-rail,.mg-title,.mg-desc,.mg-d{display:none}
  .mg-m{display:inline}
  .mg-acc{display:flex; width:100%; align-items:center; justify-content:space-between; min-height:44px; padding:0 0 0 12px; background:none; border:0; font:inherit; font-size:1rem; font-weight:600; color:var(--text); cursor:pointer; text-align:left}
  .mg-acc[aria-expanded="true"] .chev{transform:rotate(180deg)}
  .mg-pane{display:none}
  .mg.is-open .mg-pane{display:block}
  .mg-list{list-style:none; margin:0; padding:0 0 8px 12px; display:flex; flex-direction:column}
  .mg-all{order:-1}
  .mg-list a{display:flex; align-items:center; min-height:44px; padding:0 8px; font-size:.98rem; color:var(--muted)}
  .mg-all a{color:var(--primary-2); font-weight:600}
  .mg-name{font-weight:500}
  .mega-foot{border-top:1px solid var(--border); padding:6px 0 0}
  .mega-browse{display:flex; align-items:center; min-height:44px; padding:0 12px; font-weight:600; color:var(--text)}
  .mega-foot p{display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0; padding:6px 12px 6px; font-size:.88rem}
  .mega-foot .btn{padding:10px 18px; min-height:44px; flex-shrink:0}
}
@media(prefers-reduced-motion:reduce){.nav-ind .mega,.chev,.mg-rail{transition:none!important}}
