.site-header { position:fixed; inset:0 0 auto; z-index:100; height:var(--header-height); background:rgba(8,9,11,.72); border-bottom:1px solid transparent; backdrop-filter:blur(18px); transition:.25s ease; }
.site-header.is-scrolled { border-bottom-color:var(--border); background:rgba(8,9,11,.92); }
.nav { height:100%; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:flex; align-items:center; gap:12px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.brand img { width:44px; height:44px; border-radius:50%; object-fit:cover; }
.nav-links { display:flex; align-items:center; gap:22px; font-size:.93rem; }
.nav-links a { color:#d7d9de; transition:.2s; }
.nav-links a:hover, .nav-links a.active { color:var(--accent); }
.menu-btn { display:none; width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.06); color:#fff; cursor:pointer; }
@media (max-width: 900px) {
  .menu-btn { display:grid; place-items:center; }
  .nav-links { position:fixed; inset:var(--header-height) 0 auto; display:grid; gap:0; padding:18px 20px 28px; background:#0c0e12; border-bottom:1px solid var(--border); transform:translateY(-130%); opacity:0; pointer-events:none; transition:.25s ease; }
  .nav-links.open { transform:none; opacity:1; pointer-events:auto; }
  .nav-links a { padding:14px 4px; border-bottom:1px solid var(--border); font-size:1.05rem; }
}
/* Un menu mobile fermé ne doit pas recevoir le focus clavier. */
@media(max-width:900px) {
  .nav-links { visibility:hidden; max-height:calc(100dvh - 160px); overflow:auto; }
  .nav-links.open { visibility:visible; }
}
