.menu-toggle,.menu-close{width:44px;min-width:44px;height:44px;border:1px solid var(--line);background:transparent;color:var(--plum);cursor:pointer;display:flex;align-items:center;justify-content:center}
.menu-toggle{flex-direction:column;gap:5px}
.menu-toggle span{display:block;width:20px;height:2px;background:currentColor}
.header{gap:20px}.header .brand{margin-right:auto}
.site-menu{position:fixed;inset:0 auto 0 0;margin:0;width:min(360px,90vw);max-width:90vw;height:100%;height:100dvh;max-height:100dvh;border:0;border-right:1px solid var(--line);padding:28px 24px;background:var(--cream);color:var(--plum);overflow-y:auto;overscroll-behavior:contain;box-shadow:10px 0 45px #0002}
.site-menu::backdrop{background:rgb(31 12 23 / 50%)}
.site-menu[open]{animation:menu-enter .2s ease-out}
.menu-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.menu-heading-img{height:56px;width:auto;display:block}
.menu-heading h2{font-size:2rem;margin:0}.menu-close{font-size:28px;line-height:1}
.site-menu nav{display:flex;flex-direction:column;margin:20px 0 28px}
.site-menu nav a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}
.site-menu nav a:hover,.menu-email:hover{color:#a84c6a}
.menu-email{display:inline-block;padding:12px 0;font-size:14px;overflow-wrap:anywhere}
html.menu-open{overflow:hidden}
@keyframes menu-enter{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@media(max-width:1000px){.header>nav{display:none}.header{flex-wrap:nowrap}.header .brand{margin-right:auto}}
@media(max-width:360px){.header{gap:8px;padding-inline:12px}.header .brand{gap:8px}.header .brand>span:first-child{font-size:38px}.header .brand>span:last-child{font-size:14px}.brand small{font-size:7px}.bag span{margin-left:4px}}
@media(prefers-reduced-motion:reduce){.site-menu[open]{animation:none}}
