:root{
  --floresta:#1F3A2E; --salvia:#9BAE9B; --marfim:#F8F6EE; --champagne:#D4B483;
  --tinta:#1b2a22; --suave:#5c6b62; --linha:#dcd8c8; --branco:#fff;
  --erro:#a33a2a; --ok:#2f6b46;
  --serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --sans:'Montserrat',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --raio:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--marfim);color:var(--tinta);font-family:var(--sans);font-size:16px;line-height:1.55}
img{max-width:100%;display:block}
a{color:var(--floresta)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.2;margin:0 0 .5em;color:var(--floresta)}
h1{font-size:clamp(2rem,6vw,3.4rem)} h2{font-size:clamp(1.5rem,4vw,2.2rem)} h3{font-size:1.25rem}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--champagne);outline-offset:2px}
.pequeno{font-size:.82rem;color:var(--suave)}

.proto{background:var(--floresta);color:var(--marfim);font-size:.78rem;text-align:center;padding:6px 16px}
.topo{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;background:var(--marfim);border-bottom:1px solid var(--linha);position:sticky;top:0;z-index:20}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--serif);font-size:1.3rem;color:var(--floresta)}
.menu{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}
.menu a{text-decoration:none;font-size:.9rem;font-weight:500;color:var(--floresta)}
.menu a:hover{text-decoration:underline;text-decoration-color:var(--champagne);text-underline-offset:5px}
@media(max-width:560px){.marca span{font-size:1.1rem}.menu{gap:12px}.menu a{font-size:.8rem}}

.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.secao{padding:64px 0}
.secao.escura{background:var(--floresta);color:var(--marfim)}
.secao.escura h2,.secao.escura h3{color:var(--marfim)}
.secao.salvia{background:#e9eee6}
.centro{text-align:center}
.filete{width:84px;height:2px;background:var(--champagne);margin:0 auto 20px;border:0}

.btn{display:inline-block;border:0;border-radius:999px;padding:14px 28px;font:600 .95rem var(--sans);cursor:pointer;text-decoration:none;background:var(--floresta);color:var(--marfim);transition:transform .15s,background .15s}
.btn:hover{background:#2a4d3e;transform:translateY(-1px)}
.btn.claro{background:var(--marfim);color:var(--floresta)}
.btn.contorno{background:transparent;color:var(--floresta);border:1.5px solid var(--floresta)}
.btn.contorno:hover{background:var(--floresta);color:var(--marfim)}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.btn.pequeno{padding:9px 18px;font-size:.82rem;color:inherit}
.btn.contorno.pequeno{color:var(--floresta)}

.hero{padding:72px 0 56px;text-align:center}
.hero img{margin:0 auto 18px;width:112px}
.hero .sub{max-width:620px;margin:0 auto 28px;color:var(--suave);font-size:1.08rem}
.hero .acoes{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

.passos{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;counter-reset:p;padding:0;list-style:none;margin:32px 0 0}
.passos li{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:22px 18px;counter-increment:p}
.passos li::before{content:counter(p);display:block;font:500 1.6rem var(--serif);color:var(--champagne);margin-bottom:6px}
.passos strong{display:block;color:var(--floresta);margin-bottom:4px}
.passos span{font-size:.9rem;color:var(--suave)}

.chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}
.chip{border:1.5px solid var(--floresta);background:transparent;color:var(--floresta);border-radius:999px;padding:7px 16px;font:500 .85rem var(--sans);cursor:pointer}
.chip[aria-pressed=true]{background:var(--floresta);color:var(--marfim)}

.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}
.cartao{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden;display:flex;flex-direction:column}
.cartao .capa{height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px}
.cartao .corpo{padding:18px;display:flex;flex-direction:column;gap:6px;flex:1}
.cartao .corpo p{color:var(--suave);font-size:.9rem;margin:0}
.cartao .acoes{display:flex;gap:8px;margin-top:auto;padding-top:12px;flex-wrap:wrap}
.etiqueta{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--suave)}
.vazio{padding:32px;border:1.5px dashed var(--linha);border-radius:var(--raio);text-align:center;color:var(--suave)}

.pacotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.pacote{background:var(--branco);color:var(--tinta);border:1px solid var(--linha);border-radius:var(--raio);padding:24px 20px;display:flex;flex-direction:column;gap:6px}
.pacote.destaque{border:2px solid var(--champagne)}
.pacote .preco{font:500 1.9rem var(--serif);color:var(--floresta)}
.pacote ul{padding-left:18px;margin:8px 0 16px;font-size:.9rem;color:var(--suave)}
.pacote .btn{margin-top:auto;text-align:center}

details{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:14px 18px;margin-bottom:10px}
summary{cursor:pointer;font-weight:600;color:var(--floresta)}
details p{margin:10px 0 0;color:var(--suave)}

