/* One continuous surface in both normal and sticky navigation states. */
.menu-container,
.menu-container[data-stuck="true"] {
    top: 0;
    background: linear-gradient(90deg, #fffdfc, #fff7f5 50%, #fffdfc);
    border: 1px solid transparent;
    border-radius: 16px;
    padding: 8px 16px;
    box-shadow: none;
    transition: box-shadow 240ms ease, border-color 240ms ease;
}
.menu-container[data-stuck="true"] {
    border-color: transparent;
    box-shadow: 0 3px 14px rgba(128, 64, 56, .025);
}
.menu-container::before,.menu-container::after,.menu-button::before { content: none; animation: none; }
.menu-button,.menu-button:hover { transform: none; background: transparent; box-shadow: none; }
.menu-button { transition: color 180ms ease; }
.menu-button::after {
    content: ''; position: absolute; height: 1px; bottom: 7px;
    left: 14px; right: 14px; background: #b78427;
    transform: scaleX(0); transform-origin: center;
    transition: transform 200ms ease;
}
.menu-button:hover::after,.menu-button:focus-visible::after,.menu-button[aria-current="page"]::after { transform: scaleX(1); }
.menu-toggle-icon span { transition: transform 200ms ease, opacity 150ms ease; }
.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }
@media (max-width: 959px) {
    .menu-container,.menu-container[data-stuck="true"] { padding: 4px 12px; border-radius: 14px; }
    .menu-container[data-expanded="true"] .menu-links { border-top: 1px solid rgba(183,132,39,.18); }
    .menu-container[data-enhanced="true"][data-expanded="true"] .menu-links { animation: menu-unfold 180ms ease-out; }
    .menu-button::after { left: 30%; right: 30%; }
}
@keyframes menu-unfold { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
/* Content is visible by default, including without JS or IntersectionObserver. */
@media (prefers-reduced-motion: no-preference) {
    .reveal-pending { opacity: 0; transform: translateY(12px); }
    .reveal-entered { animation: quiet-reveal 480ms cubic-bezier(.2,.65,.3,1) both; }
    @keyframes quiet-reveal { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
    .action-button { transition: transform 180ms ease, box-shadow 180ms ease, color 180ms ease; }
    .action-button:hover { transform: translateY(-2px); }
}
@media (prefers-reduced-motion: reduce) {
    .menu-container,.menu-button,.menu-button::after,.menu-toggle-icon span,
    .menu-links,.reveal-pending,.reveal-entered,.action-button { animation: none !important; transition: none !important; }
    .reveal-pending,.reveal-entered { opacity: 1; transform: none; }
}
@media print { .reveal-pending,.reveal-entered { opacity: 1 !important; transform: none !important; animation: none !important; } }
