#video-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#000;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}#video-overlay.fade-out{pointer-events:none}#intro-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}#tap-prompt{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:30dvh;gap:12px}#tap-prompt.hidden{display:none}.tap-prompt__text{font-family:var(--font-body);font-weight:500;font-size:14px;letter-spacing:2px;text-transform:uppercase;color:#000000b3;animation:pulse-prompt 2s ease-in-out infinite}.tap-prompt__arrow{width:24px;height:24px;color:#00000080;animation:bounce-arrow 2s ease-in-out infinite}@keyframes pulse-prompt{0%,to{opacity:.5}50%{opacity:1}}@keyframes bounce-arrow{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}#invitation{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:48px 24px;opacity:0;pointer-events:none}.invitation__inner{max-width:32rem;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:0}.invitation__title-img{width:100%;max-width:320px;height:auto;object-fit:contain;margin-bottom:32px}.invitation__text{font-family:var(--font-body);font-weight:400;font-size:1rem;line-height:1.75;color:var(--color-ink);max-width:32rem;margin-bottom:24px;padding:0 8px}.invitation__date{font-family:var(--font-display);font-weight:400;font-size:1.25rem;letter-spacing:.1em;color:var(--color-ink-light);margin-bottom:40px}.invitation__cta{display:inline-block;padding:16px 48px;font-family:var(--font-body);font-weight:500;font-size:13px;letter-spacing:2.5px;text-transform:uppercase;text-decoration:none;color:var(--color-white);background:var(--color-ink);border-radius:50px;transition:background-color .3s ease,transform .2s ease;margin-bottom:16px}.invitation__cta:hover{background:var(--color-ink-light);transform:translateY(-1px)}.invitation__cta:active{transform:translateY(0)}.invitation__secondary-link{font-family:var(--font-body);font-weight:400;font-size:14px;color:var(--color-ink-light);text-decoration:underline;text-underline-offset:3px;transition:color .2s ease;margin-bottom:48px}.invitation__secondary-link:hover{color:var(--color-ink)}.invitation__table-img{width:100%;max-width:100%;height:auto;object-fit:contain}@media(min-width:600px){.invitation__title-img{max-width:380px}.invitation__text{font-size:1.1rem}.invitation__date{font-size:1.35rem}}@media(min-width:900px){.invitation__title-img{max-width:420px}.invitation__text{font-size:1.15rem}.invitation__date{font-size:1.4rem}.invitation__cta:hover{box-shadow:0 4px 16px #0000001f}}:root{--color-ivory: hsl(45, 33%, 93%);--color-ink: hsl(210, 35%, 35%);--color-ink-light: hsl(210, 30%, 45%);--color-white: #ffffff;--font-script: "Alex Brush", cursive;--font-display: "Cormorant Garamond", serif;--font-body: "Lora", serif}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);color:var(--color-ink);background:var(--color-white);min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased}#scene{position:relative;width:100%;min-height:100dvh}#audio-toggle{position:fixed;bottom:24px;right:24px;z-index:100;width:44px;height:44px;border-radius:50%;border:1px solid var(--color-ink-light);background:var(--color-white);color:var(--color-ink);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease,background-color .2s ease;box-shadow:0 2px 12px #00000014}#audio-toggle.visible{opacity:1;pointer-events:auto}#audio-toggle:hover{background:var(--color-ivory)}#audio-toggle svg{width:20px;height:20px}#audio-toggle .icon-muted,#audio-toggle.muted .icon-sound{display:none}#audio-toggle.muted .icon-muted{display:block}@media(prefers-reduced-motion:reduce){#video-overlay{display:none!important}#invitation{opacity:1!important;pointer-events:auto!important}.invitation__inner>*{opacity:1!important;transform:none!important}}
