/* Papelería en movimiento: marcos, recortes, cintas y composiciones por colección. */
body{background-image:radial-gradient(#8f77591a .7px,transparent .7px);background-size:5px 5px}.paper{overflow:hidden}.opener{position:relative;background-image:radial-gradient(#8f775914 .65px,transparent .65px),radial-gradient(ellipse at 20% 0,#fffaf1,transparent 65%);background-size:5px 5px,100% 100%}.opener:before{content:'';position:absolute;width:420px;height:420px;border:1px solid #ad916044;border-radius:50%;left:-280px;top:10%;box-shadow:0 0 0 13px #ad916011,0 0 0 28px #ad916011;pointer-events:none}.opener:after{content:'✦';position:absolute;font:50px var(--serif);color:var(--gold);right:10%;top:18%;animation:slowTurn 20s linear infinite;pointer-events:none}.opener>h1{font-family:var(--script);font-size:70px;color:var(--accent)}.opener .intro{margin-bottom:38px}.envelope{height:330px;margin-top:25px;isolation:isolate;filter:drop-shadow(0 22px 22px #43182b26)}.envelope:before{content:'';position:absolute;inset:70px 0 0;background:linear-gradient(130deg,#7f2e4c,#57162d);border:1px solid #a86c76;z-index:1}.envelope .letter{top:3px;height:290px;left:10%;right:10%;padding:18px;transform:translateY(8px);box-shadow:0 0 0 5px #faf5e8,0 8px 25px #33091a44;z-index:2}.letter .line{padding:12px 8px;border:1px solid var(--gold);outline:1px solid #d1b990;outline-offset:4px}.letter img{height:130px;border:5px solid white;outline:1px solid #b79560;box-shadow:0 5px 10px #27102122}.letter .date{font-size:9px}.envelope .pocket{height:260px;z-index:5;clip-path:polygon(0 0,50% 51%,100% 0,100% 100%,0 100%);background:linear-gradient(140deg,#91415c 0,#6d243d 49.5%,#7e2c49 50%,#a4566d);border-bottom:2px solid #a56874}.envelope .pocket:after{inset:18px;border-color:#d5b18377}.envelope .flap{top:70px;height:150px;z-index:6;background:linear-gradient(155deg,#9b5069,#652038);clip-path:polygon(0 0,100% 0,50% 100%);backface-visibility:visible;transform-style:preserve-3d;filter:drop-shadow(0 4px 3px #280a2244);transition:none}.seal{bottom:80px;z-index:8;white-space:nowrap;padding:0;font-size:18px;animation:sealBreathe 3s ease-in-out infinite;border-width:5px;box-shadow:0 0 0 3px #a78a4f66,3px 6px 10px #26061855}.envelope .flower{z-index:9;bottom:-25px;width:150px;height:225px;filter:drop-shadow(1px 4px 3px #25102426);animation:floraSway 7s ease-in-out infinite;transform-origin:bottom}.envelope .envelope-band{position:absolute;z-index:7;left:14%;right:14%;height:34px;bottom:53px;background:linear-gradient(#c4a367,#e8d29b 35%,#d3b67e 65%,#ae894b);box-shadow:0 2px 5px #30152244;clip-path:polygon(0 0,100% 0,97% 50%,100% 100%,0 100%,3% 50%);opacity:.75}.opener .open-action{position:relative;border-bottom:1px solid var(--gold);background:#fff8;padding:12px 24px;letter-spacing:.12em;box-shadow:0 6px 15px #51322e0a;transition:transform .25s}.opener .open-action:hover{transform:translateY(-3px)}.opening{opacity:1;transform:none;animation:gateExit .65s 2.45s forwards}.opening .flap{animation:unfoldTop 1.1s .2s forwards}.opening .seal{animation:breakSeal .55s forwards}.opening .letter{animation:liftLetter 1.5s .65s forwards;transition:none}.opening .flower{animation:flowerExit 1s 1.8s forwards}.opening .pocket{animation:pocketFold 1s 1.85s forwards;transform-origin:bottom}.opening .open-action{opacity:0;transition:opacity .25s}.opening-particles{position:absolute;inset:0;z-index:12;pointer-events:none;overflow:hidden}.opening-particles i{position:absolute;left:50%;top:60%;width:8px;height:12px;background:var(--gold);animation:celebrate 2s .5s ease-out both;transform:rotate(var(--spin));border-radius:1px}.opening-particles i:nth-child(3n){border-radius:50%;width:6px;height:6px;background:var(--accent)}.opened .invite-nav{animation:inkAppear .8s both}.opened .hero-frame,.opened .cake{animation:photoEntrance 1.2s .2s both}.opened #inicio h1{animation:inkAppear 1s .1s both}.will-reveal{opacity:0;transform:translateY(35px) rotate(var(--tilt,0deg));transition:opacity .8s ease,transform .9s cubic-bezier(.16,1,.3,1)}.will-reveal.in-view{opacity:1;transform:translateY(0) rotate(var(--tilt,0deg))}.art-card{position:relative;z-index:1;padding:45px 38px;background:var(--paper);box-shadow:0 12px 35px #4a28351a}.art-card:before{content:'';position:absolute;inset:10px;border:1px solid var(--line);pointer-events:none}.art-card:after{content:'✦';position:absolute;top:-17px;left:calc(50% - 18px);font:26px var(--serif);background:var(--paper);padding:0 9px;color:var(--gold)}.art-card>h2,.story-text h2{font-family:var(--script);font-weight:400;font-size:49px;line-height:1.2}.art-card>p{position:relative}.art-card .overline{font-size:9px}.wedding .paper{background-image:radial-gradient(#95714812 .65px,transparent .65px);background-size:4px 4px}.velvet-hero{background:linear-gradient(#f9f3e9ed,#f9f3e9e0),url('muestra-floral-velvet.svg') -80px 65px/220px auto no-repeat;padding-top:65px}.velvet-hero:before,.velvet-hero:after{content:'';position:absolute;top:15px;width:160px;height:280px;background:url('muestra-floral-velvet.svg') center/contain no-repeat;opacity:.35;pointer-events:none}.velvet-hero:before{left:-60px;transform:rotate(30deg)}.velvet-hero:after{right:-65px;transform:scaleX(-1) rotate(30deg)}.velvet-hero h1{text-shadow:1px 2px #fff;position:relative;z-index:2}.velvet-hero .date-line{background:var(--accent);color:#ead6ad;display:table;margin:0 auto;padding:12px 25px;clip-path:polygon(0 0,100% 0,96% 50%,100% 100%,0 100%,4% 50%);font-size:11px}.hero-frame{margin-top:50px;padding:15px;outline:1px solid var(--gold);outline-offset:7px;box-shadow:15px 20px 0 #c6ad881e,0 24px 40px #51352e22;transform:rotate(-3deg);border:5px double var(--gold);background:#fffbf3}.hero-frame:before{content:'';position:absolute;inset:14px;border:1px solid #eee0c7;border-radius:200px 200px 0 0;pointer-events:none;z-index:2}.hero-frame:after{content:'Together, always';position:absolute;bottom:-30px;left:24px;background:var(--paper);padding:6px 20px;font:29px var(--script);color:var(--accent);border:1px solid var(--line);transform:rotate(4deg);z-index:4;box-shadow:0 5px 10px #532e3d19}.velvet-hero .quote{margin:70px auto 25px!important;border:1px solid var(--line);outline:1px solid var(--line);outline-offset:5px;border-radius:50% 50% 8px 8px;padding:38px 15px 24px;font-family:var(--script);font-size:33px;background:var(--paper)}.count-section{margin:0 28px 25px;padding:48px 25px 40px;position:relative;border-radius:160px 160px 5px 5px;box-shadow:0 10px 0 #ac8e5526,0 20px 30px #50203415;border:7px double #d8bd8a}.count-section:before{content:'✦';display:block;font-size:22px;margin-bottom:20px;color:#dfc78d}.countdown{gap:8px}.countdown>div{border:1px solid #e4d2b155!important;background:#ffffff09;border-radius:50px 50px 3px 3px;padding:17px 5px 12px}.countdown strong{font-size:42px}.countdown small{font-size:8px}.section.story{margin-top:45px;padding-top:75px;padding-bottom:80px;background:repeating-linear-gradient(35deg,#e9ded4,#e9ded4 4px,#e5d8cc 5px,#e9ded4 6px)}.story-grid{gap:34px}.polaroid{position:relative;margin:0;transform:rotate(-7deg);padding:17px 17px 35px;box-shadow:0 14px 30px #48202f33;outline:1px solid var(--gold);outline-offset:-8px;background:#fffaf1}.polaroid:before{content:'';position:absolute;z-index:-1;inset:5px -8px -6px;background:#c7b58c;border:1px solid #a68e5a;transform:rotate(9deg)}.polaroid:after{content:'';position:absolute;top:-14px;left:27%;width:48%;height:30px;background:repeating-linear-gradient(90deg,#c2ad7566,#c2ad7566 2px,#c2ad7599 3px);transform:rotate(5deg);z-index:3;border-left:2px dotted #a58e6333;border-right:2px dotted #a58e6333}.polaroid img{border:1px solid #dbcaa8;outline:1px solid #dbcaa8;outline-offset:4px}.polaroid figcaption{font-size:29px}.story-text{background:var(--paper);padding:32px 25px;border:5px double var(--gold);box-shadow:6px 8px 0 #bea77e44;transform:rotate(3deg);position:relative}.story-text:after{content:'';position:absolute;bottom:-70px;right:-35px;height:145px;width:100px;background:url('muestra-floral-velvet.svg') center/contain no-repeat;pointer-events:none}.story-text h2{font-size:39px!important}.wedding .section.family{padding-top:65px;padding-bottom:65px;background:linear-gradient(115deg,#f0e5d5,#fbf7ef 65%)}.wedding .family .art-card{border-radius:100px 6px 100px 6px;border:1px solid var(--gold);padding-top:55px}.wedding .family .art-card:before{border-radius:90px 3px 90px 3px}.family .family-grid>div{background:#f1e7d8;border:1px solid #d3ba8a;padding:20px 12px;position:relative;box-shadow:4px 5px 0 #cab38d33}.family-grid small{background:var(--accent);color:#fff8e8;padding:8px 10px;display:block;position:relative;margin:-34px -5px 18px;transform:rotate(-2deg);font-size:8px}.family-grid>div:nth-child(2) small{transform:rotate(2deg)}.family .names{font-family:var(--script);font-size:28px;line-height:1.45}.family .family-grid{margin-top:55px}.event{position:relative;border:6px double var(--gold);padding:10px 10px 28px;border-radius:160px 160px 6px 6px;box-shadow:0 18px 25px #4e273519;overflow:visible;transform:rotate(-2deg)}.event:nth-child(2){transform:rotate(2deg);margin-top:35px}.event>img{height:230px;border-radius:145px 145px 2px 2px;border:1px solid var(--gold);padding:4px;background:var(--paper)}.event .event-copy{position:relative;margin:25px -20px 0;padding:22px 20px 5px;background:var(--paper);border:1px solid var(--gold);box-shadow:0 6px 12px #49263313}.event .event-copy:before{content:'✦';position:absolute;top:-17px;left:calc(50% - 15px);background:var(--paper);padding:0 8px;color:var(--gold);font-size:20px}.event h3{font-size:27px}.event .overline{font-size:8px}.event .btn{font-size:9px}.section:has(>.timeline),.section:has(>.art-card>.timeline){background:var(--accent);color:var(--paper);margin:25px 25px 50px;padding:45px 20px;clip-path:polygon(0 4%,50% 0,100% 4%,100% 96%,50% 100%,0 96%)}.section:has(.timeline) .art-card{background:transparent;box-shadow:none;padding:25px 15px}.section:has(.timeline) .art-card:before{border-color:#dfc78d88}.section:has(.timeline) .art-card:after{background:var(--accent);color:#dfc78d}.section:has(.timeline) .overline{color:#dfc78d}.timeline>div:before{background:var(--accent);color:#dfc78d}.timeline>div{border-color:#dfc78d}.timeline small{color:var(--paper)}.dress .art-card{border:1px solid var(--gold);border-radius:55% 55% 8px 8px;padding-top:75px;background:linear-gradient(#fcf7ec,#efe0d1);box-shadow:9px 12px 0 #e4d5c0}.dress .art-card:before{border-radius:52% 52% 4px 4px}.swatches i{box-shadow:0 0 0 4px var(--paper),0 0 0 5px var(--line),0 6px 12px #271d2426;margin:4px;animation:swatchBob 5s ease-in-out infinite}.swatches i:nth-child(2){animation-delay:.4s}.swatches i:nth-child(3){animation-delay:.8s}.gallery{gap:25px;margin-top:55px;padding:10px 5px 35px}.gallery button{position:relative;padding:12px 12px 36px;background:var(--paper);border:1px solid var(--gold);outline:1px solid var(--line);outline-offset:5px;box-shadow:8px 13px 20px #48202f24;overflow:visible;transform:rotate(-5deg);transition:transform .35s}.gallery button:nth-child(2){transform:rotate(5deg)}.gallery button:before{content:'';position:absolute;z-index:2;top:-16px;left:25%;width:50%;height:27px;background:#bea37566;transform:rotate(3deg)}.gallery button:after{content:'Un bonito recuerdo';position:absolute;bottom:7px;left:0;right:0;text-align:center;font:21px var(--script);color:var(--accent)}.gallery img{border:3px solid #fff;outline:1px solid var(--line);height:300px}.gallery button:hover{transform:rotate(0) translateY(-8px)}.rsvp{padding-top:70px;padding-bottom:65px;background:repeating-linear-gradient(145deg,#e9ded4,#e9ded4 6px,#e4d5c7 7px,#e9ded4 8px)}.rsvp .rsvp-inner{position:relative;box-shadow:10px 16px 0 #a78a5933,0 16px 40px #48202f22;border:7px double var(--gold);padding-top:65px;transform:rotate(-1deg)}.rsvp-inner:before{content:'';position:absolute;top:-20px;left:-20px;right:-20px;height:35px;background:linear-gradient(#834456,#651e36,#834456);transform:rotate(3deg);clip-path:polygon(0 0,100% 0,97% 50%,100% 100%,0 100%,3% 50%);box-shadow:0 5px 10px #3e152a33}.rsvp-inner:after{content:'✦';position:absolute;top:-31px;left:calc(50% - 25px);width:50px;height:50px;border:4px double #af8c4c;background:radial-gradient(circle at 25% 20%,#f4dfae,#a68543);border-radius:50%;color:#76521d;display:grid;place-items:center;font-size:21px;box-shadow:0 5px 8px #31112a22}.rsvp-inner h2{font:46px var(--script)}.rsvp-inner input,.rsvp-inner select,.rsvp-inner textarea{background:#fcf8f0;box-shadow:inset 1px 2px 4px #654c3710}.closing{position:relative;margin:20px 25px 0;padding:65px 24px 55px;border:7px double var(--gold);border-radius:180px 180px 0 0;box-shadow:0 0 0 8px #f0e4d2}.closing:before{content:'✦';font-size:25px;display:block;margin-bottom:25px;color:#dbbe83}.closing .script{font-size:49px}.floating-controls{flex-wrap:wrap;max-width:155px}.floating-controls button[data-replay]{font-size:24px}.sample-footer{padding-bottom:95px}.wedding .section:has(.gallery){background:#f0e7dd}.will-reveal.in-view .polaroid{transition:transform .4s}.polaroid:hover{transform:rotate(-2deg)}
/* Confeti: sobres, tickets, estampas y recortes de fiesta. */
.birthday .opener{background-color:#f4c2aa;background-image:radial-gradient(#ae5a3f22 .8px,transparent .8px);background-size:5px 5px}.birthday .opener>h1{font-size:55px;max-width:380px}.birthday .opener:before{border:0;box-shadow:none}.birthday .envelope{width:min(100%,440px);height:335px;z-index:1;transform:rotate(-3deg)}.birthday .envelope:before{background:#bd4f3e}.birthday .envelope .flap{background:linear-gradient(160deg,#f38969,#d54d42)}.birthday .envelope .pocket{background:linear-gradient(145deg,#f08a6d,#e45c48 50%,#f39c79)}.birthday .envelope .letter{background:#fff8ed;border:2px solid #512e56;outline:5px solid #fff8ed;box-shadow:0 8px 20px #512e5630}.birthday .envelope .line{border:1px dashed #b66c61;outline:none;padding:14px 10px}.birthday .envelope .letter .script{font-size:49px;margin:8px 0}.birthday .envelope .letter .ticket-number{font:500 95px/.85 var(--serif);color:var(--accent);display:block}.birthday .envelope .letter .date{margin-top:14px;font-size:9px}.birthday .seal{background:radial-gradient(circle at 20% 10%,#e9d3f1,#a678ba);border-color:#875999;color:#512e56}.birthday .envelope .envelope-band{background:#d0b6df;opacity:.8}.birthday .birthday-hero{background:radial-gradient(#cb796922 .8px,transparent .8px) 0 0/7px 7px,#f6c7ae;padding-top:60px;padding-bottom:70px}.birthday-hero:before,.birthday-hero:after{content:'✦';position:absolute;font-size:125px;line-height:1;color:#b18cbf88;left:-15px;top:20px;animation:slowTurn 24s linear infinite;pointer-events:none}.birthday-hero:after{left:auto;right:-30px;top:240px;color:#e96c4d77;font-size:150px}.birthday-hero h1{position:relative;z-index:2;text-shadow:3px 3px #fff8ed;transform:rotate(-3deg);font-size:105px}.birthday-hero h1 em{display:table;margin:10px auto 0;padding:4px 20px 12px;background:var(--ink);color:var(--paper);font-size:67px;box-shadow:7px 7px 0 #a37ab333;text-shadow:none;transform:rotate(4deg);border-radius:4px 35px 4px 35px;line-height:1.1}.birthday-hero>p:first-of-type{display:table;position:relative;background:var(--paper);border:1px dashed var(--accent);padding:10px 20px;transform:rotate(2deg);z-index:3;font-size:12px}.birthday-hero .cake{transform:rotate(4deg);padding:12px;background:#fff8ed;box-shadow:-12px 14px 0 #ac84b2;max-width:380px;border:1px solid var(--ink);border-radius:190px 190px 6px 6px;margin-top:45px}.birthday-hero .cake img{border:2px dashed #b2829d;padding:5px;height:400px}.birthday-hero .cake:after{content:'Make a wish!';position:absolute;bottom:-22px;left:-20px;transform:rotate(-8deg);padding:7px 20px;background:#efd164;border:1px solid #a7822d;box-shadow:0 5px 10px #51322e19;font:30px var(--script)}.birthday-hero .badge{border:5px double #ffe2bd;border-radius:40% 60% 50% 50%;animation:badgeWiggle 6s ease-in-out infinite;right:-30px}.birthday-hero>p:last-child{background:var(--ink);color:var(--paper);margin-top:55px!important;padding:9px 20px;display:table;border-radius:3px;box-shadow:5px 5px 0 #bfa0be;letter-spacing:.12em;font-size:11px}.birthday .count-section{border-color:#b18bbe;margin-top:20px;border-radius:15px;transform:rotate(-2deg)}.birthday .count-section:before{content:'✹'}.birthday .countdown>div{background:#fff1;border:1px dashed #e4c3e1!important;border-radius:10px}.birthday .art-card{border:2px solid var(--accent);box-shadow:9px 10px 0 #ef927d;transform:rotate(-2deg);padding-top:42px;border-radius:2px 45px 2px 45px}.birthday .art-card:before{border:1px dashed var(--accent);border-radius:2px 35px 2px 35px}.birthday .art-card:after{content:'✹';font-size:40px;top:-27px;left:auto;right:18px;background:transparent;color:#ad89b7;line-height:1.2}.birthday .art-card>h2{font:500 47px/1.1 var(--serif);letter-spacing:-.04em;color:var(--accent);text-shadow:2px 2px #f3d5c3}.birthday .art-card .quote{font:34px/1.2 var(--script);background:#ede0f0;padding:20px 15px;transform:rotate(3deg);border:1px solid #a985b5}.birthday .story{background:repeating-linear-gradient(90deg,#e9d9e9,#e9d9e9 10px,#e4cde3 11px,#e9d9e9 12px)}.birthday .story-text{border-color:#af87ba;border-radius:35px 3px 35px 3px;box-shadow:7px 8px 0 #b18cba55}.birthday .story-text:after{background:none;content:'✦';font-size:95px;color:#eb5b47;bottom:-60px;right:-25px;height:auto;line-height:1}.birthday .polaroid:before{background:#f1bb74;border-color:#da9a49}.birthday .polaroid:after,.birthday .gallery button:before{background:#ad85bba8}.birthday .event{border:3px solid #a47eb2;border-radius:120px 120px 5px 5px;background:#fff8ed;box-shadow:10px 12px 0 #e99179;transform:rotate(-2deg)}.birthday .event>img{border:2px dashed #b18cba}.birthday .event .event-copy{border:2px solid var(--accent);background:#fff5df;border-radius:0 30px 0 30px;margin-top:25px}.birthday .section:has(.timeline){background:var(--ink);clip-path:polygon(0 3%,10% 0,20% 3%,30% 0,40% 3%,50% 0,60% 3%,70% 0,80% 3%,90% 0,100% 3%,100% 97%,90% 100%,80% 97%,70% 100%,60% 97%,50% 100%,40% 97%,30% 100%,20% 97%,10% 100%,0 97%);margin-bottom:40px}.birthday .section:has(.timeline) .art-card{border:0;background:transparent;box-shadow:none;transform:none}.birthday .section:has(.timeline) .art-card:after{content:'✹';background:var(--ink);font-size:25px;top:0}.birthday .section:has(.timeline) h2{font-family:var(--script);color:var(--paper);text-shadow:none}.birthday .timeline>div:before{background:var(--ink);color:#ebae82}.birthday .timeline>div{border-color:#ebae82}.birthday .family .art-card{background:#fff6df;box-shadow:9px 10px 0 #b992c3;transform:rotate(2deg)}.birthday .gallery button{border:2px solid var(--accent);border-radius:30px 3px 30px 3px;background:#fff8ed;box-shadow:7px 12px 0 #b995c2;outline:0}.birthday .gallery button:nth-child(2){background:#f4d0b5}.birthday .gallery img{border-radius:20px 2px 0 0}.birthday .rsvp{background-image:radial-gradient(#ad6f6822 2px,transparent 2px);background-size:22px 22px}.birthday .rsvp .rsvp-inner{transform:rotate(2deg);border:3px solid var(--accent);border-radius:35px 3px 35px 3px;box-shadow:10px 12px 0 #ab82b6}.birthday .rsvp-inner:before{background:#b692c6}.birthday .rsvp-inner:after{content:'✹';background:#f4cd6b;border-color:#d9a84c;color:#9f6631}.birthday .closing{border-color:#b18cba;border-radius:50px 5px 50px 5px;transform:rotate(-2deg)}.birthday .closing:before{content:'✹';color:#f4cd6b}
/* Luz de Cielo: camafeos, bordes perlados y tarjetas de bautizo. */
.baptism .opener{background-image:radial-gradient(#b79d6622 1px,transparent 1px),radial-gradient(ellipse at center,#fffcf4,#e8dfcc);background-size:22px 22px,100% 100%}.baptism .envelope{width:min(100%,430px);height:330px}.baptism .envelope:before{background:#dfcba5;border:1px solid #b59862}.baptism .envelope .flap{background:linear-gradient(150deg,#efe4ce,#d0b784)}.baptism .envelope .pocket{background:linear-gradient(145deg,#e9dbc0,#cdb17c 50%,#e6d4b3)}.baptism .envelope .letter{border-radius:100px 100px 0 0;background:#fffdf7;border:1px solid #b59960}.baptism .envelope .line{border-radius:90px 90px 0 0;padding-top:22px;outline:0}.baptism .envelope .letter .script{font-size:44px;margin:3px 0 10px}.baptism .envelope .letter .cross{font-size:33px}.baptism .envelope .letter img{width:95px;height:85px;border-radius:50%;margin:0 auto}.baptism .seal{background:radial-gradient(circle at 20% 10%,#fff8e6,#c6ab72);color:#876536}.baptism .envelope .envelope-band{background:linear-gradient(#fff9ec,#e9ddc1,#fff9ec)}.baptism .opener>.overline{max-width:270px;line-height:1.8}.baptism .opener:after{content:'✧';font-size:80px;right:6%;top:12%}.baptism-hero{background:radial-gradient(#c5ad7e29 1px,transparent 1px) 0 0/23px 23px,#fffcf4;padding-top:55px}.baptism-hero>.cross{border:6px double var(--gold);border-radius:50%;height:85px;width:85px;margin:auto;background:var(--paper);box-shadow:0 8px 15px #705b2f22;line-height:1.15}.baptism-hero h1{margin:24px 0 10px;position:relative;text-shadow:2px 3px #dfcca633}.baptism-hero>.overline:last-of-type{display:table;margin:20px auto;padding:10px 20px;background:#e8d9bd;clip-path:polygon(0 0,100% 0,97% 50%,100% 100%,0 100%,3% 50%)}.baptism-hero .hero-frame{max-width:400px;border-radius:50%;padding:15px;background:#f7f0df;border:10px double #ba9b61;outline:1px solid #c5ae7d;outline-offset:9px;box-shadow:0 0 0 18px #eadbc044,0 25px 35px #70532b20;transform:rotate(3deg);margin-top:55px}.baptism-hero .hero-frame:before{border-radius:50%;inset:8px;border:4px dotted #c2a975}.baptism-hero .hero-frame:after{content:'Un regalo del cielo';bottom:-30px;left:8%;right:8%;font-size:28px;transform:rotate(-5deg);text-align:center;border-color:#c5ae7d}.baptism-hero .hero-frame img{height:360px;border-radius:50%;object-position:center;border:4px solid #fffcf4}.baptism-hero .quote{font:35px/1.2 var(--script);margin-top:65px!important;background:var(--paper);padding:30px 20px;border-radius:60px 5px 60px 5px;border:1px solid #c5ae7d;outline:1px solid #c5ae7d;outline-offset:5px}.baptism .star-line{animation:twinkle 5s ease-in-out infinite}.baptism .count-section{background:#e7d7ba;border-color:#b99a60;border-radius:160px 160px 5px 5px}.baptism .count-section:before{content:'✧';color:var(--gold)}.baptism .countdown>div{border-color:#ba9e6b!important;background:#fff6}.baptism .story{background:repeating-linear-gradient(100deg,#efe5d2,#efe5d2 12px,#ebddc4 13px,#efe5d2 14px)}.baptism .story .art-card{border-radius:160px 160px 8px 8px;border:5px double #bba16f;padding-top:65px;box-shadow:10px 14px 0 #c7ad7e44}.baptism .story .art-card:before{border-radius:145px 145px 3px 3px}.baptism .story .art-card:after{content:'✝';top:-25px;font-size:35px;width:55px;padding:0;border-radius:50%;background:#fffcf4;border:1px solid #c3ab7a;left:calc(50% - 28px)}.baptism .art-card h2{font-size:47px;line-height:1.15}.baptism .family .art-card{border-radius:6px 80px 6px 80px;border:1px solid #b99c69;padding-top:55px;box-shadow:8px 10px 0 #dcc8a0}.baptism .family .art-card:before{border-radius:3px 70px 3px 70px}.baptism .family-grid>div{background:#f0e5d0;border-radius:60px 60px 3px 3px;padding-top:15px}.baptism .family-grid small{background:#b3955d;color:#fffcf4}.baptism .family-grid .names{font-size:26px}.baptism .event{border-radius:170px 170px 4px 4px;border-color:#b99a60;box-shadow:9px 12px 0 #e2d0aa}.baptism .event .event-copy{background:#fffcf4;border-color:#b99a60;border-radius:20px 0 20px 0}.baptism .section:has(.timeline){background:#d8c39c;color:var(--ink)}.baptism .section:has(.timeline) .art-card:after,.baptism .timeline>div:before{background:#d8c39c;color:#84622c}.baptism .section:has(.timeline) .overline,.baptism .timeline small{color:#735b36}.baptism .timeline>div{border-color:#9e7e48}.baptism .gallery button{border:6px double var(--gold);outline:1px solid #ccb583;outline-offset:5px;border-radius:100px 100px 5px 5px;background:#fffcf4;box-shadow:7px 12px 0 #e8dbbf}.baptism .gallery img{border-radius:90px 90px 2px 2px}.baptism .gallery button:before{background:#c8b17c99}.baptism .rsvp .rsvp-inner{border:7px double var(--gold);background:#fffcf4;border-radius:150px 150px 4px 4px;padding-top:80px}.baptism .rsvp-inner:before{background:linear-gradient(#f6ecd9,#cdb684,#f6ecd9);top:20px;left:-10px;right:-10px}.baptism .rsvp-inner:after{content:'✝';top:9px;background:radial-gradient(circle at 25% 20%,#fff6df,#c4a76e);color:#98743e}.baptism .closing{background:#e7d7ba;border-color:var(--gold);color:var(--ink)}.baptism .closing:before{color:var(--gold)}
@keyframes unfoldTop{0%{transform:rotateX(0);z-index:6}49%{z-index:6}50%{z-index:1}100%{transform:rotateX(180deg);z-index:1}}@keyframes breakSeal{0%{opacity:1;transform:scale(1)}60%{opacity:1;transform:scale(1.15) rotate(-12deg)}100%{opacity:0;transform:translateY(35px) scale(.75) rotate(20deg)}}@keyframes liftLetter{0%{transform:translateY(8px);z-index:2}55%{transform:translateY(-165px) rotate(-3deg);z-index:3}100%{transform:translateY(-190px) scale(1.05);z-index:10}}@keyframes gateExit{to{opacity:0;transform:translateY(-35px)}}@keyframes pocketFold{to{transform:rotateX(-35deg);opacity:.4}}@keyframes flowerExit{to{transform:translate(30px,50px) rotate(20deg);opacity:.3}}@keyframes sealBreathe{0%,100%{filter:brightness(1);transform:rotate(-4deg)}50%{filter:brightness(1.12);transform:rotate(2deg)}}@keyframes floraSway{0%,100%{transform:rotate(8deg)}50%{transform:rotate(15deg)}}@keyframes slowTurn{to{transform:rotate(360deg)}}@keyframes swatchBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes badgeWiggle{0%,100%{transform:rotate(8deg)}50%{transform:rotate(17deg)}}@keyframes twinkle{0%,100%{opacity:.6}50%{opacity:1}}@keyframes inkAppear{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes photoEntrance{from{opacity:0;translate:0 45px;scale:.94}to{opacity:1;translate:0 0;scale:1}}@keyframes celebrate{0%{opacity:0;translate:0 0;rotate:0deg}10%{opacity:1}100%{opacity:0;translate:var(--x) var(--y);rotate:var(--spin)}}
@media(max-width:600px){.opener>h1{font-size:57px}.opener{padding-top:35px;padding-bottom:35px;min-height:calc(100svh - 44px)}.opener .intro{margin-bottom:22px}.envelope{height:285px;max-width:340px;margin:35px auto 30px}.envelope:before{top:55px}.envelope .flap{top:55px;height:120px}.envelope .pocket{height:230px}.envelope .letter{height:258px;left:10%;right:10%;padding:15px 12px;top:-1px}.letter .line{padding:8px}.letter .script{font-size:29px;margin:5px 0 12px}.letter img{height:115px;width:82%}.letter .date{font-size:8px}.seal{bottom:65px;width:61px;height:61px;left:calc(50% - 30px);font-size:16px}.envelope .envelope-band{bottom:43px;height:28px}.envelope .flower{width:115px;height:180px;right:-20px;bottom:-20px}.opener .open-action{font-size:9px;padding:12px 14px}.velvet-hero{padding:55px 30px 60px}.velvet-hero h1{font-size:80px}.hero-frame{max-width:295px;padding:10px;outline-offset:5px;margin-top:43px}.hero-frame img{height:350px}.hero-frame:after{font-size:25px;left:10px;bottom:-25px}.velvet-hero .quote{font-size:30px;padding:30px 10px 20px}.velvet-hero .hero-frame .flower{right:-30px;width:120px;height:190px}.count-section{margin:0 20px 15px;padding:40px 14px 30px;border-width:5px}.count-section .overline{font-size:8px;letter-spacing:.16em}.countdown{gap:5px}.countdown>div{padding:14px 2px 10px}.countdown strong{font-size:33px}.countdown small{font-size:7px;letter-spacing:.1em}.section{padding:60px 25px}.art-card{padding:40px 24px}.art-card>h2{font-size:43px}.art-card>p{font-size:13px}.story-grid{gap:38px}.story-grid .polaroid{width:85%;margin:auto}.story-grid .story-text{width:95%;margin:0 auto}.story-text h2{font-size:42px!important}.story-text p{font-size:13px}.family .family-grid{grid-template-columns:1fr;gap:45px;margin-top:45px}.family .family-grid>div{max-width:250px;width:100%;margin:auto}.family .art-card{padding-left:25px;padding-right:25px}.events{gap:48px;max-width:300px}.event{width:100%;padding:8px 8px 22px}.event:nth-child(2){margin-top:0}.event>img{height:230px}.event .event-copy{margin-left:-14px;margin-right:-14px;padding:22px 15px 5px}.event h3{font-size:28px}.event .btn{padding:11px 16px}.section:has(.timeline){margin:20px 16px 35px;padding:35px 15px}.section:has(.timeline) .art-card{padding:30px 12px}.timeline{grid-template-columns:1fr 1fr;gap:30px 12px}.timeline b{font-size:26px}.timeline small{font-size:10px}.dress .art-card{padding:65px 22px 35px}.gallery{gap:20px;padding-left:6px;padding-right:6px}.gallery button{padding:8px 8px 35px;outline-offset:3px}.gallery img{height:205px}.gallery button:after{font-size:18px;line-height:1}.gallery button:nth-child(2){margin-top:40px}.gallery button:before{height:21px;top:-12px}.rsvp{padding:55px 23px}.rsvp .rsvp-inner{padding:60px 20px 30px;transform:rotate(-1deg);border-width:5px}.rsvp-inner h2{font-size:42px}.closing{margin-left:24px;margin-right:24px;padding-top:55px;border-width:5px}.closing .script{font-size:43px}.birthday .opener>h1{font-size:48px}.birthday .opener .overline{font-size:9px;max-width:260px}.birthday .envelope{height:290px;max-width:330px;margin-top:35px}.birthday .envelope .letter .script{font-size:41px}.birthday .envelope .letter .ticket-number{font-size:81px}.birthday .envelope .letter .date{font-size:8px}.birthday-hero h1{font-size:84px}.birthday-hero h1 em{font-size:53px;padding:4px 13px 9px}.birthday-hero .cake{max-width:280px}.birthday-hero .cake img{height:310px}.birthday-hero .cake:after{font-size:25px;left:-12px;bottom:-20px}.birthday-hero .badge{right:-18px;width:86px;height:86px;font-size:20px;border-width:4px}.birthday-hero .badge strong{font-size:32px}.birthday .art-card{padding:40px 22px}.birthday .art-card>h2{font-size:42px}.birthday .art-card .quote{font-size:31px}.birthday .timeline,.baptism .timeline{grid-template-columns:1fr;gap:30px;max-width:200px;margin:35px auto 0}.birthday .family .art-card{padding:40px 25px}.birthday .gallery{gap:18px}.birthday .rsvp .rsvp-inner{padding-left:18px;padding-right:18px}.baptism .envelope{max-width:330px;height:285px}.baptism .envelope .letter .script{font-size:35px;margin-bottom:8px}.baptism .envelope .letter .cross{font-size:27px}.baptism .envelope .letter img{width:85px;height:73px}.baptism-hero{padding:55px 28px}.baptism-hero h1{font-size:80px}.baptism-hero .hero-frame{max-width:285px;border-width:8px;padding:12px}.baptism-hero .hero-frame img{height:280px}.baptism-hero .hero-frame:after{font-size:24px;left:3%;right:3%;bottom:-25px;padding-left:10px;padding-right:10px}.baptism-hero .quote{font-size:31px;margin-top:60px!important}.baptism .art-card h2{font-size:43px}.baptism .story .art-card{padding:65px 24px 30px}.baptism .gallery button{padding:7px 7px 34px;border-width:4px}.baptism .gallery img{height:205px}.baptism .rsvp .rsvp-inner{padding-top:80px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.will-reveal{opacity:1;transform:none}.opening{opacity:0}.opened .hero-frame,.opened .cake{opacity:1;translate:none;scale:1}}
.baptism .opener .open-action{background:var(--accent);color:var(--paper);border-color:var(--gold)}
body:not(.opened)>.sample-footer{display:none}
