html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
header.is-scrolled { background: rgba(26,22,17,.97); box-shadow: 0 2px 16px #0003; backdrop-filter: blur(12px); }
#mobile-nav { padding: .5rem 1.5rem 1.5rem; background: #1a1611; border-top: 1px solid #d4af3733; max-height: calc(100svh - 9rem); overflow-y: auto; }
#mobile-nav[hidden] { display: none; }
#mobile-nav a { display: block; color: #f7f3ea; padding: .9rem .5rem; font-size: 1rem; border-bottom: 1px solid #ffffff14; }
#mobile-nav a:last-child { color: #d4af37; }
#gallery-lightbox { inset: 0; margin: 0; padding: 1rem; border: 0; width: 100%; max-width: none; height: 100%; max-height: none; background: transparent; color: #fff; }
#gallery-lightbox[open] { display: flex; align-items: center; justify-content: center; }
#gallery-lightbox::backdrop { background: rgba(0,0,0,.9); }
#gallery-lightbox figure { width: 100%; max-width: 64rem; }
#gallery-image { width: 100%; max-height: 80vh; object-fit: contain; border-radius: .5rem; }
#gallery-caption { margin-top: .75rem; text-align: center; color: #fffc; font-size: .875rem; }
#gallery-close { position: absolute; top: 1rem; right: 1rem; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: #ffffff1a; color: #fff; font-size: 2rem; line-height: 1; cursor: pointer; }
#gallery-close:hover { background: #ffffff33; }
:focus-visible { outline: 3px solid #d4af37; outline-offset: 4px; }
@media (min-width: 1024px) { #mobile-nav { display: none; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .reveal { opacity: 1; transform: none; transition: none; } }
