.invitation-navigation{position:fixed;z-index:45;top:0;left:50%;translate:-50% 0;width:100%;min-height:74px;max-width:1120px;pointer-events:none}
.invitation-navigation button,.invitation-navigation a{pointer-events:auto}
.desktop-navigation{display:none}
.hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;position:absolute;right:16px;top:calc(14px + env(safe-area-inset-top));width:46px;height:46px;padding:12px;background:#fbf8f4ed;border:1px solid #d7bd8360;color:var(--gold-text);box-shadow:0 2px 10px #b9904908}
.hamburger span{display:block;width:20px;height:1px;background:currentColor}
body.navigation-open{overflow:hidden}
.mobile-navigation{position:fixed;inset:0;margin:0 0 0 auto;width:min(100%,480px);max-width:100%;height:100dvh;max-height:100dvh;padding:calc(105px + env(safe-area-inset-top)) 32px 40px;border:0;background:var(--paper);color:var(--ink);overflow-y:auto;text-align:center;box-shadow:-10px 0 50px #8d7b7218}
.mobile-navigation::backdrop{background:#8d7b724d}
.mobile-navigation[open]{display:flex;flex-direction:column;justify-content:center}
.mobile-navigation .script-heading{font-size:48px}
.mobile-navigation .divider{margin:20px auto 32px}
.navigation-close{position:absolute;right:22px;top:calc(18px + env(safe-area-inset-top));min-height:44px;border:0;background:transparent;font:17px var(--serif);color:var(--ink)}
.navigation-close span{font-size:28px;margin-left:12px;vertical-align:-2px}
.mobile-navigation nav{display:flex;flex-direction:column;gap:14px}
.mobile-navigation nav a{display:block;padding:12px;font:30px/1.3 var(--serif);color:var(--ink);text-decoration:none}
.mobile-navigation nav a:hover{color:var(--gold-text)}
@media(min-width:1024px){.hamburger{display:none}.desktop-navigation{display:flex;align-items:center;justify-content:center;gap:40px;min-height:60px;background:linear-gradient(#fbf8f4f5,#fbf8f4ed 75%,#fbf8f400)}.desktop-navigation a{padding:18px 4px;color:var(--ink);font:14px/1.4 var(--serif);letter-spacing:.1em;text-decoration:none}.desktop-navigation a:hover{text-decoration:underline;text-underline-offset:5px}.invitation-section{scroll-margin-top:64px}}
@media(max-height:620px){.mobile-navigation{padding-top:70px;justify-content:flex-start!important}.mobile-navigation .script-heading{font-size:36px;margin-bottom:8px}.mobile-navigation .divider{margin:10px auto}.mobile-navigation nav{gap:0}.mobile-navigation nav a{font-size:25px;padding:8px}}