/* editor */
.editor{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:28px;padding:28px 0 64px;align-items:start}
@media(max-width:940px){.editor{grid-template-columns:1fr}}
.painel-form{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:22px}
.painel-form fieldset{border:0;padding:0;margin:0 0 18px}
.painel-form legend{font:500 1.15rem var(--serif);color:var(--floresta);margin-bottom:8px;padding:0}
label{display:block;font-size:.85rem;font-weight:600;margin:12px 0 4px;color:var(--floresta)}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=time],input[type=number],select,textarea{width:100%;border:1.5px solid var(--linha);border-radius:10px;padding:11px 12px;font:400 .95rem var(--sans);background:#fff;color:var(--tinta)}
textarea{min-height:92px;resize:vertical}
.dica{font-size:.8rem;color:var(--suave);margin:4px 0 0}
.erro{color:var(--erro);font-size:.82rem;margin:4px 0 0}
.ok{color:var(--ok);font-size:.82rem;margin:4px 0 0}
.linha2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fotos{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.fotos figure{margin:0;position:relative}
.fotos img{width:72px;height:72px;object-fit:cover;border-radius:10px;border:1px solid var(--linha)}
.fotos button{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:0;background:var(--floresta);color:#fff;cursor:pointer;line-height:1}
.barra{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.sticky{position:sticky;top:84px}
.rotulo-previa{font-size:.8rem;color:var(--suave);margin:0 0 8px;text-align:center}

/* moldura do celular e marca d'água */
.moldura{position:relative;border:10px solid var(--tinta);border-radius:34px;overflow:hidden;background:#fff;height:min(78vh,760px);box-shadow:0 18px 40px rgba(31,58,46,.18)}
.moldura.cheia{max-width:440px;margin:0 auto;height:calc(100vh - 190px);min-height:480px}
.moldura.publicada{border:0;border-radius:0;height:auto;max-width:560px;margin:0 auto;box-shadow:none;overflow:visible}
.moldura .inv{height:100%;overflow-y:auto}
.moldura.publicada .inv{height:auto;overflow:visible}
.marca-dagua{position:absolute;inset:0;pointer-events:none;z-index:15;
  background-image:url("../img/marca-dagua.svg");background-size:160px 160px}

/* convite */
.inv{--c-fundo:#F8F6EE;--c-texto:#1F3A2E;--c-dest:#D4B483;--c-apoio:#9BAE9B;--c-card:#fff;background:var(--c-fundo);color:var(--c-texto);font-family:var(--sans);position:relative;scroll-behavior:smooth}
.inv.tema-ouro{--c-fundo:#1F3A2E;--c-texto:#F8F6EE;--c-dest:#D4B483;--c-apoio:#9BAE9B;--c-card:#27493a}
.inv.tema-nuvem{--c-fundo:#eef2ec;--c-texto:#2c4a3a;--c-dest:#9BAE9B;--c-apoio:#D4B483;--c-card:#fff}
.inv h2,.inv h3,.inv h1{color:var(--c-texto)}
.inv section{padding:42px 24px;text-align:center}
.inv .capa{min-height:72%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding-top:56px}
.inv .capa img{width:84px}
.inv .chamada{letter-spacing:.2em;text-transform:uppercase;font-size:.72rem;color:var(--c-dest)}
.inv .nomes{font-size:2.3rem;margin:.1em 0}
.inv .quando{font-family:var(--serif);font-size:1.15rem}
.inv .filete{margin:14px auto}
.inv .cartao-i{background:var(--c-card);border:1px solid color-mix(in srgb,var(--c-dest) 50%,transparent);border-radius:16px;padding:20px;margin-top:14px}
.inv .contagem{display:flex;justify-content:center;gap:10px;margin-top:10px}
.inv .contagem div{min-width:62px;padding:10px 6px;border-radius:12px;background:var(--c-card);border:1px solid color-mix(in srgb,var(--c-dest) 50%,transparent)}
.inv .contagem b{display:block;font:500 1.5rem var(--serif)}
.inv .contagem small{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;opacity:.8}
.inv ul.prog{list-style:none;padding:0;margin:0;text-align:left}
.inv ul.prog li{display:flex;gap:14px;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--c-dest) 45%,transparent)}
.inv ul.prog b{min-width:64px;color:var(--c-dest)}
.inv .galeria{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.inv .galeria img{width:100%;height:150px;object-fit:cover;border-radius:12px}
.inv .galeria img:first-child:nth-last-child(odd){grid-column:1/-1;height:220px}
.inv .btn{background:var(--c-dest);color:#1b2a22}
.inv form{text-align:left}
.inv label{color:var(--c-texto)}
.inv input[type=text],.inv input[type=number]{background:#fff;color:#1b2a22}
.inv .opcoes{display:flex;gap:10px}
.inv .opcoes label{flex:1;margin:0;padding:11px;border:1.5px solid var(--c-dest);border-radius:10px;text-align:center;cursor:pointer;font-weight:500}
.inv .opcoes input{margin-right:6px}
.inv .consent{font-size:.76rem;opacity:.85;margin-top:10px;display:flex;gap:8px;align-items:flex-start;font-weight:400}
.inv .assinatura{font-family:var(--serif);font-size:1.4rem;color:var(--c-dest)}
.abertura{position:absolute;inset:0;z-index:12;background:var(--floresta);color:var(--marfim);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px;transition:opacity .6s,visibility .6s}
.abertura img{width:120px}
.abertura .nomes-a{font:500 1.8rem var(--serif);color:var(--marfim)}
.inv.aberto .abertura{opacity:0;visibility:hidden}

/* checkout e painel */
.duas{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px;padding:28px 0 64px;align-items:start}
@media(max-width:860px){.duas{grid-template-columns:1fr}}
.resumo{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:22px}
.resumo dl{margin:0}.resumo dt{font-size:.8rem;color:var(--suave);margin-top:10px}.resumo dd{margin:0;font-weight:600}
.opt{display:flex;gap:12px;align-items:flex-start;border:1.5px solid var(--linha);border-radius:12px;padding:12px 14px;margin-top:8px;cursor:pointer;background:#fff}
.opt input{margin-top:5px}
.opt.sel{border-color:var(--floresta);background:#f3f6f1}
.opt b{display:block}.opt span{font-size:.84rem;color:var(--suave)}
.subdom{display:flex;align-items:center;gap:6px}
.subdom span{white-space:nowrap;color:var(--suave);font-size:.9rem}
.aviso{background:#fbf3df;border:1px solid var(--champagne);border-radius:12px;padding:12px 14px;font-size:.88rem;margin-top:14px}
.pixbox{border:1.5px dashed var(--floresta);border-radius:12px;padding:22px;text-align:center;color:var(--suave);margin-top:10px}
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--linha);border-radius:12px;overflow:hidden}
th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--linha);font-size:.9rem}
th{background:#eef2ec;color:var(--floresta)}
.totais{display:flex;gap:14px;flex-wrap:wrap;margin:16px 0}
.totais div{background:#fff;border:1px solid var(--linha);border-radius:12px;padding:12px 18px}
.totais b{display:block;font:500 1.6rem var(--serif);color:var(--floresta)}

.rodape{background:var(--floresta);color:var(--marfim);text-align:center;padding:40px 20px}
.rodape a{color:var(--champagne)}
.rodape img{margin:0 auto 8px}
.rodape-nome{font:500 1.3rem var(--serif);margin:0}
.rodape .pequeno{color:#b8c4bb}
.pagina-convite .topo,.pagina-convite .rodape,.pagina-convite .proto{display:none}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.inv:not(.aberto){overflow:hidden}
.moldura.publicada .inv:not(.aberto){height:100vh;min-height:520px}
.moldura.publicada .inv.aberto{overflow:visible}

/* página do modelo, assistente e módulos */
.migalha{font-size:.85rem;color:var(--suave);margin:0 0 18px}
.migalha a{color:var(--suave)}
.detalhe{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:32px;align-items:center}
@media(max-width:760px){.detalhe{grid-template-columns:1fr}}
.detalhe-capa{border-radius:var(--raio);min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;border:1px solid var(--linha)}
.lista-rec{padding-left:20px;margin:0 0 16px;color:var(--suave)}
.progresso{height:6px;background:var(--linha);border-radius:99px;overflow:hidden;margin-top:8px}
.progresso span{display:block;height:100%;background:var(--champagne);transition:width .3s}
.liga{display:flex;gap:10px;align-items:center;margin:12px 0 4px;font-weight:600;color:var(--floresta);cursor:pointer}
.liga input{width:18px;height:18px;accent-color:var(--floresta)}
.modulo{background:#fbfaf5;border:1px solid var(--linha);border-radius:12px;margin-bottom:8px;padding:6px 14px}
.modulo .liga{margin:6px 0}
.modulo-corpo{padding:0 0 10px}
.inv .foto-capa{width:100%;max-width:300px;height:230px;object-fit:cover;border-radius:18px;margin-bottom:10px}
.inv ul.presentes li{justify-content:space-between;align-items:center}
.inv ul.presentes a{color:var(--c-dest);font-weight:600}

.barra-fixa{position:sticky;bottom:0;background:linear-gradient(#ffffff00,#fff 28%);padding:18px 0 4px;margin-top:8px;z-index:5}

/* raspadinha e revelação ao rolar */
.raspa{position:relative;width:min(300px,100%);height:130px;margin:0 auto;border-radius:16px;overflow:hidden;border:1px solid var(--c-dest);background:var(--c-card)}
.raspa-data{display:flex;gap:14px;align-items:baseline;justify-content:center;height:100%;padding-top:34px;font-family:var(--serif);color:var(--c-texto)}
.raspa-data b{font-size:2.8rem;font-weight:500;line-height:1}
.raspa-data span{font-size:1.1rem;letter-spacing:.08em}
.raspa-data i{font-style:normal;font-size:1.1rem;color:var(--c-dest)}
.raspa-cv{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;transition:opacity .7s}
.raspa.revelado .raspa-cv{opacity:0;pointer-events:none}
.dica-raspa{font-size:.8rem;opacity:.8;margin:10px 0 0}
.inv.anima section:not(.capa){opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.inv.anima section.vis{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.inv.anima section:not(.capa){opacity:1;transform:none}}

/* confirmação em popup e vídeo de fundo */
dialog.rsvp-dialog{border:0;border-radius:18px;padding:26px 22px 22px;width:min(440px,92vw);max-height:90vh;overflow:auto;background:var(--c-fundo);color:var(--c-texto);box-shadow:0 24px 60px rgba(0,0,0,.4);text-align:left}
dialog.rsvp-dialog::backdrop{background:rgba(15,28,22,.62)}
dialog.rsvp-dialog h2{margin-top:0}
dialog.rsvp-dialog .fechar{position:absolute;top:8px;right:10px;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--c-texto);font-size:1.6rem;cursor:pointer}
.inv .capa{position:relative;overflow:hidden}
.inv .capa.com-video{color:#fff}
.inv .capa.com-video h1,.inv .capa.com-video .quando,.inv .capa.com-video .chamada{color:#fff}
.inv .capa .video-capa{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.inv .capa .video-vel{position:absolute;inset:0;background:linear-gradient(rgba(15,28,22,.35),rgba(15,28,22,.6));z-index:1}
.inv .capa.com-video>*:not(.video-capa):not(.video-vel){position:relative;z-index:2}

/* ===== fontes manuscritas em todo o site (obrigatório) ===== */
:root{--script:'Pinyon Script','Great Vibes','Snell Roundhand','Brush Script MT',cursive}
h1,h2{font-family:var(--script);font-weight:400;letter-spacing:.01em}
h1{font-size:clamp(2.7rem,7vw,4.6rem)}
h2{font-size:clamp(2.1rem,5vw,3rem)}
.marca span{font-family:var(--script);font-size:1.9rem}
.painel-form h1,.duas h1{font-size:2.3rem!important}
.passos strong,.pacote h3,.cartao .corpo h3{font-family:var(--serif)}
.inv h1,.inv h2{font-family:var(--script);font-weight:400}
.inv h2{font-size:2.2rem}
.inv .nomes{font-size:3.1rem}
.inv .assinatura{font-family:var(--script);font-size:2rem}
.inv .quando{font-family:var(--serif)}

/* ===== vitrine com celulares ===== */
.vitrine{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px;margin-top:24px}
.cartao-fone{background:#efede6;border-radius:26px;padding:26px 16px 22px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.cartao-fone .acoes{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:8px}
.fone-link{display:block;text-decoration:none}
.fone{position:relative;width:190px;height:400px;border:7px solid #15191a;border-radius:32px;overflow:hidden;background:#15191a;box-shadow:0 14px 28px rgba(31,58,46,.22)}
.fone::before{content:'';position:absolute;top:7px;left:50%;width:58px;height:15px;background:#15191a;border-radius:99px;transform:translateX(-50%);z-index:30}
.fone-tela{width:360px;height:790px;transform:scale(.489);transform-origin:0 0;pointer-events:none}
.fone-tela .inv{height:790px;width:360px}
.tag-modelo{font-size:.78rem;letter-spacing:.1em;color:var(--suave);min-height:1.2em;margin-top:8px}
.nome-modelo{font-family:var(--serif);font-size:1.35rem;margin:0}
.desc-modelo{font-size:.86rem;color:var(--suave);margin:0 0 4px;max-width:230px}
.hero2{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:center;padding:56px 20px 36px}
@media(max-width:820px){.hero2{grid-template-columns:1fr;text-align:center}.hero2 .acoes,.selos-hero{justify-content:center}}
.hero2 .sub{color:var(--suave);font-size:1.08rem;max-width:520px}
.hero2 .acoes{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}
.selos-hero{display:flex;gap:16px;flex-wrap:wrap;list-style:none;padding:0;margin:0;color:var(--floresta);font-weight:600;font-size:.9rem}
.selos-hero li::before{content:'✓ ';color:var(--champagne)}
.hero2-fones{display:flex;justify-content:center;gap:0;position:relative;min-height:440px}
.hero2-fones .fone{margin:0 -14px}
.hero2-fones .fone:nth-child(1){transform:rotate(-6deg) translateY(8px)}
.hero2-fones .fone:nth-child(2){transform:rotate(5deg) translateY(36px)}
.faixa-ocasioes{overflow:hidden;white-space:nowrap;background:#efede6;padding:12px 0;font-size:.9rem;color:var(--suave)}
.faixa-ocasioes span{display:inline-block;padding:0 26px;animation:rola 28s linear infinite}
@keyframes rola{from{transform:translateX(0)}to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){.faixa-ocasioes span{animation:none}}

/* ===== modelo Selo Real ===== */
.inv.tema-selo{--c-fundo:#fbf3e6;--c-texto:#6d5630;--c-dest:#b08a43;--c-apoio:#d9c08a;--c-card:#fff8ec;background:#fbf3e6}
.inv.tema-selo section{padding:34px 20px}
.env-abertura{position:absolute;inset:0;z-index:12;overflow:hidden;background:linear-gradient(160deg,#f4ecda,#eadfc6);transition:opacity .9s ease,visibility 0s linear .9s}
.inv.aberto .env-abertura{opacity:0;visibility:hidden}
.env-aba{position:absolute;left:0;right:0;height:50%;filter:drop-shadow(0 4px 5px rgba(95,75,40,.24));transition:transform 1.1s cubic-bezier(.65,0,.25,1);z-index:2}
.env-aba i{display:block;width:100%;height:100%;background:linear-gradient(#f8f0e0,#efe3cb)}
.env-aba-cima{top:0}.env-aba-cima i{clip-path:polygon(0 0,100% 0,50% 100%)}
.env-aba-baixo{bottom:0}.env-aba-baixo i{clip-path:polygon(0 100%,100% 100%,50% 0);background:linear-gradient(#efe3cb,#f8f0e0)}
.inv.abrindo .env-aba-cima{transform:translateY(-105%)}
.inv.abrindo .env-aba-baixo{transform:translateY(105%)}
.env-florais{position:absolute;inset:0;z-index:3;pointer-events:none;transition:opacity .7s}
.inv.abrindo .env-florais{opacity:0}
.env-florais .f-esq{position:absolute;left:3%;top:14%;width:21%}
.env-florais .f-dir{position:absolute;right:3%;top:14%;width:21%;transform:scaleX(-1)}
.env-florais .f-topo{position:absolute;left:50%;top:1%;width:62%;transform:translateX(-50%)}
.env-florais .f-base{position:absolute;left:50%;bottom:1%;width:62%;transform:translateX(-50%) scaleY(-1)}
.relevo{width:100%;height:auto;display:block;filter:drop-shadow(-1px -1px 0 rgba(255,255,255,.95)) drop-shadow(1.5px 1.5px 1px rgba(120,95,55,.38))}
.relevo path,.relevo ellipse,.relevo circle{fill:#f3e9d6}
.relevo .miolo{fill:#e5d3ae}
.relevo .caule{fill:none;stroke:#eadfc6}
.selo{position:absolute;left:50%;top:50%;width:104px;height:104px;transform:translate(-50%,-50%);z-index:4;border:0;background:none;padding:0;cursor:pointer;filter:drop-shadow(0 5px 7px rgba(80,60,30,.38));animation:pulso 2.4s ease-in-out infinite}
.selo-svg{width:100%;height:100%;display:block}
.selo-ini{font-family:var(--script);font-size:34px;fill:#a8843f}
@keyframes pulso{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.06)}}
.inv.abrindo .selo{animation:brilho-selo 1.2s ease forwards}
@keyframes brilho-selo{0%{filter:drop-shadow(0 0 0 #ffd978)}40%{filter:drop-shadow(0 0 22px #ffd978) brightness(1.15)}100%{filter:drop-shadow(0 0 30px #ffd978);opacity:0;transform:translate(-50%,-50%) scale(1.25)}}
.env-dica{position:absolute;left:0;right:0;bottom:7%;text-align:center;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:#a8843f;z-index:4;margin:0}
.inv.abrindo .env-dica{opacity:0}
.env-arco-sec{padding:34px 16px 18px!important}
.env-arco{position:relative;margin:0 auto;max-width:340px;padding:70px 26px 34px;background:linear-gradient(#fffaf0,#fbf1df);border-radius:999px 999px 22px 22px;border:1px solid #d7bd86;box-shadow:inset 0 0 0 7px #fbf3e6,inset 0 0 0 8px #d7bd86,0 10px 24px rgba(120,95,55,.16);text-align:center}
.env-arco-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;z-index:0}
.env-arco>*:not(.env-arco-img){position:relative;z-index:1}
.env-peq{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--c-texto);margin:0 0 6px}
.env-nome{font-family:var(--script);font-size:3.2rem;line-height:1.05;color:var(--c-dest)}
.env-com{font-family:var(--script);font-size:1.6rem;color:var(--c-texto);margin:2px 0}
.env-script{font-family:var(--script);font-size:1.9rem;color:var(--c-dest);margin:.5em 0 .2em}
.env-texto{font-size:.94rem;line-height:1.7;margin:0}
.env-caps{text-transform:uppercase;letter-spacing:.14em}
.env-enfeite{display:flex;align-items:center;justify-content:center;gap:10px;margin:6px 0 16px}
.env-enfeite span{width:70px;height:1px;background:#d7bd86}
.env-enfeite i{width:8px;height:8px;border:1px solid #b08a43;transform:rotate(45deg);display:block}
.env-sub{color:var(--c-dest);letter-spacing:.08em;font-size:.9rem;margin:0}
.raspa3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:340px;margin:18px auto 0}
.raspa3 .raspa{width:100%;height:150px;border-radius:14px;border-color:#d7bd86}
.raspa3 span{display:block;margin-top:8px;font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--c-dest)}
.raspa-num{padding-top:0!important;align-items:center!important;font-family:var(--script);font-size:2.7rem;color:var(--c-dest)}
.raspa-mes{font-size:1.45rem}
.tl{position:relative;max-width:360px;margin:10px auto 0}
.tl-item{display:grid;grid-template-columns:1fr 26px 1fr;align-items:center;gap:6px;margin:16px 0}
.tl-eixo{position:relative;align-self:stretch;display:flex;justify-content:center;align-items:center}
.tl-eixo::before{content:'';position:absolute;top:-16px;bottom:-16px;left:50%;width:1px;background:#d7bd86}
.tl-eixo i{position:relative;width:9px;height:9px;transform:rotate(45deg);border:1px solid #b08a43;background:#fbf3e6;z-index:1}
.tl-ico{position:relative;display:flex;justify-content:center;align-items:center}
.tl-ico svg{width:84px;height:84px}
.tl-ico img{position:absolute;inset:0;margin:auto;max-width:96px;max-height:96px}
.tl-hora{font-family:var(--script);font-size:1.8rem;color:var(--c-dest);line-height:1.1}
.tl-desc{font-size:.93rem}
.tl-item:nth-child(odd) .tl-txt{text-align:left}
.tl-item:nth-child(even) .tl-txt{text-align:right}
.medalhao path,.medalhao ellipse{fill:none;stroke:#b08a43;stroke-width:1.1}
.medalhao .miolo{fill:#d9c08a;stroke:none}
.contagem.script{gap:2px}
.contagem.script div{background:none;border:0;min-width:0;padding:0 11px;position:relative}
.contagem.script b{font-family:var(--script);font-size:2.4rem;font-weight:400;color:var(--c-dest);line-height:1}
.contagem.script div+div::before{content:':';position:absolute;left:-3px;top:2px;font-family:var(--script);font-size:2.3rem;color:var(--c-dest)}
.contagem.script small{display:block;font-size:.72rem;text-transform:none;letter-spacing:.03em;color:var(--c-dest);margin-top:4px}
.env-mapa{border:1px solid #d7bd86;border-radius:14px;padding:6px;margin:12px auto;max-width:340px;background:#fff8ec}
.env-mapa iframe{width:100%;height:230px;border:0;border-radius:10px;display:block}
.env-loc{margin-bottom:16px}

/* vitrine: ao passar o mouse, mostra o convite por dentro */
.vitrine{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.cartao-fone{padding:24px 12px 22px}
.fone-link{position:relative;width:100%;height:400px;display:block}
.fone-capa{display:flex;justify-content:center;transition:opacity .35s ease}
.fone-par{position:absolute;inset:0;display:flex;gap:8px;align-items:center;justify-content:center;opacity:0;transition:opacity .35s ease;pointer-events:none}
.fone-p{width:126px;height:270px;border-width:6px;border-radius:22px;box-shadow:0 10px 20px rgba(31,58,46,.2)}
.fone-p::before{top:5px;width:36px;height:9px}
.fone-p .fone-tela{transform:scale(.32);height:787px}
.fone-p .fone-tela .inv{height:787px}
.fone-tela .inv{overflow:hidden}
.cartao-fone:hover .fone-capa,.cartao-fone:focus-within .fone-capa{opacity:0}
.cartao-fone:hover .fone-par,.cartao-fone:focus-within .fone-par{opacity:1}
.mapa-ph{height:230px;border-radius:10px;background:
  linear-gradient(115deg,transparent 46%,#f6d9a0 46% 50%,transparent 50%),
  linear-gradient(35deg,transparent 58%,#fff 58% 61%,transparent 61%),
  linear-gradient(#e6efe3,#dfe9dc);position:relative;overflow:hidden}
.mapa-ph::after{content:'';position:absolute;left:50%;top:44%;width:18px;height:18px;margin-left:-9px;background:#d94a3a;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 0 0 4px rgba(217,74,58,.25)}
@media (hover:none){.cartao-fone:hover .fone-capa{opacity:1}.cartao-fone:hover .fone-par{opacity:0}}

/* moldura de celular fiel, mantida na demonstração, no editor, na prévia e no convite publicado em tela grande */
.moldura{border:11px solid #111;border-radius:46px;background:#111}
.moldura::before{content:'';position:absolute;top:9px;left:50%;width:86px;height:23px;border-radius:99px;background:#111;transform:translateX(-50%);z-index:30;pointer-events:none}
.moldura .inv{scrollbar-width:none;border-radius:35px}
.moldura .inv::-webkit-scrollbar{display:none}
.moldura.cheia{height:min(800px,calc(100vh - 150px));min-height:520px;max-width:410px}
@media (min-width:701px){
  .moldura.publicada{border:11px solid #111;border-radius:46px;overflow:hidden;max-width:410px;height:min(840px,calc(100vh - 40px));margin:20px auto;box-shadow:0 22px 50px rgba(31,58,46,.25)}
  .moldura.publicada .inv,.moldura.publicada .inv:not(.aberto),.moldura.publicada .inv.aberto{height:100%;min-height:0;overflow-y:auto}
  .moldura.publicada .inv:not(.aberto){overflow:hidden}
  .pagina-convite{background:#e8e4d8}
}
@media (max-width:700px){.moldura.publicada::before{display:none}}
.moldura{isolation:isolate}

/* ===== celular realista: corpo em titânio cinza, moldura preta fina, ilha da câmera com lente e botões laterais ===== */
.moldura{
  --corpo:54px;--borda:10px;
  position:relative;box-sizing:border-box;overflow:visible;isolation:isolate;
  aspect-ratio:1/2.1;height:min(740px,calc(100vh - 150px));width:auto;max-width:100%;min-height:0;margin:0 auto;
  border:var(--borda) solid #0a0a0b;border-radius:var(--corpo);background:#0a0a0b;
  box-shadow:
    0 0 0 1.5px #5d6064,          /* linha escura interna do aro */
    0 0 0 4.5px #c3c6c9,          /* aro de titânio */
    0 0 0 5.5px #8b8e92,          /* borda externa do aro */
    inset 0 0 0 1px #26282b,      /* brilho fino na borda do vidro */
    0 26px 48px rgba(24,38,30,.28);
}
.moldura::before{
  content:'';position:absolute;top:calc(10px - var(--borda) + 0px);left:50%;transform:translateX(-50%);
  width:31%;height:25px;border-radius:99px;z-index:30;pointer-events:none;
  background:
    radial-gradient(circle at 80% 50%,#0d1320 0 4px,#2c3547 4.5px 5.6px,#10151f 6.4px,transparent 7px),
    #050506;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
.moldura::after{
  content:'';position:absolute;inset:0 -9px;z-index:-1;pointer-events:none;border-radius:var(--corpo);
  background:
    linear-gradient(90deg,#8d9094,#d0d3d6 60%,#9a9da1) 0 19% / 5px 5.5% no-repeat,
    linear-gradient(90deg,#8d9094,#d0d3d6 60%,#9a9da1) 0 27% / 5px 9% no-repeat,
    linear-gradient(90deg,#8d9094,#d0d3d6 60%,#9a9da1) 0 38% / 5px 9% no-repeat,
    linear-gradient(270deg,#8d9094,#d0d3d6 60%,#9a9da1) 100% 30% / 5px 14% no-repeat;
}
.moldura .inv{border-radius:calc(var(--corpo) - var(--borda));scrollbar-width:none}
.moldura .inv::-webkit-scrollbar{display:none}
.moldura .marca-dagua{border-radius:calc(var(--corpo) - var(--borda))}
.moldura.cheia{max-width:none;min-height:0;height:min(740px,calc(100vh - 150px))}
@media (max-width:700px){
  .moldura:not(.publicada){height:auto;width:min(84vw,340px)}
  .moldura.publicada{aspect-ratio:auto;height:auto;width:auto;max-width:560px;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible}
  .moldura.publicada::before,.moldura.publicada::after{display:none}
  .moldura.publicada .inv{border-radius:0}
}
@media (min-width:701px){
  .moldura.publicada{overflow:visible;max-width:none;height:min(860px,calc(100vh - 56px));margin:28px auto}
}

/* miniaturas da vitrine no mesmo acabamento */
.fone{
  border:7px solid #0a0a0b;border-radius:34px;background:#0a0a0b;
  box-shadow:0 0 0 1px #5d6064,0 0 0 3px #c3c6c9,0 0 0 4px #8b8e92,0 16px 28px rgba(31,58,46,.22);
}
.fone::before{
  top:5px;width:34%;height:15px;
  background:radial-gradient(circle at 80% 50%,#0d1320 0 2.4px,#2c3547 2.8px 3.4px,transparent 4px),#050506;
}
.fone-p{border-width:6px;border-radius:24px}
.fone-p::before{top:4px;height:9px}

/* ===== modelos com cena: Cortinas do Oásis e Varanda ===== */
.inv.tema-cortina,.inv.tema-varanda{--c-fundo:#fdf3e4;--c-texto:#6b4f2a;--c-dest:#b58a45;--c-apoio:#e3c88f;--c-card:#fff8ec;background:#fdf3e4}
.inv.tema-varanda{--c-fundo:#f8f3e8;--c-texto:#4f5a45;--c-dest:#8a7a4a;--c-apoio:#b9c7a8;--c-card:#fffdf6;background:#f8f3e8}
.inv.tema-cortina section,.inv.tema-varanda section{padding:34px 20px}
.cortina-ab{background:#f3dfbd;overflow:hidden}
.cortina-ab .cena{position:absolute;inset:0;transform-origin:50% 42%;transition:transform 1.7s cubic-bezier(.5,0,.2,1)}
.cortina-ab .cena-in{position:absolute;inset:0;animation:dolly 16s ease-in-out infinite alternate;transform-origin:50% 42%}
.cena-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.cena-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@keyframes dolly{from{transform:scale(1)}to{transform:scale(1.09)}}
.inv.abrindo .cortina-ab .cena{transform:scale(1.7)}
.cortina{position:absolute;top:0;bottom:0;width:49%;z-index:3;transition:transform 1.5s cubic-bezier(.65,0,.25,1);
  background:linear-gradient(180deg,rgba(255,255,255,.28),transparent 18%),repeating-linear-gradient(90deg,#c9a672 0 6%,#e8d0a4 6% 12%,#f6e8c8 12% 17%,#d8ba88 17% 24%);
  box-shadow:inset -14px 0 22px rgba(90,60,20,.28)}
.cortina-esq{left:0;border-bottom-right-radius:70% 34%}
.cortina-dir{right:0;border-bottom-left-radius:70% 34%;box-shadow:inset 14px 0 22px rgba(90,60,20,.28)}
.cortina::after{content:'';position:absolute;left:0;right:0;top:0;height:46px;background:linear-gradient(#b99158,#d9bc8a);
  -webkit-mask:radial-gradient(circle at 12px 46px,transparent 11px,#000 12px) 0 0/24px 100%;mask:radial-gradient(circle at 12px 46px,transparent 11px,#000 12px) 0 0/24px 100%}
.inv.abrindo .cortina-esq{transform:translateX(-102%)}
.inv.abrindo .cortina-dir{transform:translateX(102%)}
.cena-texto{position:absolute;left:0;right:0;top:30%;z-index:4;text-align:center;transition:opacity .6s;pointer-events:none;text-shadow:0 1px 10px rgba(255,248,232,.9)}
.cena-varanda .cena-texto{top:27%}
.inv.abrindo .cena-texto{opacity:0}
.ct-nome{font-family:var(--script);font-size:3rem;line-height:1.05;color:#7a5a2e}
.cena-varanda .ct-nome{color:#4f5a45}
.ct-e{font-family:var(--script);font-size:1.6rem;color:#8b6a38}
.ct-data{margin:.7em 0 0;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#6b4f2a}
.cena-abrir{position:absolute;left:50%;bottom:7%;transform:translateX(-50%);z-index:5;border:1.5px solid #b58a45;border-radius:999px;background:rgba(255,248,232,.84);
  color:#7a5a2e;font:600 .76rem var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:12px 22px;cursor:pointer;animation:pulso-b 2.4s ease-in-out infinite;white-space:nowrap}
@keyframes pulso-b{0%,100%{box-shadow:0 0 0 0 rgba(181,138,69,.35)}50%{box-shadow:0 0 0 10px rgba(181,138,69,0)}}
.inv.abrindo .cena-abrir{opacity:0}
.brilhos{position:absolute;inset:0;z-index:2;pointer-events:none}
.brilhos i{position:absolute;width:4px;height:4px;border-radius:50%;background:#fff8dc;box-shadow:0 0 8px 2px rgba(255,236,170,.9);animation:cintila 3.6s ease-in-out infinite}
@keyframes cintila{0%,100%{opacity:.15;transform:scale(.6)}50%{opacity:1;transform:scale(1.2)}}
@media (prefers-reduced-motion:reduce){.cortina-ab .cena-in,.brilhos i,.cena-abrir{animation:none}}
/* galeria de dress code com paleta de cores */
.paleta{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:14px 0 4px}
.paleta i{width:34px;height:34px;border-radius:50%;border:1px solid rgba(0,0,0,.12);display:block;box-shadow:0 2px 5px rgba(0,0,0,.12)}

/* ajustes: cortinas deixam uma fresta, data cabe na tela, demonstração cabe na janela */
.cortina{width:47%}
.ct-data{padding:0 18px;font-size:.72rem;letter-spacing:.1em}
.moldura.cheia{height:min(740px,calc(100vh - 235px));min-height:460px}

/* ===== celular alto e fino: 390 x 830, encolhe para caber na altura da janela (como o zoom do navegador) ===== */
.moldura,.moldura.cheia{
  width:390px;height:830px;aspect-ratio:auto;min-height:0;max-width:none;margin:0 auto;
  zoom:var(--k,1);
}
.moldura.publicada{zoom:var(--kp,1)}
.demo-layout{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:36px;align-items:center;max-width:1180px;margin:0 auto;padding:18px 24px 30px}
.demo-lado h2{margin:6px 0 10px}
.demo-acoes{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
@media (max-width:760px){
  .demo-layout{grid-template-columns:1fr;gap:20px;justify-items:center;text-align:center}
  .demo-acoes{align-items:center;flex-direction:row;flex-wrap:wrap;justify-content:center}
}
@media (max-width:700px){
  .moldura:not(.publicada),.moldura.cheia{width:min(86vw,350px);height:auto;aspect-ratio:1/2.13;zoom:1}
  .moldura.publicada{width:auto;height:auto;aspect-ratio:auto;zoom:1}
}
@media (min-width:701px){
  .moldura.publicada{width:390px;height:830px;margin:20px auto}
}

/* cada modelo com a sua fonte manuscrita (a manuscrita é obrigatória; a escolha varia por modelo) */
.inv{--fonte:var(--script)}
.inv.tema-selo{--fonte:'Pinyon Script',cursive}
.inv.tema-cortina{--fonte:'Great Vibes',cursive}
.inv.tema-varanda{--fonte:'Allura',cursive}
.inv.tema-ouro{--fonte:'Parisienne',cursive}
.inv.tema-nuvem{--fonte:'Dancing Script',cursive}
.inv.tema-jardim{--fonte:'Great Vibes',cursive}
.inv h1,.inv h2,.inv .nomes,.inv .assinatura,.env-nome,.env-com,.env-script,.tl-hora,.raspa-num,.contagem.script b,.contagem.script div+div::before,.selo-ini,.ct-nome,.ct-e,.nomes-a{font-family:var(--fonte)}

/* ===== aparelho: iPhone 17 Pro Max do dono (assets/img/aparelho.svg), convite por trás da tela ===== */
.moldura,.moldura.cheia,.moldura.publicada{
  width:441px;height:888px;aspect-ratio:auto;border:0;border-radius:0;background:none;box-shadow:none;
  position:relative;overflow:visible;isolation:isolate;zoom:var(--k,1);margin:0 auto;max-width:none;min-height:0;
}
.moldura.publicada{zoom:var(--kp,1)}
.moldura::before{display:none}
.moldura::after{
  content:'';position:absolute;inset:0;z-index:5;pointer-events:none;border-radius:0;
  background:url(../img/aparelho.svg) center/100% 100% no-repeat;
  filter:drop-shadow(0 26px 28px rgba(24,38,30,.30));
}
.moldura .inv{
  position:absolute;left:5.5%;top:2.2%;width:89%;height:95.6%;border-radius:12.7% / 5.9%;
  z-index:1;isolation:isolate;overflow-y:auto;
}
.moldura .inv:not(.aberto){overflow:hidden}
.moldura .marca-dagua{inset:auto;left:5.5%;top:2.2%;right:auto;bottom:auto;width:89%;height:95.6%;
  position:absolute;border-radius:12.7% / 5.9%;z-index:2}
@media (max-width:700px){
  .moldura:not(.publicada),.moldura.cheia{width:min(86vw,350px);height:auto;aspect-ratio:12070/24310;zoom:1}
  .moldura.publicada{width:auto;height:auto;aspect-ratio:auto;zoom:1}
  .moldura.publicada::after{display:none}
  .moldura.publicada .inv{position:static;width:auto;height:auto;border-radius:0;overflow:visible}
  .moldura.publicada .inv:not(.aberto){position:relative;height:100vh;overflow:hidden}
}
@media (min-width:701px){
  .moldura.publicada{width:441px;height:888px;margin:20px auto}
}

/* miniaturas da vitrine com o mesmo aparelho */
.fone{width:190px;height:382.7px;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible}
.fone::before{display:none}
.fone::after{content:'';position:absolute;inset:0;z-index:5;pointer-events:none;background:url(../img/aparelho.svg) center/100% 100% no-repeat;filter:drop-shadow(0 12px 14px rgba(24,38,30,.25))}
.fone-tela{position:absolute;left:5.5%;top:2.2%;width:360px;height:780px;transform:scale(.47);transform-origin:0 0;pointer-events:none}
.fone-tela .inv{width:360px;height:780px;border-radius:46px;overflow:hidden}
.fone-p{width:126px;height:253.8px;border:0;border-radius:0}
.fone-p::before{display:none}
.fone-p .fone-tela{transform:scale(.3115);height:780px}
.fone-p .fone-tela .inv{height:780px}

/* plano Exclusivo em destaque */
.premium-destaque{background:linear-gradient(160deg,#1F3A2E,#2a4d3e);color:var(--marfim);position:relative;overflow:hidden}
.premium-destaque h2{color:var(--marfim)}
.premium-destaque::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 0,rgba(212,180,131,.28),transparent 50%),radial-gradient(circle at 90% 100%,rgba(212,180,131,.2),transparent 45%);pointer-events:none}
.premium-destaque .wrap{position:relative}
.selo-premium{display:table;margin:0 auto 14px;padding:7px 16px;border:1px solid var(--champagne);border-radius:999px;color:var(--champagne);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase}
.premium-intro{max-width:560px;margin:0 auto 26px;font-size:1.08rem}
.premium-itens{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.premium-itens div{border:1px solid rgba(212,180,131,.5);border-radius:16px;padding:18px 16px;background:rgba(255,255,255,.04)}
.premium-itens b{display:block;font-family:var(--serif);font-size:1.12rem;color:var(--champagne);margin-bottom:6px;font-weight:500}
.premium-itens span{font-size:.88rem;color:#e3e9e4}
.btn.contorno-claro{background:transparent;color:var(--marfim);border:1.5px solid var(--marfim)}
.btn.contorno-claro:hover{background:var(--marfim);color:var(--floresta)}
.pacote.destaque{box-shadow:0 0 0 1px var(--champagne),0 14px 30px rgba(212,180,131,.25)}
.pacote.destaque ul li:nth-child(-n+3){color:var(--floresta);font-weight:600}

.videos-extra{display:grid;gap:12px;max-width:340px;margin:0 auto}
.videos-extra video{width:100%;border-radius:14px;background:#000;max-height:260px}

.avisos{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:8px;max-width:560px}
.avisos li{display:flex;gap:12px;align-items:center;justify-content:space-between;background:#eaf5ec;border:1px solid #bcd9c2;border-radius:12px;padding:10px 14px;font-size:.92rem}
.avisos small{color:var(--suave);white-space:nowrap}

/* ===== tamanho real: celular bem alto, passa da primeira tela (como na referência) ===== */
.moldura,.moldura.cheia,.moldura.publicada{width:500px;height:1007px;zoom:1}
.editor .moldura{zoom:var(--k,1)}
.editor{grid-template-columns:minmax(0,1fr) auto}
@media (max-width:940px){.editor{grid-template-columns:1fr}.editor .moldura{zoom:var(--k,1)}}
@media (min-width:701px){.moldura.publicada{width:500px;height:1007px;margin:24px auto}}
@media (max-width:700px){
  .moldura:not(.publicada),.moldura.cheia{width:min(88vw,380px);height:auto;aspect-ratio:12070/24310;zoom:1}
  .moldura.publicada{width:auto;height:auto;aspect-ratio:auto;zoom:1}
}

/* marca d'água centralizada: três repetições exatas na largura da tela, sem logo cortado nas bordas */
.moldura .marca-dagua{background-size:33.3333% auto;background-position:50% 0;background-repeat:repeat;overflow:hidden;clip-path:inset(0 round 12.7% / 5.9%)}

/* vitrine: ao passar o mouse, abrem dois aparelhos do mesmo tamanho do fechado, lado a lado */
.vitrine{grid-template-columns:repeat(auto-fill,minmax(min(100%,430px),1fr))}
.fone-par{gap:14px}
.fone-p{width:190px;height:382.7px}
.fone-p .fone-tela{transform:scale(.47);height:780px}
.fone-p .fone-tela .inv{height:780px}
.fone-par .fone-p{transition:transform .45s cubic-bezier(.3,.7,.2,1)}
.fone-par .fone-p:nth-child(1){transform:translateX(104px)}
.fone-par .fone-p:nth-child(2){transform:translateX(-104px)}
.cartao-fone:hover .fone-par .fone-p,.cartao-fone:focus-within .fone-par .fone-p{transform:translateX(0)}
@media (hover:none){.fone-par{display:none}}

/* faixa de ocasiões: uma esteira só, mais rápida e com espaçamento uniforme */
.faixa-ocasioes{overflow:hidden;white-space:nowrap}
.faixa-ocasioes span{animation:none;display:inline-block;padding:0 34px}
.faixa-trilho{display:inline-flex;width:max-content;animation:esteira 11s linear infinite}
@keyframes esteira{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.faixa-trilho{animation:none}}

/* ===== botão-selo: pulsa e brilha esperando o toque ===== */
.selo-grupo{display:flex;flex-direction:column;align-items:center;gap:10px;position:absolute;left:50%;z-index:6;transform:translateX(-50%)}
.env-abertura>.selo-grupo{top:50%;transform:translate(-50%,-50%)}
.cortina-ab>.selo-grupo{bottom:6.5%}
.abertura>.selo-grupo{position:static;transform:none;margin-top:8px}
.selo-btn{--w:136px;position:relative;width:var(--w);border:0;background:none;padding:0;cursor:pointer;animation:pulso-selo 1.9s ease-in-out infinite;-webkit-tap-highlight-color:transparent}
.selo-btn img{width:100%;height:auto;display:block;filter:drop-shadow(0 6px 9px rgba(40,25,10,.38));pointer-events:none;user-select:none}
.selo-btn .ini{position:absolute;left:var(--cx);top:var(--cy);transform:translate(-50%,-50%);font-family:var(--fonte,var(--script));font-size:calc(var(--w) * var(--k));line-height:1;color:var(--cor);white-space:nowrap;pointer-events:none;text-shadow:0 1px 0 rgba(255,255,255,.35),0 -1px 1px rgba(0,0,0,.4)}
@keyframes pulso-selo{
  0%,100%{transform:scale(1);filter:drop-shadow(0 0 0 rgba(255,214,120,0))}
  50%{transform:scale(1.07);filter:drop-shadow(0 0 18px rgba(255,214,120,.9))}
}
.toque{margin:0;text-align:center;font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:#a07c3a;animation:pisca 1.9s ease-in-out infinite;text-shadow:0 1px 6px rgba(255,248,232,.8)}
.toque i{display:block;width:9px;height:9px;border-left:1px solid currentColor;border-top:1px solid currentColor;transform:rotate(45deg);margin:0 auto 7px}
.abertura .toque{color:#f3dca4;text-shadow:none}
@keyframes pisca{0%,100%{opacity:.45}50%{opacity:1}}
.inv.abrindo .selo-btn{animation:abre-selo 1.2s ease forwards}
.inv.abrindo .toque{opacity:0;animation:none}
@keyframes abre-selo{
  0%{transform:scale(1.05);filter:drop-shadow(0 0 14px rgba(255,214,120,.8))}
  45%{transform:scale(1.18);filter:drop-shadow(0 0 34px rgba(255,214,120,1)) brightness(1.15)}
  100%{transform:scale(1.5);opacity:0;filter:drop-shadow(0 0 40px rgba(255,214,120,.9))}
}
@media (prefers-reduced-motion:reduce){.selo-btn,.toque{animation:none}}
.env-abertura.cortina-ab>.selo-grupo{top:auto;bottom:6.5%;transform:translateX(-50%)}

/* ===== planos: três cartões, o do meio em destaque ===== */
.planos{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:20px;align-items:stretch;max-width:1040px;margin:0 auto}
.plano{position:relative;background:#fff;color:var(--tinta);border-radius:22px;padding:30px 24px 26px;display:flex;flex-direction:column;gap:12px;border:1px solid rgba(255,255,255,.18)}
.plano h3{font-family:var(--serif);font-size:1.6rem;font-weight:500;color:var(--floresta);margin:0}
.plano-frase{margin:0;color:var(--suave);font-size:.92rem;min-height:2.6em}
.plano-preco{display:flex;flex-direction:column;gap:2px;padding:8px 0 4px}
.plano-preco b{font:500 2.5rem/1.1 var(--serif);color:var(--floresta)}
.plano-preco small{font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--suave)}
.plano-lista{list-style:none;margin:6px 0 10px;padding:0;display:grid;gap:9px;font-size:.92rem}
.plano-lista li{position:relative;padding-left:26px;color:#33443a}
.plano-lista li::before{content:'✓';position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50%;background:#efe6cf;color:#8a6a2f;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.plano-cta{margin-top:auto;text-align:center;display:block}
.plano-nota{margin:0;font-size:.8rem;color:var(--suave);border-top:1px dashed var(--linha);padding-top:10px}
.plano-destaque{transform:translateY(-14px);padding-top:38px;border:2px solid var(--champagne);background:linear-gradient(#fffdf6,#fff5df);box-shadow:0 26px 60px rgba(0,0,0,.38)}
.plano-selo{position:absolute;top:-15px;left:50%;transform:translateX(-50%);background:var(--champagne);color:#2b2110;font-weight:700;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;padding:7px 18px;border-radius:999px;white-space:nowrap}
.plano-cta-ouro{background:linear-gradient(135deg,#d9b974,#c19a52);color:#2b2110;box-shadow:0 8px 20px rgba(193,154,82,.45);font-size:1rem;padding:16px 28px}
.plano-cta-ouro:hover{background:linear-gradient(135deg,#e4c785,#caa45e)}
.alterna{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#efe7d3;border-radius:14px;padding:5px}
.alterna button{border:0;border-radius:10px;padding:9px 6px;background:transparent;cursor:pointer;font:600 .78rem var(--sans);color:var(--floresta);display:flex;flex-direction:column;gap:2px;align-items:center}
.alterna button b{font:500 1.05rem var(--serif)}
.alterna button[aria-pressed=true]{background:var(--floresta);color:var(--marfim);box-shadow:0 4px 10px rgba(31,58,46,.3)}
.plano-exclusivo{background:#fff}
.plano-exclusivo .plano-lista li:nth-child(-n+3){font-weight:600;color:var(--floresta)}
.garantias{list-style:none;display:flex;gap:10px 26px;flex-wrap:wrap;justify-content:center;margin:30px 0 0;padding:0;color:#d5ddd8;font-size:.9rem}
.garantias li::before{content:'✓ ';color:var(--champagne)}
@media(max-width:900px){
  .planos{grid-template-columns:1fr;max-width:460px}
  .plano-destaque{order:-1;transform:none;margin-top:14px}
}
.secao.escura .plano h3{color:var(--floresta)}
.secao.escura .plano-preco b{color:var(--floresta)}
@media(max-width:560px){.marca span{font-size:1.45rem;white-space:nowrap}.topo{padding:10px 14px}.menu{gap:10px}.menu a{font-size:.78rem}}

/* ===== selo e iniciais viram UM só objeto: a mesma camada pulsa, então nunca saem do compasso ===== */
.selo-btn{animation:none;filter:none}
.selo-conj{position:relative;display:block;width:100%;will-change:transform;transform-origin:50% 50%;backface-visibility:hidden;animation:pulso-conj 1.9s ease-in-out infinite}
.selo-conj img{display:block;width:100%;height:auto;filter:drop-shadow(0 6px 9px rgba(40,25,10,.38))}
.selo-btn .ini{position:absolute;inset:0;left:0;top:0;transform:translateY(calc(var(--cy) - 50%));display:flex;align-items:center;justify-content:center;pointer-events:none;font-size:calc(var(--w) * var(--k));line-height:1;font-family:var(--fonte,var(--script));color:var(--cor);white-space:nowrap;text-shadow:0 1px 0 rgba(255,255,255,.35),0 -1px 1px rgba(0,0,0,.4)}
.selo-btn::before{content:'';position:absolute;inset:-22%;border-radius:50%;background:radial-gradient(circle,rgba(255,214,120,.65),rgba(255,214,120,0) 66%);opacity:0;pointer-events:none;animation:aura-selo 1.9s ease-in-out infinite}
@keyframes pulso-conj{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@keyframes aura-selo{0%,100%{opacity:0}50%{opacity:1}}
.inv.abrindo .selo-btn{animation:none}
.inv.abrindo .selo-conj{animation:abre-conj 1.2s ease forwards}
.inv.abrindo .selo-btn::before{animation:aura-abre 1.2s ease forwards}
@keyframes abre-conj{0%{transform:scale(1.05);opacity:1}45%{transform:scale(1.2);opacity:1}100%{transform:scale(1.55);opacity:0}}
@keyframes aura-abre{0%{opacity:.7}45%{opacity:1}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.selo-conj,.selo-btn::before{animation:none}}

/* ===== programação interativa: a flor desce e revela ===== */
.tl{padding:30px 0 40px}
.tl::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;background:#e8dbb9;transform:translateX(-.5px)}
.tl-eixo::before{display:none}
.tl-item{min-height:104px;margin:40px 0}
.tl-fill{position:absolute;left:50%;top:0;width:2px;margin-left:-1px;height:calc(var(--p,0) * 100%);background:linear-gradient(#e3c987,#b08a43);border-radius:2px;z-index:0}
.tl-guia{position:absolute;left:50%;top:calc(var(--p,0) * 100%);width:38px;height:38px;margin:-19px 0 0 -19px;z-index:3;
  transform:rotate(calc(var(--p,0) * 720deg));filter:drop-shadow(0 0 8px rgba(255,214,120,.9));pointer-events:none}
.guia-svg{width:100%;height:100%;display:block}
.guia-svg ellipse{fill:#fbefd0;stroke:#b08a43;stroke-width:1}
.guia-svg .miolo{fill:#b08a43;stroke:none}
.tl-eixo i{transition:background .5s,transform .5s}
.tl.tl-anima .tl-item .tl-txt{opacity:0;transform:translateX(34px);transition:opacity .7s ease,transform .7s ease}
.tl.tl-anima .tl-item:nth-of-type(even) .tl-txt{transform:translateX(-34px)}
.tl.tl-anima .tl-item .tl-ico{opacity:0;transform:scale(.55) rotate(-60deg);transition:opacity .7s ease .12s,transform .8s cubic-bezier(.2,.8,.2,1) .12s}
.tl.tl-anima .tl-item.vis .tl-txt{opacity:1;transform:none}
.tl.tl-anima .tl-item.vis .tl-ico{opacity:1;transform:none}
.tl.tl-anima .tl-item.vis .tl-eixo i{background:#b08a43;transform:rotate(45deg) scale(1.25)}
@media (prefers-reduced-motion:reduce){.tl.tl-anima .tl-item .tl-txt,.tl.tl-anima .tl-item .tl-ico{opacity:1;transform:none}.tl-guia{transform:none}}

/* ===== selo RSVP no meio do convite ===== */
.selo-inline{position:static;transform:none;margin:16px auto 0}
.selo-inline .selo-btn{--w:118px}
.selo-btn.ini-serif .ini{font-family:var(--serif);font-weight:600;letter-spacing:.12em}
.rsvp-intro{margin:0 auto 6px;max-width:300px;opacity:.92}
.inv .toque{color:var(--c-dest)}
/* o selo do meio da página não herda a animação de abertura da capa */
.inv.abrindo .selo-inline .selo-conj{animation:pulso-conj 1.9s ease-in-out infinite}
.inv.abrindo .selo-inline .selo-btn::before{animation:aura-selo 1.9s ease-in-out infinite}
.inv.abrindo .selo-inline .toque{opacity:1;animation:pisca 1.9s ease-in-out infinite}
dialog.rsvp-dialog .opcoes{flex-direction:column;gap:8px}
dialog.rsvp-dialog .opcoes label{text-align:left;padding:11px 14px}
dialog.rsvp-dialog .btn{background:var(--c-dest);color:#1b2a22;width:100%;padding:15px}

/* ===== modelo Renda e Ouro ===== */
.inv.tema-renda{--c-fundo:#1b1109;--c-texto:#eadcc4;--c-dest:#d6a94f;--c-apoio:#8b6a30;--c-card:#2a1b10;background:#1b1109;color:#eadcc4}
.inv.tema-renda section{padding:34px 20px}
.inv.tema-renda .tl::before{background:#5b4423}
.inv.tema-renda .tl-eixo i{background:#1b1109;border-color:#d6a94f}
.inv.tema-renda .env-enfeite span{background:#8b6a30}
.inv.tema-renda .env-enfeite i{border-color:#d6a94f}
.inv.tema-renda .env-mapa{background:#2a1b10;border-color:#8b6a30}
.inv.tema-renda .medalhao path,.inv.tema-renda .medalhao ellipse{stroke:#d6a94f}
.inv.tema-renda .medalhao .miolo{fill:#8b6a30}
.inv.tema-renda .env-nome,.inv.tema-renda .env-script,.inv.tema-renda .tl-hora{color:#e0b85f}
.inv.tema-renda .btn{background:#d6a94f;color:#241609}
.inv.tema-renda .raspa3 .raspa{border-color:#8b6a30}
.inv.tema-renda .raspa-data{color:#e0b85f}
.inv.tema-renda .toque{color:#d6a94f}
dialog.rsvp-dialog{background:var(--c-fundo)}

/* capa com a foto do casal */
.inv .rd-capa{position:relative;min-height:max(100%,560px);display:flex;align-items:flex-end;justify-content:center;padding:0!important;overflow:hidden}
.rd-foto{position:absolute;inset:0;background-size:cover;background-position:center 28%}
.rd-veu{position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,17,9,.1) 30%,rgba(27,17,9,.86) 82%,#1b1109 100%)}
.rd-textos{position:relative;z-index:2;text-align:center;padding:0 22px 60px}
.rd-data{margin:12px 0 0;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:#d6a94f}
.rd-rolar{position:absolute;left:50%;bottom:18px;z-index:2;width:18px;height:18px;margin-left:-9px;border-right:1.5px solid #d6a94f;border-bottom:1.5px solid #d6a94f;transform:rotate(45deg);animation:rolar-seta 1.6s ease-in-out infinite}
@keyframes rolar-seta{0%,100%{opacity:.3;transform:translateY(0) rotate(45deg)}50%{opacity:1;transform:translateY(8px) rotate(45deg)}}

/* abertura: envelope de renda */
@property --r{syntax:'<percentage>';inherits:false;initial-value:0%}
.renda-ab{background:#120a05}
.rd-env{position:absolute;top:0;left:50%;height:100%;min-width:100%;aspect-ratio:800/1354;transform:translateX(-50%);perspective:1500px}
.rd-env>*{position:absolute;inset:0}
.rd-interior{z-index:1;clip-path:polygon(0 0,100% 0,100% 26.4%,50% 52.1%,0 26.4%);background:radial-gradient(circle at 50% 30%,#3a2616,#160d07 75%)}
.rd-carta{z-index:2;left:13%;right:13%;top:7%;bottom:auto;height:62%;border-radius:6px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.6),0 0 0 3px #d6a94f;transform:translateY(44%);transition:transform 1.3s cubic-bezier(.2,.8,.2,1) 2.7s,box-shadow 1s}
.rd-carta img{width:100%;height:100%;object-fit:cover;display:block}
.rd-corpo{z-index:3;background:url(../modelos/renda/envelope.webp) center/100% 100% no-repeat;clip-path:polygon(0 26.4%,50% 52.1%,100% 26.4%,100% 100%,0 100%);transition:transform 1.2s ease 3.4s}
.rd-tampa{z-index:4;transform-origin:50% 0;transform-style:preserve-3d;transition:transform 1.25s cubic-bezier(.55,0,.25,1) 2.0s}
.rd-frente,.rd-verso{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,100% 26.4%,50% 52.1%,0 26.4%);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.rd-frente{background:url(../modelos/renda/envelope.webp) center/100% 100% no-repeat}
.rd-verso{background:linear-gradient(#4a321f,#2a1a0f);transform:rotateX(180deg)}
.rd-bordas{z-index:5;background:url(../modelos/renda/bordas.webp) center/100% 100% no-repeat;filter:brightness(2.1) saturate(1.15) drop-shadow(0 0 5px rgba(255,196,80,.95));mix-blend-mode:screen;opacity:0;
  -webkit-mask-image:radial-gradient(circle at 50% 52%,#000 calc(var(--r) - 22%),transparent var(--r));mask-image:radial-gradient(circle at 50% 52%,#000 calc(var(--r) - 22%),transparent var(--r));pointer-events:none}
.rd-linha{z-index:6;width:100%;height:100%;pointer-events:none;overflow:visible}
.rd-linha path{fill:none;stroke:#ffd27a;stroke-width:3.2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;filter:drop-shadow(0 0 7px rgba(255,200,90,1)) drop-shadow(0 0 16px rgba(255,170,40,.8))}
.rd-faiscas{z-index:7;pointer-events:none}
.rd-faiscas i{position:absolute;width:5px;height:5px;border-radius:50%;background:#fff3c8;box-shadow:0 0 8px 2px rgba(255,214,120,.95);opacity:0}
.rd-selo{position:absolute;z-index:8;left:28.5%;top:36.5%;width:42.5%;height:auto;inset:auto;left:28.5%;top:36.5%;aspect-ratio:1;border:0;background:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.rd-selo::before{content:'';position:absolute;inset:-18%;border-radius:50%;background:radial-gradient(circle,rgba(255,206,100,.7),rgba(255,206,100,0) 64%);opacity:0;animation:aura-selo 1.9s ease-in-out infinite;pointer-events:none}
.rd-selo-conj{display:block;width:100%;height:100%;will-change:transform;animation:pulso-conj 1.9s ease-in-out infinite}
.rd-selo img{width:100%;height:100%;display:block;pointer-events:none}
.rd-toque{position:absolute;left:0;right:0;bottom:5.5%;z-index:9;color:#e0b85f;text-shadow:0 1px 8px rgba(0,0,0,.8)}

/* sequência ao tocar */
.inv.abrindo .rd-selo{pointer-events:none}
.inv.abrindo .rd-selo-conj{animation:selo-derrete 1.1s ease 1.4s forwards}
.inv.abrindo .rd-selo::before{animation:aura-abre 1.6s ease forwards}
.inv.abrindo .rd-toque{opacity:0;animation:none}
.inv.abrindo .rd-bordas{animation:derrete 2.8s ease-out .1s forwards}
.inv.abrindo .rd-linha path{animation:traca 1.3s cubic-bezier(.4,0,.2,1) .1s forwards}
.inv.abrindo .rd-faiscas i{animation:faisca 1.7s ease-out var(--d) forwards}
.inv.abrindo .rd-tampa{transform:rotateX(-178deg)}
.inv.abrindo .rd-carta{transform:translateY(0)}
.inv.abrindo .rd-corpo{transform:translateY(8%)}
@keyframes derrete{0%{--r:0%;opacity:1}58%{--r:175%;opacity:1}78%{--r:175%;opacity:.9}100%{--r:175%;opacity:0}}
@keyframes traca{0%{stroke-dashoffset:1;opacity:1}70%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:0}}
@keyframes selo-derrete{0%{transform:scale(1);opacity:1;filter:brightness(1)}40%{transform:scale(1.14);opacity:1;filter:brightness(1.5)}100%{transform:scale(1.35);opacity:0;filter:brightness(2)}}
@keyframes faisca{0%{opacity:0;transform:translate(0,0) scale(.4)}25%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1)}}
@media (prefers-reduced-motion:reduce){.rd-selo-conj,.rd-selo::before,.rd-rolar{animation:none}}
/* capa da Renda e Ouro: nomes mais legíveis sobre a foto */
.rd-veu{background:linear-gradient(180deg,rgba(27,17,9,.05) 18%,rgba(27,17,9,.6) 58%,rgba(27,17,9,.93) 84%,#1b1109 100%)}
.inv.tema-renda .rd-textos .env-nome{font-size:3.5rem;text-shadow:0 2px 14px rgba(0,0,0,.65)}
.inv.tema-renda .rd-textos .env-com{color:#f0d9a2;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.inv.tema-renda .rd-textos .env-peq{color:#f0e2c6;text-shadow:0 1px 8px rgba(0,0,0,.7)}

/* ===== Renda e Ouro: elementos de ouro do dono no lugar de traços e losangos ===== */
.inv.tema-renda .env-enfeite{height:44px;margin:4px auto 14px;max-width:300px;background:url(../elementos/0021.svg) center/contain no-repeat}
.inv.tema-renda .env-enfeite span,.inv.tema-renda .env-enfeite i{display:none}
.inv.tema-renda .orn-nomes{display:block;width:min(270px,76%);margin:6px auto 0}
.inv.tema-renda .tl::before{background:linear-gradient(transparent,#8b6a30 6%,#8b6a30 94%,transparent)}
.inv.tema-renda .tl-eixo i,.inv.tema-renda .tl-item.vis .tl-eixo i{width:34px;height:28px;border:0;background:url(../elementos/0014.svg) center/contain no-repeat;transform:none;opacity:.45;transition:opacity .5s,filter .5s}
.inv.tema-renda .tl-item.vis .tl-eixo i{opacity:1;filter:drop-shadow(0 0 6px rgba(255,200,90,.9))}
.inv.tema-renda .tl-eixo{z-index:1}
.inv.tema-renda .tl-guia svg{display:none}
.inv.tema-renda .tl-guia{background:url(../elementos/0013.svg) center/contain no-repeat;width:54px;height:30px;margin:-15px 0 0 -27px;transform:none;filter:drop-shadow(0 0 9px rgba(255,205,100,1))}
.inv.tema-renda .env-data{background:url(../elementos/0018.svg) center/100% auto no-repeat;padding-top:64px;padding-bottom:64px}
.inv.tema-renda .env-loc{background:url(../elementos/0023.svg) center/100% 100% no-repeat;padding:54px 40px 46px;margin:10px auto 22px;max-width:380px}
.inv.tema-renda .env-loc .env-mapa{background:#1b1109}
.inv.tema-renda .assinatura::before{content:'';display:block;height:46px;background:url(../elementos/0011.svg) center/contain no-repeat;margin-bottom:12px}
.inv.tema-renda .rsvp-intro::before{content:'';display:block;height:40px;background:url(../elementos/0012.svg) center/contain no-repeat;margin-bottom:8px}
.inv.tema-renda .contagem.script div+div::before{content:'';width:8px}
.inv.tema-renda section h2{margin-bottom:.15em}
/* ajustes dos elementos: moldura da data sem cobrir os cartões, moldura do local com folga para o mapa */
.inv.tema-renda .env-data{background:url(../elementos/0018.svg) center/min(100%,380px) auto no-repeat;min-height:440px;display:flex;flex-direction:column;justify-content:center;padding:70px 46px}
.inv.tema-renda .env-data .raspa3{max-width:250px;gap:7px}
.inv.tema-renda .env-data .raspa3 .raspa{height:116px}
.inv.tema-renda .env-data h2{margin-top:0}
.inv.tema-renda .env-loc{padding:84px 78px 70px;max-width:420px}
.inv.tema-renda .env-loc .env-mapa{max-width:none;margin:12px auto}
.inv.tema-renda .env-loc .env-mapa iframe{height:170px}
.inv.tema-renda .env-loc .env-texto{font-size:.88rem;line-height:1.5}
.inv.tema-renda .env-data{background:none;min-height:0;display:block;padding:34px 20px}
.inv.tema-renda .env-data .raspa3{max-width:340px;gap:10px}
.inv.tema-renda .env-data .raspa3 .raspa{height:150px}
.inv.tema-renda .env-loc{padding:118px 76px 84px}
.inv.tema-renda .env-loc{padding:158px 76px 90px}
/* moldura do local: a imagem não é esticada; o bloco tem a proporção dela e o conteúdo fica no miolo */
.inv.tema-renda .env-loc{background:url(../elementos/0023.svg) center/100% 100% no-repeat;aspect-ratio:1.12/1;max-width:360px;padding:0 14%;display:flex;flex-direction:column;justify-content:center;align-items:center}
.inv.tema-renda .env-loc .env-texto{font-size:.8rem;line-height:1.4;margin:0}
.inv.tema-renda .env-loc .env-mapa{width:100%;margin:8px 0}
.inv.tema-renda .env-loc .env-mapa iframe{height:112px}
.inv.tema-renda .env-loc .btn{padding:9px 16px;font-size:.78rem}
.inv.tema-renda .env-loc p{margin:0}
/* moldura só no endereço (o miolo dela é pequeno); o mapa fica logo abaixo, sem sobrepor */
.inv.tema-renda .env-loc{background:none;aspect-ratio:auto;max-width:none;padding:0;display:block}
.inv.tema-renda .env-loc .env-texto{background:url(../elementos/0023.svg) center/100% 100% no-repeat;aspect-ratio:1.12/1;width:min(310px,88%);margin:0 auto;padding:0 20%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.82rem;line-height:1.45;text-align:center}
.inv.tema-renda .env-loc .env-mapa{max-width:330px;margin:14px auto 12px}
.inv.tema-renda .env-loc .env-mapa iframe{height:190px}
.inv.tema-renda .env-loc .btn{padding:12px 24px;font-size:.88rem}

/* convite formal do Renda e Ouro: foto do casal e a frase antes da data */
.inv.tema-renda .rd-convite{padding:30px 22px 8px}
.rd-moldura-foto{position:relative;margin:0 auto;max-width:330px;padding:7px;border:1px solid #8b6a30;border-radius:6px;background:#1b1109;box-shadow:0 14px 34px rgba(0,0,0,.55),0 0 0 4px rgba(214,169,79,.18)}
.rd-moldura-foto img{display:block;width:100%;height:auto;max-height:430px;object-fit:cover;border-radius:3px}
.rd-frase{font-family:var(--serif);font-size:1.12rem;line-height:1.7;color:#eadcc4;max-width:310px;margin:0 auto;font-style:italic}

/* frase formal com espaço e acabamento */
.inv.tema-renda .rd-convite{padding:34px 22px 18px}
.rd-bloco-frase{margin:46px auto 0;max-width:330px;text-align:center}
.rd-orn-topo,.rd-orn-base{height:54px;margin:0 auto;max-width:300px}
.rd-orn-topo{background:url(../elementos/0016.svg) center/contain no-repeat;margin-bottom:18px}
.rd-orn-base{background:url(../elementos/0021.svg) center/contain no-repeat;margin-top:22px}
.rd-pre{font-family:var(--script);font-size:1.7rem;color:#e0b85f;margin:0 0 14px;line-height:1.1}
.inv.tema-renda .rd-frase{font-size:1.1rem;line-height:2;max-width:300px;margin:0 auto;letter-spacing:.01em;color:#f1e4cb;font-style:normal;font-weight:400}
.inv.tema-renda .rd-frase::first-letter{font-family:var(--script);font-size:2.9rem;line-height:.7;color:#e0b85f;padding-right:2px}
.rd-assina{font-family:var(--script);font-size:2.2rem;color:#e0b85f;margin:8px 0 0;line-height:1.2}
.inv.tema-renda .rd-convite + .env-data{padding-top:48px}

/* foto sem moldura: as bordas se dissolvem suavemente no fundo */
.rd-moldura-foto{padding:0;border:0;border-radius:0;background:none;box-shadow:none;max-width:360px}
.rd-moldura-foto img{max-height:470px;border-radius:0;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 11%,#000 86%,transparent 100%),linear-gradient(to right,transparent 0,#000 11%,#000 89%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to bottom,transparent 0,#000 11%,#000 86%,transparent 100%),linear-gradient(to right,transparent 0,#000 11%,#000 89%,transparent 100%);
  mask-composite:intersect}

/* ===== fecho do convite depois da confirmação ===== */
.fecho{position:absolute;left:5.5%;top:2.2%;width:89%;height:95.6%;border-radius:12.7% / 5.9%;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 30px;
  background:radial-gradient(circle at 50% 38%,#33210f,#150c05 72%);color:#eadcc4;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility 0s linear .9s}
.fecho.on{opacity:1;visibility:visible;transition:opacity .9s ease}
.fecho-orn{width:min(260px,80%);height:54px;background:url(../elementos/0016.svg) center/contain no-repeat;margin-bottom:26px}
.fecho-frase{font-family:var(--script);font-size:3.2rem;line-height:1.1;color:#e0b85f;margin:0 0 14px;text-shadow:0 0 22px rgba(224,184,95,.35)}
.fecho-sub{margin:0 0 34px;font-size:1rem;color:#d9c9ac}
.fecho-nomes{font-family:var(--script);font-size:1.9rem;color:#e0b85f;margin:0}
.fecho-data{margin:6px 0 30px;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:#a58a55}
.fecho-reabrir{border:0;background:none;color:#a58a55;font:500 .8rem var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:underline;text-underline-offset:5px;cursor:pointer;padding:8px}
@media (max-width:700px){.moldura.publicada .fecho{position:fixed;inset:0;width:auto;height:auto;border-radius:0;z-index:50}}

/* ===== fecho: o envelope volta aberto, a carta desce, a tampa fecha e o selo é carimbado ===== */
.fecho{overflow:hidden}
.fecho-env{position:absolute;inset:0;z-index:4;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility 0s linear .8s;background:#120a05;overflow:hidden;border-radius:inherit}
.fecho-env.in{opacity:1;visibility:visible;transition:opacity .8s ease}
.fecho-env .rd-env{position:absolute;top:0;left:50%;height:100%;min-width:100%;aspect-ratio:800/1354;transform:translateX(-50%);perspective:1500px}
.fecho-env .rd-env>*{position:absolute;inset:0}
.fecho-env .rd-carta{transform:translateY(0);transition:transform 1.15s cubic-bezier(.5,0,.2,1) 0s}
.fecho-env .rd-corpo{transform:translateY(8%);transition:transform .9s ease .55s}
.fecho-env .rd-tampa{transform:rotateX(-178deg);transition:transform 1.3s cubic-bezier(.55,0,.25,1) .75s}
.fecho-env .rd-selo{opacity:0;transform:scale(1.9)}
.fecho-env .rd-selo-conj,.fecho-env .rd-selo::before{animation:none}
.fecho-env.fechando .rd-carta{transform:translateY(44%)}
.fecho-env.fechando .rd-corpo{transform:none}
.fecho-env.fechando .rd-tampa{transform:rotateX(0)}
.fecho-env.fechando .rd-selo{animation:carimbo .75s cubic-bezier(.2,1.25,.3,1) 2.05s forwards}
.fecho-env.fechando .rd-selo::before{animation:aura-abre 1.4s ease 2.1s forwards}
.fecho-env.fechando .rd-bordas{animation:derrete 2.4s ease-out 2.2s forwards}
.fecho-env.fechando .rd-linha path{animation:traca 1.3s cubic-bezier(.4,0,.2,1) 2.1s forwards}
@keyframes carimbo{0%{opacity:0;transform:scale(1.9)}55%{opacity:1;transform:scale(.93)}100%{opacity:1;transform:scale(1)}}
.fecho-env .fecho-toque{position:absolute;left:0;right:0;bottom:5.5%;z-index:9;margin:0;color:#e0b85f;opacity:0;animation:none;text-shadow:0 1px 8px rgba(0,0,0,.8)}
.fecho-env.fechando .fecho-toque{animation:pisca 1.9s ease-in-out 3.2s infinite;opacity:.5}
.fecho-env.fixo *{transition:none!important;animation-duration:.01s!important;animation-delay:0s!important}
.fecho-env .rd-env>*:not(.rd-selo){position:absolute;inset:0}
.fecho-env .rd-env>.rd-selo{position:absolute;inset:auto;left:28.5%;top:36.5%;width:42.5%;aspect-ratio:1;height:auto}
.fecho.tem-env .fecho-orn,.fecho.tem-env .fecho-frase,.fecho.tem-env .fecho-sub,.fecho.tem-env .fecho-nomes,.fecho.tem-env .fecho-data,.fecho.tem-env .fecho-reabrir{transition:opacity .6s ease}
.fecho.env-aparece .fecho-orn,.fecho.env-aparece .fecho-frase,.fecho.env-aparece .fecho-sub,.fecho.env-aparece .fecho-nomes,.fecho.env-aparece .fecho-data,.fecho.env-aparece .fecho-reabrir{opacity:0}

/* ===== modelo em vídeo: La Casa ===== */
.inv.tema-casa{--c-fundo:#120805;--c-texto:#eadcc4;--c-dest:#e0b85f;--c-apoio:#8b6a30;--c-card:#24120a;background:#120805;color:#eadcc4}
.inv.tema-casa section{padding:34px 20px}
.cv-abertura .cv-veu{position:absolute;inset:0;background:linear-gradient(rgba(10,4,2,.35),rgba(10,4,2,.6))}
.cv-abertura>.selo-grupo{top:56%;transform:translate(-50%,-50%);z-index:6}
.cv-tela{position:relative;width:100%;overflow:hidden;background:#000}
.cv-canvas{position:absolute;left:0;top:0;width:1080px;height:1920px;transform-origin:0 0}
.cv-video{position:absolute;inset:0;width:1080px;height:1920px;object-fit:cover;background:#000}
.cv-clip{position:absolute;left:0;top:0;width:1080px;height:715px;overflow:hidden;pointer-events:none}
.cv-lay{position:absolute;left:0;width:1080px;opacity:0;pointer-events:none;transition:opacity .5s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.cv-lay.on{opacity:1;transform:none}
.cv-lay.post{opacity:0;transform:none;transition:opacity .45s ease}
.cv-lay:not(.on):not(.post){transform:translateY(28px)}
/* título: sai de dentro do envelope, sobe e para */
.cv-titulo{top:536px;text-align:center;font-family:'Marcellus',serif;line-height:1.08;transform-origin:50% 100%;transition:opacity .5s ease,transform 1.2s cubic-bezier(.2,.75,.2,1)}
.cv-titulo:not(.on):not(.post){transform:translateY(190px) scale(.88);opacity:0}
.cv-titulo .cv-l,.cv-final,.cv-nome{background:linear-gradient(180deg,#fff0a6 0%,#f9c944 52%,#d58a1c 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.cv-titulo .cv-l{white-space:nowrap;font-size:76px;filter:drop-shadow(0 0 1px #000) drop-shadow(0 2px 0 #1a0a00) drop-shadow(0 0 7px rgba(0,0,0,.65))}
/* foto no anel e nome na faixa */
.cv-foto{left:211px;top:402px;width:660px;height:660px;border-radius:50%;overflow:hidden;box-shadow:inset 0 0 30px 8px rgba(0,0,0,.35)}
.cv-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 24%;display:block}
.cv-nome{top:1132px;text-align:center;font:800 92px/1.1 'Cinzel',serif;filter:drop-shadow(0 3px 0 #3d1a04) drop-shadow(0 0 16px rgba(255,170,40,.55))}
/* frase do cofre */
.cv-cofre{text-align:center;font-family:'Oswald',sans-serif;font-weight:700;color:#ffe2a3;line-height:1;white-space:nowrap;
  text-shadow:0 0 14px rgba(255,190,80,.95),0 0 36px rgba(255,150,30,.7),0 3px 0 rgba(90,40,0,.6)}
/* cenas da placa */
.cv-cena{top:0;height:1920px}
.cv-blk{position:absolute;left:0;width:1080px;top:800px;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;color:#4f2f12;font-family:'Montserrat',sans-serif}
.cv-lab{font:700 56px 'Montserrat',sans-serif;letter-spacing:.36em;margin-right:-.36em;line-height:1.2}
.cv-num{font:900 340px/.95 'Montserrat',sans-serif;letter-spacing:-.03em}
.cv-sub{font:700 76px 'Montserrat',sans-serif;line-height:1.15}
.cv-big{font:900 104px/1.08 'Montserrat',sans-serif;text-align:center;white-space:nowrap}
.cv-med{font:700 50px 'Montserrat',sans-serif;letter-spacing:.14em;margin-top:10px;text-align:center;line-height:1.3;white-space:nowrap}
/* final */
.cv-medalhao{left:350px;top:732px;width:380px;height:380px}
.cv-anel{width:380px;height:380px;border-radius:50%;box-sizing:border-box;padding:24px;
  background:conic-gradient(from 30deg,#fff2b0,#f6c451,#a8670f,#f6c451,#fff2b0,#d9992a,#8a520a,#f6c451,#fff2b0);
  box-shadow:0 0 34px 6px rgba(255,176,40,.55),0 10px 30px rgba(0,0,0,.55),inset 0 0 0 3px rgba(255,248,210,.7)}
.cv-anel img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:50% 24%;display:block;box-shadow:inset 0 0 22px 4px rgba(0,0,0,.45)}
.cv-final{top:1140px;text-align:center;font:800 96px/1.1 'Cinzel',serif;filter:drop-shadow(0 3px 0 #3d1a04) drop-shadow(0 0 16px rgba(255,170,40,.55))}
/* faixas vermelhas nos cantos (cobrem a marca do fundo) */
.cv-faixa{position:absolute;width:300px;height:62px;background:#ed1c24;display:flex;align-items:center;justify-content:center;gap:9px;
  font:400 35px 'Anton','Impact',sans-serif;color:#111;white-space:nowrap}
.cv-faixa b{font-weight:400;background:#fff;color:#ed1c24;font-size:24px;padding:1px 6px;line-height:30px}
.cv-fa{left:18px;top:96px;clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%)}
.cv-fb{left:762px;top:1786px;clip-path:polygon(8% 0,100% 0,100% 100%,8% 100%,0 50%)}
.cv-rodape{padding:14px 16px 0;text-align:center}
.cv-dica{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#a58a55;margin:12px 0 0}
.cv-replay[hidden]{display:none}
.cv-abertura .toque{color:#f3dca4}

/* La Casa: capa-envelope, fecho com o pôster, pausa por toque */
.cv-abertura{overflow:hidden}
.cv-selo{position:absolute;left:50%;top:44.6%;width:30%;aspect-ratio:1;transform:translate(-50%,-50%);border:0;background:none;padding:0;cursor:pointer;border-radius:50%;z-index:6;-webkit-tap-highlight-color:transparent}
.cv-selo i{position:absolute;inset:-6%;border-radius:50%;background:radial-gradient(circle,rgba(255,214,120,.0) 52%,rgba(255,214,120,.75) 68%,rgba(255,214,120,0) 76%);animation:aura-selo 1.9s ease-in-out infinite;opacity:0}
.cv-selo{animation:pulso-conj 1.9s ease-in-out infinite}
.cv-toque{position:absolute;left:0;right:0;bottom:7%;z-index:7;color:#f6e3b4;text-shadow:0 1px 8px rgba(0,0,0,.8)}
.inv.abrindo .cv-selo{animation:none;opacity:0}
.cv-fecho{position:absolute;inset:0;z-index:20;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 0s linear 1s;background:#000}
.cv-fecho img,.cv-fecho video{width:100%;height:100%;object-fit:cover;display:block}
.cv-tela.fechou .cv-fecho{opacity:1;visibility:visible;transition:opacity 1s ease}
.cv-tela.fechou .cv-faixa{opacity:0}
.cv-faixa{transition:opacity .6s}
.cv-pausa{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s}
.cv-pausa::before{content:'';width:220px;height:220px;border-radius:50%;background:rgba(0,0,0,.45) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path fill='white' d='M38 28v44l36-22z'/></svg>") center/60% no-repeat}
.cv-tela.pausado .cv-pausa{opacity:1}
.cv-tela{cursor:pointer}
.cv-selo{left:35%;top:calc(46.5% - 15%*0);transform:none;margin:0;width:30%;height:auto;aspect-ratio:1;transform-origin:50% 50%}
.cv-selo{top:calc(46.5% - 22%)}
.cv-selo{top:calc(46.5% - 22% + 13.5%)}
.hover-img{width:360px;height:780px;object-fit:cover;display:block}
/* capa-envelope sem as faixas escuras do topo e da base (recortadas); a imagem preenche a tela inteira */
.cv-abertura{background-size:cover!important;background-position:center top!important}
.cv-selo{top:calc(46.5% - 22% + 13.5% - 1.5%)}

/* ===== La Casa de Papel: o envelope abre de verdade (tampa 3D com o selo, luz por dentro, corpo desce, vídeo por baixo) ===== */
.cv-abertura{background:radial-gradient(ellipse at 50% 45%,#5a0a12 0%,#2a0509 55%,#120204 100%);background:radial-gradient(ellipse at 50% 45%,#5a0a12 0%,#2a0509 55%,#120204 100%)!important;overflow:hidden;transition:background 1s ease 1.8s,opacity .9s ease,visibility 0s linear .9s}
.cv-env{position:absolute;left:0;top:50%;width:100%;aspect-ratio:1024/2226;transform:translateY(-50%);perspective:1700px;transition:transform 1.3s cubic-bezier(.5,0,.2,1) 1.7s}
.cv-env>*{position:absolute;inset:0}
.cv-int{clip-path:polygon(0 0,100% 0,100% 17.4%,50% 46.9%,0 17.4%);background:radial-gradient(ellipse at 50% 100%,rgba(255,190,90,.95),rgba(190,60,30,.8) 38%,#2a0508 78%);opacity:.0;transition:opacity .9s ease .55s}
.cv-corpo{background:url(../modelos/casa/env-corpo.webp) center/100% 100% no-repeat;clip-path:url(#cvc);filter:drop-shadow(0 18px 24px rgba(0,0,0,.55));transition:transform 1.15s cubic-bezier(.6,0,.9,.4) 1.75s}
.cv-flapw{transform-origin:50% 0;transform-style:preserve-3d;transition:transform 1.35s cubic-bezier(.55,.05,.25,1) .5s}
.cv-flapf,.cv-flapb{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.cv-flapf{background:url(../modelos/casa/env-tampa.webp) center/100% 100% no-repeat;clip-path:url(#cvf);filter:drop-shadow(0 10px 14px rgba(0,0,0,.45))}
.cv-flapb{clip-path:polygon(0 0,100% 0,100% 17.4%,50% 46.9%,0 17.4%);background:linear-gradient(#3b070d,#7a1019);transform:rotateX(180deg)}
.cv-selobtn{position:absolute;left:30.5%;top:37.3%;width:39%;aspect-ratio:1;border:0;background:none;padding:0;cursor:pointer;border-radius:50%;z-index:5;-webkit-tap-highlight-color:transparent;animation:pulso-conj 1.9s ease-in-out infinite}
.cv-selobtn i{position:absolute;inset:-8%;border-radius:50%;background:radial-gradient(circle,rgba(255,214,120,0) 50%,rgba(255,214,120,.85) 66%,rgba(255,214,120,0) 78%);opacity:0;animation:aura-selo 1.9s ease-in-out infinite;pointer-events:none}
.cv-toque{position:absolute;left:0;right:0;bottom:6%;z-index:7;color:#f6e3b4;text-shadow:0 1px 8px rgba(0,0,0,.8);transition:opacity .4s}
/* sequência */
.inv.abrindo .cv-selobtn{animation:none;pointer-events:none}
.inv.abrindo .cv-selobtn i{animation:cv-brilho .6s ease forwards}
@keyframes cv-brilho{0%{opacity:0;transform:scale(.9)}60%{opacity:1;transform:scale(1.25)}100%{opacity:0;transform:scale(1.6)}}
.inv.abrindo .cv-toque{opacity:0}
.inv.abrindo .cv-int{opacity:1}
.inv.abrindo .cv-flapw{transform:rotateX(-178deg)}
.inv.abrindo .cv-corpo{transform:translateY(112%)}
.inv.abrindo .cv-env{transform:translateY(-50%) scale(1.07)}
.inv.abrindo .cv-abertura{background:transparent!important}
.inv.abrindo .cv-int{transition:opacity .5s ease 1.9s;opacity:0}
.inv.abrindo .cv-flapw{transition:transform 1.35s cubic-bezier(.55,.05,.25,1) .5s,opacity .5s ease 1.9s;opacity:0}
.inv.abrindo .cv-int{animation:cv-luz 2.4s ease forwards}
@keyframes cv-luz{0%{opacity:0}30%{opacity:1}75%{opacity:1}100%{opacity:0}}
.cv-abertura{background:none!important}
.cv-fundo{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,#5a0a12 0%,#2a0509 55%,#120204 100%);transition:opacity 1s ease 1.75s}
.inv.abrindo .cv-fundo{opacity:0}
.cv-env{z-index:1}

/* ===== refinamento de luxo: superfície, tipografia, movimento e detalhes do navegador ===== */
:root{--ease-out:cubic-bezier(.16,1,.3,1);--ouro-fio:linear-gradient(90deg,transparent,#d4b483 20%,#f1dfb5 50%,#d4b483 80%,transparent)}
::selection{background:#d4b483;color:#1f3a2e}
html{scrollbar-color:#9bae9b #f8f6ee;scrollbar-width:thin}
body::-webkit-scrollbar{width:10px}body::-webkit-scrollbar-thumb{background:#9bae9b;border-radius:10px;border:2px solid #f8f6ee}
:focus-visible{outline:2px solid #1f3a2e;outline-offset:3px;border-radius:6px}
a{text-underline-offset:4px;text-decoration-thickness:1px}
body{background:#f8f6ee radial-gradient(1200px 520px at 80% -10%,rgba(212,180,131,.16),transparent 70%),radial-gradient(900px 480px at -10% 30%,rgba(155,174,155,.14),transparent 70%) no-repeat}
h1,h2{text-wrap:balance}
.topo{background:rgba(248,246,238,.86);backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1);border-bottom:0;box-shadow:0 1px 0 rgba(31,58,46,.08),0 12px 30px -24px rgba(31,58,46,.35)}
.menu a{position:relative;padding:6px 0;text-decoration:none}
.menu a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ouro-fio);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out)}
.menu a:hover::after{transform:scaleX(1)}
.btn{box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 10px 24px -14px rgba(31,58,46,.7);transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out),background .3s}
.btn:hover{transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,.2) inset,0 16px 30px -14px rgba(31,58,46,.65)}
.btn:active{transform:translateY(0) scale(.98)}
.btn.contorno{box-shadow:none}
.hero2{padding-top:72px}
.hero2 h1{font-size:clamp(2.8rem,6.4vw,5rem);line-height:1.04;letter-spacing:-.01em}
.hero2 .sub{font-size:1.1rem;max-width:30rem;line-height:1.65}
.hero2-fones .fone{transition:transform .9s var(--ease-out)}
.hero2-fones{perspective:1400px}
.faixa-ocasioes{background:transparent;border-block:1px solid rgba(31,58,46,.1);font-family:var(--serif);font-style:italic;font-size:1.05rem;color:#5c6b62}
.secao{padding:96px 0}
.secao.escura{background:radial-gradient(900px 420px at 50% -10%,rgba(212,180,131,.18),transparent 70%),#1f3a2e}
.centro .filete,hr.filete{height:1px;background:var(--ouro-fio);width:min(220px,50%);margin:18px auto 26px}
.cartao,.plano,.pacote{box-shadow:0 1px 0 rgba(31,58,46,.05),0 24px 40px -30px rgba(31,58,46,.45)}
.cartao-fone{background:linear-gradient(180deg,#f1eee3,#ebe7d9);box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 30px 50px -36px rgba(31,58,46,.55);transition:transform .7s var(--ease-out),box-shadow .7s var(--ease-out)}
.cartao-fone:hover{transform:translateY(-6px);box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 40px 60px -34px rgba(31,58,46,.6)}
.nome-modelo{font-family:var(--script);font-size:2rem;letter-spacing:0;color:var(--floresta)}
.tag-modelo{letter-spacing:.2em;font-size:.68rem;color:#8a7a4a}
.plano-destaque{box-shadow:0 0 0 1px #d4b483,0 40px 70px -30px rgba(0,0,0,.55)}
.selo-premium{display:none}
.rodape{background:radial-gradient(700px 300px at 50% 0,rgba(212,180,131,.14),transparent 70%),#1f3a2e}
/* entrada: cada bloco da página sobe e aparece uma vez, escalonado */
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out);transition-delay:var(--d,0s)}
.rv.vis{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.hero2-fones .fone{transition:none}}

/* página de cada modelo (estilo página de produto) */
.pagina-modelo{padding-top:22px}
.pm-topo{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:center;padding:8px 0 40px}
@media(max-width:820px){.pm-topo{grid-template-columns:1fr;gap:26px}}
.pm-galeria{display:flex;justify-content:center}
.pm-fones{width:100%;max-width:560px}
.pm-info h1{font-size:clamp(2.2rem,5vw,3.4rem);margin:8px 0 10px}
.pm-desc{color:var(--suave);font-size:1.05rem;max-width:46ch}
.pm-preco{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:22px 0 4px;padding:16px 0;border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.pm-preco small{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--suave)}
.pm-preco b{font:500 2.4rem/1 var(--serif);color:var(--floresta)}
.pm-preco span{font-size:.82rem;color:var(--suave)}
.pm-acoes{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 14px}
.pm-entrega{font-size:.9rem;color:var(--suave);margin:0;max-width:52ch}
.pm-lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px 28px}
.pm-lista li{position:relative;padding-left:28px;color:#33443a}
.pm-lista li::before{content:'✦';position:absolute;left:0;top:0;color:var(--champagne)}

/* página do modelo: os três aparelhos lado a lado (fechado e duas telas do convite aberto) */
.pm-trio{height:auto;width:auto;display:flex;gap:14px;align-items:flex-start;justify-content:center;cursor:pointer}
.pm-trio figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:10px}
.pm-trio figcaption{font-size:.78rem;color:var(--suave);letter-spacing:.04em}
.pm-par,.pm-par.fone-par{position:static;inset:auto;opacity:1;display:flex!important;gap:14px;pointer-events:none}
.pm-par .fone-p,.pm-par .fone-p:nth-child(1),.pm-par .fone-p:nth-child(2){transform:none}
.pm-topo{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
@media(max-width:1100px){.pm-trio{max-width:100%;overflow-x:auto;justify-content:flex-start;scroll-snap-type:x mandatory;padding-bottom:8px}.pm-trio>*{scroll-snap-align:center;flex:none}}
@media(max-width:820px){.pm-topo{grid-template-columns:1fr}}
@media(max-width:820px){.pm-topo{grid-template-columns:minmax(0,1fr)}}
.pm-galeria,.pm-info{min-width:0}
.pm-trio{max-width:100%}

/* ===== página de produto de cada convite (modelo: Valse, Invitations Studio) ===== */
body.pagina-produto{background:#FBFAF6}
.pagina-produto .rodape,.pagina-produto .proto{display:none}
.pagina-produto .topo{position:sticky;top:12px;margin:14px auto 0;width:calc(100% - 32px);max-width:1120px;border-radius:999px;background:rgba(255,255,255,.94);border:0;padding:10px 12px 10px 26px;box-shadow:0 14px 34px -18px rgba(70,48,12,.35)}
.pagina-produto .menu a{font:500 .7rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#3b352b}
.topo-cta,.pm2-btn{display:inline-block;border-radius:999px;padding:14px 28px;font:600 .72rem var(--sans);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:#fff;background:linear-gradient(180deg,#c9a872,#a98450);box-shadow:0 10px 22px -10px rgba(150,112,50,.7);border:1px solid transparent;transition:transform .2s,box-shadow .2s}
.topo-cta{padding:12px 22px;margin-left:16px;white-space:nowrap}
.topo-cta:hover,.pm2-btn:hover{transform:translateY(-1px)}
.pm2-btn.vazio{background:transparent;color:#a98450;border-color:#d6bf98;box-shadow:none}
.pm2{color:#2b261e;font-family:'Cormorant Garamond',Georgia,serif}
.pm2-wrap{max-width:1040px;margin:0 auto;padding:0 24px}
.pm2-migalha{padding:44px 0 0}
.pm2-migalha a{font:500 .68rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#7a8bb0;text-decoration:none}
.pm2-topo{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center;padding:34px 0 20px}
.pm2-txt{min-width:0}
.pm2-cat{font:500 .68rem var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#a98450}
.pm2 h1{font:400 clamp(2.6rem,6vw,4.2rem)/1.05 'Bodoni Moda',Georgia,serif;letter-spacing:.03em;margin:14px 0 14px;color:#1f1b15}
.pm2-frase{font:italic 400 1.45rem/1.35 'Cormorant Garamond',serif;color:#a98450;margin:0 0 20px}
.pm2-desc{font:400 1.12rem/1.8 'Cormorant Garamond',serif;color:#7b746a;margin:0 0 26px;max-width:46ch}
.pm2-preco{margin:0;font:400 2.1rem/1.1 'Cormorant Garamond',serif;color:#a98450;letter-spacing:.06em;text-transform:uppercase}
.pm2-preco small{font:500 .7rem var(--sans);letter-spacing:.2em;color:#a98450;margin-right:8px}
.pm2-preco b{font-weight:500}
.pm2-uni{margin:6px 0 26px;font:500 .64rem var(--sans);letter-spacing:.22em;text-transform:uppercase;color:#a98450}
.pm2-acoes{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:26px}
.pm2-entrega{display:flex;gap:14px;align-items:flex-start;margin:0;font:400 1rem/1.5 'Cormorant Garamond',serif;color:#7b746a;max-width:46ch}
.pm2-entrega>span:first-child{flex:none;width:40px;height:40px;border-radius:50%;background:#f1e9d9;color:#a98450;display:flex;align-items:center;justify-content:center}
.pm2-entrega b{font:600 .64rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#3b352b}
.pm2-fone{height:auto;width:auto;display:flex;justify-content:center;position:relative;cursor:pointer}
.pm2-fone::before{content:'';position:absolute;inset:-6% -8%;background:radial-gradient(closest-side,rgba(214,185,130,.28),rgba(214,185,130,0));z-index:0}
.pm2-fone .fone{zoom:1.75;position:relative;z-index:1;filter:drop-shadow(0 26px 30px rgba(70,48,12,.28))}
.pm2-trio.fone-par{display:flex!important;justify-content:center;gap:70px;padding:30px 0 70px;position:static;opacity:1}
.pm2-trio .fone-p{zoom:1.12}
.pm2-sec{padding:84px 0}
.pm2-sec.creme{background:#F4EFE6}
.pm2-eyebrow{text-align:center;margin:0 0 12px;font:500 .68rem var(--sans);letter-spacing:.26em;text-transform:uppercase;color:#a98450}
.pm2-h2{font:400 clamp(2rem,4.6vw,3.2rem)/1.15 'Bodoni Moda',Georgia,serif;text-align:center;margin:0 0 40px;color:#1f1b15}
.pm2-h2 em{display:block;font:400 clamp(2.4rem,5.4vw,3.8rem)/1.2 'Pinyon Script','Great Vibes',cursive;color:#a98450;margin-top:4px}
.pm2-sub{text-align:center;max-width:620px;margin:-16px auto 44px;font:400 1.15rem/1.7 'Cormorant Garamond',serif;color:#7b746a}
.pm2-lista{list-style:none;margin:0 auto;padding:0;max-width:860px;display:grid;grid-template-columns:1fr 1fr;gap:0 56px}
.pm2-lista li{position:relative;padding:18px 0 18px 30px;border-bottom:1px solid #e6dccb;font:400 1.22rem/1.35 'Cormorant Garamond',serif;color:#3b352b}
.pm2-lista li::before{content:'✦';position:absolute;left:0;top:19px;color:#c7a56f;font-size:.9rem}
/* planos claros dentro da página de produto */
.pm2 .planos{max-width:1040px;margin:0 auto}
.pm2 .plano{background:#fff;color:#3b352b;border:1px solid #e8dfcf;border-radius:18px;box-shadow:none}
.pm2 .plano h3{font:400 1.45rem 'Bodoni Moda',serif;letter-spacing:.08em;color:#3b352b}
.pm2 .plano-frase{font:italic 400 1.05rem 'Cormorant Garamond',serif;color:#7b746a}
.pm2 .plano-preco b{font:500 2.3rem 'Cormorant Garamond',serif;color:#a98450}
.pm2 .plano-preco small{font:500 .6rem var(--sans);letter-spacing:.2em;color:#a98450}
.pm2 .plano-lista li{font:400 1.08rem/1.4 'Cormorant Garamond',serif;color:#4b443a}
.pm2 .plano-lista li::before{content:'✦';background:none;color:#c7a56f;width:auto;height:auto;font-size:.8rem;border-radius:0}
.pm2 .plano-destaque{border:1.5px solid #c7a56f;background:#fff;box-shadow:0 30px 60px -34px rgba(70,48,12,.45)}
.pm2 .plano-selo{background:#b8935a;color:#fff;font-size:.62rem;letter-spacing:.2em}
.pm2 .plano-cta,.pm2 .plano-cta.btn{border-radius:999px;font:600 .72rem var(--sans);letter-spacing:.2em;text-transform:uppercase;background:transparent;color:#a98450;border:1px solid #d6bf98;box-shadow:none}
.pm2 .plano-cta-ouro{background:linear-gradient(180deg,#c9a872,#a98450)!important;color:#fff!important;border-color:transparent!important;font-size:.72rem!important;padding:16px 28px!important}
.pm2 .alterna button{font-family:var(--sans)}
.pm2 .garantias{color:#7b746a}
/* fecho e rodapé */
.pm2-fecho{text-align:center}
.pm2-orn{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:28px;color:#c7a56f}
.pm2-orn i{display:block;width:110px;height:1px;background:#d9c7a5}
.pm2-orn b{font-size:.6rem}
.pm2-link{margin-left:22px;font:500 .68rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#a98450;text-decoration:none}
.pm2-rodape{background:#F4EFE6;border-top:1px solid #e6dccb;padding:64px 0 48px}
.pm2-rodape-g{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:36px}
.pm2-rodape p{font:400 1.02rem/1.6 'Cormorant Garamond',serif;color:#7b746a;margin:12px 0 0;max-width:34ch}
.pm2-rodape h4{margin:0 0 14px;font:500 .64rem var(--sans);letter-spacing:.26em;text-transform:uppercase;color:#a98450}
.pm2-rodape a{display:block;font:400 1.05rem 'Cormorant Garamond',serif;color:#3b352b;text-decoration:none;margin-bottom:9px}
.pm2-rodape a:hover{color:#a98450}
@media(max-width:900px){
  .pm2-topo{grid-template-columns:minmax(0,1fr);gap:30px}
  .pm2-fone .fone{zoom:1.35}
  .pm2-lista{grid-template-columns:minmax(0,1fr)}
  .pm2-rodape-g{grid-template-columns:1fr 1fr}
  .pm2-trio.fone-par{justify-content:flex-start;gap:20px;overflow-x:auto;padding:20px 24px 50px;scroll-snap-type:x mandatory}
  .pm2-trio .fone-p{flex:none;zoom:1;scroll-snap-align:center}
  .pagina-produto .menu{display:none}
}
.pm2,.pm2 .plano-preco b,.pm2-preco{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
.pm2 .alterna{background:#f4ecda}
.pm2 .alterna button[aria-pressed="true"]{background:linear-gradient(180deg,#c9a872,#a98450);color:#fff}
.pm2 .alterna button{color:#7b6a4a}

/* ===== prévia ao vivo em página inteira: celular = tela cheia; computador = coluna central e o resto do fundo preenchido ===== */
body.pagina-aovivo{overflow:hidden;background:#111}
.pagina-aovivo .topo,.pagina-aovivo .rodape,.pagina-aovivo .proto{display:none}
.av{position:fixed;inset:0;display:flex;justify-content:center;align-items:stretch;overflow:hidden;
  background:radial-gradient(120% 90% at 50% 40%,var(--av1),color-mix(in srgb,var(--av1) 55%,#000) 100%)}
.av-lado{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;pointer-events:none}
.av-lado img{width:min(18vw,220px);height:auto;opacity:.16;filter:saturate(.7)}
.av-lado::after{content:'';width:min(18vw,220px)}
.av .moldura,.av .moldura.cheia{position:relative;z-index:1;flex:none;width:min(100vw,max(400px,calc(100dvh*.5625)));max-width:560px;height:100dvh;min-height:0;margin:0;aspect-ratio:auto;border:0;border-radius:0;background:none;box-shadow:0 0 70px rgba(0,0,0,.35)}
.av .moldura::before,.av .moldura::after{display:none}
.av .moldura .inv{border-radius:0;height:100%}
.av-voltar{position:fixed;top:14px;left:14px;z-index:60;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(20,18,14,.55);color:#fff;text-decoration:none;font-size:1.2rem;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
@media(max-width:700px){
  .av-lado{display:none}
  .av .moldura,.av .moldura.cheia{width:100vw;max-width:none;box-shadow:none}
}

.av .moldura .inv{position:absolute;left:0;top:0;width:100%;height:100%;border-radius:0}
.av-musica{position:fixed;top:14px;right:14px;z-index:60;height:42px;min-width:54px;padding:0 14px;border-radius:999px;border:0;display:flex;align-items:center;justify-content:center;background:rgba(20,18,14,.55);color:#fff;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.av-musica[hidden]{display:none}
.av-musica .eq{display:flex;align-items:flex-end;gap:3px;height:16px}
.av-musica .eq i{width:3px;height:30%;background:currentColor;border-radius:2px}
.av-musica.tocando .eq i{animation:av-eq 1s ease-in-out infinite}
.av-musica.tocando .eq i:nth-child(2){animation-delay:-.3s}.av-musica.tocando .eq i:nth-child(3){animation-delay:-.6s}.av-musica.tocando .eq i:nth-child(4){animation-delay:-.15s}
@keyframes av-eq{0%,100%{height:25%}50%{height:100%}}
@media(prefers-reduced-motion:reduce){.av-musica.tocando .eq i{animation:none;height:70%}}
/* títulos da página de produto em verde floresta */
.pm2 h1,.pm2-h2{color:var(--floresta,#1F3A2E)}

/* fundo próprio do modelo no computador: ocupa a página inteira, com leve movimento; o convite fica por cima, centralizado */
.av.av-img{background:#0b0605}
.av-fundo{position:absolute;inset:-3%;background-position:center;background-size:cover;background-repeat:no-repeat;animation:av-zoom 46s ease-in-out infinite alternate;will-change:transform}
.av-lado[hidden]{display:none}
.av.av-img::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(90% 80% at 50% 45%,rgba(0,0,0,0) 35%,rgba(0,0,0,.55) 100%),linear-gradient(rgba(0,0,0,.22),rgba(0,0,0,.34))}
.av.av-img .moldura,.av.av-img .moldura.cheia{box-shadow:0 0 0 1px rgba(255,255,255,.06),0 0 90px 10px rgba(0,0,0,.55)}
@keyframes av-zoom{from{transform:scale(1)}to{transform:scale(1.07)}}
@media(prefers-reduced-motion:reduce){.av-fundo{animation:none}}
@media(max-width:700px){.av-fundo,.av.av-img::after{display:none}}

.av-fundo.com-video{animation:none;inset:0;overflow:hidden}
.av-fundo video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* botões da prévia: bem visíveis sobre qualquer fundo */
.av-voltar,.av-musica{height:48px;padding:0 20px;border-radius:999px;background:rgba(255,255,255,.95);color:#1f1b15;border:1.5px solid #d4b483;box-shadow:0 8px 24px rgba(0,0,0,.45);font:600 .8rem var(--sans);letter-spacing:.08em;text-transform:uppercase;gap:10px;width:auto;min-width:0}
.av-voltar{display:flex;align-items:center}
.av-voltar b{font-size:1.15rem;line-height:1;font-weight:500}
.av-voltar:hover,.av-musica:hover{background:#fff;transform:translateY(-1px)}
.av-musica .eq{height:18px}
.av-musica .eq i{width:4px;background:#8a6a2f}
.av-musica:not([hidden]){display:flex}
@media(max-width:700px){.av-voltar,.av-musica{height:44px;padding:0 16px;font-size:.72rem}.av-voltar{top:12px;left:12px}.av-musica{top:12px;right:12px}}


/* se o aparelho bloquear o som do video final, ele toca mudo e pede um toque */
.cv-som{position:absolute;left:50%;bottom:170px;transform:translateX(-50%);z-index:6;display:none;padding:20px 40px;border-radius:999px;background:rgba(255,255,255,.95);color:#1f1b15;font:600 36px Montserrat,sans-serif;letter-spacing:.04em;white-space:nowrap;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.cv-tela.tk-mudo .cv-som{display:block}
