/* La mariposa aparece solo al abrir, integrada en la tarjeta. */

/* Fotografías originales: encuadre responsivo sin alterar facciones */
.photo-card{display:flex;flex-direction:column;overflow:hidden;margin:0}
.photo-card img{
  display:block;width:100%;height:270px;object-fit:cover;
  object-position:center;border:1px solid #f1e4dc;
}
.photo-card:nth-child(1) img{object-position:50% 45%}
.photo-card:nth-child(2) img{object-position:58% 48%}
.photo-card:nth-child(3) img{object-position:50% 34%}
.photo-card figcaption{
  padding:13px 4px 0;font:400 27px/1 var(--script);color:var(--wine);
}
.photo-card.tall img{height:325px}

/* La flor elegida reemplaza el arreglo anterior en toda la invitación */
.ambient-flower{content:url('assets/floral-ana-lu.png');object-fit:contain}
.floral-hero{width:min(310px,38vw);left:-65px;bottom:-20px}
.floral-itinerary{width:min(240px,30vw);right:-55px}
.floral-finale{width:min(290px,38vw);left:-45px;bottom:-30px}

@media(max-width:680px){
  .photo-card img{height:190px}
  .photo-card.tall img{height:225px}
  .photo-card figcaption{font-size:22px}
  .floral-hero{width:205px;left:-80px}
  .floral-itinerary{width:170px;right:-65px}
  .floral-finale{width:190px;left:-75px}
}
@media(prefers-reduced-motion:reduce){
  .letter-butterfly{animation:none!important;opacity:1;transform:none}
}

