:root{color-scheme:light;--lv-pink:#d94d79;--lv-green:#8ab440;--lv-yellow:#f3df8b;--lv-white:#fffef9;--lv-ink:#873b55;--lv-gold:#b99b62}*{box-sizing:border-box}.lv-html,.lv-body{margin:0;width:100%;height:100%;overflow:hidden}.lv-body{background:#f4eeed;color:var(--lv-ink);font-family:'Cormorant Garamond',Georgia,serif;-webkit-font-smoothing:antialiased}.lv-app{width:100%;height:100vh;height:100dvh;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#fffcf8,#ede5e5)}.lv-stage{position:absolute;inset:max(8px,env(safe-area-inset-top)) 12px calc(74px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;perspective:1400px;touch-action:pan-y}.lv-card{position:relative;width:var(--card-w, min(100%,420px));height:var(--card-h,auto);aspect-ratio:9/16;container-type:inline-size;isolation:isolate;transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-style:preserve-3d;transition:transform .45s ease-out;box-shadow:0 2px 4px #6137480a,0 14px 35px #61374824,0 35px 65px #61374812;background:var(--lv-white)}.lv-page{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(3%) scale(.99);transition:opacity .9s ease,transform 1.1s cubic-bezier(.22,.61,.36,1),visibility 0s 1.1s;isolation:isolate;overflow:visible;--lv-panel:var(--lv-pink);--lv-text:var(--lv-ink);color:var(--lv-text)}.lv-page.is-current{opacity:1;visibility:visible;pointer-events:auto;transform:none;z-index:2;transition-delay:0s}.lv-page.is-before{transform:translateX(-3%) scale(.99)}.lv-paper{position:absolute;inset:0;background-color:var(--lv-white);background-image:url('/lotus-vivah/paisley.svg');background-size:38% auto;z-index:-3}.lv-page--sangeet .lv-paper,.lv-page--reception .lv-paper{background-color:var(--lv-pink);background-blend-mode:multiply}.lv-shape{position:absolute;filter:drop-shadow(0 3px 3px #622b4912);z-index:-1}.lv-panel-fill{fill:var(--lv-panel);background:var(--lv-panel)}.lv-shape--wedding{left:12%;top:4%;width:76%;height:90%}.lv-page--wedding{--lv-text:#fff6ee}.lv-page--haldi{--lv-panel:var(--lv-yellow);--lv-text:#884a3c}.lv-shape--haldi{left:11%;top:17%;width:79%;height:65%;border-radius:49% 49% 3% 3% / 25% 25% 3% 3%;clip-path:polygon(0 15%,2% 15%,2% 12%,5% 12%,5% 9%,10% 9%,10% 6%,18% 6%,18% 4%,29% 4%,29% 2%,41% 2%,41% 0,59% 0,59% 2%,71% 2%,71% 4%,82% 4%,82% 6%,90% 6%,90% 9%,95% 9%,95% 12%,98% 12%,98% 15%,100% 15%,100% 100%,0 100%)}.lv-page--mehndi{--lv-panel:var(--lv-green);--lv-text:#fffdf0}.lv-shape--mehndi{left:12%;top:3%;width:82%;height:81%}.lv-page--sangeet,.lv-page--reception{--lv-panel:var(--lv-white)}.lv-shape--white{left:24%;top:6%;width:70%;height:88%;border-radius:3cqw}.lv-save-strip{position:absolute;inset:0 0 0 79%;background:var(--lv-pink);z-index:-2}.lv-thanks-panel{position:absolute;inset:0 17% 0 0;background:var(--lv-pink);z-index:-2}.lv-page--thanks{--lv-text:#fff7f0}.lv-botanical{position:absolute;height:auto;object-fit:contain;pointer-events:none;user-select:none;filter:drop-shadow(0 2px 1px #7b3b4a1c);transform-origin:50% 95%;z-index:3}.lv-page.is-current .lv-botanical:not(.lv-cover-petal):not(.lv-cover-flower){animation:lv-sway 10s ease-in-out infinite alternate}.lv-wedding-left{left:1%;bottom:2%;width:29%;height:39%;object-position:left bottom}.lv-wedding-right{right:0%;bottom:1%;width:25%;height:53%;object-position:right bottom}.lv-wedding-bottom{right:9%;bottom:1%;width:30%;height:18%;object-position:bottom}.lv-haldi-left{left:0%;bottom:1%;width:35%;height:75%;object-position:left bottom}.lv-haldi-top{left:0%;top:7%;width:43%;height:24%;transform:rotate(-17deg)}.lv-haldi-bottom{right:1%;bottom:0%;width:32%;height:22%;transform:rotate(10deg)}.lv-mehndi-left{left:0%;bottom:1%;width:31%;height:43%;object-position:left bottom}.lv-mehndi-bottom{right:2%;bottom:0%;width:49%;height:24%;object-position:bottom}.lv-party-left{left:0%;bottom:1%;width:26%;height:82%;object-position:left bottom}.lv-party-bottom{right:1%;bottom:2%;width:44%;height:23%;object-position:bottom}.lv-save-stems{right:0%;bottom:1%;width:23%;height:57%;object-position:right bottom}.lv-save-bottom{right:2%;bottom:0%;width:41%;height:22%;object-position:bottom}.lv-thanks-right{right:0%;bottom:0%;width:27%;height:80%;object-position:right bottom}.lv-thanks-left{left:0%;bottom:0%;width:31%;height:30%;object-position:left bottom}.lv-thanks-bottom{left:32%;bottom:0%;width:40%;height:17%;object-position:bottom}.lv-copy{position:absolute;z-index:4;text-align:center;font-size:3.5cqw;line-height:1.25;overflow:visible;--fit:1}.lv-copy-inner{width:100%;font-size:calc(1em * var(--fit));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5cqw;min-height:100%;overflow-wrap:anywhere;text-wrap:balance}.lv-copy p,.lv-copy h2{margin:0;max-width:100%;font-weight:400}.lv-heading{font-family:'Pinyon Script','Brush Script MT',cursive;font-size:2.75em;line-height:1.12;padding:.13em .08em;letter-spacing:-.025em}.lv-lead,.lv-host{font-size:.85em;line-height:1.3}.lv-host{margin-block:1.4cqw!important}.lv-names{font-size:1.32em;line-height:1.25;text-transform:uppercase;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.3em}.lv-names i{font-size:.8em;font-style:normal}.lv-names--stacked{display:flex;flex-direction:column;gap:0;line-height:1.18}.lv-copy--save{left:7%;top:16%;width:65%;height:61%;font-size:3.7cqw}.lv-copy--save .lv-copy-inner{gap:3.2cqw;justify-content:flex-start}.lv-copy--save .lv-heading{font-size:2.5em}.lv-copy--save .lv-names{margin-top:2cqw}.lv-copy--wedding{left:24%;top:22%;width:52%;height:51%;font-size:3.5cqw}.lv-copy--wedding .lv-heading{font-size:2.5em}.lv-copy--wedding .lv-names{margin-block:1cqw}.lv-copy--haldi{left:34%;top:30%;width:48%;height:43%;font-size:3.5cqw}.lv-copy--mehndi{left:28%;top:15%;width:53%;height:49%;font-size:3.5cqw}.lv-copy--sangeet,.lv-copy--reception{left:32%;top:18%;width:53%;height:51%;font-size:3.6cqw}.lv-copy--thanks{left:12%;top:18%;width:56%;height:53%;font-size:3.6cqw}.lv-copy--thanks .lv-copy-inner{gap:3cqw}.lv-copy--thanks .lv-message{font-size:1em;line-height:1.35}.lv-copy--thanks .lv-names{font-size:1.05em}.lv-date{width:100%;padding-block:1.3cqw;flex-shrink:0}.lv-month{text-transform:uppercase;font-size:.85em;letter-spacing:.1em;line-height:1.4}.lv-date-row{display:grid;grid-template-columns:1fr auto 1fr;gap:.5em;align-items:center;width:100%}.lv-date-row>span{font-size:.76em;text-transform:uppercase;line-height:1.15;overflow-wrap:anywhere}.lv-date-row strong{font-size:2.5em;line-height:1.12;font-weight:600}.lv-year{font-size:.83em;letter-spacing:.12em}.lv-address{font-size:.83em;text-transform:uppercase;line-height:1.25;max-width:95%!important}.lv-address em{display:block;font-size:1.05em;text-transform:none;margin-bottom:.55em}.lv-divider{display:flex;align-items:center;justify-content:center;gap:.75em;width:90%;min-height:1.2cqw;margin-block:1.6cqw;flex-shrink:0}.lv-divider i{display:block;width:42%;height:1px;background:linear-gradient(90deg,transparent,var(--lv-gold),#f9edbc,var(--lv-gold),transparent);background-size:250% 100%;animation:lv-gild 8s linear infinite;opacity:.9}.lv-divider b{display:block;width:1cqw;height:1cqw;background:currentColor;transform:rotate(45deg);opacity:.72}.lv-photo{position:absolute;left:26%;top:5%;width:26%;height:16%;border-radius:50% 50% 4% 4%;overflow:hidden;border:1px solid #b99b6266;z-index:4}.lv-photo img,.lv-logo img{position:absolute;left:var(--crop-x,50%);top:var(--crop-y,50%);width:100%;height:100%;object-fit:cover;transform:translate(-50%,-50%) scale(var(--crop-zoom,1))}.lv-copy--save.has-photo{top:24%;height:54%;font-size:3.4cqw}.lv-copy--save.has-photo .lv-copy-inner{gap:1cqw}.lv-cover-petals{position:absolute;inset:0;perspective:900px}.lv-seal{position:absolute;z-index:8;left:50%;top:50%;width:24%;aspect-ratio:1;transform:translate(-50%,-50%) rotate(-7deg);border:0;border-radius:48% 51% 49% 50%;background:radial-gradient(ellipse at 35% 30%,#fff,#f9f8ed 65%,#edece1);box-shadow:0 1px 0 #fff inset,0 0 0 1px #e7e5d7,2px 7px 9px #67415233;cursor:pointer;transition:transform 1.2s ease,opacity .9s ease;display:grid;place-items:center;padding:0;color:#d4d0c0}.lv-initials{font-family:'Pinyon Script',cursive;font-size:8cqw;text-shadow:0 1px 1px #fff,0 -1px 1px #b1a99188}.lv-logo{position:absolute;inset:12%;border-radius:50%;overflow:hidden}.lv-logo img{object-fit:contain}.lv-cover-hint{position:absolute;z-index:9;left:0;right:0;bottom:3%;margin:0;text-align:center;color:#855067;font-size:3.5cqw;letter-spacing:.13em;font-style:italic;background:#fffdf45c;padding:.25em;transition:opacity .5s}.is-opening .lv-seal{transform:translate(-50%,-70%) rotate(18deg) scale(1.1);opacity:0;pointer-events:none}.is-opening .lv-cover-hint{opacity:0}.lv-petals{position:absolute;inset:0;z-index:9;overflow:hidden;pointer-events:none}.lv-petals i{position:absolute;left:calc(3% + var(--i)*23%);top:-5%;width:1.8%;height:1.6%;background:linear-gradient(140deg,#ffeff2,#dd93ac);border-radius:80% 5% 70% 20%;opacity:0;animation:lv-fall calc(17s + var(--i)*2s) linear infinite;animation-delay:calc(var(--i)*-5s)}.lv-shine{position:absolute;inset:0;z-index:10;pointer-events:none;overflow:hidden;border:1px solid #c3a16c3d}.lv-shine:after{content:'';position:absolute;inset:-25% -100%;background:linear-gradient(112deg,transparent 42%,#fff9e614 48%,#fffdfb24 50%,transparent 57%);transform:translateX(-55%);animation:lv-shine 15s ease-in-out infinite}.lv-page.is-current .lv-reveal{animation:lv-reveal 1.1s ease both;animation-delay:calc(var(--line,0)*130ms)}.lv-controls{position:absolute;bottom:calc(10px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(85%,340px);display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:15}.lv-controls>button,.lv-music button,.lv-motion{border:1px solid #af8f9950;color:#83465c;background:#fffaf5cc;min-width:44px;min-height:44px;border-radius:50%;cursor:pointer;font:27px Georgia,serif;box-shadow:0 2px 10px #754b5d0a}.lv-controls button:disabled{opacity:.25;cursor:default}.lv-navigation{text-align:center}.lv-counter{font-size:12px;letter-spacing:.15em;margin:0 0 2px;color:#8a5f69}.lv-dots{display:flex;gap:0;justify-content:center}.lv-dots button{width:22px;height:24px;border:0;background:transparent;padding:0;position:relative;cursor:pointer}.lv-dots button:before{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:#c7aeb6;left:50%;top:50%;transform:translate(-50%,-50%)}.lv-dots button[aria-current]:before{background:#b33c67;width:7px;height:7px}.lv-controls button:focus-visible,.lv-seal:focus-visible,.lv-music button:focus-visible{outline:2px solid #9e5f73;outline-offset:3px}.lv-music{position:absolute;right:8px;top:calc(8px + env(safe-area-inset-top));z-index:20}.lv-music button{font-size:18px;min-width:36px;min-height:36px}.lv-music-status{position:absolute;right:0;top:42px;width:170px;text-align:right;font:12px/1.4 system-ui;background:#fffdf5e8;border-radius:4px}.lv-music-status:empty{display:none}.lv-music iframe{position:absolute;right:0;top:0;width:1px;height:1px;opacity:0;pointer-events:none}.lv-motion{position:absolute;left:8px;top:8px;z-index:20;font:11px system-ui;border-radius:15px;padding:5px 10px;min-height:30px}.lv-paused *,.lv-paused *:before,.lv-paused *:after{animation-play-state:paused!important}@keyframes lv-reveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes lv-sway{from{rotate:-.35deg}to{rotate:.35deg}}@keyframes lv-gild{to{background-position:250% 0}}@keyframes lv-shine{0%,35%{transform:translateX(-55%)}80%,100%{transform:translateX(55%)}}@keyframes lv-fall{0%{opacity:0;transform:translate(0,0) rotate(0)}8%{opacity:.45}30%{transform:translate(1.8cqw,45cqw) rotate(45deg)}60%{transform:translate(-1.8cqw,100cqw) rotate(120deg);opacity:.35}94%{opacity:.3}100%{transform:translate(1cqw,185cqw) rotate(200deg);opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.lv-card{transform:none!important}.lv-petals,.lv-shine:after,.lv-motion{display:none!important}.lv-page .lv-reveal{opacity:1!important;transform:none!important}}@media(max-height:450px){.lv-stage{inset:6px 8px 58px}.lv-controls{bottom:4px}.lv-counter{display:none}}
/* The cover is a contained composition too: all resting petals stay inside paper. */










.lv-wedding-left{width:36%;height:43%;left:0%;bottom:1%}
.lv-wedding-bottom{width:35%;height:21%;right:7%;bottom:0%}
.lv-haldi-left{width:39%;height:77%;left:0%;bottom:0%}
.lv-haldi-top{left:1%;top:7%;width:46%;height:24%;transform:rotate(-8deg)}
.lv-haldi-bottom{right:1%;bottom:0%;width:36%;height:24%;transform:rotate(0deg)}
.lv-shape--haldi{border-radius:0;clip-path:none}
.lv-copy--wedding .lv-heading{width:135%;max-width:135%;font-size:2.4em}
@property --lv-angle{syntax:'<angle>';inherits:false;initial-value:0deg}
.lv-shine:before{content:'';position:absolute;inset:0;padding:1px;background:conic-gradient(from var(--lv-angle),transparent 0 80%,#e6c77b99 91%,transparent 99%);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:lv-border 19s linear infinite;opacity:.5}
@keyframes lv-border{to{--lv-angle:360deg}}
.lv-copy--wedding{left:16%;width:68%;height:49%}
.lv-copy--wedding .lv-copy-inner>.lv-heading{width:100%;max-width:100%}
.lv-copy--wedding .lv-copy-inner>:not(.lv-heading){width:76.47%;max-width:76.47%!important}

/* Revision 2: keep the reference palette and silhouettes; lift the paper and trace the actual artwork. */
.lv-shape,.lv-thanks-panel,.lv-save-strip{filter:drop-shadow(0 4px 4px #71384920);translate:calc(var(--parallax-x,0px) * .16) calc(var(--parallax-y,0px) * .16);transition:translate .45s ease-out}
.lv-botanical{display:block;translate:var(--parallax-x,0px) var(--parallax-y,0px);transition:translate .45s ease-out;filter:drop-shadow(0 3px 2px #71384930) drop-shadow(0 8px 6px #71384912)}
.lv-flower-surface{display:block;width:100%;height:100%;overflow:visible}
.lv-petal-halo,.lv-petal-glint{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}
.lv-petal-halo{stroke:#efb5c6;stroke-width:1;opacity:.42;filter:drop-shadow(0 0 1.4px #f0c88780)}
.lv-petal-glint{stroke:#ffedc4;stroke-width:1.15;stroke-dasharray:38 962;stroke-dashoffset:0;opacity:.75;filter:drop-shadow(0 0 1px #f9d49e80)}
.lv-page.is-current .lv-petal-halo{animation:lv-edge-breathe 7s ease-in-out infinite alternate}
.lv-page.is-current .lv-petal-glint{animation:lv-edge-travel 13s linear infinite}
.lv-page:not(.is-current) .lv-petal-halo,.lv-page:not(.is-current) .lv-petal-glint{animation:none}
.lv-panel-outline{position:absolute;z-index:1;pointer-events:none;overflow:visible;translate:calc(var(--parallax-x,0px) * .16) calc(var(--parallax-y,0px) * .16);transition:translate .45s ease-out}
.lv-outline--white{left:24%;top:6%;width:70%;height:88%}
.lv-outline--save{left:79%;top:0;width:21%;height:100%}
.lv-outline--thanks{left:0;top:0;width:83%;height:100%}
.lv-panel-edge,.lv-panel-glint{fill:none;stroke:#c6a36e;stroke-width:.75;vector-effect:non-scaling-stroke;stroke-linejoin:round;opacity:.55;pointer-events:none}
.lv-panel-glint{stroke:#ffedb3;stroke-width:1.3;stroke-dasharray:75 925;filter:drop-shadow(0 0 1.5px #f8d988);opacity:.8}
.lv-page.is-current .lv-panel-glint{animation:lv-edge-travel 17s linear infinite}
@keyframes lv-edge-travel{to{stroke-dashoffset:-1000}}
@keyframes lv-edge-breathe{from{opacity:.25}to{opacity:.6}}
/* Text groups use the panel's exact centre, not the old asymmetrical art-safe box centre. */
.lv-copy{font-size:3.95cqw;line-height:1.32}
.lv-copy-inner{gap:1.85cqw;min-height:0;height:100%;justify-content:center;flex-shrink:0}
.lv-copy-inner>*{flex-shrink:0}
.lv-heading{font-size:2.9em;line-height:1.15}
.lv-lead,.lv-host{font-size:.9em;line-height:1.35}
.lv-date-row{gap:.55em}
.lv-month{font-size:.93em;line-height:1.45}
.lv-date-row>span{font-size:.88em;line-height:1.25}
.lv-date-row strong{font-size:2.7em;line-height:1.16}
.lv-year{font-size:.92em;line-height:1.3}
.lv-address{font-size:.93em;line-height:1.4}
.lv-copy--wedding{left:16%;top:20%;width:68%;height:58%;font-size:3.95cqw}
.lv-copy--wedding .lv-copy-inner>.lv-heading{font-size:2.4em;width:100%;max-width:100%}
.lv-copy--wedding .lv-copy-inner>:not(.lv-heading){width:76.47%;max-width:76.47%!important}
.lv-copy--haldi{left:25.5%;top:29%;width:50%;height:41%;font-size:3.95cqw}
.lv-copy--mehndi{left:25%;top:19%;width:56%;height:49%;font-size:3.95cqw}
.lv-copy--sangeet,.lv-copy--reception{left:31%;top:23%;width:56%;height:54%;font-size:4cqw}
.lv-copy--thanks{font-size:3.9cqw}
.lv-copy--thanks .lv-message{line-height:1.4}
/* Save the Date: two connected botanical corners and a soft lower garden, away from the names. */
.lv-copy--save{left:7%;top:16%;width:65%;height:47%;font-size:4.05cqw}
.lv-copy--save .lv-copy-inner{gap:2.8cqw;justify-content:flex-start}
.lv-copy--save .lv-heading{font-size:2.5em}
.lv-copy--save.has-photo,.lv-copy--save.has-mark{top:24%;height:39%;font-size:3.85cqw}
.lv-copy--save.has-photo .lv-copy-inner,.lv-copy--save.has-mark .lv-copy-inner{gap:1.35cqw}
.lv-save-upper{left:1%;top:1%;width:22%;height:13%;rotate:4deg}
.lv-save-garden{left:6%;bottom:1%;width:55%;height:31%}
.lv-save-stems{right:1%;bottom:1%;width:34%;height:43%}
.lv-save-bottom{right:2%;bottom:1%;width:41%;height:23%}
.lv-save-mark{position:absolute;left:29%;top:5%;width:21%;height:13%;z-index:5;display:grid;place-items:center}
.lv-save-mark.with-photo{left:56%;top:7%;width:15%;height:9%}
.lv-save-mark .lv-logo{inset:0;display:block}
.lv-save-mark .lv-initials{font-size:7cqw;color:var(--lv-ink);text-shadow:none}
/* Two complete lotus flowers: the exact painted petal regions are partitioned, never assembled from loose leaves. */
.lv-cover-petals{inset:0;perspective:1100px}
.lv-cover-bloom{position:absolute;left:2%;width:96%;height:43%;translate:var(--parallax-x,0px) var(--parallax-y,0px);transition:translate .45s ease-out;filter:drop-shadow(0 5px 3px #72384f25) drop-shadow(0 12px 9px #72384f13)}
.lv-cover-bloom--top{top:3%;transform:rotate(180deg)}
.lv-cover-bloom--bottom{bottom:7%;height:42%}
.lv-cover-bloom .lv-cover-flower{position:static;display:block;width:100%;height:100%;object-fit:contain;transform:none;filter:none;overflow:visible}
.lv-cover-layer{transform-box:view-box;transform-origin:50% 75%;transition:transform 2.8s cubic-bezier(.35,.05,.2,1),opacity 2.8s ease;opacity:1}
.lv-cover-layer--outer{transition-delay:.35s}
.lv-cover-layer--left{transition-delay:.85s;transform-origin:32% 75%}
.lv-cover-layer--right{transition-delay:1.25s;transform-origin:68% 75%}
.lv-cover-layer--front{transition-delay:1.65s;transform-origin:50% 86%}
.lv-cover-glow{position:absolute;inset:21% 8%;opacity:0;z-index:0;background:radial-gradient(ellipse,#fff6d9d9 0%,#ffe2cd66 35%,#f8d4dd22 60%,transparent 76%);transform:scale(.7);transition:opacity 2s ease .4s,transform 3s ease .4s;pointer-events:none}
.is-opening .lv-cover-glow{opacity:1;transform:scale(1.15)}
.is-opening .lv-cover-layer--outer{transform:translateY(12%) scale(1.035);opacity:0}
.is-opening .lv-cover-layer--left{transform:translate(-17%,6%) rotate(-22deg);opacity:0}
.is-opening .lv-cover-layer--right{transform:translate(17%,6%) rotate(22deg);opacity:0}
.is-opening .lv-cover-layer--front{transform:translateY(20%) scale(.88);opacity:0}
.lv-seal{z-index:8;width:23%;border-radius:50%;overflow:hidden;color:transparent}
.lv-seal-shine{position:absolute;inset:0;border-radius:50%;background:linear-gradient(115deg,transparent 25%,#ffffff00 35%,#ffffffb0 50%,#ffffff00 65%,transparent 75%);transform:translateX(-130%);animation:lv-seal-lustre 11s ease-in-out infinite}
@keyframes lv-seal-lustre{0%,35%{transform:translateX(-130%)}75%,100%{transform:translateX(130%)}}
.lv-cover-hint{bottom:2.5%;background:transparent;font-size:3.65cqw;line-height:1.3;z-index:9}
.is-opening .lv-seal{transform:translate(-50%,-95%) rotate(10deg) scale(1.1);opacity:0;transition-duration:1.35s}
@media(prefers-reduced-motion:reduce){.lv-botanical,.lv-cover-bloom,.lv-panel-outline,.lv-shape,.lv-save-strip,.lv-thanks-panel{translate:none!important}.lv-cover-glow{display:none}.lv-petal-halo{opacity:.35}.lv-petal-glint,.lv-panel-glint,.lv-seal-shine{display:none}.lv-cover-layer{transition:none!important}}
.lv-date-row{gap:.2em}
.lv-date-row>span{white-space:normal;word-break:normal;overflow-wrap:normal}
.lv-copy--wedding .lv-copy-inner>.lv-date{width:90%;max-width:90%!important}
/* Preserve a clear gap where the larger copy approaches the original floral corners. */
.lv-wedding-left{width:31%;height:40%}
.lv-haldi-top{top:5%;width:44%;height:22%}

/* Revision 3: the approved cover composition and all editable copy stay intact. */
.lv-card-frame{position:relative;width:var(--card-w,420px);height:var(--card-h,746.667px);transform-style:preserve-3d;transform-origin:50% 50%;animation:lv-paper-float 13s ease-in-out infinite;will-change:transform}
@keyframes lv-paper-float{0%,100%{transform:translateY(1px) rotateX(-1.1deg) rotateY(1.5deg)}50%{transform:translateY(-1.5px) rotateX(1.25deg) rotateY(-1.7deg)}}
.lv-opening .lv-card-frame{animation-play-state:paused}
.lv-card{box-shadow:0 1px 0 #fff8 inset,0 2px 0 #e8d9dc,0 4px 0 #cdbdc4,0 7px 8px #64374920,0 20px 38px #6137482a,0 38px 65px #61374818}
.lv-panel-thickness{fill:color-mix(in srgb,var(--lv-panel) 84%,#633448 16%)}
.lv-shape{filter:drop-shadow(0 1px 0 #fff6) drop-shadow(0 6px 3px #652b432d) drop-shadow(0 11px 9px #652b431b)}
.lv-shape--white{filter:none;border:1px solid #f7eae9;box-shadow:0 1px 0 #fff inset,1px 2px 0 #f1e0e2,2px 4px 0 #d7c2c8,0 11px 16px #5c21453d}
.lv-botanical{filter:drop-shadow(0 1px 0 #ffe1ed88) drop-shadow(0 4px 1px #72354f57) drop-shadow(0 9px 6px #72354f28)}
.lv-page.is-current .lv-flower-surface{transform-origin:50% 85%;animation:lv-flower-float 8s ease-in-out infinite;will-change:transform}
@keyframes lv-flower-float{0%,100%{transform:translate3d(-.5px,-.6px,8px) rotateX(-1deg) rotateY(.7deg)}50%{transform:translate3d(.65px,-2px,11px) rotateX(1.2deg) rotateY(-.9deg)}}
/* Keep the side-card language of the reference, but make its gutter a full botanical composition. */
.lv-party-left{left:.5%;top:7%;bottom:auto;width:30%;height:88%}
.lv-party-corner{right:1%;top:2.5%;width:25%;height:15%}
.lv-party-bottom{right:1%;bottom:2%;width:44%;height:23%}
/* Mehndi remains green, with equal paper margins and flowers on both sides. */
.lv-shape--mehndi{left:9%;top:3%;width:82%;height:81%}
.lv-copy--mehndi{left:22%;top:19%;width:56%;height:49%;font-size:3.95cqw}
.lv-mehndi-upper{right:1%;top:2%;width:18%;height:22%}
/* The closing ribbon is removed from the renderer, not covered up. */
.lv-thanks-panel{inset:0 20% 0 0}
.lv-outline--thanks{width:80%}
.lv-copy--thanks{left:12%;width:56%}
/* A permanent soft outline remains between passing highlights; no page returns to an unlit state. */
.lv-petal-halo{stroke:#f5bace;stroke-width:1.15;opacity:.72;filter:drop-shadow(0 0 2px #efc389a8)}
.lv-page.is-current .lv-petal-halo{animation:lv-glow-always 4.8s ease-in-out infinite alternate}
@keyframes lv-glow-always{from{opacity:.62}to{opacity:.88}}
.lv-petal-glint{stroke:#ffedbb;stroke-width:1.2;opacity:.88;stroke-dasharray:38 962;filter:drop-shadow(0 0 1.6px #ffd89fc9)}
.lv-page.is-current .lv-petal-glint{animation:lv-edge-travel 9s linear infinite}
.lv-panel-edge{stroke:#d5af70;stroke-width:.95;opacity:.78;filter:drop-shadow(0 0 1.2px #f8dbac88)}
.lv-panel-glint{stroke:#fff0bf;stroke-width:1.35;opacity:.92}
.lv-page.is-current .lv-panel-glint{animation:lv-edge-travel 10s linear infinite}
.lv-page.is-current .lv-divider i{animation:lv-gild 5.5s linear infinite;filter:drop-shadow(0 0 1px #f1c78388)}
.lv-shine:after{animation:lv-card-shine 6.8s ease-in-out infinite;background:linear-gradient(112deg,transparent 42%,#fff2d71a 48%,#fffdfb2b 50%,transparent 57%)}
@keyframes lv-card-shine{0%,10%{transform:translateX(-55%)}78%,100%{transform:translateX(55%)}}
/* Same cover art and final travel directions, compressed into a roughly two-second open and crossfade. */
.lv-cover-layer{transition-duration:.95s,.95s}
.lv-cover-layer--outer{transition-delay:.04s}
.lv-cover-layer--left{transition-delay:.12s}
.lv-cover-layer--right{transition-delay:.20s}
.lv-cover-layer--front{transition-delay:.28s}
.lv-cover-glow{transition:opacity .7s ease .08s,transform 1.3s ease .08s}
.is-opening .lv-seal{transition-duration:.65s}
.lv-opening .lv-page{transition:opacity .4s ease,transform .5s cubic-bezier(.22,.61,.36,1),visibility 0s .5s}
.lv-opening .lv-page.is-current{transition-delay:0s}
.lv-opened .lv-page--save .lv-reveal{animation-duration:.45s;animation-delay:calc(var(--line,0)*60ms)}
@media(prefers-reduced-motion:reduce){.lv-card-frame{animation:none!important;transform:none!important}.lv-flower-surface{animation:none!important;transform:none!important;will-change:auto}.lv-petal-halo{opacity:.72;filter:drop-shadow(0 0 1px #efc38980)}.lv-card-frame,.lv-flower-surface{will-change:auto}}
.lv-party-left{left:0%;width:33%;height:88%;top:7%}
.lv-copy--sangeet,.lv-copy--reception{left:32%;top:23%;width:54%;height:54%;font-size:4cqw}

.lv-opening .lv-petal-halo,.lv-opening .lv-petal-glint,.lv-opening .lv-panel-glint,.lv-opening .lv-flower-surface,.lv-opening .lv-shine:before,.lv-opening .lv-shine:after{animation-play-state:paused}
