/* v16: one black plane turns around the top-right corner, matching the reference.
   300ms ease-in-out sheet; text is held for half of each 1.0–1.3s reveal. */
.aw-drawer-nav { pointer-events: auto; color: #080808; }
.aw-drawer-toggle[hidden] { display: none !important; }
.aw-header .aw-drawer-toggle {
    display: grid; place-items: center; width: 56px; height: 56px; min-height: 56px;
    margin: 0; padding: 0; border: 0; border-radius: 0; color: #080808;
    background: transparent; cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.aw-drawer-toggle__lines { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; width: 48px; height: 26px; }
.aw-drawer-toggle__lines i { display: block; height: 2px; width: 100%; background: currentColor; }
.aw-drawer-toggle__lines i:nth-child(2) { width: 75%; }
.aw-drawer-toggle__lines i:nth-child(3) { width: 50%; }

/* Top-layer dialog is transparent: the moving plane alone covers the page. */
dialog.aw-menu-dialog {
    position: fixed; inset: 0; width: 100%; height: 100%; height: 100dvh;
    max-width: none; max-height: none; margin: 0; padding: 0; border: 0;
    box-sizing: border-box; overflow: hidden; background: transparent; color: #fff;
    font-family: 'League Spartan', Arial, sans-serif; text-align: left; pointer-events: auto;
}
dialog.aw-menu-dialog:not([open]) { display: none; }
.aw-menu-dialog::backdrop { background: transparent; }
.aw-menu-shade { position: absolute; inset: 0; background: transparent; touch-action: none; }
.aw-menu-fan {
    position: absolute; top: 0; right: 0; width: 150vmax; height: 150vmax;
    background: #000; pointer-events: none; transform-origin: 100% 0%;
    transform: rotate(-90deg); transition: transform 300ms ease-in-out;
    backface-visibility: hidden;
}
/* 150vmax exceeds every viewport diagonal; no corner can leak mid-turn. */
@supports (width: 150dvmax) { .aw-menu-fan { width: 150dvmax; height: 150dvmax; } }
.aw-menu-dialog[open] .aw-menu-fan { will-change: transform; }
.aw-menu-dialog.is-visible .aw-menu-fan { transform: rotate(0deg); }
.aw-menu-panel {
    position: absolute; inset: 0; width: 100%; box-sizing: border-box;
    background: transparent; color: #fff; pointer-events: none;
    overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain;
}
.aw-menu-content {
    box-sizing: border-box; min-height: 100%;
    padding: max(150px, 12vh) 10vw max(52px, env(safe-area-inset-bottom));
}
.aw-menu-kicker {
    position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
    overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}
.aw-menu-navigation { margin: 0; padding: 0; }
.aw-menu-list {
    display: grid; grid-template-columns: max-content max-content; justify-content: start;
    gap: 0; margin: 0; padding: 0; list-style: none;
}
.aw-menu-item {
    margin: 0; padding: .06em .06em .1em 0; overflow: hidden;
    font-size: clamp(58px, 8.2vw, 160px); line-height: 1.12;
}
.aw-menu-link {
    display: flex; align-items: baseline; gap: .16em; width: fit-content;
    max-width: 100%; min-height: 48px; padding: .04em .03em .08em;
    box-sizing: border-box; color: #fff; text-decoration: none; font-weight: 700;
    font-size: inherit; line-height: 1.12; letter-spacing: -.048em;
    transform: translateY(200px); visibility: hidden; pointer-events: none;
}
.aw-menu-link:visited { color: #fff; }
.aw-menu-separator {
    display: none;
}
.aw-menu-link__label { position: relative; }
.aw-menu-link__label::after {
    content: ''; position: absolute; right: 0; left: 0; bottom: -.05em; height: 2px;
    background: linear-gradient(90deg, #2464be, #4087ed, #70afff);
    transform: scaleX(0); transform-origin: left; transition: transform 200ms ease;
}
.aw-menu-dialog.is-visible .aw-menu-link {
    visibility: visible; pointer-events: auto;
    animation: aw-menu-text-reveal calc(1000ms + var(--aw-menu-order) * 100ms) ease both;
}
@keyframes aw-menu-text-reveal {
    0%, 50% { transform: translateY(200px); }
    100% { transform: translateY(0); }
}
/* Like the reference, labels disappear immediately; only the sheet folds away. */
.aw-menu-dialog.is-closing .aw-menu-link { visibility: hidden; pointer-events: none; animation: none; }
.aw-menu-close {
    position: fixed; z-index: 2; top: 50px; right: clamp(24px, 2.5vw, 64px);
    display: grid; place-items: center; width: 56px; height: 56px; min-height: 56px;
    margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent;
    color: #fff; mix-blend-mode: difference; cursor: pointer; pointer-events: auto;
}
.aw-menu-close span { grid-area: 1 / 1; width: 39px; height: 2px; background: currentColor; transform: rotate(45deg); }
.aw-menu-close span + span { transform: rotate(-45deg); }
.aw-menu-dialog.is-closing .aw-menu-close { visibility: hidden; }
.aw-menu-link:focus-visible { outline: 2px solid #fff; outline-offset: -3px; }
.aw-menu-link:focus-visible .aw-menu-link__label::after { transform: scaleX(1); }
.aw-drawer-toggle:focus-visible, .aw-menu-close:focus-visible { outline: 2px solid currentColor; outline-offset: 6px; }
@media (hover: hover) { .aw-menu-link:hover .aw-menu-link__label::after { transform: scaleX(1); } }
.aw-menu-fallback { display: flex; flex-wrap: wrap; gap: 18px; }
.aw-menu-fallback a { color: inherit; font-size: 18px; }
body.admin-bar .aw-menu-close { top: 82px; }
@media (max-width: 782px) { body.admin-bar .aw-menu-close { top: 96px; } }
@media (max-width: 600px) {
    .aw-header .aw-drawer-toggle { width: 52px; height: 52px; min-height: 52px; }
    .aw-drawer-toggle__lines { width: 44px; }
    .aw-menu-content { padding: max(126px, env(safe-area-inset-top)) 8vw max(32px, env(safe-area-inset-bottom)); }
    .aw-menu-list { grid-template-columns: minmax(0, 1fr); }
    .aw-menu-item { font-size: clamp(48px, 12vw, 72px); padding-bottom: .12em; }
    .aw-menu-close { top: max(30px, env(safe-area-inset-top)); right: 20px; width: 52px; height: 52px; min-height: 52px; }
    body.admin-bar .aw-menu-close { top: 76px; }
}
@media (max-height: 560px) {
    .aw-menu-content { padding-top: 80px; padding-bottom: 24px; }
    .aw-menu-item { font-size: clamp(32px, 8vh, 60px); }
    .aw-menu-close { top: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .aw-menu-fan, .aw-menu-link__label::after { transition: none !important; }
    .aw-menu-dialog.is-visible .aw-menu-link { animation: none !important; transform: none; }
}
