.animated-envelope{background:var(--paper);transform:none;transition:none;overflow:hidden}
.animated-envelope:before{opacity:.15;mix-blend-mode:multiply}
.animated-envelope:after{display:none}
.animated-envelope .open-envelope{width:100%;max-width:520px;padding:30px;color:var(--ink);perspective:1400px;cursor:pointer}
.animated-envelope .open-envelope:disabled{cursor:default}
.envelope-stage{display:block;width:100%;padding-top:15%;padding-bottom:8%;perspective:1200px}
.physical-envelope{position:relative;display:block;width:100%;aspect-ratio:1.5;transform-style:preserve-3d;filter:drop-shadow(0 10px 12px #343c242b)}
.envelope-back,.envelope-pocket,.fold,.envelope-flap,.flap-face{position:absolute;inset:0;display:block}
.envelope-back{background:#b95721 url(assets/papel.jpg);background-blend-mode:multiply;border:5px solid var(--olive);border-radius:3px;z-index:1}
.envelope-pocket{background:linear-gradient(145deg,#737957,#51593c);clip-path:polygon(0 0,50% 58%,100% 0,100% 100%,0 100%);z-index:3}
.fold{background-image:url(assets/envelope-textura.png);background-size:100% 100%;mix-blend-mode:normal;z-index:3}
.fold-left{clip-path:polygon(0 0,52% 59%,0 100%);background-color:#697050}
.fold-right{clip-path:polygon(100% 0,48% 59%,100% 100%);background-color:#5d6445}
.envelope-pocket:after{content:'';position:absolute;inset:0;background:url(assets/papel.jpg);opacity:.12;mix-blend-mode:multiply}
.envelope-flap{z-index:5;transform-origin:50% 0;transform-style:preserve-3d;backface-visibility:visible}
.flap-face{clip-path:polygon(0 0,100% 0,50% 59%);backface-visibility:hidden}
.flap-front{background:linear-gradient(175deg,#70764f,#5b6340);background-image:url(assets/envelope-textura.png);background-size:100% 100%;filter:drop-shadow(0 2px 1px #242b2340)}
.flap-lining{background:#c65e23 url(assets/papel.jpg);background-blend-mode:multiply;transform:rotateX(180deg);border:4px solid var(--olive)}
.envelope-seal{position:absolute;width:16%;left:42%;top:49%;z-index:6;filter:drop-shadow(0 3px 3px #252b2440)}
.invitation-card{position:absolute;left:18%;top:5%;width:64%;height:88%;z-index:2;display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--paper);background-image:linear-gradient(#f8f6f1cc,#f8f6f1cc),url(assets/papel.jpg);box-shadow:0 2px 8px #28302225;opacity:0;overflow:hidden;transform-origin:50% 50%}
.invitation-card>img:first-child{width:28%;height:40%;object-fit:contain;margin-bottom:11%}
.invitation-card>span{font:500 clamp(7px,1.8vw,11px) Montserrat,Arial,sans-serif;letter-spacing:.2em;color:var(--fendi);position:relative;z-index:1}
.invitation-card>.card-date{margin-top:7%;font-size:9px;letter-spacing:.25em}
.invitation-card>.card-leaves{position:absolute;width:38%;right:-13%;bottom:-12%;mix-blend-mode:multiply}
.animated-envelope .open-label{font-size:23px;margin-top:30px;color:var(--ink)}
body.revealing main{visibility:visible}
.animated-envelope.opening{transform:none;pointer-events:none;animation:envelope-dismiss .5s ease 2.15s forwards}
.opening .envelope-seal{animation:seal-release .45s ease forwards}
.opening .envelope-flap{animation:flap-unfold .85s cubic-bezier(.45,0,.2,1) .35s forwards}
.opening .invitation-card{animation:card-reveal 1.5s cubic-bezier(.4,0,.2,1) 1s forwards}
.opening .open-label{opacity:0;transition:opacity .25s}
@keyframes seal-release{to{transform:translateY(35px) rotate(12deg) scale(.9);opacity:0}}
@keyframes flap-unfold{0%{transform:rotateX(0);z-index:5}70%{z-index:5}100%{transform:rotateX(180deg);z-index:1}}
@keyframes card-reveal{0%{opacity:1;transform:translateY(0);z-index:2}55%{opacity:1;transform:translateY(-95%);z-index:2}56%{z-index:7}100%{opacity:1;transform:translateY(-48%) scale(3.6);z-index:7}}
@keyframes envelope-dismiss{to{opacity:0;visibility:hidden}}
@media(max-height:600px){.animated-envelope .open-envelope{max-width:360px;padding:24px}.animated-envelope .open-label{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.animated-envelope.opening{animation:none!important;opacity:0}.opening .envelope-flap,.opening .invitation-card,.opening .envelope-seal{animation:none!important}}
.flap-lining{transform:rotateY(180deg)}

.physical-envelope{aspect-ratio:1.5965}.envelope-pocket{background-image:url(assets/envelope-textura.png);background-size:100% 100%}.envelope-pocket:after{display:none}
.animated-envelope.opening{opacity:1;visibility:visible}@media(prefers-reduced-motion:reduce){.animated-envelope.opening{opacity:0}}

.seal-ct{aspect-ratio:1;border-radius:48% 52% 49% 51%;display:grid;place-items:center;background:radial-gradient(ellipse at 32% 20%,#dc934b 0,#bc642c 48%,#91411e 100%);box-shadow:inset 0 0 0 2px #e2a568,inset 0 0 0 5px #9c4e25,inset 0 0 0 6px #d78c4d,0 3px 5px #252b2440}.seal-ct:before{content:'';position:absolute;inset:10%;border:1px solid #e5a06299;border-radius:50%;box-shadow:inset 0 1px 2px #77351388}.seal-ct img{display:block;width:52%;height:64%;object-fit:contain;filter:brightness(0) saturate(100%) invert(76%) sepia(32%) saturate(694%) hue-rotate(337deg) brightness(91%) contrast(92%) drop-shadow(0 1px 0 #733816) drop-shadow(0 -1px 0 #e4b078);position:relative}

.envelope-back,.flap-lining{background:#c9580b url('assets/forro-envelope.svg?v=2') center/cover no-repeat;background-blend-mode:normal}


.envelope-back,.flap-lining{background-size:90px 90px;background-repeat:repeat}.flap-lining{clip-path:polygon(0 0,100% 0,99% 5%,54% 56%,52% 58%,50% 59%,48% 58%,46% 56%,1% 5%)}


.envelope-back,.flap-lining{background-size:180px 180px}
/* Terracotta exterior with the original paper texture. */
.envelope-pocket,.fold,.flap-front{background-color:#F77E2D;background-image:url('assets/envelope-textura.png');background-blend-mode:luminosity;background-size:100% 100%}
.seal-ct img{filter:brightness(0) saturate(100%) invert(41%) sepia(13%) saturate(913%) hue-rotate(36deg) brightness(94%) contrast(86%) drop-shadow(0 1px 0 #efbb8d)}
/* Olive wax seal and interior; terracotta monogram relief. */
.envelope-back,.flap-lining{background-color:#636B4D;background-image:url('assets/envelope-textura.png');background-size:100% 100%;background-repeat:no-repeat;background-blend-mode:normal;border-color:#636B4D}
.seal-ct{background:radial-gradient(ellipse at 32% 20%,#87916b 0,#636B4D 48%,#414b32 100%);box-shadow:inset 0 0 0 2px #a7b38a,inset 0 0 0 5px #475337,inset 0 0 0 6px #8a986c,0 3px 5px #252b2440}
.seal-ct:before{border-color:#b7c29999;box-shadow:inset 0 1px 2px #34402388}
.seal-ct img{filter:brightness(0) saturate(100%) invert(57%) sepia(90%) saturate(1774%) hue-rotate(343deg) brightness(102%) contrast(94%) drop-shadow(0 1px 0 #344023) drop-shadow(0 -1px 0 #b7c299)}

.seal-ct img{width:62%;height:76%;filter:brightness(0) saturate(100%) invert(73%) sepia(45%) saturate(1241%) hue-rotate(330deg) brightness(104%) contrast(98%) drop-shadow(0 1px 0 #26361e) drop-shadow(0 -1px 0 #d0d9ad)}

.seal-ct img{width:48%;height:58%;object-fit:contain;filter:none}

.envelope-pocket,.fold,.flap-front{background-color:#F77E2D;background-image:linear-gradient(#f77e2dcc,#f77e2dcc),url('assets/envelope-textura.png');background-blend-mode:normal;background-size:100% 100%}

.seal-ct{background:radial-gradient(ellipse at 40% 35%,#c7cdb7 0,#b5bea0 42%,#87916b 72%,#636b4d 100%)}.seal-ct img{width:52%;height:64%;filter:none;object-fit:contain}

.seal-ct{background:radial-gradient(ellipse at 32% 20%,#87916b 0,#636B4D 48%,#414b32 100%)}.seal-ct img{width:52%;height:64%;filter:url(#seal-monogram-relief);object-fit:contain}

.seal-ct img{filter:brightness(0) saturate(100%) invert(57%) sepia(90%) saturate(1774%) hue-rotate(343deg) brightness(102%) contrast(94%) url(#seal-monogram-relief)}

.seal-ct img{width:48%;height:58%;object-fit:contain;filter:brightness(0) saturate(100%) invert(57%) sepia(90%) saturate(1774%) hue-rotate(343deg) brightness(102%) contrast(94%)}

.seal-ct img{width:52%;height:64%;object-fit:contain;filter:brightness(0) saturate(100%) invert(57%) sepia(90%) saturate(1774%) hue-rotate(343deg) brightness(102%) contrast(94%) url(#option-thickness)}
/* Source artwork retained in layers for the existing opening. */
.physical-envelope{aspect-ratio:5/3}
.envelope-pocket,.fold,.flap-front{background:#df641d url('assets/envelope-referencia.svg?v=continuous-paper-20261009') center/100% 100% no-repeat;background-blend-mode:normal}
.envelope-pocket{clip-path:polygon(0 0,50% 63%,100% 0,100% 100%,0 100%)}
.flap-front{clip-path:polygon(0 0,100% 0,99% 7%,95% 15%,50% 63%,5% 15%,1% 7%);filter:none}
.seal-ct{left:41.43%;top:47.74%;width:17.14%;background:url('assets/selo-referencia.svg') center/contain no-repeat;border-radius:50%;box-shadow:none;filter:drop-shadow(0 3px 3px #252b2440)}
.seal-ct:before,.seal-ct img{display:none}

/* Keep the approved olive seal throughout release; preserve its source artwork. */
.seal-ct,.opening .seal-ct{background:#636b4d url('assets/selo-referencia.svg') center/contain no-repeat;background-blend-mode:normal;backface-visibility:hidden}
.animated-envelope{background:#f8f6f1}

/* The wax seal is attached to the flap, so both rotate together. */
.opening .envelope-seal{animation:none;transform:none;opacity:1}
.envelope-flap>.seal-ct{backface-visibility:hidden;transform:translateZ(1px)}

/* Reveal the card behind the former seal footprint instead of painted paper. */
.envelope-pocket,.fold,.flap-front{-webkit-mask:none;mask:none}

/* One live cover moves out of the envelope; there is no replacement artwork. */
.opening .invitation-card{animation:none;opacity:0}
.animated-envelope.opening{background:transparent;animation:none}
.animated-envelope.opening:before{display:none}
.opening-cover{position:fixed!important;z-index:9;transform-origin:0 0;box-shadow:0 2px 8px #28302225;background:var(--paper) url('assets/papel-original.jpg') center/cover no-repeat!important;pointer-events:none}
.opening-cover.above-envelope{z-index:11}

.opening-cover.in-envelope{position:absolute!important;z-index:2;transform-origin:0 0}

/* Keep viewport geometry stable when scrolling becomes available. */
html{scrollbar-gutter:stable}

/* Consistent beige surrounding the invitation in every opening state. */
html,body,.animated-envelope{background-color:#e9e5dc}
.animated-envelope:before{display:none}
.animated-envelope.opening{background-color:transparent}

/* Clean paper artwork has no embedded seal, circular patch or transparent hole. */
.envelope-pocket,.fold,.flap-front{background-image:url('assets/envelope-papel-sem-selo.svg');background-color:#df641d}
.envelope-pocket{clip-path:polygon(0 0,50% 72%,100% 0,100% 100%,0 100%)}
.fold-left{clip-path:polygon(0 0,50% 72%,0 100%)}
.fold-right{clip-path:polygon(100% 0,50% 72%,100% 100%)}
.flap-front{clip-path:polygon(0 0,100% 0,99% 7%,95% 15%,50% 72%,5% 15%,1% 7%)}
.flap-lining{clip-path:polygon(0 0,100% 0,99% 7%,95% 15%,50% 72%,5% 15%,1% 7%)}
