/* Shared header navigation; loaded after legacy page styles. */
.site-header .menu-toggle { display:none; }
.menu-toggle svg { width:24px; height:24px; display:block; }
.mobile-nav-backdrop { display:none; }
@media (min-width:768px) {
 .site-header #site-nav { display:flex; flex-basis:auto; flex-wrap:nowrap; margin-left:auto; padding:0; order:0; }
 .site-header #site-nav .nav-contact { flex-basis:auto; }
}
@media (max-width:767px) {
 .site-header { z-index:100; flex-wrap:nowrap; gap:10px; }
 .site-header .site-brand { margin-right:auto; min-width:0; }
 .site-header .menu-toggle { display:flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; padding:10px; border:0; background:transparent; color:var(--ink,#15201b); cursor:pointer; order:2; }
 .site-header .site-search-toggle { order:1; flex-shrink:0; }
 .site-header #site-nav { display:none; position:fixed; top:var(--mobile-nav-top,90px); right:0; bottom:0; z-index:102; width:min(340px,100vw); margin:0; padding:28px 24px; background:var(--paper,#f5f5f0); border-left:1px solid var(--line,#d9ddd7); overflow-y:auto; flex-direction:column; align-items:stretch; justify-content:flex-start; flex-wrap:nowrap; gap:8px; }
 .site-header #site-nav.is-open { display:flex; animation:nav-enter .18s ease-out; }
 .site-header #site-nav a { display:block; flex:0 0 auto; padding:14px 16px; font-size:18px; }
 .site-header #site-nav .nav-contact { flex-basis:auto; margin-top:8px; text-align:center; }
 .mobile-nav-backdrop:not([hidden]) { display:block; position:fixed; inset:var(--mobile-nav-top,90px) 0 0; z-index:99; border:0; background:rgb(21 32 27 / .35); }
 body.mobile-nav-open { overflow:hidden; }
}
@keyframes nav-enter { from { opacity:0; transform:translateX(16px); } to { opacity:1; transform:translateX(0); } }
@media (prefers-reduced-motion:reduce) { .site-header #site-nav.is-open { animation:none; } }
