.invitation-wrapper{position:relative}.invitation-container{position:relative;min-height:100vh;width:100%;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s ease}.invitation-container.is-revealed{opacity:1;visibility:visible}.invitation-container:not(.is-revealed) [data-invitation-hero],.invitation-container:not(.is-revealed) [data-invitation-hero] *,.invitation-container:not(.is-revealed) [data-invitation-hero]:before,.invitation-container:not(.is-revealed) [data-invitation-hero] *:before,.invitation-container:not(.is-revealed) [data-invitation-hero] *:after{animation-name:none!important}.invitation-section{width:100%}.invitation-section[data-section=countdown]{position:relative}.invitation-reveal{visibility:hidden}.invitation-reveal.is-visible{visibility:visible}@media(prefers-reduced-motion:reduce){.invitation-reveal{visibility:visible}}.envelope-layer{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:1000;pointer-events:none;--envelope-fade-duration: .8s;--envelope-fade-delay: 1.2s}.envelope-layer .envelope-stage,.envelope-layer .envelope-audio-toggle{pointer-events:auto}.envelope-layer .envelope-stage.is-fading{pointer-events:none}.invitation-language-picker{position:fixed;top:max(.85rem,env(safe-area-inset-top));inset-inline-end:max(.85rem,env(safe-area-inset-right));z-index:1001;display:inline-flex;align-items:center;gap:.3rem;min-height:2.25rem;padding:0 .7rem 0 .8rem;border:1px solid color-mix(in srgb,var(--invitation-border, #e0dcd7) 60%,transparent);border-radius:999px;background:color-mix(in srgb,var(--invitation-bg-alt, #fff) 70%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 2px 10px #0000000d;color:var(--invitation-text-secondary, #6b5b4f);font-family:var(--font-primary, sans-serif);font-size:.72rem;font-weight:500;letter-spacing:.14em;line-height:1;transition:background-color .2s ease,border-color .2s ease}.invitation-language-picker:hover,.invitation-language-picker:has(select:focus-visible){background:color-mix(in srgb,var(--invitation-bg-alt, #fff) 90%,transparent)}.invitation-language-picker:has(select:focus-visible){border-color:color-mix(in srgb,var(--invitation-accent-soft, #c4b5a6) 70%,transparent)}.invitation-language-picker .ph-caret-down{font-size:.65rem;opacity:.55}.invitation-language-picker select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px;outline:none}
