html.mobile-menu-open,html.mobile-menu-open body{overflow:hidden}
.mobile-menu{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--linen);color:var(--ink);overflow:hidden;pointer-events:auto}
.mobile-menu::backdrop{background:rgba(40,48,31,.35)}
.mobile-menu-shell{display:flex;flex-direction:column;width:100%;max-width:760px;height:100%;margin:auto;padding:24px clamp(24px,6vw,52px) 26px;overflow-y:auto;overscroll-behavior:contain}
/* The shared timeline in site.js is restarted on each open and reversed on close. */
.mobile-menu-top{display:flex;align-items:center;justify-content:space-between;gap:25px;flex-shrink:0}
.mobile-menu-brand{display:block;flex-shrink:0}.mobile-menu-brand img{width:140px;height:auto;max-height:85px;object-fit:contain}
.mobile-menu-close{display:inline-flex;align-items:center;gap:10px;min-height:44px;border:1px solid rgba(90,99,72,.24);border-radius:40px;padding:10px 17px;background:#e4ddcf;color:var(--olive);font:500 12px/1.5 var(--sans);cursor:pointer}
.mobile-menu-close:focus-visible{outline:2px solid var(--olive);outline-offset:3px}
.mobile-menu.pointer-open .mobile-menu-close:focus-visible{outline:none}
.close-mark{position:relative;display:inline-block;width:15px;height:15px}.close-mark:before,.close-mark:after{content:'';position:absolute;top:7px;left:0;width:15px;height:1.5px;background:currentColor;transform:rotate(45deg)}.close-mark:after{transform:rotate(-45deg)}
.mobile-menu-nav{margin:auto 0;padding:32px 0;display:flex;flex-direction:column}
.mobile-menu-eyebrow{font:500 10px/1.7 var(--sans);letter-spacing:.13em;color:var(--olive);margin:0 0 16px}
.mobile-menu-nav>a{display:flex;align-items:center;gap:18px;padding:17px 0;border-bottom:1px solid #cec9ba;color:var(--ink);font:500 clamp(26px,7vw,38px)/1.3 var(--sans);letter-spacing:-.035em;text-decoration:none}
.mobile-menu-nav>a:hover{color:var(--olive)}
.menu-number{font:400 11px/1 var(--sans);letter-spacing:.05em;color:#7d836f;min-width:18px}
.mobile-menu-bottom{flex-shrink:0}.mobile-menu-book{display:flex;width:100%;min-height:55px;border-radius:40px;font-size:14px}
.mobile-menu-bottom p{text-align:center;color:var(--muted);font-size:11px;margin:20px 0 0}
@keyframes menu-panel-in{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes menu-panel-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(16px)}}
@keyframes menu-link-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes menu-backdrop-in{from{opacity:0}to{opacity:1}}
@media(max-height:600px){.mobile-menu-shell{padding-top:16px;padding-bottom:20px}.mobile-menu-brand img{width:105px;max-height:64px}.mobile-menu-nav{padding:20px 0}.mobile-menu-nav>a{padding:11px 0;font-size:25px}}
@media(prefers-reduced-motion:reduce){.mobile-menu[open] .mobile-menu-shell,.mobile-menu-nav>a,.mobile-menu::backdrop{animation:none!important}}
