/* ---- site menu (js/nav.js) ---- */
.site-header.has-fn{position:relative}
.site-header.has-fn .wrap{height:auto;min-height:60px;flex-wrap:nowrap;gap:12px;padding-top:6px;padding-bottom:6px}
.fha-nav{display:flex;align-items:center;gap:4px}
.fn-item{position:relative}
.fn-top{background:none;border:0;color:var(--muted,#A9A397);font:inherit;font-size:15px;padding:9px 13px;cursor:pointer;border-radius:10px;text-decoration:none;display:inline-flex;align-items:center;gap:7px;line-height:1.2}
.fn-top:hover,.fn-top:focus-visible,.fn-item.open>.fn-top{color:var(--ink,#ECE7DC);background:#1D2227}
.fn-top.on{color:var(--ink,#ECE7DC)}
.fn-caret{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.fn-menu{display:none;position:absolute;right:0;top:100%;margin-top:6px;min-width:330px;background:var(--panel,#1D2127);border:1px solid var(--line,#2E343C);border-radius:14px;padding:8px;z-index:60;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.fn-item.open>.fn-menu{display:block}
/* a flyover on a laptop: open on hover or keyboard focus, and an invisible bridge so the pointer can cross the gap to the menu */
.fn-menu::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
@media(hover:hover) and (min-width:821px){.fn-item:hover>.fn-menu,.fn-item:focus-within>.fn-menu{display:block}}
.fn-menu a{display:block;padding:10px 14px;border-radius:10px;color:var(--ink,#ECE7DC);text-decoration:none}
.fn-menu a:hover,.fn-menu a:focus-visible{background:#232A31}
.fn-menu a b{display:block;font-weight:600;font-size:15px}
.fn-menu a span{display:block;color:var(--muted,#A9A397);font-size:13px;margin-top:2px}
.fn-menu a[aria-current="page"] b{color:var(--brass,#C9A56A)}
.fn-burger{display:none;width:44px;height:44px;border:1px solid var(--line,#2E343C);border-radius:12px;background:transparent;cursor:pointer;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.fn-burger span{display:block;width:20px;height:2px;background:var(--ink,#ECE7DC);border-radius:2px;transition:transform .15s,opacity .15s}
.fn-open .fn-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}.fn-open .fn-burger span:nth-child(2){opacity:0}.fn-open .fn-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:820px){
  .site-header.has-fn .wrap{justify-content:space-between}
  .fn-burger{display:flex}
  .fha-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg,#14171B);border-bottom:1px solid var(--line,#2E343C);flex-direction:column;align-items:stretch;gap:2px;padding:6px 16px 16px;z-index:60;box-shadow:0 18px 30px rgba(0,0,0,.5)}
  .fn-open .fha-nav{display:flex}
  .fn-top{padding:12px 6px;font-size:17px;color:var(--ink,#ECE7DC);width:100%;justify-content:space-between}
  .fn-item>.fn-top{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--brass,#C9A56A);cursor:default;pointer-events:none;padding:14px 6px 4px}
  .fn-caret{display:none}
  .fn-menu{display:block;position:static;min-width:0;border:0;box-shadow:none;background:transparent;padding:0}
  .fn-menu a{padding:10px 6px}
  .fn-menu a span{display:none}
}
