:root{--vinho:#7d1620;--vermelho:#b3202a;--pinho:#14532d;--pinho2:#0d3b20;--ouro:#d9a441;--creme:#fdf6e3;--papel:#fbf1d6;--tinta:#2a1a14;--suave:#6d5a4c;
  --serif:"DM Serif Display",Georgia,serif;--mao:"Caveat",cursive;--sans:"Figtree",system-ui,sans-serif}
*{box-sizing:border-box;margin:0}[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{background:var(--creme);color:var(--tinta);font-family:var(--sans);font-size:17px;line-height:1.6;overflow-x:hidden;
  background-image:radial-gradient(rgba(179,32,42,.07) 1.5px,transparent 1.5px);background-size:26px 26px}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08}
.neve{position:fixed;inset:0;pointer-events:none;z-index:5;overflow:hidden}
.neve i{position:absolute;top:-10px;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgba(125,22,32,.12);opacity:.85;animation:cai linear infinite}
.neve i:nth-child(1){left:4%;animation-duration:13s}.neve i:nth-child(2){left:11%;animation-duration:17s;animation-delay:-4s;width:5px;height:5px}.neve i:nth-child(3){left:19%;animation-duration:11s;animation-delay:-7s}.neve i:nth-child(4){left:27%;animation-duration:19s;animation-delay:-2s;width:4px;height:4px}.neve i:nth-child(5){left:35%;animation-duration:14s;animation-delay:-9s}.neve i:nth-child(6){left:43%;animation-duration:16s;animation-delay:-5s;width:5px;height:5px}.neve i:nth-child(7){left:51%;animation-duration:12s;animation-delay:-1s}.neve i:nth-child(8){left:59%;animation-duration:18s;animation-delay:-11s;width:4px;height:4px}.neve i:nth-child(9){left:67%;animation-duration:13s;animation-delay:-6s}.neve i:nth-child(10){left:75%;animation-duration:20s;animation-delay:-3s;width:5px;height:5px}.neve i:nth-child(11){left:83%;animation-duration:15s;animation-delay:-8s}.neve i:nth-child(12){left:90%;animation-duration:12s;animation-delay:-10s;width:4px;height:4px}.neve i:nth-child(13){left:96%;animation-duration:17s;animation-delay:-13s}.neve i:nth-child(14){left:47%;animation-duration:21s;animation-delay:-15s;width:4px;height:4px}
@keyframes cai{to{transform:translate(40px,105vh)}}
header,main,footer{position:relative;z-index:1}
.topo{max-width:1120px;margin:0 auto;padding:20px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.marca{font-family:var(--serif);font-size:23px;color:var(--vinho);text-decoration:none;display:inline-flex;align-items:center;gap:10px}.marca b{color:var(--pinho);font-weight:400}
.selinho{width:26px;height:20px;background:var(--vermelho);border-radius:3px;position:relative;display:inline-block}.selinho::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom right,transparent 48%,var(--creme) 49%,var(--creme) 52%,transparent 53%),linear-gradient(to bottom left,transparent 48%,var(--creme) 49%,var(--creme) 52%,transparent 53%)}
.bt{font:800 16px var(--sans);padding:14px 22px;border-radius:14px;border:2px solid var(--vermelho);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;transition:transform .15s,box-shadow .15s}
.bt-p{background:var(--vermelho);color:#fff;box-shadow:0 6px 0 var(--vinho)}.bt-p:hover{transform:translateY(-2px);box-shadow:0 8px 0 var(--vinho)}.bt-p:disabled{opacity:.7;cursor:wait}
.bt-s{background:transparent;color:var(--vermelho)}.bt-s:hover{background:rgba(179,32,42,.08)}
.bt.pequeno{padding:9px 16px;font-size:14px}.bt.grande{width:100%;font-size:18px;padding:17px 22px;white-space:normal;text-align:center}
.gira{width:16px;height:16px;border-radius:50%;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;animation:roda .8s linear infinite;display:inline-block}
@keyframes roda{to{transform:rotate(360deg)}}

.heroi{max-width:1120px;margin:0 auto;padding:16px 20px 50px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:center}
.etiqueta{display:inline-block;font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--pinho);background:#e4efe0;padding:6px 14px;border-radius:999px;margin-bottom:18px}
h1{font-size:clamp(36px,5.4vw,64px);color:var(--vinho)}h1 em{font-family:var(--mao);font-style:normal;font-weight:700;color:var(--pinho);font-size:1.18em;line-height:.9;overflow-wrap:anywhere}
.lead{font-size:19px;color:var(--suave);margin:18px 0 26px;max-width:46ch}
.contagem{margin-top:18px;font-family:var(--mao);font-size:24px;color:var(--pinho)}.contagem b{color:var(--vermelho);font-size:1.25em}
.heroi-img{position:relative;transform:rotate(1.5deg)}
.heroi-img img{border-radius:8px;aspect-ratio:3/2;object-fit:cover;width:100%;border:10px solid #fff;box-shadow:0 26px 50px -22px rgba(42,26,20,.6);background:#d8c8a8}
.carimbo{position:absolute;right:-14px;bottom:-22px;width:120px;height:120px;border-radius:50%;border:3px double var(--vermelho);color:var(--vermelho);display:grid;place-content:center;text-align:center;font:800 10px var(--sans);letter-spacing:.1em;text-transform:uppercase;transform:rotate(-14deg);background:rgba(253,246,227,.9)}
.carimbo b{font-family:var(--serif);font-size:22px;font-weight:400;letter-spacing:0;display:block;margin:2px 0}

.criar{max-width:720px;margin:0 auto;padding:10px 20px 50px}
.cartao{background:#fff;border:2px solid var(--tinta);border-radius:20px;padding:30px;box-shadow:10px 10px 0 var(--pinho);display:grid;gap:16px;position:relative}
.cartao::before{content:"";position:absolute;inset:0 0 auto 0;height:12px;border-radius:18px 18px 0 0;background:repeating-linear-gradient(-45deg,var(--vermelho) 0 14px,#fff 14px 28px,var(--pinho) 28px 42px,#fff 42px 56px)}
.cartao h2{font-size:30px;color:var(--vinho);margin-top:8px}
.linha{display:grid;grid-template-columns:1fr 110px;gap:14px}
label,.rot{font-weight:800;font-size:14px;display:grid;gap:6px;color:var(--suave)}
input,select{font:600 17px var(--sans);padding:13px 14px;border-radius:12px;border:2px solid #d9cfb5;background:var(--creme);color:var(--tinta);outline:none;width:100%}
input:focus,select:focus{border-color:var(--pinho)}
.fichas{display:flex;flex-wrap:wrap;gap:8px}
.fichas button{font:800 14px var(--sans);padding:9px 13px;border-radius:999px;border:2px solid #d9cfb5;background:var(--creme);cursor:pointer;color:var(--tinta);transition:transform .12s}
.fichas button:hover{transform:translateY(-2px)}.fichas button[aria-pressed=true]{background:var(--pinho);color:#fff;border-color:var(--pinho)}
.mais summary{cursor:pointer;font-weight:800;color:var(--pinho)}.mais label{margin-top:10px}
.aviso{background:#ffe1e1;color:#8c1d1d;padding:10px 14px;border-radius:12px;font-weight:600}
.mini{font-size:13.5px;color:var(--suave);text-align:center}

.resultado{max-width:1120px;margin:0 auto;padding:10px 20px 60px;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:28px;align-items:start}
.carta{background:var(--papel);padding:46px 44px 60px;position:relative;box-shadow:0 30px 60px -26px rgba(42,26,20,.6);border:1px solid #e6d7ae;
  background-image:repeating-linear-gradient(transparent 0 37px,rgba(125,22,32,.08) 37px 38px)}
.carta::before{content:"";position:absolute;inset:8px;border:2px solid rgba(179,32,42,.35);pointer-events:none}
.carta-topo{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:26px}
.carta-topo span{font-family:var(--serif);font-size:22px;color:var(--vinho)}.carta-topo small{display:block;font:800 11px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--pinho)}
.selo{width:66px;height:80px;background:var(--vermelho);border:4px dotted var(--papel);outline:2px solid var(--vermelho);display:block;position:relative;transform:rotate(4deg)}
.selo::after{content:"🎄";position:absolute;inset:0;display:grid;place-items:center;font-size:30px}
#r-texto p{font-family:var(--mao);font-size:27px;line-height:38px;margin-bottom:38px;color:#2c2018}
.assina{font-family:var(--mao);font-weight:700;font-size:44px;color:var(--vinho);transform:rotate(-3deg);display:inline-block;margin-top:-10px}
.lacre{position:absolute;right:46px;bottom:38px;width:74px;height:74px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d8434c,var(--vinho));box-shadow:inset 0 0 0 6px rgba(0,0,0,.12),0 6px 10px -4px rgba(0,0,0,.5)}
.lacre::after{content:"N";position:absolute;inset:0;display:grid;place-items:center;font-family:var(--serif);font-size:34px;color:rgba(255,255,255,.75)}
.lado{position:sticky;top:16px;display:grid;gap:14px}
.oferta,.player{background:var(--pinho);color:#fff;border-radius:20px;padding:24px;display:grid;gap:12px;box-shadow:8px 8px 0 var(--ouro)}
.oferta h3,.player h3{font-size:26px}.oferta h3 em{font-family:var(--mao);font-style:normal;color:#ffd98a;font-size:1.25em}
.oferta p{color:#dcebdc}.oferta ul{list-style:none;padding:0;display:grid;gap:6px;font-size:15.5px}.oferta li::before{content:"✦ ";color:#ffd98a}
.oferta .bt-p,.player .bt-p{background:#ffd98a;color:var(--tinta);border-color:#ffd98a;box-shadow:0 6px 0 #a87a22}
.player .bt-s{color:#fff;border-color:#fff}
audio{width:100%}.acoes{display:flex;gap:10px;flex-wrap:wrap}.acoes .bt{flex:1}

.faixa{max-width:1120px;margin:0 auto;padding:54px 20px}
.faixa h2{font-size:clamp(30px,4vw,44px);color:var(--vinho);margin-bottom:26px}
.passos{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.passos li{background:#fff;border:2px solid var(--tinta);border-radius:18px;padding:24px;box-shadow:6px 6px 0 var(--vermelho)}.passos li:nth-child(2){box-shadow:6px 6px 0 var(--pinho)}.passos li:nth-child(3){box-shadow:6px 6px 0 var(--ouro)}
.passos span{font-family:var(--mao);font-weight:700;font-size:46px;color:var(--vermelho);line-height:1}
.passos h3{font-size:23px;margin:2px 0 4px}.passos p{color:var(--suave)}
.duas{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:44px;align-items:center}
.duas img{aspect-ratio:1;object-fit:cover;width:100%;border:10px solid #fff;transform:rotate(-2.5deg);box-shadow:0 26px 50px -22px rgba(42,26,20,.6);background:#d8c8a8}
.lista{list-style:none;padding:0;display:grid;gap:12px;margin-bottom:26px;color:var(--suave)}.lista b{color:var(--tinta)}.lista li{padding-left:28px;position:relative}.lista li::before{content:"✦";position:absolute;left:0;color:var(--vermelho)}
.perguntas{max-width:760px}
.perguntas details{border-bottom:1.5px solid #e2d5b4;padding:16px 0}.perguntas summary{font-family:var(--serif);font-size:21px;cursor:pointer}.perguntas p{margin-top:8px;color:var(--suave)}
.rodape{max-width:1120px;margin:0 auto;padding:30px 20px 50px;color:var(--suave);font-size:14px;display:grid;gap:8px}

dialog{border:2px solid var(--tinta);border-radius:20px;padding:30px;width:min(420px,92vw);background:#fff;color:var(--tinta);margin:auto;position:relative}
dialog::backdrop{background:rgba(42,10,14,.7)}
dialog h3{font-size:26px;margin-bottom:12px;color:var(--vinho)}.m-sobre{font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--pinho);margin-bottom:4px}
.m-x{position:absolute;right:12px;top:8px}.m-x button{background:none;border:0;font-size:30px;cursor:pointer;color:#888}
#p-qr{margin:4px auto 14px;border:2px solid #d9cfb5;border-radius:14px;padding:8px;background:#fff}
.m-copia{display:flex;gap:8px}.m-copia input{font:12px ui-monospace,monospace;padding:10px}
.m-espera{display:flex;align-items:center;gap:10px;justify-content:center;margin:16px 0 4px;font-weight:800}.m-espera .gira{border-color:#e5d9bd;border-top-color:var(--vermelho)}
.m-barra{height:12px;border-radius:999px;background:#eee3c8;overflow:hidden;margin:12px 0}.m-barra i{display:block;height:100%;width:6%;background:var(--pinho);border-radius:999px;transition:width .6s}
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.rv.in{opacity:1;transform:none}

@media (max-width:860px){
  .heroi{grid-template-columns:minmax(0,1fr);padding:4px 16px 40px;gap:26px}.heroi-img{transform:none;margin-right:10px}.carimbo{width:92px;height:92px;right:-8px;bottom:-18px;font-size:8px}.carimbo b{font-size:17px}
  .lead{font-size:17px}.heroi .bt{width:100%}
  .criar{padding:0 14px 40px}.cartao{padding:24px 18px;box-shadow:6px 6px 0 var(--pinho)}.cartao h2{font-size:25px}
  .resultado{grid-template-columns:minmax(0,1fr);padding:0 14px 40px}.lado{position:static}
  .carta{padding:34px 24px 100px}#r-texto p{font-size:24px}.lacre{right:30px;bottom:22px;width:62px;height:62px}.assina{font-size:38px}
  .passos,.duas{grid-template-columns:minmax(0,1fr)}.faixa{padding:38px 16px}.duas img{max-width:400px;margin:0 auto}
}
@media print{body{background:#fff}.neve,.topo,.heroi,.criar,.lado,.faixa,.rodape,dialog{display:none!important}.resultado{display:block;padding:0}.carta{box-shadow:none;border:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;min-height:250mm}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}

.marca{white-space:nowrap}
@media (max-width:860px){.marca{font-size:20px}.topo{padding:14px 16px}.heroi-img img{aspect-ratio:4/3}}

.m-lista{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:6px;font-size:15.5px}.m-lista li::before{content:"✦ ";color:var(--vermelho)}
.player .bt-s{width:100%}
#certificado{display:none}
.cert{border:10px double var(--vermelho);padding:20mm 18mm;text-align:center;background:var(--papel);min-height:170mm;display:grid;align-content:center;gap:10px}
.c-topo{font:800 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--pinho)}
.cert h2{font-size:54px;color:var(--vinho)}.c-sub{font-family:var(--serif);font-size:22px;color:var(--pinho)}
.c-txt{font-size:19px;color:var(--tinta);max-width:46ch;margin:0 auto}.c-nome{font-family:var(--mao);font-weight:700;font-size:84px;color:var(--vinho);line-height:1}
.c-pe{display:flex;justify-content:center;align-items:center;gap:30px;margin-top:20px}.c-pe .lacre{position:static}
@media print{body.imp-cert .resultado{display:none!important}body.imp-cert #certificado{display:block!important}body.imp-cert .cert{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
