/* Shared by every page: mobile menu, nav actions, footer columns */
.nav-actions{display:flex;align-items:center;gap:0.5rem;}
.menu-btn{
  display:none;position:relative;width:44px;height:44px;border-radius:50%;
  border:1px solid rgba(18,18,18,0.16);background:#fff;flex:none;cursor:pointer;
  align-items:center;justify-content:center;
}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{
  display:block;width:18px;height:2px;border-radius:2px;background:#121212;
  transition:transform .35s cubic-bezier(.16,.8,.24,1), background .2s ease;
}
.menu-btn span{position:relative;}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0;}
.menu-btn span::before{top:-6px;}
.menu-btn span::after{top:6px;}
body.menu-open .menu-btn span{background:transparent;}
body.menu-open .menu-btn span::before{transform:translateY(6px) rotate(45deg);}
body.menu-open .menu-btn span::after{transform:translateY(-6px) rotate(-45deg);}
.menu-btn:focus-visible{outline:2px solid #c9a15a;outline-offset:3px;}

.mobile-menu{
  position:fixed;inset:0;z-index:45;
  background:rgba(255,255,255,0.97);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  display:flex;flex-direction:column;justify-content:center;gap:0.3rem;
  padding:6rem clamp(16px,6vw,64px) 3rem;
  opacity:0;visibility:hidden;transition:opacity .3s ease, visibility 0s .3s;
}
body.menu-open .mobile-menu{opacity:1;visibility:visible;transition:opacity .3s ease;}
body.menu-open{overflow:hidden;}
.mobile-menu a{
  font-weight:800;font-size:clamp(2.1rem,10vw,3.2rem);letter-spacing:-0.045em;line-height:1.15;
  color:#121212;text-decoration:none;
  opacity:0;transform:translateY(14px);
  transition:opacity .4s ease, transform .5s cubic-bezier(.16,.8,.24,1), color .2s ease;
}
.mobile-menu a.current{color:#7d5f26;}
.mobile-menu a:hover{color:#7d5f26;}
body.menu-open .mobile-menu a{opacity:1;transform:none;}
body.menu-open .mobile-menu a:nth-child(2){transition-delay:.04s;}
body.menu-open .mobile-menu a:nth-child(3){transition-delay:.08s;}
body.menu-open .mobile-menu a:nth-child(4){transition-delay:.12s;}
body.menu-open .mobile-menu a:nth-child(5){transition-delay:.16s;}
.mobile-menu .mm-note{margin-top:2rem;font-size:0.95rem;color:#55524b;line-height:1.7;}
.mobile-menu .mm-note a{font-size:inherit;font-weight:600;letter-spacing:0;opacity:1;transform:none;display:inline;}

@media (max-width:880px){
  .menu-btn{display:inline-flex;}
}
@media (max-width:380px){
  .nav-actions .btn{padding:0.7em 1em;font-size:0.82rem;}
}

/* footer columns */
.footer-cols{display:flex;gap:clamp(2rem,6vw,4.5rem);flex-wrap:wrap;}
.footer-cols div{display:flex;flex-direction:column;gap:0.45rem;font-size:0.92rem;}
.footer-cols .k{font-family:'JetBrains Mono',monospace;font-size:0.64rem;letter-spacing:0.12em;text-transform:uppercase;color:#8a867c;margin-bottom:0.3rem;}
.footer-cols a{color:#55524b;text-decoration:none;transition:color .2s ease;}
.footer-cols a:hover{color:#121212;}
.footer-cols span:not(.k){color:#55524b;}
