/* ============================================================
   GENESIS — MOBILE NAV (hamburger + slide-out drawer)
   Shared across every page. Activates < 1024px.
   ============================================================ */

.m-burger{display:none;background:transparent;border:none;cursor:pointer;padding:10px 8px;flex-direction:column;gap:5px;align-items:center;justify-content:center;width:44px;height:44px;-webkit-tap-highlight-color:transparent}
.m-burger span{display:block;width:22px;height:2px;background:#0D0D0D;transition:transform .3s ease,opacity .25s ease}
.m-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.m-burger.open span:nth-child(2){opacity:0}
.m-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.m-drawer{position:fixed;inset:0;z-index:9999;pointer-events:none;visibility:hidden}
.m-drawer.open,.m-drawer.closing{visibility:visible}
.m-drawer.open{pointer-events:auto}
.m-backdrop{position:absolute;inset:0;background:rgba(13,13,13,.55);opacity:0;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.m-drawer.open .m-backdrop{animation:m-fade-in .35s ease forwards}
.m-drawer.closing .m-backdrop{animation:m-fade-out .3s ease forwards}

.m-panel{position:absolute;top:0;right:0;height:100%;width:min(380px,88vw);background:#fff;transform:translateX(100%);display:flex;flex-direction:column;box-shadow:-16px 0 48px rgba(0,0,0,.18)}
.m-drawer.open .m-panel{animation:m-slide-in .4s cubic-bezier(.4,0,.2,1) forwards}
.m-drawer.closing .m-panel{animation:m-slide-out .35s cubic-bezier(.4,0,.2,1) forwards}

@keyframes m-slide-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes m-slide-out{from{transform:translateX(0)}to{transform:translateX(100%)}}
@keyframes m-fade-in{from{opacity:0}to{opacity:1}}
@keyframes m-fade-out{from{opacity:1}to{opacity:0}}

.m-head{padding:22px 26px;border-bottom:1px solid #E0E0E0;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}
.m-brand{display:flex;flex-direction:column;line-height:1}
.m-brand-name{font-family:'Playfair Display',Georgia,serif;font-size:15px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#0D0D0D}
.m-brand-sub{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#888;margin-top:4px}
.m-close{background:transparent;border:none;font-size:30px;line-height:1;color:#333;cursor:pointer;padding:4px 8px;-webkit-tap-highlight-color:transparent;transition:color .2s}
.m-close:hover{color:#9B1C1C}

.m-nav{display:flex;flex-direction:column;flex-grow:1;overflow-y:auto;padding:8px 0}
.m-link{font-family:'DM Mono',monospace;font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#1A1A1A;text-decoration:none;padding:20px 26px;border-bottom:1px solid #F4F4F4;display:flex;align-items:center;justify-content:space-between;transition:background .2s,color .2s,padding-left .25s;position:relative}
.m-link::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#9B1C1C;transform:scaleY(0);transition:transform .3s ease}
.m-link::after{content:'→';color:#9B1C1C;opacity:0;transform:translateX(-6px);transition:opacity .25s,transform .25s}
.m-link:hover,.m-link.active{color:#9B1C1C;background:#FAFAFA;padding-left:30px}
.m-link:hover::before,.m-link.active::before{transform:scaleY(1)}
.m-link:hover::after,.m-link.active::after{opacity:1;transform:translateX(0)}
.m-link .m-num{font-family:'DM Mono',monospace;font-size:9px;color:#AAA;letter-spacing:.18em;margin-right:14px}
.m-link.active .m-num{color:#9B1C1C}

.m-foot{padding:22px 26px;border-top:1px solid #E0E0E0;background:#F8F8F8;flex-shrink:0}
.m-foot-label{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#9B1C1C;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.m-foot-label::after{content:'';flex:1;height:1px;background:rgba(155,28,28,.25)}
.m-cta{display:block;text-align:center;font-family:'DM Mono',monospace;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:#9B1C1C;padding:16px 22px;text-decoration:none;transition:background .2s;border:1.5px solid #9B1C1C}
.m-cta:hover{background:#7A1515}
.m-email{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.04em;color:#555;text-decoration:none;transition:color .2s}
.m-email:hover{color:#9B1C1C}
.m-social{display:flex;justify-content:center;gap:20px;margin-top:18px;padding-top:18px;border-top:1px solid #E0E0E0}
.m-social a{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#888;text-decoration:none;transition:color .2s}
.m-social a:hover{color:#9B1C1C}

/* Show hamburger and hide desktop nav items at tablet/mobile */
@media(max-width:1024px){
  .m-burger{display:flex}
  nav .nav-links,nav#main-nav .nav-links{display:none !important}
  nav .nav-cta,nav#main-nav .nav-cta{display:none !important}
}

/* Lock body scroll when drawer is open (JS toggles class) */
body.m-locked{overflow:hidden;touch-action:none}