/* Apertura vertical 3D inspirada en el video de referencia */
.envelope-screen{background:radial-gradient(circle at 50% 38%,#8b4054 0,#541426 52%,#290812 100%);overflow:hidden;transition:opacity .85s ease,visibility .85s}
.envelope-screen.open{transform:none;opacity:0;visibility:hidden}
.envelope-screen .petals{opacity:.3;transition:opacity .45s}.envelope-screen.opening .petals{opacity:0}
.envelope{width:min(340px,78vw);height:min(500px,60svh);aspect-ratio:auto;margin:22px 0 18px;perspective:1600px;transform:rotateX(2deg) rotateY(-2deg);transition:transform 1.1s cubic-bezier(.2,.75,.2,1),filter .8s}
.envelope:hover{transform:rotateX(0) rotateY(0) translateY(-4px)}
.envelope-back{position:absolute;inset:0;z-index:0;border-radius:6px;background:linear-gradient(145deg,#fffdf9,#eadfd4);box-shadow:inset 0 0 38px #694b3830}
.envelope-back:after{content:'';position:absolute;inset:11px;border:1px solid #b5916538;border-radius:3px;background:radial-gradient(ellipse at 20% 18%,#fff8,transparent 42%)}
.envelope-flap{inset:0;z-index:6;clip-path:polygon(0 0,100% 0,50% 48%);background:linear-gradient(155deg,#fffefa 5%,#eee3d8 82%);transform-origin:top center;backface-visibility:hidden;transition:transform .9s cubic-bezier(.3,.02,.2,1) .25s,filter .5s}
.envelope:hover .envelope-flap{transform:rotateX(5deg)}
.envelope-side{position:absolute;inset:0;z-index:4;background:linear-gradient(140deg,#f8f1e9,#e9ddd2)}
.envelope-side-left{clip-path:polygon(0 0,51% 50%,0 100%)}.envelope-side-right{clip-path:polygon(100% 0,49% 50%,100% 100%)}
.envelope-pocket{position:absolute;inset:0;z-index:5;clip-path:polygon(0 100%,50% 48%,100% 100%);background:linear-gradient(170deg,#f7eee5,#e9ddd2);filter:drop-shadow(0 -4px 5px #5b3f2b13)}
.seal{top:49%;width:118px;height:118px;z-index:8;transform:translate(-50%,-50%);transition:transform .42s cubic-bezier(.5,-.45,.58,1.35),opacity .34s,filter .4s;animation:sealPulseVertical 1.8s ease-in-out infinite}
@keyframes sealPulseVertical{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.055)}}
.invitation-letter{position:absolute;z-index:2;left:6%;right:6%;top:4%;height:90%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #c9a97b73;border-radius:4px;background:radial-gradient(circle at 50% 22%,#fff,#fffaf1 68%,#efe2d4);color:var(--wine);box-shadow:0 18px 42px #25071155;transform:translateY(12%) scale(.92);transition:transform 1.15s cubic-bezier(.16,.8,.28,1) 1.03s,box-shadow .8s 1.05s}
.invitation-letter:after{content:'';position:absolute;inset:13px;border:1px solid #bd986642;pointer-events:none}.invitation-letter strong{font:400 48px/1 var(--script);margin:10px 0 18px}.letter-kicker,.letter-date{font:500 9px/1.4 var(--sans);letter-spacing:.25em;text-transform:uppercase}
.letter-butterfly{width:118px;height:104px;object-fit:contain;opacity:0;transform:translate(-145px,-105px) rotate(-25deg) scale(.35);filter:drop-shadow(9px 12px 8px #3e182845)}
.envelope-screen.opening .seal{animation:none;transform:translate(-50%,-50%) scale(.35) rotate(-18deg);opacity:0;filter:blur(2px)}
.envelope-screen.opening .envelope-flap{transform:rotateX(178deg);z-index:1;filter:brightness(.93)}
.envelope-screen.opening .invitation-letter{z-index:7;transform:translateY(-26%) scale(1.08);box-shadow:0 35px 70px #25071165}
.envelope-screen.opening .letter-butterfly{animation:letterButterfly 1.25s cubic-bezier(.28,.08,.28,1) 1.28s both,letterWings .25s ease-in-out 1.28s 5 alternate}
.envelope-screen.opening .open-copy,.envelope-screen.opening>.eyebrow{opacity:0;transition:opacity .35s}
@keyframes letterButterfly{0%{opacity:0;transform:translate(-145px,-105px) rotate(-25deg) scale(.35)}18%{opacity:1}48%{transform:translate(82px,-75px) rotate(13deg) scale(.7)}75%{transform:translate(-20px,-22px) rotate(-8deg) scale(.92)}100%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}}
@keyframes letterWings{from{scale:.6 1}to{scale:1 1}}
@media(max-width:680px){.envelope{width:min(320px,82vw);height:min(470px,61svh)}.seal{width:104px;height:104px}.invitation-letter strong{font-size:43px}.letter-butterfly{width:106px;height:94px}}

/* V2: el sobre es la pantalla completa; las cuatro solapas revelan la invitación. */
.envelope-screen{display:block;background:#f2e6da;perspective:1800px;isolation:isolate}
.envelope-screen:before{z-index:-2;background:radial-gradient(circle at 48% 42%,#fff9ef 0,#ead9c8 58%,#c9ac91 100%);opacity:1}
.envelope-screen>.eyebrow{position:absolute;top:4.5%;left:0;right:0;z-index:20;text-align:center;color:#6e3344;text-shadow:0 1px #fff8}
.envelope-screen>.open-copy{position:absolute;left:0;right:0;bottom:4%;z-index:20;text-align:center;color:#5d2638;text-shadow:0 1px #fff}
.envelope{position:absolute;inset:0;width:100%;height:100%;margin:0;filter:none;transform:none;perspective:1800px;overflow:hidden}
.envelope:hover{transform:none}
.envelope-back{inset:0;border-radius:0;background:radial-gradient(circle at 50% 38%,#fffdf8,#eadacb);box-shadow:inset 0 0 85px #7c523140}
.envelope-back:after{inset:0;border:0;background:linear-gradient(115deg,#fff8,transparent 32%,#8d65421a 70%,#fff5);opacity:.7}
.invitation-letter{inset:0;width:100%;height:100%;border:0;border-radius:0;transform:none;background:radial-gradient(circle at 50% 35%,#fff,#fffaf1 63%,#ead8c7);box-shadow:inset 0 0 85px #8f684627;transition:none}
.invitation-letter:before{content:'';position:absolute;inset:18px;border:1px solid #bd986655;box-shadow:inset 0 0 0 6px #fff8}
.invitation-letter:after{inset:30px;border-color:#bd98662c}
.invitation-letter strong{font-size:clamp(58px,12vw,96px);margin:14px 0 24px}.letter-kicker,.letter-date{font-size:11px}
.letter-butterfly{width:clamp(135px,26vw,205px);height:auto;opacity:0;transform:translate(-44vw,-24vh) rotate(-28deg) scale(.25)}
.envelope-flap,.envelope-side,.envelope-pocket{inset:0;overflow:hidden;background-color:#efe3d7;background-image:linear-gradient(135deg,#fffdf7 0,#efe2d5 40%,#d9c5b3 100%);filter:drop-shadow(0 12px 14px #4b2c1740);transition:transform 1.55s cubic-bezier(.58,.02,.26,1),filter 1.2s;will-change:transform}
.envelope-flap{clip-path:polygon(0 0,100% 0,50% 50%);z-index:8;transform-origin:50% 0}
.envelope-side-left{clip-path:polygon(0 0,50% 50%,0 100%);z-index:7;transform-origin:0 50%}
.envelope-side-right{clip-path:polygon(100% 0,50% 50%,100% 100%);z-index:7;transform-origin:100% 50%}
.envelope-pocket{clip-path:polygon(0 100%,50% 50%,100% 100%);z-index:6;transform-origin:50% 100%}
.envelope-flap:before,.envelope-side:before,.envelope-pocket:before{content:'';position:absolute;inset:0;background:linear-gradient(118deg,#fff9 8%,transparent 35%,#6e4b2d24 68%,#fff5 100%);mix-blend-mode:soft-light}
.envelope-flap:after,.envelope-side:after,.envelope-pocket:after{content:'';position:absolute;inset:-4%;background-image:url('assets/floral-ana-lu.png'),url('assets/floral-ana-lu.png');background-repeat:no-repeat;background-size:min(310px,46vw) auto;background-position:4% 4%,96% 96%;filter:grayscale(1) sepia(.18) saturate(.2) contrast(1.35) brightness(1.18) drop-shadow(1.5px 1.5px 0 #fff) drop-shadow(-1.2px -1.2px 0 #8c6c5155);opacity:.42;mix-blend-mode:multiply}
.envelope-side-left:after{background-position:-5% 8%,8% 92%;transform:scaleX(-1)}.envelope-side-right:after{background-position:105% 8%,92% 92%}
.envelope-pocket:after{background-position:2% 92%,98% 92%}.envelope-flap:after{background-position:3% 2%,97% 2%}
.seal{top:50%;width:clamp(112px,20vw,145px);height:clamp(112px,20vw,145px);z-index:15;transform:translate(-50%,-50%);filter:drop-shadow(0 10px 12px #3d162070) drop-shadow(0 -2px 2px #fff4)}
.seal:after{content:'';position:absolute;left:50%;top:9%;bottom:9%;width:1.5px;background:linear-gradient(transparent,#2d0915 20%,#f3bdc444 50%,#2d0915 80%,transparent);opacity:0;transform:rotate(10deg);z-index:3}
.envelope-screen.opening .seal:after{opacity:1;transition:opacity .18s}
.envelope-screen.opening .seal{transform:translate(-50%,-50%) scale(.82);opacity:0;transition:transform .42s cubic-bezier(.5,-.45,.58,1.35),opacity .35s .22s}
.envelope-screen.opening .envelope-flap{z-index:8;transform:translateY(-101%) rotateX(-7deg);filter:drop-shadow(0 30px 25px #4b2c1720)}
.envelope-screen.opening .envelope-side-left{transform:translateX(-101%) rotateY(9deg);filter:drop-shadow(28px 0 25px #4b2c1720)}
.envelope-screen.opening .envelope-side-right{transform:translateX(101%) rotateY(-9deg);filter:drop-shadow(-28px 0 25px #4b2c1720)}
.envelope-screen.opening .envelope-pocket{transform:translateY(101%) rotateX(7deg);filter:drop-shadow(0 -30px 25px #4b2c1720)}
.envelope-screen.opening .invitation-letter{transform:none;z-index:2;box-shadow:inset 0 0 85px #8f684627}
.envelope-screen.opening .letter-butterfly{animation:butterflyReveal 1.7s cubic-bezier(.25,.05,.24,1) 1.18s both,butterflyWings .22s ease-in-out 1.18s 8 alternate}
@keyframes butterflyReveal{0%{opacity:0;transform:translate(-44vw,-24vh) rotate(-28deg) scale(.25)}12%{opacity:1}36%{transform:translate(24vw,-16vh) rotate(16deg) scale(.52)}62%{transform:translate(-10vw,-5vh) rotate(-10deg) scale(.78)}82%{transform:translate(4vw,1vh) rotate(5deg) scale(.94)}100%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}}
@keyframes butterflyWings{from{scale:.55 1}to{scale:1 1}}
.envelope-screen.open{opacity:0;visibility:hidden;transition:opacity .85s ease,visibility .85s}
@media(max-width:680px){.envelope{width:100%;height:100%}.seal{width:112px;height:112px}.invitation-letter strong{font-size:62px}.letter-butterfly{width:145px}.envelope-flap:after,.envelope-side:after,.envelope-pocket:after{background-size:205px auto;opacity:.38}}

/* V3: sobre vertical marfil con esquinas redondeadas, según la referencia. */
.envelope-screen{background:radial-gradient(circle at 50% 38%,#8d4055 0,#5d1a30 50%,#2d0916 100%)}
.envelope-screen:before{background:radial-gradient(circle at 50% 42%,#a55a7044,transparent 45%),linear-gradient(120deg,#fff0,transparent 42%,#1b020b33);opacity:1}
.envelope-screen>.eyebrow{top:3.2%;color:#f5dce2;text-shadow:0 2px 10px #2d0916}.envelope-screen>.open-copy{bottom:2.8%;color:#f5dce2;text-shadow:0 2px 10px #2d0916}
.envelope{inset:50% auto auto 50%;width:min(380px,84vw);height:min(680px,82svh);transform:translate(-50%,-50%);overflow:hidden;border-radius:34px;background:#f5eee7;box-shadow:0 38px 75px #17020b88,0 5px 15px #17020b70,inset 0 0 0 1px #fff}
.envelope:hover{transform:translate(-50%,-50%) translateY(-3px)}
.envelope-back,.invitation-letter{border-radius:34px}
.envelope-back{background:linear-gradient(135deg,#fffdfb,#eee5dc 58%,#ded0c3)}
.invitation-letter{background:radial-gradient(circle at 50% 31%,#fff,#fffaf4 60%,#eadbcf)}
.envelope-flap,.envelope-side,.envelope-pocket{background-image:linear-gradient(138deg,#fff 0,#f3ece5 42%,#e0d3c7 100%)}
.envelope-flap:after,.envelope-side:after,.envelope-pocket:after{background-size:260px auto;opacity:.32;filter:grayscale(1) sepia(.08) saturate(.1) contrast(1.45) brightness(1.42) drop-shadow(1.4px 1.4px 0 #fff) drop-shadow(-1.3px -1.3px 0 #9b897866);mix-blend-mode:multiply}
.envelope-flap:before,.envelope-side:before,.envelope-pocket:before{background:linear-gradient(122deg,#fff 0,#fff8 28%,transparent 48%,#8c6d5220 78%,#fff6 100%)}
.envelope-flap{clip-path:polygon(0 0,100% 0,50% 49%)}
.envelope-side-left{clip-path:polygon(0 0,50% 49%,0 100%)}.envelope-side-right{clip-path:polygon(100% 0,50% 49%,100% 100%)}.envelope-pocket{clip-path:polygon(0 100%,50% 49%,100% 100%)}
.envelope-flap,.envelope-side-left,.envelope-side-right,.envelope-pocket{box-shadow:inset 0 0 22px #876b5330}
.seal{width:126px;height:126px;top:49%;filter:drop-shadow(0 9px 11px #3a15206b) drop-shadow(0 -2px 2px #fff6)}
.envelope-screen.opening .envelope{overflow:visible;box-shadow:none;transition:box-shadow .3s}
.envelope-screen.opening .envelope-flap{transform:translateY(-112%) rotateX(-7deg)}
.envelope-screen.opening .envelope-side-left{transform:translateX(-112%) rotateY(9deg)}
.envelope-screen.opening .envelope-side-right{transform:translateX(112%) rotateY(-9deg)}
.envelope-screen.opening .envelope-pocket{transform:translateY(112%) rotateX(7deg)}
@media(max-width:680px){.envelope{width:min(360px,86vw);height:min(640px,80svh);border-radius:30px}.envelope-back,.invitation-letter{border-radius:30px}.seal{width:112px;height:112px}.envelope-flap:after,.envelope-side:after,.envelope-pocket:after{background-size:215px auto}.invitation-letter strong{font-size:52px}}

.music-control.is-playing>span:first-child{animation:musicPulse 1.8s ease-in-out infinite}
@keyframes musicPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.22)}}

/* V4: relieve marfil real de la referencia, sin flores impresas. */
.envelope-back,.envelope-flap,.envelope-side,.envelope-pocket{background-image:url('assets/envelope-embossed-v2.png');background-size:100% 100%;background-position:center;background-repeat:no-repeat}
.envelope-flap:before,.envelope-side:before,.envelope-pocket:before{background:linear-gradient(120deg,#fff5 0,transparent 43%,#6e533d15 78%,#fff3 100%);mix-blend-mode:soft-light}
.envelope-flap:after,.envelope-side:after,.envelope-pocket:after{display:none}
.envelope{background:#f4ede4;box-shadow:0 36px 72px #17020b8c,0 7px 18px #17020b66,inset 0 0 0 1px #fff}
.envelope-flap,.envelope-side,.envelope-pocket{filter:drop-shadow(0 7px 8px #553c292a)}
.envelope-screen.opening .letter-butterfly{animation:butterflyNatural 1.65s cubic-bezier(.25,.12,.3,1) 1.28s both,butterflyWings .28s ease-in-out 1.28s 6 alternate}
@keyframes butterflyNatural{0%{opacity:0;transform:translate(-31vw,-15vh) rotate(-12deg) scale(.55)}18%{opacity:1}48%{transform:translate(-13vw,-7vh) rotate(4deg) scale(.72)}76%{transform:translate(-4vw,-2vh) rotate(-3deg) scale(.9)}100%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}}

/* V5: las cuatro solapas se apartan desde el sello y permanecen visibles en los bordes. */
.envelope-flap,.envelope-side,.envelope-pocket{transform-origin:50% 50%;transition-duration:1.45s;transition-timing-function:cubic-bezier(.65,.02,.25,1)}
.envelope-screen.opening .envelope{overflow:hidden;box-shadow:0 36px 72px #17020b66;transition:box-shadow .45s}
.envelope-screen.opening .envelope-flap{transform:translateY(-38%) rotateX(-2deg);filter:drop-shadow(0 15px 14px #4b2c1730)}
.envelope-screen.opening .envelope-side-left{transform:translateX(-38%) rotateY(2deg);filter:drop-shadow(15px 0 14px #4b2c1730)}
.envelope-screen.opening .envelope-side-right{transform:translateX(38%) rotateY(-2deg);filter:drop-shadow(-15px 0 14px #4b2c1730)}
.envelope-screen.opening .envelope-pocket{transform:translateY(38%) rotateX(2deg);filter:drop-shadow(0 -15px 14px #4b2c1730)}
.letter-butterfly{opacity:0;transform:none;width:clamp(126px,24vw,185px);filter:drop-shadow(7px 10px 8px #3e182838)}
.envelope-screen.opening .letter-butterfly{animation:butterflyAppear .5s ease 1.25s both,butterflyPresence 1.15s ease-in-out 1.75s infinite alternate}
@keyframes butterflyAppear{from{opacity:0}to{opacity:1}}
@keyframes butterflyPresence{from{scale:.94 1;translate:0 1px}to{scale:1 1;translate:0 -1px}}
@media(max-width:680px){
  .ambient-flower{width:150px;opacity:.13}
  .af-one{top:auto;bottom:-72px;left:-92px}
  .af-two{right:-105px;bottom:-78px}
  .floral-hero{width:165px;left:-112px;bottom:-72px;opacity:.5}
  .letter-butterfly{width:138px}
}
@media(prefers-reduced-motion:reduce){.envelope-screen.opening .letter-butterfly{animation:none;opacity:1;scale:1}.envelope-flap,.envelope-side,.envelope-pocket{transition:none}}

/* V6: apertura real por bisagras exteriores, sin trasladar las solapas. */
.envelope{perspective:1400px;transform-style:preserve-3d}
.envelope-flap,.envelope-side,.envelope-pocket{backface-visibility:hidden;transform-style:preserve-3d;transition:transform 1.65s cubic-bezier(.55,.02,.18,1),filter 1.2s}
.envelope-flap{transform-origin:50% 0}.envelope-side-left{transform-origin:0 50%}.envelope-side-right{transform-origin:100% 50%}.envelope-pocket{transform-origin:50% 100%}
.envelope-screen.opening .envelope{overflow:hidden;box-shadow:0 36px 72px #17020b66}
.envelope-screen.opening .envelope-flap{transform:rotateX(-78deg);filter:drop-shadow(0 18px 18px #4b2c1740)}
.envelope-screen.opening .envelope-side-left{transform:rotateY(78deg);filter:drop-shadow(18px 0 18px #4b2c1740)}
.envelope-screen.opening .envelope-side-right{transform:rotateY(-78deg);filter:drop-shadow(-18px 0 18px #4b2c1740)}
.envelope-screen.opening .envelope-pocket{transform:rotateX(78deg);filter:drop-shadow(0 -18px 18px #4b2c1740)}
.photo-card{aspect-ratio:auto;min-height:355px}.photo-card.tall{min-height:410px}
.guest-card b{margin:15px 0 12px;font-size:34px}.guest-card .guest-reserved{margin-top:0}
@media(max-width:680px){.photo-card{min-height:250px}.photo-card.tall{min-height:285px}}

/* V7: retrato principal y apertura completa hasta mostrar solo el interior. */
.portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.envelope-flap,.envelope-side,.envelope-pocket{transition:transform 1.72s cubic-bezier(.58,.02,.2,1),filter 1.25s,opacity .24s linear 1.48s}
.envelope-screen.opening .envelope-flap{transform:rotateX(-94deg);opacity:0}
.envelope-screen.opening .envelope-side-left{transform:rotateY(94deg);opacity:0}
.envelope-screen.opening .envelope-side-right{transform:rotateY(-94deg);opacity:0}
.envelope-screen.opening .envelope-pocket{transform:rotateX(94deg);opacity:0}

/* Transición suave entre la mariposa y la portada principal. */
.envelope-screen.opening .letter-butterfly{animation:butterflyAppear .5s ease 1.25s both,butterflyPresence 1.05s ease-in-out 1.75s 1 alternate,butterflyFade .72s ease 2.82s forwards}
@keyframes butterflyFade{from{opacity:1;filter:drop-shadow(7px 10px 8px #3e182838)}to{opacity:0;filter:drop-shadow(0 4px 3px #3e182810) blur(1.5px)}}
.envelope-screen.open{transition:opacity 1.18s cubic-bezier(.4,0,.2,1),visibility 1.18s}

/* La mariposa permanece presente hasta completar el fundido cruzado. */
.letter-butterfly{transform-origin:50% 52%}
.envelope-screen.opening .letter-butterfly{animation:butterflyAppear .65s ease 1.25s both,butterflyPresence 1.8s ease-in-out 1.9s infinite}
@keyframes butterflyPresence{0%,100%{scale:1 1;translate:0 0}50%{scale:.82 1.035;translate:0 -2px}}
#content.invite-entering{opacity:0;transform:translateY(16px) scale(.995);transition:opacity 1.35s cubic-bezier(.4,0,.2,1),transform 1.35s cubic-bezier(.4,0,.2,1)}
#content.invite-entering.invite-visible{opacity:1;transform:none}
.envelope-screen.open{opacity:0;visibility:hidden;transition:opacity 1.35s cubic-bezier(.4,0,.2,1),visibility 1.35s}

/* Video final de Zumba integrado en el marco de la invitación. */
.video-zumba{width:min(320px,100%);padding:8px;aspect-ratio:1/1;background:linear-gradient(145deg,#8b304a,#3d101f 58%,#260914);border:1px solid #d6b47e;border-radius:22px;box-shadow:0 24px 50px #21040d66,0 0 0 5px #fff0,0 0 0 6px #d6b47e42}
.video-zumba:after{display:block;content:'';position:absolute;inset:4px;border:1px solid #efd8ad80;border-radius:20px;background:none;animation:none;pointer-events:none;z-index:2}
.video-zumba video{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover;object-position:center top;border:1px solid #f4dfbb75;border-radius:14px;background:#16050b;image-rendering:auto}
@media(max-width:680px){.video-placeholder.video-zumba{width:min(305px,82vw);aspect-ratio:1/1}}
.upload-placeholder:disabled{opacity:1;cursor:default;pointer-events:none}
.upload-availability{margin:13px 0 0;font:500 10px/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--wine-mid)}
.message .blessing-copy{margin:28px 0 0}
.message .parents-name{margin:14px 0 16px;font:400 clamp(38px,9vw,54px)/1.08 var(--script);color:var(--wine)}
.message .invitation-copy{margin:0 auto;max-width:560px}
.guest-card{padding:38px 28px 34px}
.guest-card .guest-label{margin-bottom:17px}
.guest-card b{display:flex;flex-direction:column;align-items:center;gap:3px;margin:0;color:var(--wine);line-height:1}
.guest-card #guestPasses{font:500 39px/1 var(--serif)}
.guest-card #passesLabel{font:500 29px/1.12 var(--serif)}
.guest-card .guest-reserved{margin-top:20px;line-height:1.55}
@media(max-width:680px){.message .parents-name{margin:16px 0 18px;font-size:clamp(34px,10.5vw,46px)}.guest-card{margin-top:42px;padding:35px 22px 31px}.guest-card .guest-label{margin-bottom:15px}.guest-card .guest-reserved{margin-top:18px}}
