/* Choreography belongs to each theme. Only the lifecycle and compositing primitives are shared. */
.v-fullpage-atmosphere{position:fixed;inset:0;width:100%;height:100dvh;z-index:32;pointer-events:none;contain:strict}
.v-invite-particles{display:none!important}
.v-motion-control{position:fixed;inset-inline-start:18px;bottom:20px;z-index:35;display:flex;align-items:center;gap:9px;border:1px solid var(--theme-line);border-radius:30px;background:var(--paper);color:var(--theme-ink);box-shadow:0 4px 20px #0001;padding:11px 16px;min-height:46px;font:13px/1.6 var(--sans);cursor:pointer}
.v-atmosphere-paused .v-invite-cover,.v-atmosphere-paused .v-hero-frame>img,.v-atmosphere-paused .v-live-card img{animation-play-state:paused!important}
.v-atmosphere-paused .v-invite-opening *{animation-play-state:paused!important}
.v-invite-opening{transition:opacity 220ms calc(var(--opening-duration,1800ms) - 220ms);--opening-duration:1800ms;z-index:90}
.v-opening-doors .v-opening-prompt{color:#fff3dc;background:#13352dcc}
.v-opening-curtain h1{color:var(--theme-ink);text-shadow:none}
.v-invite-opening.is-opening{pointer-events:auto}
.v-invite-opening.is-resetting,.v-invite-opening.is-resetting *{transition:none!important}
.v-skip-entrance .v-invite-hero-copy>*{animation:none!important}
.vows-guest:has([data-motion=none]) .v-invite-hero-copy>*{animation:none!important}
.v-opening-active .v-invite-hero-copy>*{opacity:0}
.v-invite-opening .v-seal{animation:none;transform:none;transition:box-shadow .3s}
.v-invite-opening .v-seal:hover{transform:none;box-shadow:0 5px 25px color-mix(in srgb,var(--accent) 35%,transparent)}
.v-invite-opening .v-seal::after{animation:v-seal-halo 3s ease-in-out infinite}
@keyframes v-seal-halo{50%{transform:scale(1.16);opacity:.15}}
.v-invite-opening .v-choreography i{transition-duration:calc(var(--opening-duration) - 400ms),calc(var(--opening-duration) - 400ms)}
.v-invite-opening .v-opening-medallion{transition-duration:calc(var(--opening-duration) - 220ms)}
.v-invite-opening .v-door-leaf{transition-duration:calc(var(--opening-duration) - 220ms)}
.v-invite-opening:not(.v-opening-doors):not(.v-opening-curtain){background:transparent;color:var(--theme-ink);text-shadow:none}
.v-invite-opening:not(.v-opening-doors):not(.v-opening-curtain)>h1{color:var(--theme-ink)}
.v-invite-opening:not(.v-opening-doors):not(.v-opening-curtain)>p{background:none;color:var(--accent)}
.v-invite-opening:not(.v-opening-doors):not(.v-opening-curtain)>.v-opening-prompt{background:var(--paper);color:var(--accent)}
.v-invite-opening:not(.v-opening-doors):not(.v-opening-curtain) .v-door-scene{display:none}
.v-choreography{position:absolute;inset:0;z-index:-1;pointer-events:none;perspective:1500px;overflow:hidden}
.v-choreography::before{content:'';position:absolute;inset:0;background:var(--paper);transition:opacity 900ms}
.v-choreography i{position:absolute;inset-block:0;left:calc(var(--plane)*11.111%);width:11.2%;background:var(--paper);border-inline-end:1px solid color-mix(in srgb,var(--accent) 15%,transparent);transition:transform calc(var(--opening-duration,1800ms) - 200ms) cubic-bezier(.2,.72,.15,1),opacity 900ms;transition-delay:calc(var(--plane)*18ms)}
.v-opening-medallion{position:absolute;width:260px;height:260px;left:50%;top:50%;margin:-130px;border:1px solid var(--theme-line);border-radius:50%;box-shadow:0 0 0 20px color-mix(in srgb,var(--accent) 5%,transparent),0 0 0 22px var(--theme-line);opacity:.32;transition:transform 1400ms,opacity 1000ms}
.is-opening .v-choreography::before{opacity:0}.is-opening .v-opening-medallion{opacity:0;transform:scale(2)}
.v-opening-doors .v-choreography,.v-opening-curtain .v-choreography{display:none}
/* 01 Garden: leafy stationery draws outward on two diagonals. */
.v-opening-botanical .v-choreography i{background:linear-gradient(145deg,transparent 10%,#94b19720 10% 11%,transparent 11% 30%,#94b19720 30% 31%,transparent 31%),var(--paper)}
.v-opening-botanical.is-opening .v-choreography i:nth-child(odd){transform:translate(-60vw,-110vh) rotate(-15deg)}
.v-opening-botanical.is-opening .v-choreography i:nth-child(even){transform:translate(60vw,110vh) rotate(15deg)}
/* 02 Royal retains the dimensional palace doors. */
.theme-royal .v-door-leaf{transition-duration:1600ms}
/* 03 Moonlit: an eclipse passes off a moon-shaped central seal. */
.v-opening-eclipse .v-choreography i{display:none}.v-opening-eclipse .v-choreography::before{background:radial-gradient(circle at 50% 45%,#ddd4b221 0 130px,transparent 131px),var(--paper)}
.v-opening-eclipse .v-opening-medallion{width:310px;height:310px;margin:-155px;background:#d6c991;border:0;box-shadow:inset 60px 0 0 var(--paper),0 0 65px #ccb47833;opacity:.4}
.v-opening-eclipse.is-opening .v-opening-medallion{transform:translateX(70vw) rotate(-25deg);opacity:0}
/* 04 Coastal: broad horizontal tidal bands sweep in alternating directions. */
.v-opening-tide .v-choreography i{left:-10%;top:calc(var(--plane)*11.111%);width:120%;height:12%;border-radius:40%;background:linear-gradient(90deg,var(--paper),#92c5cc55,var(--paper));border:0}
.v-opening-tide.is-opening .v-choreography i{transform:translateX(115%) scaleY(.1)}.v-opening-tide.is-opening .v-choreography i:nth-child(2n){transform:translateX(-115%) scaleY(.1)}
/* 05 Editorial: a single magazine sheet turns from its binding. */
.v-opening-page .v-choreography i{display:none}.v-opening-page .v-choreography i:first-child{display:block;left:0;width:100%;background:linear-gradient(90deg,#0001,transparent 4%),var(--paper);transform-origin:left center;border:1px solid var(--theme-line)}
.v-opening-page .v-opening-medallion{border-radius:0;box-shadow:none;width:70%;height:70%;left:15%;top:15%;margin:0}
.v-opening-page.is-opening .v-choreography i:first-child{transform:rotateY(-110deg)}
/* 06 Sakura: a hand-fan pivots clockwise from its lower corner. */
.v-opening-sakura-fan .v-choreography i{transform-origin:0 100%;background:linear-gradient(0deg,#dfafbf44,transparent),var(--paper)}
.v-opening-sakura-fan.is-opening .v-choreography i{transform:rotate(calc(16deg + var(--plane)*11deg)) translateY(110%)}
/* 07 Golden: nine sun rays retreat into a shrinking sun. */
.v-opening-sunburst .v-choreography i{background:linear-gradient(0deg,#eeb34922,#eeb34966),var(--paper);transform-origin:50% 50%}
.v-opening-sunburst .v-opening-medallion{border:8px double var(--accent);box-shadow:0 0 100px #dba53e44}
.v-opening-sunburst.is-opening .v-choreography i{transform:scaleX(.01) translateY(calc((var(--plane) - 4)*25vh));opacity:0}
.v-opening-sunburst.is-opening .v-opening-medallion{transform:rotate(100deg) scale(.05)}
/* 08 Crimson: two horizontal halves of a scroll roll up and down. */
.v-opening-scroll .v-choreography i{display:none}.v-opening-scroll .v-choreography i:nth-child(-n+2){display:block;left:0;width:100%;height:50%;border-block:9px double var(--accent);background:repeating-linear-gradient(0deg,transparent 0 3px,#fff2 4px),var(--paper)}
.v-opening-scroll .v-choreography i:nth-child(2){top:50%;transform-origin:center bottom}.v-opening-scroll.is-opening .v-choreography i:first-child{transform:translateY(-110%) rotateX(80deg)}.v-opening-scroll.is-opening .v-choreography i:nth-child(2){transform:translateY(110%) rotateX(-80deg)}
/* 09 Bengal: alpana-inspired concentric geometry expands like a painted blessing. */
.v-opening-alpana .v-choreography i{display:none}.v-opening-alpana .v-choreography::before{background:repeating-radial-gradient(circle at center,transparent 0 76px,#b4414712 77px 79px,transparent 80px 104px),var(--paper)}
.v-opening-alpana .v-opening-medallion{border:7px double #a82b39;box-shadow:0 0 0 35px #a82b3910,0 0 0 37px #a82b3970,0 0 0 62px #a82b3910;border-radius:38%;transform:rotate(45deg)}
.v-opening-alpana.is-opening .v-opening-medallion{transform:rotate(135deg) scale(5);opacity:0}
/* 10 Haldi: a turmeric-coloured diagonal veil peels away. */
.v-opening-haldi .v-choreography i{background:linear-gradient(160deg,#f2bd3055,transparent),var(--paper);transform:skewX(-8deg);width:13%}
.v-opening-haldi.is-opening .v-choreography i{transform:skewX(-8deg) translate(30vw,-120vh)}
.v-opening-haldi .v-opening-medallion{border:0;background:#e5a3231a;box-shadow:0 0 0 22px #e5a32312;border-radius:35%}
/* 11 Lotus: eight silk petals bloom radially outwards. */
.v-opening-lotus .v-choreography i{left:50%;top:50%;width:48vw;height:70vh;margin-left:-24vw;margin-top:-35vh;border:1px solid #db9db13b;border-radius:80% 15%;background:linear-gradient(40deg,#efb9c377,var(--paper));transform:rotate(calc(var(--plane)*40deg));transform-origin:center}
.v-opening-lotus.is-opening .v-choreography i{transform:rotate(calc(var(--plane)*40deg)) translateX(100vw) scale(.2);opacity:0}
/* 12 Peacock: a fan folds into narrow pleats and lifts upward. */
.v-opening-peacock-fan .v-choreography i{background:linear-gradient(90deg,#fff1,#0002,#fff1),var(--paper);transform-origin:center bottom;border-color:#d4b87766}
.v-opening-peacock-fan.is-opening .v-choreography i{transform:translateY(-110%) rotateY(calc(70deg + var(--plane)*2deg));opacity:.1}
/* 13 Jasmine: hanging columns release upward at alternating speeds. */
.v-opening-garland .v-choreography i{border-inline:5px dotted #dcc79788;border-radius:0 0 40% 40%;background:linear-gradient(90deg,#fff3,transparent),var(--paper)}
.v-opening-garland.is-opening .v-choreography i{transform:translateY(-120%) rotate(calc((var(--plane) - 4)*2deg));transition-delay:calc(var(--plane)*25ms)}
/* 14 Mehendi: interlocking lattice shutters alternate directions. */
.v-opening-lattice .v-choreography i{background:repeating-linear-gradient(45deg,transparent 0 16px,#b2be8420 16px 18px),repeating-linear-gradient(-45deg,transparent 0 16px,#b2be8420 16px 18px),var(--paper)}
.v-opening-lattice.is-opening .v-choreography i{transform:translateY(-110%)}.v-opening-lattice.is-opening .v-choreography i:nth-child(odd){transform:translateY(110%)}
/* 15 Nikah: an illuminated arch grows into the invitation. */
.v-opening-arch .v-choreography i{display:none}.v-opening-arch .v-opening-medallion{width:min(65vw,450px);height:70vh;top:15%;left:50%;margin:0;transform:translateX(-50%);border-radius:50% 50% 0 0;border:4px double var(--accent);box-shadow:0 0 0 18px #d3b77f11;opacity:.5}
.v-opening-arch.is-opening .v-opening-medallion{transform:translateX(-50%) scale(2.5);opacity:0}
/* 16 Anand: crossed silk ribbons untie in four directions. */
.v-opening-ribbon .v-choreography i{background:linear-gradient(90deg,#daa44822,transparent),var(--paper)}
.v-opening-ribbon.is-opening .v-choreography i{transform:translateX(calc((var(--plane) - 4)*35vw)) rotate(calc((var(--plane) - 4)*8deg))}
.v-opening-ribbon .v-opening-medallion{border-radius:4px;width:220px;height:220px;margin:-110px;transform:rotate(45deg);border:12px double #c9995955;box-shadow:none}
/* 17 Chapel: quiet columns of light dissolve from the centre outward. */
.v-opening-light .v-choreography i{background:linear-gradient(90deg,var(--paper),#fffefa,var(--paper));border:0}
.v-opening-light.is-opening .v-choreography i{transform:scaleX(.05);opacity:0;transition-delay:calc(var(--plane)*22ms)}
.v-opening-light .v-opening-medallion{border-radius:100% 100% 0 0;height:65vh;top:15%;margin-top:0;box-shadow:0 0 90px #dfcf9850}
/* 18 Glasshouse: glass panes tilt away in alternating perspective. */
.v-opening-glass .v-choreography i{background:linear-gradient(135deg,#fff9,transparent 40%,#a6c7b32b),var(--paper);border-inline:1px solid #70937d66;transform-origin:center top}
.v-opening-glass.is-opening .v-choreography i{transform:rotateX(85deg) translateY(-120%);opacity:0}.v-opening-glass.is-opening .v-choreography i:nth-child(odd){transform:rotateX(-85deg) translateY(120%)}
/* 19 Wisteria: soft vertical cascades fall below the page. */
.v-opening-cascade .v-choreography i{border:0;border-radius:0 0 50% 50%;background:linear-gradient(#e4d4f222,var(--paper))}
.v-opening-cascade.is-opening .v-choreography i{transform:translateY(120%);transition-delay:calc(var(--plane)*22ms)}
/* 20 Rosewood: a rosette rotates gently apart, horizontally. */
.v-opening-rose .v-choreography i{left:50%;top:50%;width:50vw;height:65vh;margin:-32.5vh -25vw;border-radius:50%;border:1px solid #e7c0c344;background:linear-gradient(135deg,#8a515655,var(--paper));transform:rotate(calc(var(--plane)*40deg)) translateX(15vw)}
.v-opening-rose.is-opening .v-choreography i{transform:rotate(calc(var(--plane)*40deg + 35deg)) translateX(100vw);opacity:0}
/* 21 Champagne: softly rising bubbles reveal the black-tie card. */
.v-opening-champagne .v-choreography i{top:100%;left:calc(var(--plane)*12%);width:22vw;height:22vw;border-radius:50%;border:1px solid #dac18e55;background:radial-gradient(circle at 30% 25%,#fff2,transparent),var(--paper);transform:translateY(-50vh) scale(2.5);opacity:.6}
.v-opening-champagne.is-opening .v-choreography i{transform:translateY(-160vh) scale(.2);opacity:0}
/* 22 Riviera: a landscape postcard flips upward from its bottom edge. */
.v-opening-postcard .v-choreography i{display:none}.v-opening-postcard .v-choreography i:first-child{display:block;inset:0;width:100%;background:repeating-linear-gradient(135deg,#3264a355 0 8px,#f8faff 8px 16px);border:18px solid var(--paper);transform-origin:center bottom}
.v-opening-postcard .v-choreography i:first-child::after{content:'';position:absolute;inset:12px;background:var(--paper)}.v-opening-postcard.is-opening .v-choreography i:first-child{transform:rotateX(100deg) translateY(40%)}
/* 23 Desert: broad curved dune bands move at different depths. */
.v-opening-dunes .v-choreography i{left:-20%;top:calc(var(--plane)*12%);width:140%;height:22%;border-radius:50% 50% 0 0;background:linear-gradient(180deg,#bc80541c,transparent),var(--paper);border:0}
.v-opening-dunes.is-opening .v-choreography i{transform:translateX(calc(105% + var(--plane)*5%));transition-delay:calc(var(--plane)*15ms)}
/* 24 Stars: geometric star rays contract into the night. */
.v-opening-constellation .v-choreography i{left:50%;top:50%;height:2px;width:55vmax;background:var(--accent);border:0;opacity:.24;transform-origin:left center;transform:rotate(calc(var(--plane)*40deg))}
.v-opening-constellation.is-opening .v-choreography i{transform:rotate(calc(var(--plane)*40deg + 20deg)) scaleX(0);opacity:0}
.v-opening-constellation .v-opening-medallion{border-style:dashed;border-radius:0;transform:rotate(45deg)}
/* 25 Ganesha: concentric devotional frame illuminates; the deity stays stationary. */
.v-opening-mandala .v-choreography i{display:none}.v-opening-mandala .v-opening-medallion{width:330px;height:330px;margin:-165px;border:8px double var(--accent);outline:1px solid var(--accent);outline-offset:30px;border-radius:38%;transform:rotate(45deg);box-shadow:0 0 0 70px #d4a04711,0 0 95px #e2b65522;opacity:.35}
.v-opening-mandala.is-opening .v-opening-medallion{transform:rotate(45deg) scale(3.5);opacity:0}
/* 26 Vrindavan: two silk wings separate along curved diagonals. */
.v-opening-bansuri .v-choreography i{width:14%;transform:skewY(-8deg);background:linear-gradient(140deg,#96b27733,transparent),var(--paper);border:0}
.v-opening-bansuri.is-opening .v-choreography i{transform:translate(-120vw,45vh) rotate(-25deg)}.v-opening-bansuri.is-opening .v-choreography i:nth-child(2n){transform:translate(120vw,-45vh) rotate(25deg)}
/* 27 Bismillah: manuscript rules illuminate and recede; Arabic text is never distorted. */
.v-opening-illumination .v-choreography i{inset:auto 10%;top:calc(10% + var(--plane)*10%);height:1px;width:80%;background:var(--accent);border:0;opacity:.14;transform-origin:center}
.v-opening-illumination.is-opening .v-choreography i{transform:scaleX(0);opacity:0;transition-delay:calc(var(--plane)*25ms)}
.v-opening-illumination .v-opening-medallion{border-radius:45% 45% 4px 4px;width:64%;height:74%;left:18%;top:13%;margin:0;border:5px double var(--accent);box-shadow:0 0 0 12px #bd964e0c;opacity:.35}
.v-opening-illumination.is-opening .v-opening-medallion{transform:scale(1.3);opacity:0}
/* 28 Qamar: the moon rises above a silver horizon. */
.v-opening-moonrise .v-choreography i{display:none}.v-opening-moonrise .v-opening-medallion{width:300px;height:300px;margin:-150px;border:0;background:#ded3e6;box-shadow:inset -70px 8px 0 var(--paper),0 0 85px #d8cbea22;opacity:.35}
.v-opening-moonrise.is-opening .v-opening-medallion{transform:translateY(-85vh) scale(.4);opacity:0}
/* Theme-owned sacred layouts: stationery, devotional portrait, or calligraphy rather than another photo overlay. */
.theme-ganesha{--accent:#a26417;--paper:#fff4d9;--theme-ink:#693e1b;--theme-muted:#8a6741;--theme-line:#d7ba78}
.theme-vrindavan{--accent:#3e7057;--paper:#f5f5e7;--theme-ink:#294938;--theme-muted:#69816c;--theme-line:#bdcaa7}
.theme-bismillah{--accent:#8f6b28;--paper:#fbf6e8;--theme-ink:#514423;--theme-muted:#867655;--theme-line:#d6c49b}
.theme-crescent{--accent:#d2c4e0;--paper:#24213c;--theme-ink:#f5eefc;--theme-muted:#c3b7d4;--theme-line:#756681}
.v-sacred-art{width:240px;height:240px;margin:0 auto 12px}.v-sacred-art img{width:100%;height:100%;object-fit:contain;display:block;filter:none;animation:none!important}
.v-invite-hero:has(.v-sacred-art){height:auto;max-height:none}
.v-invite-hero:has(.v-sacred-art) .v-invite-hero-copy{position:relative;inset:auto;width:100%;padding:45px 35px}
.v-sacred-calligraphy{font:36px/1.9 'Wedding Arabic',serif!important;letter-spacing:0!important;text-transform:none;text-shadow:none;white-space:normal;max-width:100%;color:inherit}
.v-has-opened .v-invite-hero-copy>.v-sacred-art,.v-has-opened .v-invite-hero-copy>.v-sacred-calligraphy{animation:none!important;transform:none!important}
:is(.theme-ganesha,.theme-vrindavan,.theme-bismillah) .v-invite-hero{background:var(--paper);box-shadow:none;border-radius:0;min-height:820px;height:auto;max-height:none;padding-block:40px}
:is(.theme-ganesha,.theme-vrindavan,.theme-bismillah) .v-invite-cover{opacity:.09;animation:none;filter:saturate(.4)}
:is(.theme-ganesha,.theme-vrindavan,.theme-bismillah) .v-invite-shade{display:none}
:is(.theme-ganesha,.theme-vrindavan,.theme-bismillah) .v-invite-hero-copy{position:relative;inset:auto;width:100%;padding:20px 55px;color:var(--theme-ink);text-shadow:none}
:is(.theme-ganesha,.theme-vrindavan,.theme-bismillah) .v-invite-hero-copy>.v-eyebrow{color:var(--accent)}
:is(.theme-ganesha,.theme-vrindavan,.theme-bismillah) .v-invite-hero-copy h1{font-size:62px;line-height:1.4}
:is(.theme-ganesha,.theme-vrindavan,.theme-bismillah) .v-hero-rsvp{color:var(--accent);background:var(--paper);border-color:var(--theme-line)}
.theme-ganesha .v-invite-hero::after{border:6px double var(--accent);inset:15px;border-radius:140px 140px 0 0}
.theme-ganesha .v-sacred-art{width:255px;height:255px}.theme-ganesha .v-event-timeline article{border-inline-start:3px solid var(--theme-line);padding-inline-start:25px}
.theme-vrindavan .v-invite-hero{max-width:1050px;min-height:700px}.theme-vrindavan .v-invite-hero-copy{display:grid;grid-template-columns:250px 1fr;align-items:center;column-gap:35px}
.theme-vrindavan .v-sacred-art{grid-column:1;grid-row:1/8;width:280px;height:440px}.theme-vrindavan .v-invite-hero-copy>:not(.v-sacred-art){grid-column:2}
.theme-vrindavan .v-invite-hero-copy:not(:has(.v-sacred-art)){display:block;max-width:720px;margin:auto}
.theme-vrindavan .v-invite-hero::after{border:1px solid var(--theme-line);inset:20px;border-radius:0}
.theme-bismillah .v-invite-hero{min-height:740px;border:12px double var(--theme-line);margin-top:24px;max-width:760px}
.theme-bismillah .v-invite-cover{display:none}.theme-bismillah .v-invite-hero::after{border:1px solid var(--theme-line);border-radius:200px 200px 0 0;inset:26px}
.theme-bismillah .v-invite-content{background-image:repeating-conic-gradient(from 45deg,#b3945b07 0 25%,transparent 0 50%);background-size:45px 45px}
.theme-bismillah .v-invite-hero-copy h1{font-size:66px;margin-block:26px}.theme-bismillah .v-invite-welcome{border-block:1px solid var(--theme-line)}
.theme-crescent .v-invite-hero{border-radius:50% 50% 0 0;border:2px solid var(--theme-line);max-width:700px}.theme-crescent .v-sacred-symbol{font-size:90px;color:#e6d8f1}
.v-mini-invite>.v-mini-sacred{height:92px!important;width:100%;object-fit:contain;margin:0 0 8px;border-radius:0;flex-shrink:0}.v-mini-invite:has(.v-mini-sacred)>.v-mini-motif{display:none}
.v-mini-invite:has(.v-mini-sacred)>img:not(.v-mini-sacred){display:none}.v-mini-invite:has(.v-mini-sacred){justify-content:center}
.v-theme-option .v-theme-deity{height:65px;width:100%;object-fit:contain;display:block;margin:-20px auto 8px}.v-theme-option:has(.v-theme-deity) b{display:none}
[data-preview-motif]>img{height:115px!important;width:100%;object-fit:contain;margin:0!important;animation:none!important;border-radius:0!important}
[data-preview-motif].v-sacred-calligraphy{font-size:25px!important;color:var(--accent)}
/* Reveal grammar continues through story, gallery, itinerary and RSVP. */
.v-motion-ready[data-reveal=fade] .v-reveal{transform:none;transition:opacity 1500ms}
.v-motion-ready[data-reveal=slide] .v-reveal{transform:translateX(-35px);transition:transform 1000ms,opacity 1000ms}
.v-motion-ready[data-reveal=slide] .v-reveal:nth-of-type(2n){transform:translateX(35px)}
.v-motion-ready[data-reveal=bloom] .v-reveal{transform:scale(.96);transform-origin:50% 30%;transition:transform 1300ms,opacity 1100ms}
.v-motion-ready[data-reveal=drift] .v-reveal{transform:translateY(22px) rotate(-.6deg);transition:transform 1400ms,opacity 1400ms}
.v-motion-ready[data-reveal=sweep] .v-reveal{transform:translate(30px,15px);transition:transform 1100ms,opacity 1000ms}
.v-motion-ready[data-reveal] .v-reveal.is-visible{transform:none;opacity:1}
@keyframes v2-copy-enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media(max-width:760px){.v-motion-control{font-size:12px;padding:10px;inset-inline-start:10px;bottom:14px;max-width:44vw}.v-music-control{inset-inline-end:10px;bottom:14px;max-width:46vw;font-size:12px}.v-sacred-art{width:170px;height:170px}:is(.theme-ganesha,.theme-vrindavan,.theme-bismillah) .v-invite-hero{min-height:740px;padding-block:20px}:is(.theme-ganesha,.theme-vrindavan,.theme-bismillah) .v-invite-hero-copy{padding:28px 30px}:is(.theme-ganesha,.theme-vrindavan,.theme-bismillah) .v-invite-hero-copy h1{font-size:45px}.theme-ganesha .v-sacred-art{width:205px;height:205px}.theme-vrindavan .v-invite-hero-copy{display:block}.theme-vrindavan .v-sacred-art{width:180px;height:240px}.v-sacred-calligraphy{font-size:28px!important}.theme-bismillah .v-invite-hero{border-width:6px;margin-top:0}.v-opening-lotus .v-choreography i{width:80vw;margin-left:-40vw}.v-opening-medallion{width:220px;height:220px;margin:-110px}.v-opening-mandala .v-opening-medallion{width:240px;height:240px;margin:-120px}.v-opening-rose .v-choreography i{width:80vw;margin-left:-40vw}}
@media(prefers-reduced-motion:reduce){.v-fullpage-atmosphere,.v-motion-control{display:none!important}.v-invite-opening *{animation:none!important;transition:none!important}.v-motion-ready[data-reveal] .v-reveal{transform:none!important;opacity:1!important}}
@media print{.v-fullpage-atmosphere,.v-motion-control{display:none!important}}
