.invite-root,.theme-preview{--bg: #061820;--surface: #0d2c38;--primary: #7ec8c9;--accent: #e8c872;--text: #f4efe6;--muted: #b7c9c9;--gradient: linear-gradient(160deg, #04141c, #1a6a6e);--font-display: "Cormorant Garamond"}.invite-root{min-height:100vh;background:var(--bg);color:var(--text);font-family:Outfit,sans-serif;background-image:radial-gradient(circle at 18% 22%,color-mix(in srgb,var(--accent) 18%,transparent) .7px,transparent 1px),radial-gradient(circle at 78% 48%,color-mix(in srgb,var(--primary) 14%,transparent) .55px,transparent .9px);background-size:26px 26px,38px 38px}.invite-art{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}.invite-art svg{position:absolute;color:var(--primary)}.invite-art .art-primary{color:var(--primary)}.invite-art .art-accent{color:var(--accent)}.invite-cover,.theme-preview{position:relative;overflow:hidden;background-color:var(--bg);background-image:linear-gradient(180deg,color-mix(in srgb,var(--bg) 10%,transparent),color-mix(in srgb,var(--bg) 22%,transparent) 38%,color-mix(in srgb,var(--bg) 78%,transparent)),var(--cover, none),var(--gradient);background-size:cover;background-position:center;color:var(--text)}.invite-family{display:grid;gap:.75rem;margin-top:1.2rem}@media(min-width:640px){.invite-family{grid-template-columns:1fr 1fr}.invite-party{grid-template-columns:repeat(3,1fr)}}.invite-art{opacity:1}.invite-cover{min-height:100svh;display:flex;align-items:center;justify-content:center}.invite-cover-inner,.preview-copy{position:relative;z-index:2;text-align:center;padding:2rem 1.4rem;max-width:40rem}.invite-kicker,.preview-copy .kicker{letter-spacing:.35em;text-transform:uppercase;font-size:.72rem;color:var(--muted)}.invite-name,.preview-copy .who{font-family:var(--font-display),serif;font-size:clamp(3.2rem,12vw,7rem);line-height:.9;margin:.6rem 0 1rem;font-weight:500}.invite-date-hero,.preview-copy .when{font-size:1.05rem;letter-spacing:.18em;color:var(--accent)}.invite-flourish{width:120px;height:18px;margin:.8rem auto;background:linear-gradient(90deg,transparent,var(--accent),transparent);clip-path:polygon(0 50%,45% 40%,50% 0,55% 40%,100% 50%,55% 60%,50% 100%,45% 60%)}.invite-cta-row{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:2rem}.invite-btn{border:1px solid var(--primary);background:transparent;color:var(--text);padding:.85rem 1.4rem;border-radius:999px;cursor:pointer;font:inherit;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.45rem}.invite-btn.solid{background:var(--primary);color:var(--bg);font-weight:600}.invite-section{padding:5rem 1.25rem 3.2rem;max-width:none;width:100%;margin:0;text-align:center;position:relative;z-index:1}.invite-section-inner{max-width:42rem;margin:0 auto;position:relative}.invite-story .invite-section:nth-of-type(odd){background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--surface) 22%,transparent) 50%,transparent 100%)}.invite-section h2:after{content:"";display:block;width:88px;height:10px;margin:.7rem auto 0;background:linear-gradient(90deg,transparent,var(--accent),transparent);clip-path:polygon(0 50%,45% 40%,50% 0,55% 40%,100% 50%,55% 60%,50% 100%,45% 60%)}.invite-section h2,.invite-section h3{font-family:var(--font-display),serif;font-weight:500}.invite-count{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;margin-top:1.5rem}.invite-count div{background:color-mix(in srgb,var(--surface) 80%,black);border:1px solid color-mix(in srgb,var(--primary) 25%,transparent);padding:1rem .4rem;border-radius:1rem}.invite-count strong{display:block;font-size:1.8rem;color:var(--accent)}.invite-count span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.invite-card{background:color-mix(in srgb,var(--surface) 72%,transparent);border:1px solid color-mix(in srgb,var(--primary) 28%,transparent);border-radius:1.25rem;padding:1.5rem;margin-top:1rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 16px 40px color-mix(in srgb,var(--bg) 40%,transparent);transition:transform .35s ease,box-shadow .35s ease}.invite-card:hover{transform:translateY(-4px);box-shadow:0 22px 50px color-mix(in srgb,var(--primary) 20%,transparent)}.invite-album{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.invite-album img,.invite-ph{width:100%;aspect-ratio:3/4;-o-object-fit:cover;object-fit:cover;border-radius:.8rem;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);box-shadow:0 12px 28px color-mix(in srgb,var(--bg) 42%,transparent);background:radial-gradient(circle at 40% 30%,color-mix(in srgb,var(--primary) 50%,transparent),transparent 55%),linear-gradient(160deg,color-mix(in srgb,var(--primary) 38%,var(--surface)),var(--surface))}.invite-album img.is-ph{-o-object-fit:none;object-fit:none}.invite-dock{position:sticky;bottom:0;display:flex;background:color-mix(in srgb,var(--bg) 92%,black);border-top:1px solid color-mix(in srgb,var(--primary) 25%,transparent);z-index:20}.invite-dock a,.invite-dock button{flex:1;padding:.9rem .4rem;text-align:center;color:var(--text);background:none;border:0;font:inherit;font-size:.72rem;cursor:pointer;text-decoration:none}.invite-modal{position:fixed;inset:0;background:#0000009e;display:flex;align-items:flex-end;justify-content:center;z-index:50;padding:1rem}.invite-modal-card{width:min(32rem,100%);background:var(--surface);border-radius:1.4rem 1.4rem .6rem .6rem;padding:1.4rem;max-height:88vh;overflow:auto}.invite-field{width:100%;margin:.45rem 0;padding:.75rem .85rem;border-radius:.7rem;border:1px solid color-mix(in srgb,var(--primary) 30%,transparent);background:color-mix(in srgb,var(--bg) 70%,black);color:var(--text);font:inherit}.invite-preview-bar{position:sticky;top:0;z-index:30;background:var(--accent);color:#1a1208;text-align:center;padding:.55rem 1rem;font-size:.85rem;font-weight:600}.invite-preview-bar a{color:inherit}.art-waves{left:0;right:0;bottom:0;width:100%;height:42%}.art-moon{top:8%;right:10%;width:88px;color:var(--accent)}.art-shell{bottom:18%;left:8%;width:54px}.art-spark{width:18px;color:var(--accent);animation:twinkle 3s ease-in-out infinite;z-index:2}.art-spark.a1{top:18%;left:16%}.art-spark.a2{top:28%;right:22%;animation-delay:1.2s}.art-spark.a3{top:58%;left:10%;width:14px;animation-delay:1.8s}.art-spark.a4{bottom:26%;right:12%;width:16px;animation-delay:2.4s}.art-vignette,.art-texture,.art-frame{position:absolute;inset:0;pointer-events:none}.art-vignette{background:radial-gradient(ellipse at 50% 30%,transparent 28%,color-mix(in srgb,var(--bg) 38%,transparent) 72%,color-mix(in srgb,var(--bg) 62%,transparent) 100%)}.art-texture{opacity:.2;background-image:radial-gradient(circle at 18% 22%,color-mix(in srgb,var(--accent) 70%,transparent) .7px,transparent 1px),radial-gradient(circle at 78% 48%,color-mix(in srgb,var(--primary) 55%,transparent) .55px,transparent .9px);background-size:26px 26px,38px 38px}.art-frame{inset:12px;border:1px solid color-mix(in srgb,var(--accent) 70%,transparent);box-shadow:inset 0 0 0 8px color-mix(in srgb,var(--bg) 22%,transparent),0 0 40px color-mix(in srgb,var(--bg) 35%,transparent);z-index:1}.art-frame.is-inner{inset:22px;box-shadow:none;opacity:.45}.art-filigree{width:min(42%,210px);z-index:2;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--accent) 35%,transparent))}.art-filigree.tl{top:6px;left:6px}.art-filigree.tr{top:6px;right:6px;transform:scaleX(-1)}.art-filigree.bl{bottom:6px;left:6px;transform:scaleY(-1)}.art-filigree.br{bottom:6px;right:6px;transform:scale(-1)}.art-bouquet{width:min(58%,340px);z-index:2;filter:drop-shadow(0 8px 18px color-mix(in srgb,var(--bg) 45%,transparent))}.art-bouquet.bl{bottom:-10%;left:-12%}.art-bouquet.br{bottom:-10%;right:-12%;transform:scaleX(-1)}.art-bouquet.tl{top:-12%;left:-12%;transform:scaleY(-1);width:min(40%,220px)}.art-bouquet.tr{top:-12%;right:-12%;transform:scale(-1);width:min(40%,220px)}.art-bouquet.is-small{width:min(36%,200px);opacity:.92}.art-garland{width:min(26%,130px);height:90%;top:5%;z-index:2}.art-garland.left{left:-3%}.art-garland.right{right:-3%;transform:scaleX(-1)}.art-pearls{width:18px;height:32%;top:10%;z-index:2;animation:floaty 7s ease-in-out infinite}.art-pearls.left{left:11%}.art-pearls.right{right:11%;animation-delay:1.1s}.art-quince{position:absolute;bottom:0;height:52%;width:auto;max-width:42%;-o-object-fit:contain;object-fit:contain;-o-object-position:bottom center;object-position:bottom center;z-index:2;opacity:.55;filter:drop-shadow(0 8px 18px color-mix(in srgb,var(--bg) 50%,transparent));pointer-events:none}.art-quince.q-left{left:-4%}.art-quince.q-right{right:-4%;transform:scaleX(-1)}.invite-art.is-story .art-quince{opacity:.28;height:46%}.art-ornament-top{top:6.5%;left:50%;width:min(72%,300px);transform:translate(-50%);z-index:2}.art-petal.p4{top:46%;right:20%;transform:rotate(-14deg);animation-delay:.9s}.art-petal.p5{bottom:30%;left:22%;transform:rotate(48deg);animation-delay:1.5s}.theme-rose .invite-cover-inner,.theme-wine .invite-cover-inner,.theme-gold .invite-cover-inner,.theme-cherry .invite-cover-inner,.theme-lace .invite-cover-inner,.theme-rose .preview-copy,.theme-wine .preview-copy,.theme-gold .preview-copy{padding-left:1.6rem;padding-right:1.6rem}.invite-art.is-compact .art-pearls,.invite-art.is-compact .art-garland,.invite-art.is-compact .art-bouquet.tl,.invite-art.is-compact .art-bouquet.tr,.invite-art.is-compact .art-frame.is-inner{display:none}.invite-story{position:relative;isolation:isolate;background-color:var(--bg);background-image:linear-gradient(180deg,color-mix(in srgb,var(--bg) 58%,transparent),color-mix(in srgb,var(--bg) 88%,transparent)),var(--cover),var(--gradient);background-size:cover;background-attachment:fixed;background-position:center top}.invite-atmosphere{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.invite-atmosphere .invite-art{position:absolute;inset:0}.invite-art.is-story .art-bouquet.bl,.invite-art.is-story .art-bouquet.br{width:min(44%,250px);opacity:.48}.invite-art.is-story .art-garland,.invite-art.is-story .art-palm,.invite-art.is-story .art-fern,.invite-art.is-story .art-waves{opacity:.26}.invite-art.is-story .art-drape,.invite-art.is-story .art-mask,.invite-art.is-story .art-ornament-top{display:none}.invite-drift{position:absolute;inset:0}.invite-drift .petal{position:absolute;bottom:-8%;width:16px;height:26px;border-radius:80% 18% 72% 28%;background:color-mix(in srgb,var(--primary) 75%,transparent);opacity:0;animation:petal-rise linear infinite;filter:blur(.2px)}.invite-drift .petal:nth-child(odd){width:11px;height:18px;background:color-mix(in srgb,var(--accent) 65%,transparent)}.invite-drift .petal:nth-child(3n){animation-duration:14s}@keyframes petal-rise{0%{transform:translateZ(0) rotate(0);opacity:0}10%{opacity:.75}to{transform:translate3d(18px,-120vh,0) rotate(210deg);opacity:0}}.invite-credit{padding:2rem 1.25rem 6.5rem;color:var(--muted);font-size:.85rem;text-align:center;position:relative;z-index:1}.invite-story .invite-hero{position:relative;z-index:1}.invite-story .music-chip,.invite-story .invite-dock{z-index:25}.art-wreath,.art-deco,.art-sunburst,.art-stars{top:3%;left:4%;width:92%;height:94%}.art-arch{left:12%;top:4%;width:76%;height:92%;transform:none}.art-olive{top:6%;left:50%;width:90px;transform:translate(-50%)}.art-stars{inset:0;width:100%;height:100%}.art-crescent{top:10%;right:8%;width:110px;animation:floaty 8s ease-in-out infinite}.art-corners{width:110px}.art-corners.c-tl{top:18px;left:18px}.art-corners.c-tr{top:18px;right:18px}.art-corners.c-bl{bottom:18px;left:18px}.art-corners.c-br{bottom:18px;right:18px}.art-diamond{top:8%;left:50%;width:36px;transform:translate(-50%)}.art-drape{top:0;left:0;width:100%;height:28%}.art-rose-line{top:12%;left:50%;width:70px;transform:translate(-50%)}.art-mask{bottom:12%;left:50%;width:130px;transform:translate(-50%)}.art-petal{width:34px}.art-petal.p1{top:12%;left:10%;transform:rotate(-20deg)}.art-petal.p2{top:20%;right:12%;transform:rotate(35deg)}.art-petal.p3{bottom:22%;left:16%;transform:rotate(12deg)}.art-blossom{top:8%;right:10%;width:70px}.art-blossom.b2{bottom:12%;left:8%;width:58px}.art-palm.left{left:0;bottom:0;width:46%;height:72%}.art-palm.right{right:0;bottom:0;width:40%;height:66%}.art-sun{top:10%;left:50%;width:72px;transform:translate(-50%)}.art-botanical{top:6%;left:50%;width:180px;transform:translate(-50%)}.art-seal{bottom:10%;right:10%;width:64px}.art-banner{bottom:24%;left:50%;width:70%;transform:translate(-50%)}.art-deco{opacity:.45}.art-sunburst{opacity:.35}.art-dome{top:4%;left:50%;width:50%;transform:translate(-50%)}.art-rose.r1{top:8%;left:8%;width:72px}.art-rose.r2{top:14%;right:8%;width:58px}.art-vine.left{left:0;top:0;height:100%;width:70px}.art-vine.right{right:0;top:0;height:100%;width:70px}.art-fern.left{left:0;bottom:0;width:42%;height:80%}.art-fern.right{right:0;bottom:0;width:38%;height:74%}.art-gem{top:10%;left:50%;width:42px;transform:translate(-50%)}@keyframes twinkle{50%{opacity:.2;transform:scale(.7)}}@keyframes floaty{50%{transform:translateY(-10px)}}@keyframes drift{50%{transform:translateY(12px) rotate(8deg)}}.art-petal{animation:drift 7s ease-in-out infinite}.theme-gold .invite-name,.theme-black .invite-name,.theme-gold .preview-copy .who,.theme-black .preview-copy .who{letter-spacing:.12em;text-transform:uppercase;font-size:clamp(2.2rem,8vw,4.4rem)}.theme-lilac .invite-name,.theme-rose .invite-name,.theme-lilac .preview-copy .who,.theme-rose .preview-copy .who{font-family:Great Vibes,cursive;font-weight:400}.theme-black .invite-btn,.theme-gold .invite-btn{border-radius:0;letter-spacing:.16em;text-transform:uppercase;font-size:.72rem}.theme-vintage .invite-card,.theme-vintage .invite-count div{border-radius:2px;background:color-mix(in srgb,var(--surface) 70%,#d9c7a8);color:var(--text)}.theme-santorini .invite-cover-inner,.theme-santorini .preview-copy{padding-top:18vh}.theme-ocean .invite-cover-inner{padding-bottom:18vh}.theme-moon .invite-count div{border-radius:999px}.theme-lilac .invite-ph,.theme-rose .invite-ph{border-radius:50% 50% 12px 12px}.theme-vintage .invite-ph{border-radius:3px;box-shadow:4px 4px color-mix(in srgb,var(--accent) 40%,transparent)}.theme-black .invite-ph{border-radius:0}.layout-classic .invite-cover-inner,.layout-classic .preview-copy{border:1px solid color-mix(in srgb,var(--primary) 45%,transparent);box-shadow:inset 0 0 0 8px color-mix(in srgb,var(--bg) 35%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:color-mix(in srgb,var(--bg) 28%,transparent)}.layout-cinematic .invite-cover,.layout-cinematic.theme-preview{align-items:flex-end;background-position:center 25%}.layout-cinematic .invite-cover-inner,.layout-cinematic .preview-copy{margin-bottom:8vh;text-align:left;max-width:86%;margin-right:auto}.layout-cinematic .invite-name,.layout-cinematic .preview-copy .who{font-size:clamp(3.6rem,16vw,8.2rem)}.layout-cinematic .invite-flourish,.layout-cinematic .invite-cta-row{margin-left:0;justify-content:flex-start}.layout-editorial .invite-cover,.layout-editorial.theme-preview{align-items:flex-start;justify-content:flex-start}.layout-editorial .invite-cover-inner,.layout-editorial .preview-copy{margin:14vh 8% 0;text-align:left;border-left:2px solid var(--accent);padding-left:1.4rem;max-width:78%}.layout-editorial .invite-name,.layout-editorial .preview-copy .who{letter-spacing:.22em;text-transform:uppercase;font-size:clamp(1.5rem,6vw,3.1rem);font-family:Cinzel,serif}.layout-editorial .invite-kicker{writing-mode:horizontal-tb}.theme-preview{width:100%;height:100%;min-height:100%;display:flex;align-items:center;justify-content:center;font-family:Outfit,sans-serif}.theme-preview .preview-copy .who{font-size:clamp(2.2rem,8vw,3.4rem)}.theme-preview.layout-cinematic .preview-copy .who{font-size:clamp(2.6rem,10vw,4rem)}.theme-preview.layout-editorial .preview-copy .who{font-size:clamp(1.1rem,4vw,1.7rem)}.theme-preview .art-wreath,.theme-preview .art-deco,.theme-preview .art-sunburst,.theme-preview .art-arch{opacity:.85}.invite-hero{min-height:82svh}.ai{display:inline-flex;width:2.4rem;height:2.4rem;color:var(--accent, #d4af37);vertical-align:middle}.ai svg{width:100%;height:100%;overflow:visible}.ai-lg{width:3.4rem;height:3.4rem}.ai-sm{width:1.35rem;height:1.35rem}.btn-gold .ai,.btn-wine .ai,.btn-ghost .ai{color:currentColor;width:1.15rem;height:1.15rem}.wa-float .ai{color:#fff;width:1.2rem;height:1.2rem}.ai .eq{transform-origin:center bottom;transform-box:fill-box}.ai-music .e1{animation:eq .9s ease-in-out infinite}.ai-music .e2{animation:eq .9s ease-in-out infinite .2s}.ai-music .e3{animation:eq .9s ease-in-out infinite .35s}.ai-clock .hand-h{transform-origin:24px 24px;animation:spin 8s linear infinite}.ai-clock .hand-m{transform-origin:24px 24px;animation:spin 2s linear infinite}.ai-calendar .cal-dot{animation:blink 1.6s ease-in-out infinite}.ai-calendar .d2{animation-delay:.2s}.ai-calendar .d3{animation-delay:.4s}.ai-map .pin{transform-origin:24px 38px;animation:pin 1.6s ease-in-out infinite}.ai-gift .box{transform-origin:24px 38px;animation:pop 2.2s ease-in-out infinite}.ai-gift .bow{animation:wiggle 2.2s ease-in-out infinite}.ai-heart .beat,.ai-users .beat{transform-origin:24px 24px;animation:beat 1.1s ease-in-out infinite}.ai-camera .shutter{transform-origin:24px 27px;animation:shutter 2.4s ease-in-out infinite}.ai-check .tick{stroke-dasharray:36;stroke-dashoffset:36;animation:draw 1.6s ease forwards infinite}.ai-instagram .ig-ring{transform-origin:24px 24px;animation:pulse-ring 2s ease-in-out infinite}.ai-shirt .dress{animation:sway 2.4s ease-in-out infinite;transform-origin:24px 12px}.ai-spark .spark{transform-origin:24px 24px;animation:twinkle 1.6s ease-in-out infinite}.ai-playlist .note{animation:bounce 1.2s ease-in-out infinite}.ai-chevron .chev{animation:bounce 1.4s ease-in-out infinite}.ai-lock .shackle{transform-origin:24px 22px;animation:lock-tap 2.8s ease-in-out infinite}.ai-share .n1,.ai-share .n2,.ai-share .n3{transform-origin:center;transform-box:fill-box;animation:pulse-ring 1.8s ease-in-out infinite}.ai-share .n2{animation-delay:.2s}.ai-share .n3{animation-delay:.4s}.ai-link .chain{transform-origin:24px 24px;animation:sway 2.6s ease-in-out infinite}.ai-info .i-ring{animation:pulse-ring 2.4s ease-in-out infinite;transform-origin:24px 24px}.ai-info .i-dot{animation:blink 1.8s ease-in-out infinite}.ai-pencil .pencil{transform-origin:32px 8px;animation:write 1.8s ease-in-out infinite}.ai-card .chip{animation:blink 1.6s ease-in-out infinite}.ai-crown .crown{transform-origin:24px 34px;animation:pop 2.6s ease-in-out infinite}.ai-crown .jewel{animation:twinkle 1.4s ease-in-out infinite}.ai-cake .flame{transform-origin:24px 16px;animation:flicker .7s ease-in-out infinite}.ai-champagne .bub{animation:bubble 1.8s ease-in-out infinite}.ai-champagne .b2{animation-delay:.4s}.ai-champagne .b3{animation-delay:.8s}.ai-wine .liquid{transform-origin:24px 26px;animation:slosh 2.4s ease-in-out infinite}.ai-ring .diamond{transform-origin:24px 12px;animation:twinkle 1.5s ease-in-out infinite}.ai-balloon .ball{animation:floaty 3s ease-in-out infinite}.ai-balloon .string{transform-origin:24px 33px;animation:sway 3s ease-in-out infinite}.ai-flower .bloom{transform-origin:24px 24px;animation:bloom 3.2s ease-in-out infinite}.ai-envelope .flap{transform-origin:24px 16px;animation:flap 2.2s ease-in-out infinite}.ai-whatsapp .wa{animation:beat 1.4s ease-in-out infinite;transform-origin:24px 24px}.ai-phone .handset{transform-origin:24px 24px;animation:ring 1.6s ease-in-out infinite}.ai-star .star{transform-origin:24px 24px;animation:twinkle 1.8s ease-in-out infinite}.ai-plane .plane{animation:fly 2.4s ease-in-out infinite}.ai-bell .bell{transform-origin:24px 12px;animation:ring 1.8s ease-in-out infinite}.ai-butterfly .wing-l{transform-origin:24px 22px;animation:flap-l .5s ease-in-out infinite}.ai-butterfly .wing-r{transform-origin:24px 22px;animation:flap-r .5s ease-in-out infinite}.ai-confetti .c1{animation:confetti 1.6s ease-in-out infinite}.ai-confetti .c2{animation:confetti 1.8s ease-in-out infinite .2s}.ai-confetti .c3{animation:confetti 1.5s ease-in-out infinite .1s}.ai-confetti .c4{animation:confetti 1.7s ease-in-out infinite .3s}.ai-confetti .c5{animation:confetti 1.9s ease-in-out infinite .15s}.ai-panel .bar{transform-origin:center bottom;transform-box:fill-box;animation:eq 1.2s ease-in-out infinite}.ai-panel .b2{animation-delay:.15s}.ai-panel .b3{animation-delay:.3s}.ai-leaf .leaf{transform-origin:12px 36px;animation:sway 2.8s ease-in-out infinite}.ai-globe .orb{transform-origin:24px 24px;animation:pulse-ring 3s ease-in-out infinite}@keyframes eq{0%,to{transform:scaleY(.45)}50%{transform:scaleY(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink{50%{opacity:.2}}@keyframes pin{0%,to{transform:translateY(0)}40%{transform:translateY(-5px)}55%{transform:translateY(0)}}@keyframes pop{0%,80%,to{transform:scale(1)}88%{transform:scale(1.08)}}@keyframes wiggle{0%,80%,to{transform:rotate(0)}86%{transform:rotate(-8deg)}92%{transform:rotate(8deg)}}@keyframes beat{0%,to{transform:scale(1)}30%{transform:scale(1.14)}}@keyframes shutter{0%,70%,to{transform:scale(1);opacity:1}78%{transform:scale(.7);opacity:.5}}@keyframes draw{0%{stroke-dashoffset:36}40%,to{stroke-dashoffset:0}}@keyframes pulse-ring{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.6}}@keyframes sway{50%{transform:rotate(4deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@keyframes lock-tap{0%,70%,to{transform:rotate(0)}78%{transform:rotate(-12deg)}86%{transform:rotate(8deg)}}@keyframes write{0%,to{transform:rotate(0) translate(0)}40%{transform:rotate(-8deg) translate(-1px,2px)}70%{transform:rotate(4deg) translate(1px)}}@keyframes flicker{0%,to{transform:scale(1) rotate(-4deg);opacity:1}50%{transform:scale(1.18) rotate(6deg);opacity:.75}}@keyframes bubble{0%,to{transform:translateY(0);opacity:.3}50%{transform:translateY(-6px);opacity:1}}@keyframes slosh{50%{transform:skew(6deg) scaleX(1.05)}}@keyframes bloom{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(12deg) scale(1.08)}}@keyframes flap{0%,70%,to{transform:none}85%{transform:translateY(-3px)}}@keyframes ring{0%,70%,to{transform:rotate(0)}78%{transform:rotate(-14deg)}86%{transform:rotate(12deg)}94%{transform:rotate(-6deg)}}@keyframes fly{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(4px,-5px) rotate(-8deg)}}@keyframes flap-l{50%{transform:scaleX(.45) rotate(-8deg)}}@keyframes flap-r{50%{transform:scaleX(.45) rotate(8deg)}}@keyframes confetti{0%,to{transform:translateY(0) rotate(0);opacity:1}50%{transform:translateY(7px) rotate(18deg);opacity:.55}}.invite-sparks{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}.invite-sparks span{position:absolute;width:6px;height:6px;border-radius:999px;background:var(--accent);opacity:0;animation:spark-fly 6s linear infinite;box-shadow:0 0 8px var(--accent)}.invite-sparks span:nth-child(odd){width:3px;height:3px;animation-duration:8s}.invite-sparks span:nth-child(3n){background:var(--primary)}@keyframes spark-fly{0%{transform:translateY(110%) scale(.4);opacity:0}15%{opacity:.8}to{transform:translateY(-20%) scale(1);opacity:0}}.invite-scroll-hint{position:absolute;bottom:1.4rem;left:50%;transform:translate(-50%);z-index:3;color:var(--accent);text-align:center;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase}.invite-btn{transition:transform .25s ease,background .25s ease,box-shadow .25s ease}.invite-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 30%,transparent)}.invite-btn.solid{animation:cta-glow 2.4s ease-in-out infinite}@keyframes cta-glow{50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--primary) 18%,transparent)}}.invite-name{animation:title-in 1.1s ease both}.invite-kicker{animation:fade-up .8s ease both}.invite-date-hero{animation:fade-up .9s .15s ease both}.invite-flourish{animation:flourish 2.8s ease-in-out infinite}@keyframes title-in{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes flourish{50%{filter:drop-shadow(0 0 8px var(--accent));transform:scaleX(1.08)}}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.is-in{opacity:1;transform:none}.reveal.delay-1{transition-delay:.12s}.reveal.delay-2{transition-delay:.24s}.reveal.delay-3{transition-delay:.36s}.invite-count div{animation:count-pop .7s ease both}.invite-count div:nth-child(2){animation-delay:.08s}.invite-count div:nth-child(3){animation-delay:.16s}.invite-count div:nth-child(4){animation-delay:.24s}@keyframes count-pop{0%{opacity:0;transform:translateY(12px) scale(.92)}to{opacity:1;transform:none}}.invite-count strong{animation:tick .5s ease}@keyframes tick{0%{transform:scale(1.18)}to{transform:scale(1)}}.invite-album img{transition:transform .5s ease,filter .5s ease}.invite-album img:hover{transform:scale(1.04)}.invite-dock button,.invite-dock a{display:flex;flex-direction:column;align-items:center;gap:.2rem;transition:color .2s ease}.invite-dock .ai{width:1.4rem;height:1.4rem}.music-chip{position:fixed;top:1rem;right:1rem;z-index:25;display:flex;align-items:center;gap:.4rem;padding:.45rem .75rem;border-radius:999px;background:color-mix(in srgb,var(--bg) 70%,black);border:1px solid color-mix(in srgb,var(--primary) 35%,transparent);color:var(--text);font-size:.72rem}.art-waves{animation:wave-shift 10s ease-in-out infinite}.art-sun{animation:spin 22s linear infinite}.art-diamond{animation:twinkle 2.4s ease-in-out infinite}.art-blossom{animation:beat 3.4s ease-in-out infinite}.art-gem{animation:twinkle 2s ease-in-out infinite}@keyframes wave-shift{50%{transform:translate(-3%)}}.invite-section-icon{margin:0 auto .8rem;display:grid;place-items:center;width:4rem;height:4rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--primary) 35%,transparent);background:color-mix(in srgb,var(--surface) 70%,transparent);animation:icon-orb 3s ease-in-out infinite;position:relative}@keyframes icon-orb{50%{box-shadow:0 0 0 10px color-mix(in srgb,var(--primary) 12%,transparent)}}.invite-hearts,.invite-confetti{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}.invite-hearts span,.invite-confetti i{position:absolute;bottom:-8%;color:var(--accent);opacity:0;animation:rise-float 9s linear infinite;font-size:1rem}.invite-hearts span{animation-duration:11s}.invite-confetti i{width:8px;height:12px;border-radius:2px;background:var(--accent);display:block;animation-name:confetti-fall;animation-duration:7s}.invite-confetti i:nth-child(odd){background:var(--primary);width:6px;height:6px;border-radius:999px}.invite-confetti i:nth-child(3n){animation-duration:9s}@keyframes rise-float{0%{transform:translateY(0) scale(.6);opacity:0}12%{opacity:.7}to{transform:translateY(-110vh) scale(1);opacity:0}}@keyframes confetti-fall{0%{transform:translateY(-10vh) rotate(0);opacity:0}12%{opacity:.85}to{transform:translateY(110vh) rotate(280deg);opacity:0}}.invite-scroll-hint .ai{display:block;margin:0 auto .2rem;animation:bounce 1.4s ease-in-out infinite}.invite-yt{position:fixed;left:12px;bottom:72px;width:120px;height:68px;overflow:hidden;border-radius:10px;opacity:.18;z-index:24;pointer-events:none}.music-chip.is-on~.invite-yt,.invite-story:has(.music-chip.is-on) .invite-yt{opacity:.35}.music-chip:not(.is-on) .eq{animation-play-state:paused;opacity:.5}.invite-dock{animation:dock-in .7s ease both}@keyframes dock-in{0%{transform:translateY(100%);opacity:0}to{transform:none;opacity:1}}.invite-dock button:hover .ai,.invite-dock a:hover .ai{transform:translateY(-3px)}.invite-dock .ai{transition:transform .25s ease}.invite-album img{animation:album-in .7s ease both}.invite-album img:nth-child(2){animation-delay:.08s}.invite-album img:nth-child(3){animation-delay:.16s}.invite-album img:nth-child(4){animation-delay:.24s}@keyframes album-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}.invite-count div:last-child strong{animation:beat 1s ease-in-out infinite}.invite-live{display:inline-flex;align-items:center;gap:.4rem;letter-spacing:.18em;text-transform:uppercase;font-size:.7rem;color:var(--muted)}.invite-live:before{content:"";width:.5rem;height:.5rem;border-radius:999px;background:var(--accent);animation:blink 1.2s ease-in-out infinite;box-shadow:0 0 8px var(--accent)}.art-shell{animation:floaty 7s ease-in-out infinite}.art-moon{animation:floaty 9s ease-in-out infinite}.art-palm.left{animation:sway 9s ease-in-out infinite;transform-origin:0 100%}.art-palm.right{animation:sway 8s ease-in-out infinite reverse;transform-origin:100% 100%}.art-rose{animation:bloom 7s ease-in-out infinite}.art-stars circle{animation:twinkle 3s ease-in-out infinite}.theme-preview{transition:transform .7s ease}.group:hover .theme-preview{transform:scale(1.05)}.cat-float{position:absolute;pointer-events:none;opacity:.45;color:#d4af37;z-index:1}.cat-float .ai{width:2.6rem;height:2.6rem;color:inherit}.cat-float.f1{top:14%;right:10%;animation:floaty 5.5s ease-in-out infinite}.cat-float.f2{bottom:18%;right:22%;animation:floaty 7s ease-in-out infinite .4s}.cat-float.f3{top:28%;left:46%;animation:floaty 6s ease-in-out infinite .8s}.cat-float.f4{bottom:12%;left:8%;animation:floaty 8s ease-in-out infinite .2s}.cat-icon-wrap{display:grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:999px;background:color-mix(in srgb,#c9a227 16%,transparent);margin-bottom:.75rem}@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}*,*:before,*:after{animation:none!important;transition:none!important}}
