.yew-menu { align-items: stretch; display: flex; }
.yew-menu__toggle { align-items: center; background: transparent; border: 0; color: inherit; cursor: pointer; display: inline-flex; gap: .75em; justify-content: center; }
.yew-menu__icon { display: inline-flex; flex-direction: column; gap: 20%; height: 24px; justify-content: center; width: 24px; }
.yew-menu__icon i { background: currentColor; display: block; height: 2px; transition: transform .25s ease, opacity .25s ease; width: 100%; }
.yew-menu__icon--custom { height: auto; }
.yew-menu__icon--custom img { display: block; height: auto; pointer-events: none; width: 100%; }
.yew-menu__overlay { inset: 0; opacity: 0; position: fixed; transition: opacity .3s ease; z-index: 99998; }
.yew-menu__panel { bottom: 0; max-width: 100vw; overflow-y: auto; position: fixed; top: 0; transition: transform .35s cubic-bezier(.4,0,.2,1); visibility: hidden; z-index: 99999; }
.yew-menu--right .yew-menu__panel { right: 0; transform: translateX(100%); }
.yew-menu--left .yew-menu__panel { left: 0; transform: translateX(-100%); }
.yew-menu__panel-inner { min-height: 100%; position: relative; }
.yew-menu__close { background: transparent; border: 0; color: inherit; cursor: pointer; font-size: 2.5rem; line-height: 1; position: absolute; right: 24px; top: 20px; }
.yew-menu__nav { padding-top: 48px; }
.yew-menu__nav ul { list-style: none; margin: 0; padding: 0; }
.yew-menu__nav > ul { display: flex; flex-direction: column; gap: 12px; }
.yew-menu__nav a { color: inherit; display: block; font-size: clamp(1.75rem, 4vw, 3.5rem); line-height: 1.15; text-decoration: none; transition: color .2s ease; }
.yew-menu__nav .sub-menu { padding: .75rem 0 .25rem 1.25rem; }
.yew-menu__nav .sub-menu a { font-size: .55em; }
.yew-menu.is-open .yew-menu__overlay { opacity: 1; }
.yew-menu.is-open .yew-menu__panel { transform: translateX(0); visibility: visible; }
.yew-menu.is-open .yew-menu__icon i:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.yew-menu.is-open .yew-menu__icon i:nth-child(2) { opacity: 0; }
.yew-menu.is-open .yew-menu__icon i:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
body.yew-menu-open { overflow: hidden; }
@media (prefers-reduced-motion: reduce) { .yew-menu__panel, .yew-menu__overlay, .yew-menu__icon i { transition: none; } }
