/* ---------- NAV ---------- */
nav.topnav{position:sticky;top:0;z-index:50;background:rgba(245,240,235,0.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-on-paper);}
.nav-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;height:72px;position:relative;}

.brand{display:flex;align-items:center;flex:none;}
.brand-logo{height:32px;width:auto;display:block;}

.nav-links{position:relative;display:flex;gap:28px;align-items:center;justify-content:center;}

/* ---------- nav item + link ---------- */
.nav-item{}
.nav-link{font-size:15px;font-weight:500;color:var(--ink-900);opacity:0.82;padding:12px 0;display:inline-block;border-bottom:2px solid transparent;transition:color .15s,opacity .15s;}
.nav-link:hover{opacity:1;}
.nav-link.active{color:var(--fuchsia-700);opacity:1;border-bottom-color:var(--fuchsia-700);}

/* ---------- CTA ---------- */
.nav-cta{
  font-family:var(--mono);font-size:16px;font-weight:500;letter-spacing:0.02em;
  background:var(--fuchsia-700);color:var(--paper-100);
  padding:11px 20px;border:1px solid var(--fuchsia-700);transition:opacity .15s;
}
.nav-cta:hover{opacity:0.88;}

/* ---------- MEGA MENU ---------- */
.mega-menu{
  position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);
  background:#ffffff;border:1px solid var(--paper-400);
  box-shadow:0 18px 40px rgba(6,8,17,0.14);
  padding:30px;display:flex;gap:44px;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .15s ease, transform .15s ease;
  z-index:60;
}
.nav-item:hover .mega-menu,
.nav-item:focus-within .mega-menu{
  opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);
}
.mega-col{min-width:240px;}
.mega-head{
  font-family:var(--mono);font-size:11px;letter-spacing:0.05em;text-transform:uppercase;
  color:var(--cobalt-700);padding-bottom:10px;margin-bottom:16px;border-bottom:1px solid var(--paper-300);
}
.mega-desc{font-size:15px;line-height:1.55;color:var(--text-dim-paper);margin:0;max-width:30ch;}
.mega-link{display:block;margin-bottom:16px;}
.mega-link:last-child{margin-bottom:0;}
.mega-link .t{display:block;font-size:15px;font-weight:600;color:var(--ink-900);}
.mega-link .d{display:block;font-size:15px;font-style:italic;color:var(--text-dim-paper);margin-top:2px;line-height:1.4;}
.mega-link:hover .t{color:var(--fuchsia-700);}
.mega-link.accent .t{color:var(--fuchsia-700);}
.mega-link.accent:hover .t{opacity:0.75;}
.mega-link.plain .t{color:var(--ink-900);font-weight:500;}

/* ---------- burger / mobile ---------- */
.nav-burger{display:none;background:none;border:none;padding:8px;}
.nav-burger span{display:block;width:20px;height:2px;background:var(--ink-900);margin:5px 0;}
.mobile-panel{display:none;}

@media (max-width:960px){
  .nav-links{display:none;}
  .nav-inner > .nav-cta{display:none;}
  .nav-burger{display:block;}
  .mobile-panel.open{display:flex;flex-direction:column;background:var(--paper-100);border-bottom:1px solid var(--line-on-paper);max-height:80vh;overflow-y:auto;}
  .mobile-panel a{padding:15px 22px;border-top:1px solid var(--line-on-paper);font-size:16px;}
  .mobile-panel .mp-sub{padding:8px 22px 14px 34px;border-top:none;}
  .mobile-panel .mp-sub a{display:block;padding:8px 0;border-top:none;font-size:15px;opacity:0.75;}
  .mobile-panel .mp-sub a .d{display:none;}
  .mobile-panel .nav-cta{margin:14px 22px 18px;text-align:center;}
}
