/* =========================================================
   NAIRL — Shared site navigation (header chrome)
   Markup is rendered by the header block pattern; behavior by nav.js.
   ========================================================= */
.topbar{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.92);backdrop-filter:saturate(140%) blur(6px);border-bottom:1px solid var(--border)}
.topbar-inner{max-width:var(--container);margin:0 auto;padding:11px var(--gutter);display:flex;align-items:center;gap:0}
.topbar .brand{display:inline-flex;align-items:center;flex:none}
.topbar .brand img{height:34px;display:block;width:auto}

/* Primary nav */
.nav{display:flex;align-items:stretch;gap:2px;margin-left:auto;margin-right:auto}
.nav-item{position:relative;display:flex;align-items:center}
.nav-top{position:relative;display:inline-flex;align-items:center;gap:5px;font-family:var(--font-sans);font-size:calc((13px) * var(--fs-scale));line-height:1;font-weight:600;color:var(--navy-900);letter-spacing:.01em;padding:9px 10px;border-radius:var(--radius-sm);background:none;border:0;cursor:pointer;white-space:nowrap;transition:color 120ms,background 120ms;text-decoration:none}
.nav-item:hover .nav-top,.nav-item:focus-within .nav-top{color:var(--accent-600)}
.nav-top .caret{width:9px;height:9px;opacity:.55;transition:transform 160ms var(--ease-standard);stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.nav-item:hover .nav-top .caret,.nav-item:focus-within .nav-top .caret,.nav-item.open .nav-top .caret{transform:rotate(180deg)}
.nav-item.active .nav-top{color:var(--navy-900)}
.nav-item.active .nav-top::after{content:"";position:absolute;left:12px;right:12px;bottom:1px;height:2px;background:var(--accent-500);border-radius:2px}

/* Dropdown panel */
.dropdown{position:absolute;top:100%;left:0;min-width:264px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity 150ms var(--ease-standard),transform 150ms var(--ease-standard),visibility 150ms;z-index:50;margin:0;list-style:none}
.dropdown::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.nav-item:hover .dropdown,.nav-item:focus-within .dropdown,.nav-item.open .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown a{display:flex;align-items:center;gap:6px;padding:10px 12px;border-radius:var(--radius-xs);font-size:calc((13px) * var(--fs-scale));font-weight:500;line-height:1.3;color:var(--navy-800);transition:background 120ms,color 120ms;text-decoration:none}
.dropdown a:hover{background:var(--navy-050);color:var(--accent-600)}
.dropdown a.current{color:var(--accent-700);background:var(--accent-100)}
.dropdown a .ext{font-size:calc((11px) * var(--fs-scale));opacity:.45;margin-left:auto}

/* Tools */
.nav-tools{display:flex;align-items:center;gap:10px;flex:none}
.nav-search{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-sm);border:0;background:none;color:var(--navy-800);cursor:pointer;transition:background 120ms,color 120ms}
.nav-search:hover{background:var(--navy-050);color:var(--accent-600)}
.nav-search svg,.nav-burger svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.lang{font-size:calc((12px) * var(--fs-scale));color:var(--fg-subtle);letter-spacing:.04em;white-space:nowrap}
.lang a{color:var(--fg-subtle);text-decoration:none;transition:color 120ms}
.lang a:hover{color:var(--accent-600)}
.lang a.active{color:var(--navy-800);font-weight:700}
.nav-cta{font-size:calc((13px) * var(--fs-scale));line-height:1;font-weight:600;padding:9px 16px;background:var(--navy-800);color:#fff;border-radius:var(--radius-sm);transition:background 120ms;white-space:nowrap;text-decoration:none}
.nav-cta:hover{background:var(--navy-900);color:#fff}
.nav-mobile-tools{display:none}
.nav-burger{display:none;align-items:center;justify-content:center;width:38px;height:34px;border-radius:var(--radius-sm);border:0;background:none;color:var(--navy-900);cursor:pointer;margin-left:auto;flex:none}
.nav-burger:hover{background:var(--navy-050)}

/* Search overlay */
.search-overlay{position:fixed;inset:0;background:rgba(2,23,55,.55);display:none;align-items:flex-start;justify-content:center;padding-top:120px;z-index:60}
.search-overlay.open{display:flex}
.search-box{background:#fff;border-radius:var(--radius-sm);width:min(560px,90vw);padding:18px 20px;box-shadow:var(--shadow-xl);display:flex;align-items:center;gap:14px}
.search-box svg{width:18px;height:18px;stroke:var(--fg-subtle);stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}
.search-box input{flex:1;font-weight:400;font-size:calc((18px) * var(--fs-scale));line-height:1.4;font-family:var(--font-sans);border:0;outline:none;background:transparent;color:var(--navy-900)}
.search-box .x{font-size:calc((12px) * var(--fs-scale));color:var(--fg-subtle);cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-xs);padding:3px 8px;letter-spacing:.04em}

/* ---- Compact desktop nav (keep the horizontal menu down to ~1000px) ---- */
@media (min-width:1001px) and (max-width:1180px){
  .topbar-inner{gap:0}
  .nav-top{font-size:12px;padding:8px 8px;gap:4px}
  .nav-top .caret{width:8px;height:8px}
  .nav-tools{gap:8px}
  .nav-cta{font-size:12px;padding:8px 12px}
  .lang{font-size:11px}
  .nav-search{width:30px;height:30px}
}

/* ---- Mobile ---- */
@media (max-width:1000px){
  /* backdrop-filter would make the topbar a containing block for the
     position:fixed mobile menu, collapsing it — drop it on mobile. */
  .topbar{backdrop-filter:none;-webkit-backdrop-filter:none}
  .nav-burger{display:inline-flex}
  .nav{position:fixed;left:0;right:0;top:57px;bottom:0;margin:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-top:1px solid var(--border);padding:6px var(--gutter) 28px;overflow-y:auto;display:none;z-index:45}
  body.menu-open .nav{display:flex}
  body.menu-open{overflow:hidden}
  .nav-item{flex-direction:column;align-items:stretch;border-bottom:1px solid var(--border)}
  .nav-top{justify-content:space-between;width:100%;padding:16px 4px;font-size:calc((15px) * var(--fs-scale));border-radius:0}
  .nav-item.active .nav-top::after{display:none}
  .nav-item.active .nav-top{color:var(--accent-600)}
  .dropdown{position:static;min-width:0;border:0;box-shadow:none;padding:0 0 10px;opacity:1;visibility:visible;transform:none;display:none}
  .nav-item.open .dropdown{display:block}
  .dropdown a{padding:11px 14px;font-size:calc((14px) * var(--fs-scale))}
  .nav-tools{display:none}
  /* In-menu tools (search, language, Join us) shown inside the hamburger panel. */
  .nav-mobile-tools{display:flex;flex-direction:column;gap:16px;padding:20px 4px 8px;margin-top:6px}
  .m-search{display:flex;align-items:center;gap:10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:11px 14px}
  .m-search svg{width:18px;height:18px;stroke:var(--fg-subtle);stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}
  .m-search input{flex:1;min-width:0;border:0;outline:0;background:none;font-family:var(--font-sans);font-size:16px;color:var(--navy-900)}
  .nav-mobile-tools .m-row{display:flex;align-items:center;justify-content:space-between;gap:16px}
  .nav-mobile-tools .lang{font-size:14px}
  .nav-mobile-tools .nav-cta{flex:1;text-align:center;padding:13px 16px;font-size:15px}
}
