/* Shared header nav — hamburger + drawer */
header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:nowrap;
}
.logo{
  flex-shrink:0;
  overflow:visible;
  order:0;
}
.logo a{
  display:block;
  text-decoration:none;
  overflow:visible;
  line-height:0;
}
header .logo svg{
  height:56px;
  width:auto;
  display:block;
  overflow:visible;
}
.header-actions{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:auto;
  flex-shrink:0;
  order:1;
}

/* Home (no logo): keep actions on the right */
header:not(:has(.logo)) .header-actions{
  margin-left:auto;
}

.nav-toggle{
  display:inline-flex;flex-direction:column;justify-content:center;align-items:center;
  gap:5px;width:44px;height:44px;padding:0;border:1px solid var(--line);
  background:#fff;border-radius:4px;cursor:pointer;flex-shrink:0;
}
.nav-toggle span{
  display:block;width:18px;height:2px;background:var(--ink);border-radius:1px;
  transition:transform .2s ease, opacity .2s ease;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.nav-backdrop{
  position:fixed;inset:0;background:rgba(26,26,26,.35);z-index:90;
  opacity:0;pointer-events:none;transition:opacity .2s ease;
}
.nav-backdrop.open{opacity:1;pointer-events:auto;}

.nav-drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(360px,88vw);z-index:100;
  background:var(--cream);border-left:1px solid var(--line);
  transform:translateX(100%);transition:transform .25s ease;
  display:flex;flex-direction:column;padding:22px 0 28px;
  overflow-y:auto;
}
.nav-drawer.open{transform:translateX(0);}
.nav-drawer .nav-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:0 22px 16px;border-bottom:1px solid var(--line);margin-bottom:8px;
}
.nav-drawer .nav-head strong{
  font-family:'Fraunces',serif;font-size:20px;font-weight:600;
}
.nav-drawer .nav-close{
  border:none;background:none;font-size:28px;line-height:1;cursor:pointer;
  color:var(--ink-soft);padding:4px 8px;
}
.nav-drawer nav{display:flex;flex-direction:column;padding:8px 12px;}
.nav-drawer a{
  display:block;padding:12px 14px;text-decoration:none;color:var(--ink);
  font-size:15px;font-weight:500;border-radius:4px;
}
.nav-drawer a:hover{background:var(--cream-2);}
.nav-drawer a.active{background:var(--cream-2);color:var(--pine);font-weight:600;}
body.nav-open{overflow:hidden;}

@media (max-width:600px){
  header{gap:10px;}
  header .logo svg{height:42px;}
  .nav-toggle{width:40px;height:40px;}
}
