.menu-panel{position:fixed;inset:0;z-index:90;width:100%;height:100svh;padding:0;display:block;overflow:auto;background:#233333 url('assets/menu-texture-original.png') center/cover no-repeat;background-blend-mode:luminosity;backdrop-filter:none;transform:none;clip-path:circle(0 at calc(100% - 45px) 28px);visibility:hidden;transition:clip-path .9s cubic-bezier(.77,0,.18,1),visibility 0s .9s;color:#e2d7c3;overscroll-behavior:contain}
.menu-panel.open{transform:none;clip-path:circle(150vmax at calc(100% - 45px) 28px);visibility:visible;transition:clip-path 1s cubic-bezier(.77,0,.18,1),visibility 0s}
.menu-layout{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(45px,5vw,85px);width:min(600px,70vw);margin:15svh 15vw 10svh auto;text-align:right;opacity:0;translate:0 75px;transition:opacity .25s,translate .7s cubic-bezier(.22,1,.36,1)}
.menu-panel.open .menu-layout{opacity:1;translate:0 0;transition-delay:.18s}
.menu-column h2{font-size:clamp(25px,2.3vw,38px);font-weight:400;line-height:1.05;margin:0 0 38px}
.menu-links{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.menu-panel .menu-entry{display:block;border:0;padding:0;font-family:Lava,serif;font-weight:400;font-size:clamp(18px,1.5vw,25px);line-height:1.25;color:#e2d7c3;text-decoration:none;transition:color .2s,translate .25s}
.menu-panel a.menu-entry:hover{padding:0;color:#d1a941;translate:-5px 0}
.menu-entry[aria-disabled=true]{opacity:.65}
.menu-panel .menu-entry[hidden]{display:none!important}
.menu-panel .menu-parent-link{margin-top:35px}
.menu-close{position:absolute;top:3.8svh;right:3.3vw;width:clamp(48px,5vw,78px);aspect-ratio:1;border:1px solid #a78b3b;border-radius:50%;background:transparent;display:grid;place-items:center;z-index:2;transition:background .25s,rotate .45s}
.menu-close span{position:relative;width:43%;height:1px;background:#b39a4e;transform:rotate(45deg)}
.menu-close span:after{content:'';position:absolute;inset:0;background:inherit;transform:rotate(90deg)}
.menu-close:hover{background:#a78b3b18;rotate:90deg}
.menu-search{margin-top:75px}
.menu-search label{display:block;color:#ba9a3e;font-size:clamp(19px,1.5vw,25px);margin-bottom:18px}
.menu-search-field{position:relative;max-width:230px;background:#f6f4ee;height:42px}
.menu-search input{display:block;width:100%;height:100%;border:0;background:transparent;padding:7px 12px 7px 42px;font:19px Lava,serif;color:#232f2f;outline-offset:4px}
.menu-search-submit{position:absolute;left:0;top:0;width:40px;height:42px;border:0;background:none;color:#b79a42}
.menu-search-submit:before{content:'';position:absolute;width:13px;height:13px;left:11px;top:10px;border:1.5px solid currentColor;border-radius:50%}
.menu-search-submit:after{content:'';position:absolute;width:9px;height:1.5px;left:23px;top:25px;background:currentColor;rotate:45deg;transform-origin:left center}
.menu-search-empty{font-size:17px;line-height:1.2;margin-top:12px;color:#e2d7c3}
body.menu-open{overflow:hidden}
.menu-scrim{display:none}
@media(max-width:700px){.menu-layout{width:auto;margin:15svh 9vw 45px;gap:30px}.menu-column h2{font-size:25px;margin-bottom:27px}.menu-panel .menu-entry{font-size:18px;line-height:1.3}.menu-links{gap:10px}.menu-close{right:22px;top:22px;width:48px}.menu-search{margin-top:45px}.menu-search label{font-size:19px}.menu-search-field{width:100%}.menu-panel .menu-parent-link{margin-top:25px}}
@media(max-width:400px){.menu-layout{gap:20px;margin-inline:7vw}.menu-column h2{font-size:23px}.menu-panel .menu-entry{font-size:17px}}
@media(prefers-reduced-motion:reduce){.menu-panel,.menu-panel.open,.menu-layout,.menu-panel.open .menu-layout,.menu-close,.menu-panel .menu-entry{transition:none;translate:0 0}}
.menu-panel{overscroll-behavior:none}

html{scrollbar-gutter:stable}
.menu-search-field{max-width:none}
.menu-search-results{margin-top:12px;max-height:32svh;overflow:auto;overscroll-behavior:none;scrollbar-width:thin;scrollbar-color:#8a6e34 transparent}
.menu-search-result{display:block;width:100%;border:0;border-bottom:1px solid #b79a4233;background:transparent;padding:13px 0;text-align:right;color:#e2d7c3;cursor:pointer}
.menu-search-result strong{display:block;color:#d1a941;font-size:17px;font-weight:400;margin-bottom:7px}
.menu-search-result span{display:block;font:16px/1.2 Lava,serif}
.menu-search-result:hover{background:#c6e7e309}
.search-hit{animation:search-hit-glow 2.8s ease-out}
@keyframes search-hit-glow{from{outline:2px solid #d1a941;background-color:#d1a94122}to{outline:2px solid transparent;background-color:transparent}}
@media(prefers-reduced-motion:reduce){.search-hit{animation:none;outline:1px solid #d1a941}}
