.menu-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;padding:0 10px;background:none;border:none;cursor:pointer;}
.menu-toggle span{display:block;height:1.5px;width:100%;background:var(--green);transition:background .2s;}
.menu-toggle:hover span{background:var(--gold);}

.menu-overlay{position:fixed;inset:0;background:rgba(18,55,47,0.55);z-index:150;opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s;}
.menu-panel{
  position:fixed;top:0;right:0;bottom:0;z-index:160;width:min(360px,86vw);
  background:var(--cream);padding:32px 36px;overflow-y:auto;
  transform:translateX(100%);visibility:hidden;transition:transform .3s ease,visibility 0s .3s;
}
.menu-open .menu-overlay{opacity:1;visibility:visible;transition:opacity .3s;}
.menu-open .menu-panel{transform:none;visibility:visible;transition:transform .3s ease;}
.menu-open body{overflow:hidden;}

.menu-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;margin-bottom:12px;border-bottom:1px solid rgba(18,55,47,0.12);}
.menu-title{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);font-weight:600;}
.menu-close{background:none;border:none;font-size:28px;line-height:1;color:var(--green);cursor:pointer;padding:0 4px;}
.menu-links a{display:block;font-family:var(--serif);font-size:21px;color:var(--green);padding:14px 0;border-bottom:1px dotted rgba(18,55,47,0.15);}
.menu-links a:last-child{border-bottom:none;}
.menu-links a:hover,.menu-links a.active{color:var(--gold);}

.nav-links{display:none;}
