/* ===== MEGA MENU (ported from Navigation/Compile Master spec) ===== */
:root {
  --brass: #a9863f;
  --brass-soft: #f1e6c8;
  --font-mono: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;
  --shadow-panel: 0 28px 56px -20px rgba(9,36,25,0.30), 0 2px 12px rgba(9,36,25,0.10);
}
.nav-link-btn {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--font-sans); font-size: 16px; color: var(--ink);
  background: none; border: none; cursor: pointer; padding: 0; opacity: 1;
  transition: opacity var(--dur-fast) var(--ease-out);
}
.nav-link-btn:hover, .nav-link-btn[aria-expanded="true"] { opacity: 0.72; }
.nav-link-btn .car { width: 9px; height: 9px; opacity: .55; transition: transform .18s; flex-shrink: 0; }
.nav-link-btn[aria-expanded="true"] .car { transform: rotate(180deg); }

.mega-shell { position: absolute; top: 100%; left: 0; right: 0; z-index: 199; opacity: 0; transform: translateY(-8px); pointer-events: none; transition: opacity .2s var(--ease-out), transform .2s var(--ease-out); }
.mega-shell.open { opacity: 1; transform: translateY(0); pointer-events: auto; }
.mega-panel { display: none; background: #fff; border: 1px solid var(--ink-10); border-radius: var(--r-lg); box-shadow: var(--shadow-panel); padding: 32px 36px 36px; max-width: var(--max-w); margin: 10px auto 0; }
.mega-panel.active { display: block; }
.mega-grid { display: grid; gap: 34px; }
.mega-grid.cols-5 { grid-template-columns: repeat(5,1fr); }
.mega-grid.cols-6 { grid-template-columns: repeat(3,1fr); }
.mega-grid.cols-3plus { grid-template-columns: 1fr 1fr 1fr 0.95fr; }
.mega-grid.cols-2 { grid-template-columns: repeat(2,1fr); max-width: 640px; }
@media (max-width: 960px) {
  .mega-grid.cols-5 { grid-template-columns: repeat(3,1fr); }
  .mega-grid.cols-6 { grid-template-columns: repeat(3,1fr); }
  .mega-grid.cols-3plus { grid-template-columns: repeat(2,1fr); }
  .mega-shell { display: none !important; }
}
.mega-col h4 { font-family: var(--font-meta); font-size: 10.5px; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-50); font-weight: 500; margin-bottom: 14px; display: flex; align-items: flex-start; gap: 8px; }
.mega-col h4 svg { width: 14px; height: 14px; flex-shrink: 0; opacity: .85; margin-top: 2px; }
.mega-col h4 a:hover { text-decoration: underline; }
.mega-col h4 a.h4-link { display: inline; padding: 0; margin: 0; background: none; border-radius: 0; font-size: inherit; color: inherit; }
.mega-col h4 a.h4-link:hover { background: none; color: var(--ink); }
.mega-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.mega-col a { display: block; position: relative; padding: 7px 10px; margin: 0 -10px; border-radius: var(--r-sm, 8px); font-size: 14px; color: var(--ink); transition: background .12s ease; }
.mega-col a:hover { background: var(--paper); }
.mega-col .see-all { display: inline-block; margin-top: 9px; font-size: 13px; font-weight: 700; color: var(--ink); padding: 7px 10px; margin-left: -10px; }
.mega-col .see-all:hover { background: var(--paper); border-radius: var(--r-sm, 8px); }
.mega-featured { background: var(--paper); border: 1px solid var(--ink-10); border-radius: var(--r-lg); padding: 20px; }
.mega-featured .tag { display: inline-block; font-family: var(--font-meta); font-size: var(--fs-meta); font-weight: 500; letter-spacing: var(--ls-meta); text-transform: uppercase; color: var(--earthy, var(--earthy, #465D38)); background: var(--light-green, #DBE5CF); padding: 5px 12px; border-radius: var(--r-pill); margin-bottom: 11px; }
.mega-featured h5 { font-family: var(--font-serif); font-size: 17px; font-weight: 500; margin: 0 0 7px; }
.mega-featured p { font-size: 12.5px; color: var(--ink-60); margin: 0 0 13px; }
.mega-featured .stat { font-family: var(--font-meta); font-size: 12px; color: var(--ink); border-top: 1px solid var(--ink-10); padding-top: 11px; margin-bottom: 13px; }
.mega-featured .stat b { color: var(--ink); font-size: 15.5px; }
.mega-featured a.cta { display: inline-block; font-size: 12.5px; font-weight: 700; color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }

.drawer-details { border-bottom: 1px solid var(--ink-10); }
.drawer-details summary { list-style: none; display: flex; align-items: center; justify-content: space-between; padding: 14px 0; font-family: var(--font-serif); font-size: 32px; line-height: 1.1; letter-spacing: var(--ls-tight); color: var(--ink); cursor: pointer; }
.drawer-details summary::-webkit-details-marker { display: none; }
.drawer-details summary .car { width: 11px; height: 11px; opacity: .55; transition: transform .18s; }
.drawer-details[open] summary .car { transform: rotate(180deg); }
.drawer-details .sub-list { list-style: none; margin: 0 0 14px; padding: 0 0 4px 2px; display: flex; flex-direction: column; gap: 2px; }
.drawer-details .sub-list a { display: block; padding: 10px 0; font-family: var(--font-sans); font-size: 17px; color: var(--ink-70,var(--ink-60)); }
.drawer-details .sub-list a.see-all { font-weight: 600; color: var(--ink); }

.nav { position: relative; }
