.convite-locked{overflow:hidden}.convite-locked header h1,.convite-locked header .portrait,.convite-locked header img{animation:none}
.abertura[hidden]{display:none}.abertura{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;overflow:auto;padding:30px 22px;background:radial-gradient(ellipse at 50% 40%,#fffdf6 0,#f1e9da 58%,#e5d8c2 100%);color:#203e52;text-align:center;isolation:isolate;transition:opacity .7s ease,visibility .7s ease}
.abertura:before{content:'';position:fixed;inset:18px;border:1px solid #a0845655;pointer-events:none}.abertura:after{content:'';position:fixed;inset:25px;border:1px solid #a0845620;pointer-events:none}.abertura .overline{margin:0}.abertura-titulo{font:clamp(40px,7vw,70px)/1.1 Georgia,serif;letter-spacing:-.04em;margin:0}.abertura-titulo em{font-weight:400;color:#9a7846}.abertura-data{font:12px Arial,sans-serif;letter-spacing:.25em;margin:0}.abertura-frase{font:italic 16px/1.5 Georgia,serif;max-width:310px;margin:0;color:#68716d}
.envelope-cena{position:relative;width:min(78vw,410px);aspect-ratio:1.58;margin:55px 0 12px;perspective:1000px;flex-shrink:0;filter:drop-shadow(0 23px 24px #493b2426)}
.envelope-fundo{position:absolute;inset:0;background:#d3bfa0;border-radius:7px}.envelope-carta{position:absolute;inset:12px 17px 8px;background:#fffcf5;border:1px solid #bba078;display:flex;flex-direction:column;justify-content:center;gap:8px;align-items:center;transition:transform 1s cubic-bezier(.22,.7,.22,1),box-shadow 1s;transform:translateY(0);border-radius:3px;z-index:1}.envelope-carta:before{content:'';position:absolute;inset:8px;border:1px solid #a0845640}.carta-cruz{font:25px Georgia;color:#a08456}.carta-monograma{font:42px Georgia,serif;color:#203e52}.carta-texto{font:9px Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase}
.envelope-frente{position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:5px;background:linear-gradient(145deg,#f8efdf,#e3d2b7);clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%)}.envelope-frente:after{content:'';position:absolute;inset:0;background:linear-gradient(32deg,transparent 49.7%,#c1a67b66 50%,transparent 50.3%),linear-gradient(-32deg,transparent 49.7%,#c1a67b66 50%,transparent 50.3%);opacity:.35}
.envelope-aba{position:absolute;inset:0;z-index:4;background:linear-gradient(170deg,#fff7e9,#dec8a5);clip-path:polygon(0 0,100% 0,50% 57%);transform-origin:center top;transition:transform 1s ease;backface-visibility:hidden;filter:drop-shadow(0 2px 1px #6b502b25)}
.selo{position:absolute;z-index:5;top:43%;left:50%;width:72px;height:72px;margin:-9px 0 0 -36px;display:grid;place-items:center;border:4px double #ead6a8;border-radius:48% 52% 49% 51%;background:radial-gradient(circle at 28% 25%,#e6c882,#b28c48 62%,#8f6c34);box-shadow:0 5px 10px #654b3440,inset 0 0 0 4px #d2ad6c;font:22px Georgia,serif;color:#5b4324;text-shadow:0 1px #f6e4b7;transition:transform .55s,opacity .4s}.selo:after{content:'';position:absolute;inset:8px;border:1px solid #f5dda76b;border-radius:50%}
.abrir-convite{min-width:220px;background:#203e52;color:#fff9ed;border:1px solid #203e52;padding:16px 30px;border-radius:40px;letter-spacing:.14em;text-transform:uppercase;font:11px Arial,sans-serif;cursor:pointer;box-shadow:0 8px 20px #203e521c;transition:transform .25s,background .25s}.abrir-convite:hover{transform:translateY(-3px);background:#304f61}.abrir-convite:focus-visible,.pular-abertura:focus-visible{outline:3px solid #a08456;outline-offset:5px}.pular-abertura{font:11px Arial,sans-serif;border:0;background:none;text-decoration:underline;text-underline-offset:4px;color:#68716d;padding:8px;cursor:pointer}.abertura-acoes{display:flex;flex-direction:column;align-items:center;gap:12px;transition:opacity .35s}.abertura.abrindo .selo{transform:scale(1.3) rotate(-12deg);opacity:0}.abertura.abrindo .envelope-aba{transform:rotateX(180deg)}.abertura.abrindo .envelope-carta{transform:translateY(-45%);transition-delay:.5s;box-shadow:0 -12px 30px #a0845620}.abertura.abrindo .abertura-acoes{opacity:0;pointer-events:none}.abertura.saindo{opacity:0;visibility:hidden;pointer-events:none}
@media(max-height:680px){.abertura{gap:14px;padding:35px 20px}.envelope-cena{width:min(67vw,320px);margin-top:35px}.abertura-frase{display:none}.abertura-titulo{font-size:42px}}
@media(prefers-reduced-motion:reduce){.abertura,.abertura *{transition:none!important;animation:none!important}}
