/* "Resources" nav item and dropdown, on every page. The menu markup between the
   rmenu:start/end markers is generated by tools/seo/build_seo_pages.py.
   Desktop: a panel under the nav, grouped by category. Inside the homepage-style mobile
   menu (.nav-links at 820px and below) it becomes an expandable group. */
.rmenu{ position:static; }
/* Size and color come from the page's .nav-link (or .nav-right below), not from here. */
.rmenu-btn{
  display:inline-flex; align-items:center; gap:6px;
  font-family:inherit; background:none; border:0; cursor:pointer;
}
.rmenu-chev{ width:12px; height:12px; flex:0 0 auto; opacity:.75; transition:transform .18s ease; }
.rmenu.open .rmenu-chev{ transform:rotate(180deg); }
.rmenu-btn:focus-visible, .rmenu-item:focus-visible, .rmenu-all:focus-visible{
  outline:2px solid var(--accent); outline-offset:2px; border-radius:8px;
}

/* Dropdown panel, positioned against the sticky .nav-wrap */
.rmenu-panel{
  position:absolute; top:100%; left:50%; z-index:55;
  width:min(calc(var(--cols, 2) * 270px + 56px), calc(100vw - 32px));
  margin-top:1px; padding:20px 20px 14px;
  background:var(--bg-2); border:1px solid var(--line-2, var(--line)); border-radius:var(--radius, 14px);
  box-shadow:0 30px 70px -24px oklch(0 0 0 / 0.75), 0 0 0 1px oklch(1 0 0 / 0.03) inset;
  text-align:left;
  opacity:0; visibility:hidden; transform:translate(-50%, -6px);
  transition:opacity .16s ease, transform .16s ease, visibility 0s linear .16s;
}
.rmenu-panel::before{ content:""; position:absolute; left:0; right:0; top:-16px; height:16px; } /* hover bridge */
.rmenu.open .rmenu-panel{ opacity:1; visibility:visible; transform:translate(-50%, 0); transition:opacity .16s ease, transform .16s ease; }
.rmenu-cols{ display:grid; grid-template-columns:repeat(var(--cols, 2), minmax(0, 1fr)); gap:8px 20px; }
.rmenu-h{
  font-family:var(--font-label, var(--font-sans)); font-size:11px; font-weight:600;
  letter-spacing:0.1em; text-transform:uppercase; color:var(--fg-4);
  padding:0 12px; margin-bottom:6px;
}
.rmenu-item{ display:block; padding:10px 12px; border-radius:10px; text-decoration:none; transition:background .15s ease; }
.rmenu-item:hover{ background:var(--bg-3, oklch(0.24 0.014 250)); }
.rmenu-title{
  display:block; font-family:var(--font-sans); font-size:14.5px; font-weight:600;
  line-height:1.35; letter-spacing:-0.01em; color:var(--fg);
}
.rmenu-sum{ display:block; margin-top:3px; font-family:var(--font-sans); font-size:13px; line-height:1.45; color:var(--fg-3); letter-spacing:0; text-transform:none; }
.rmenu-all{
  display:flex; align-items:center; gap:6px;
  margin:12px -20px 0; padding:12px 32px 0; border-top:1px solid var(--line);
  font-family:var(--font-sans); font-size:13.5px; font-weight:600; color:var(--accent); text-decoration:none;
}
.rmenu-all:hover{ text-decoration:underline; text-underline-offset:3px; }

/* Legal pages: the trigger sits next to "Back to home" and uses its style */
.nav-right{ display:flex; align-items:center; gap:20px; margin-left:16px; }
.nav-right .nav-back{ white-space:nowrap; }
@media (max-width: 480px){ .nav-right .nav-back{ display:none; } } /* the logo already links home */
.nav-right .rmenu-btn{ font-family:var(--font-mono); font-size:12px; letter-spacing:0.04em; color:var(--fg-3); padding:6px 0; }
.nav-right .rmenu-btn:hover, .nav-right .rmenu.open .rmenu-btn{ color:var(--accent); }

/* Homepage-style mobile menu: an expandable group inside .nav-links */
@media (max-width: 820px){
  .nav-links .rmenu-btn{ width:100%; justify-content:space-between; text-align:left; }
  .nav-links .rmenu-chev{ width:14px; height:14px; }
  .nav-links .rmenu-panel{
    position:static; width:auto; margin:0; padding:2px 0 12px 12px;
    background:none; border:0; border-bottom:1px solid var(--line); border-radius:0; box-shadow:none;
    transform:none; display:none; opacity:1; visibility:visible; transition:none;
  }
  .nav-links .rmenu.open .rmenu-panel{ display:block; transform:none; }
  .nav-links .rmenu-panel::before{ display:none; }
  .nav-links .rmenu-cols{ grid-template-columns:1fr; gap:10px; }
  .nav-links .rmenu-h{ padding:8px 0 2px; }
  .nav-links .rmenu-item{ padding:9px 0; }
  .nav-links .rmenu-item:hover{ background:none; }
  .nav-links .rmenu-title{ font-size:15px; font-weight:500; color:var(--fg-2); }
  .nav-links .rmenu-sum{ display:none; }
  .nav-links .rmenu-all{ margin:8px 0 0; padding:12px 0 2px; }
}
/* Legal pages on phones: full-width panel, one column */
@media (max-width: 640px){
  .nav-right .rmenu-cols{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce){
  .rmenu-panel, .rmenu.open .rmenu-panel, .rmenu-chev{ transition:none; }
}
