.site-menu { position: fixed; right: 1.25rem; top: 0; z-index: 101; }
.site-menu__toggle { align-items: center; background: transparent; border: 0; color: var(--color-text); cursor: pointer; display: inline-flex; gap: 0.7rem; height: var(--header-height); justify-content: center; min-width: 2.75rem; padding: 0; }
.site-menu__toggle-label { font-family: Inter, Arial, sans-serif; font-size: 0.7rem; font-weight: 600; letter-spacing: 0.13em; text-transform: uppercase; }
.site-menu__toggle-icon { height: 0.9rem; position: relative; width: 1.4rem; }
.site-menu__toggle-icon span { background-color: currentColor; height: 1px; left: 0; position: absolute; transition: top 250ms ease-out, transform 250ms ease-out; width: 100%; }
.site-menu__toggle-icon span:first-child { top: 0.25rem; }
.site-menu__toggle-icon span:last-child { top: 0.7rem; }
.site-menu[data-menu-open="true"] .site-menu__toggle-icon span:first-child { top: 0.48rem; transform: rotate(45deg); }
.site-menu[data-menu-open="true"] .site-menu__toggle-icon span:last-child { top: 0.48rem; transform: rotate(-45deg); }
.site-menu__navigation { background-color: var(--color-surface); border: 1px solid color-mix(in srgb, var(--color-muted) 16%, transparent); display: grid; gap: 1.5rem; opacity: 0; padding: 1.5rem 1.25rem; pointer-events: none; position: absolute; right: 0; top: calc(var(--header-height) - 0.45rem); transform: translateY(-0.5rem) scale(0.98); transform-origin: top right; transition: opacity 250ms ease-out, transform 250ms ease-out, visibility 250ms ease-out; visibility: hidden; width: min(20rem, calc(100vw - 2.5rem)); }
.site-menu[data-menu-open="true"] .site-menu__navigation { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); visibility: visible; }
.site-menu__list { list-style: none; margin: 0; padding: 0; }
.site-menu__link { color: var(--color-text); display: block; font-family: Inter, Arial, sans-serif; font-size: 0.95rem; font-weight: 500; padding: 0.75rem 0; text-decoration: none; transition: color 220ms ease-out, opacity 220ms ease-out, transform 220ms ease-out; }
.site-menu__link:hover,
.site-menu__link:focus-visible,
.site-menu__link[aria-current="page"] { color: var(--color-gold); opacity: 1; transform: translateX(0.2rem); }
.site-menu__cta { align-items: center; border: 1px solid var(--color-gold); color: var(--color-gold); display: inline-flex; font-family: Inter, Arial, sans-serif; font-size: 0.78rem; font-weight: 600; justify-content: center; letter-spacing: 0.04em; min-height: 2.75rem; padding: 0.7rem 1rem; text-decoration: none; transition: background-color 220ms ease-out, color 220ms ease-out, opacity 220ms ease-out, transform 220ms ease-out; }
.site-menu__cta:hover,
.site-menu__cta:focus-visible { background-color: var(--color-gold); color: var(--color-background); opacity: 0.92; transform: translateY(-1px); }
.site-menu__toggle:focus-visible,
.site-menu__link:focus-visible,
.site-menu__cta:focus-visible { outline: 2px solid var(--color-gold); outline-offset: 4px; }
@media (min-width: 68rem) {
    .site-menu { right: max(4rem, calc((100vw - 90rem) / 2)); }
    .site-menu__toggle { display: none; }
    .site-menu__navigation { align-items: center; background: transparent; border: 0; display: flex; gap: 2.25rem; opacity: 1; padding: 0; pointer-events: auto; position: static; transform: none; visibility: visible; width: auto; }
    .site-menu__navigation::before { content: none; }
    .site-menu__list { align-items: center; display: flex; gap: 1.5rem; }
    .site-menu__link { font-size: 0.76rem; letter-spacing: 0.02em; opacity: 0.92; padding: 0.7rem 0; text-shadow: 0 1px 10px color-mix(in srgb, var(--color-background) 85%, transparent); }
    .site-menu__link:hover, .site-menu__link:focus-visible,
    .site-menu__link[aria-current="page"] { transform: translateY(-1px); }
    .site-menu__cta { white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) { .site-menu__toggle-icon span, .site-menu__navigation, .site-menu__link, .site-menu__cta { transition: none; } }
