/* Mobile menu */
.mobile-menu{
  position:fixed;top:0;right:0;bottom:0;
  width:min(88vw,380px);
  background:var(--primary-dark);
  transform:translateX(100%);
  transition:transform var(--dur) var(--ease);
  z-index:200;padding:var(--sp-8) var(--sp-6);
  display:flex;flex-direction:column;
  box-shadow:-20px 0 40px rgba(0,0,0,.35);
}
.mobile-menu.open{transform:translateX(0)}
.mobile-menu-close{align-self:flex-end;color:var(--cream);width:44px;height:44px;display:grid;place-items:center;margin-bottom:var(--sp-4)}
.mobile-menu-close svg{width:26px;height:26px}
.mobile-menu ul{list-style:none;padding:0;margin:0 0 var(--sp-6)}
.mobile-menu li{border-bottom:1px solid rgba(201,169,97,.15)}
.mobile-menu a{display:block;padding:1.1rem 0;color:var(--cream);font-family:var(--font-serif);font-size:1.35rem;font-weight:500}
.mobile-menu a:hover,.mobile-menu a.active{color:var(--accent)}
.mobile-menu .contact-block{margin-top:auto;padding-top:var(--sp-5);border-top:1px solid rgba(201,169,97,.2)}
.mobile-menu .contact-block a{padding:.3rem 0;font-size:1rem;font-family:var(--font-sans);color:var(--accent-light)}
.mobile-menu .contact-block .small{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-family:var(--font-sans);margin-bottom:.3rem}

.menu-backdrop{
  position:fixed;inset:0;background:rgba(15,45,32,.55);z-index:150;
  opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease);
}
.menu-backdrop.open{opacity:1;pointer-events:auto}
body.menu-open{overflow:hidden}
