/* Protocolo de Natal — veludo verde esmeralda + papel marfim + veludo vermelho + dourado (carta de Natal vintage). 9:16 em cqw. */
:root {
  --verde: #0E3B2E; --verde-esc: #072219; --verm: #9B1B22; --ouro: #B8913F; --ouro-cl: #E8CF8E;
  --marfim: #FBF6EC; --tinta: #23201B; --suave: #6B6255;
  --serif: "Instrument Serif", Georgia, serif; --sc: "Playfair Display SC", Georgia, serif; --script: "Pinyon Script", cursive; --txt: Montserrat, system-ui, sans-serif;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { margin: 0; background: #06190F; font-family: var(--txt); color: var(--tinta); }
h1, h2, p, ul, ol, figure { margin: 0; padding: 0; }
button { font: inherit; border: 0; cursor: pointer; }
#paginas { max-width: 480px; margin: 0 auto; padding: 10px 8px 90px; display: flex; flex-direction: column; gap: 12px; }
.pg { position: relative; aspect-ratio: 9/16; overflow: hidden; border-radius: 14px; container-type: inline-size; font-size: 3.4cqw; line-height: 1.45; box-shadow: 0 14px 34px -14px rgba(0,0,0,.8); }
.pg > * { position: absolute; z-index: 1; }
.fundo, .veu { inset: 0; z-index: 0 !important; background-size: cover; background-position: center; }
.veu { background: radial-gradient(90% 60% at 50% 50%, rgba(7,34,25,.1), rgba(7,34,25,.55)); }
.veu--vela { background: linear-gradient(180deg, rgba(10,6,4,.35) 0%, rgba(10,6,4,.78) 40%, rgba(10,6,4,.88) 100%); }
.contador { top: 3cqw; left: 3cqw; z-index: 9 !important; font-size: 2.5cqw; font-weight: 600; color: var(--verde); background: rgba(251,246,236,.9); padding: .5cqw 2cqw; border-radius: 99px; }
.script { font-family: var(--script); font-weight: 400; }
.ic { width: 5cqw; height: 5cqw; flex: none; }
.guirlanda { filter: drop-shadow(0 1.4cqw 1.6cqw rgba(0,0,0,.45)); }
.guirlanda--topo { left: -8cqw; width: 116cqw; top: -5cqw; }
.laco, .lacre { filter: drop-shadow(0 1.2cqw 1.6cqw rgba(0,0,0,.35)); }
.kicker { left: 0; right: 0; text-align: center; font-family: var(--script); font-size: 7.4cqw; line-height: 1; color: var(--verm); }
.kicker--cl { color: var(--ouro-cl); }
.titulo { left: 0; right: 0; text-align: center; font-family: var(--serif); font-weight: 400; font-size: 13cqw; line-height: .92; text-transform: uppercase; letter-spacing: .01em; color: var(--verde); white-space: nowrap; }
.titulo--cl { color: var(--marfim); }
.filete { left: 50%; width: 22cqw; height: .35cqw; transform: translateX(-50%); background: linear-gradient(90deg, transparent, var(--ouro), transparent); }
.filete::after { content: "✦"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -55%); font-size: 3cqw; color: var(--ouro); background: transparent; }
.assin { left: 0; right: 0; bottom: 6cqw; text-align: center; font-family: var(--sc); font-size: 3cqw; letter-spacing: .22em; color: var(--verde); }
.assin i { font-style: normal; color: var(--ouro); }
/* cartão marfim com borda dourada dupla */
.cartao { background: var(--marfim); border-radius: 3cqw; box-shadow: 0 0 0 .45cqw var(--ouro), 0 0 0 1.5cqw var(--marfim), 0 0 0 1.85cqw rgba(184,145,63,.55), 0 4cqw 7cqw -1cqw rgba(0,0,0,.6); }
.botao { display: inline-flex; align-items: center; justify-content: center; gap: 2cqw; padding: 3.2cqw 5.4cqw; border-radius: 99px; font-weight: 600; font-size: 3.6cqw; text-decoration: none; white-space: nowrap; }
.botao--verm { background: var(--verm); color: #fff; box-shadow: 0 1.4cqw 2.6cqw -1cqw rgba(155,27,34,.7); }
.botao--linha { border: .4cqw solid var(--verde); color: var(--verde); background: transparent; }
.botao--ouro { background: linear-gradient(100deg, #A9802F, #F3DC9A 45%, #B8913F); color: var(--verde-esc); box-shadow: 0 1.6cqw 3cqw -1cqw rgba(0,0,0,.6); }

/* 1 capa */
.cartao--capa { left: 9cqw; right: 9cqw; top: 22cqw; bottom: 19cqw; text-align: center; padding: 8cqw 6cqw 0; }
.cartao--capa > * { position: relative; }
.cartao__sup { font-family: var(--sc); font-size: 2.8cqw; letter-spacing: .26em; color: var(--ouro); }
.capa__t { font-weight: 400; margin-top: 1cqw; }
.capa__t span { display: block; font-size: 19cqw; line-height: 1; color: var(--verm); }
.capa__t b { display: block; margin-top: -2cqw; font-family: var(--serif); font-weight: 400; font-size: 8cqw; text-transform: uppercase; letter-spacing: .04em; color: var(--verde); white-space: nowrap; }
.oval { width: 50cqw; height: 58cqw; margin: 5cqw auto 0; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 .6cqw var(--ouro), 0 0 0 1.6cqw var(--marfim), 0 0 0 1.9cqw rgba(184,145,63,.6), 0 3cqw 5cqw -2cqw rgba(0,0,0,.5); }
.oval img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; }
.capa__mes { margin-top: 5cqw; font-family: var(--sc); font-weight: 700; font-size: 6.4cqw; letter-spacing: .3em; padding-left: .3em; color: var(--verde); }
.capa__mes span { font-weight: 400; color: var(--ouro); }
.lacre--capa { position: absolute !important; width: 18cqw; right: -5cqw; bottom: -6cqw; transform: rotate(-12deg); }
.arroba { left: 0; right: 0; bottom: 7cqw; text-align: center; font-family: var(--serif); font-style: italic; font-size: 4.2cqw; color: var(--ouro-cl); }

/* 2 política */
.laco--pol { left: 50%; top: -1cqw; width: 18cqw; transform: translateX(-50%); }
.pg--pol .kicker { top: 25cqw; } .pg--pol .titulo { top: 33cqw; } .pg--pol .filete { top: 59cqw; }
.regras { top: 66cqw; left: 10cqw; right: 10cqw; list-style: none; display: flex; flex-direction: column; gap: 3.6cqw; }
.regras li { display: flex; align-items: baseline; gap: 4cqw; }
.rom { flex: none; width: 9cqw; text-align: right; font-family: var(--serif); font-size: 7cqw; line-height: 1; color: var(--verm); }
.regras p { font-size: 3.3cqw; line-height: 1.35; color: var(--suave); border-bottom: .2cqw dashed rgba(184,145,63,.5); padding-bottom: 2.4cqw; flex: 1; }
.regras b { display: block; font-family: var(--sc); font-weight: 700; font-size: 3.4cqw; letter-spacing: .1em; color: var(--verde); }
.regras strong { color: var(--tinta); font-weight: 600; }

/* 3 calendário */
.pg--cal .kicker { top: 10cqw; } .pg--cal .titulo { top: 18cqw; font-size: 16cqw; }
.cartao--cal { left: 8cqw; right: 8cqw; top: 42cqw; padding: 6cqw 4.6cqw 4.6cqw; }
.cal { display: grid; grid-template-columns: repeat(7, 1fr); gap: 1.4cqw .6cqw; text-align: center; }
.cs { font-family: var(--sc); font-weight: 700; font-size: 3.4cqw; color: var(--ouro); padding-bottom: 1.4cqw; border-bottom: .25cqw solid rgba(184,145,63,.4); margin-bottom: 1cqw; }
.cd { display: grid; place-items: center; aspect-ratio: 1; font-family: var(--serif); font-size: 5.4cqw; line-height: 1; color: var(--tinta); border-radius: 50%; }
.cd--f { color: #C9BFB0; position: relative; }
.cd--f::after { content: ""; position: absolute; left: 22%; right: 22%; top: 50%; height: .35cqw; background: var(--verm); opacity: .7; transform: rotate(-28deg); }
.cd--e { box-shadow: inset 0 0 0 .5cqw var(--verm); color: var(--verm); }
.legenda { list-style: none; display: flex; justify-content: center; gap: 4cqw; margin-top: 3.4cqw; font-size: 2.6cqw; color: var(--suave); }
.legenda li { display: flex; align-items: center; gap: 1.2cqw; }
.lg { width: 3cqw; height: 3cqw; border-radius: 50%; border: .3cqw solid var(--tinta); } .lg--e { border-color: var(--verm); border-width: .5cqw; } .lg--f { border-color: #C9BFB0; background: linear-gradient(-28deg, transparent 44%, var(--verm) 44% 56%, transparent 56%); }
.cal-rod { display: flex; align-items: center; justify-content: space-between; gap: 3cqw; margin-top: 4cqw; padding-top: 3.4cqw; border-top: .25cqw dashed rgba(184,145,63,.6); }
.cal-rod p span { display: block; font-family: var(--sc); font-size: 2.6cqw; letter-spacing: .18em; color: var(--ouro); }
.cal-rod p b { font-family: var(--serif); font-weight: 400; font-size: 7cqw; color: var(--verde); line-height: 1; }
.cal-rod ul { list-style: none; text-align: right; font-size: 3cqw; color: var(--suave); }
.cal-rod ul b { color: var(--verm); }
.laco--cal { right: 3cqw; top: 33cqw; width: 17cqw; transform: rotate(14deg); }

/* 4 sinal */
.lacre--sinal { right: 6cqw; top: 7cqw; width: 16cqw; transform: rotate(10deg); }
.pg--sinal .kicker { top: 14cqw; } .pg--sinal .titulo { top: 22cqw; } .pg--sinal .filete { top: 48cqw; }
.valor { left: 0; right: 0; top: 53cqw; text-align: center; font-family: var(--serif); font-size: 15cqw; line-height: 1; color: var(--verm); }
.valor span { display: block; font-family: var(--sc); font-size: 2.8cqw; letter-spacing: .24em; color: var(--ouro); margin-bottom: 1.4cqw; }
.sinal__txt { left: 13cqw; right: 13cqw; top: 76cqw; text-align: center; font-size: 3.3cqw; color: var(--suave); }
.sinal__txt strong { color: var(--tinta); }
.selo { left: 50%; top: 92cqw; width: 44cqw; transform: translateX(-50%) rotate(-2deg); background: #fff; text-align: center;
  -webkit-mask: radial-gradient(circle 1.3cqw at 1.3cqw 1.3cqw, transparent 98%, #000) -1.3cqw -1.3cqw / 4cqw 4cqw; mask: radial-gradient(circle 1.3cqw at 1.3cqw 1.3cqw, transparent 98%, #000) -1.3cqw -1.3cqw / 4cqw 4cqw;
  filter: drop-shadow(0 1cqw 1.6cqw rgba(0,0,0,.25)); }
.selo__qr svg { display: block; width: 100%; height: auto; }
.selo p { margin-top: 1.4cqw; font-family: var(--serif); font-style: italic; font-size: 3.2cqw; color: var(--verde); }
.pix { left: 8cqw; right: 8cqw; top: 141cqw; text-align: center; display: flex; flex-direction: column; gap: .6cqw; }
.pix__t { font-family: var(--sc); font-weight: 700; font-size: 2.8cqw; letter-spacing: .16em; color: var(--verm); }
.pix__k { font-family: ui-monospace, Consolas, monospace; font-size: 2.9cqw; color: var(--tinta); word-break: break-all; }
.pix__n { font-size: 2.7cqw; letter-spacing: .08em; text-transform: uppercase; color: var(--suave); }
.acoes { left: 0; right: 0; bottom: 6cqw; display: flex; justify-content: center; gap: 2.6cqw; }

/* 5 portfólio + local */
.pg--local .kicker { top: 7cqw; }
.selos { left: 0; right: 0; top: 16cqw; height: 62cqw; }
.selo-foto { position: absolute; width: 36cqw; padding: 2.2cqw; background: var(--marfim);
  -webkit-mask: radial-gradient(circle 1.2cqw at 1.2cqw 1.2cqw, transparent 98%, #000) -1.2cqw -1.2cqw / 3.6cqw 3.6cqw; mask: radial-gradient(circle 1.2cqw at 1.2cqw 1.2cqw, transparent 98%, #000) -1.2cqw -1.2cqw / 3.6cqw 3.6cqw;
  filter: drop-shadow(0 1.4cqw 2cqw rgba(0,0,0,.5)); }
.selo-foto img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.selo-foto--1 { left: 5cqw; top: 6cqw; transform: rotate(-8deg); }
.selo-foto--2 { left: 32cqw; top: 0; z-index: 2; transform: rotate(2deg); }
.selo-foto--3 { right: 5cqw; top: 8cqw; transform: rotate(9deg); }
.cartao--local { left: 8cqw; right: 8cqw; top: 90cqw; padding: 6cqw 5cqw 5.6cqw; text-align: center; }
.cartao--local > * { position: relative; }
.kicker--in { position: static !important; display: block; margin-bottom: 3cqw; }
.endereco { display: inline-flex; align-items: center; gap: 2.6cqw; text-decoration: none; color: var(--tinta); text-align: left; }
.endereco .ic { width: 7cqw; height: 7cqw; color: var(--verm); }
.endereco b { display: block; font-family: var(--serif); font-weight: 400; font-size: 6cqw; line-height: 1.1; color: var(--verde); }
.endereco span { font-size: 3.1cqw; color: var(--suave); }
.pag { margin-top: 4cqw; padding-top: 3.4cqw; border-top: .25cqw dashed rgba(184,145,63,.6); font-family: var(--sc); font-size: 3.4cqw; letter-spacing: .14em; color: var(--verde); }
.pag i { font-style: normal; color: var(--ouro); }
.redes { margin-top: 4cqw; display: flex; flex-direction: column; align-items: center; gap: 2cqw; }
.redes a { display: inline-flex; align-items: center; gap: 2cqw; text-decoration: none; color: var(--tinta); font-size: 3.5cqw; }
.redes .ic { color: var(--verm); }

/* 6 final */
.guirlanda--fim { left: -8cqw; width: 116cqw; top: 40cqw; }
.fim__t { left: 0; right: 0; top: 68cqw; text-align: center; font-size: 22cqw; line-height: 1; color: #fff; white-space: nowrap; text-shadow: 0 .6cqw 2cqw rgba(0,0,0,.5); }
.fim__sub { left: 0; right: 0; top: 94cqw; text-align: center; font-family: var(--sc); font-size: 3.6cqw; letter-spacing: .26em; color: var(--ouro-cl); }
.fim__txt { left: 12cqw; right: 12cqw; top: 106cqw; text-align: center; font-size: 3.5cqw; color: rgba(255,255,255,.88); }
.fim__ass { left: 0; right: 0; top: 130cqw; text-align: center; font-size: 7.4cqw; color: var(--ouro-cl); }
.pg--fim .botao { left: 50%; bottom: 9cqw; transform: translateX(-50%); }

/* cartelas do vídeo */
.gancho { left: 8cqw; right: 8cqw; top: 34cqw; text-align: center; color: var(--marfim); }
.gancho__k { font-family: var(--sc); font-size: 3cqw; letter-spacing: .22em; color: var(--ouro-cl); }
.gancho__t { margin-top: 4cqw; font-family: var(--serif); font-weight: 400; font-size: 12cqw; line-height: 1; text-transform: uppercase; white-space: nowrap; }
.gancho__t .script { text-transform: none; font-size: 15cqw; color: #F2C9C4; }
.gancho ul { list-style: none; margin: 8cqw auto 0; display: inline-flex; flex-direction: column; gap: 2.6cqw; text-align: left; font-size: 4.2cqw; }
.gancho li::before { content: "✦"; color: var(--ouro-cl); margin-right: 2.4cqw; }
.gancho__r { margin-top: 9cqw; font-family: var(--script); font-size: 8cqw; color: var(--ouro-cl); }
.laco--gancho { left: 50%; bottom: 4cqw; width: 22cqw; transform: translateX(-50%); }
.cta { left: 8cqw; right: 8cqw; top: 40cqw; text-align: center; }
.cta > * { position: relative; left: auto; right: auto; top: auto; }
.cta .filete { display: block; margin: 5cqw auto; transform: none; left: 0; }
.cta .titulo { font-size: 15cqw; }
.cta__txt { font-size: 4cqw; color: var(--suave); }
.cta__txt b { color: var(--verde); }
.cta__ok { margin-top: 6cqw; font-family: var(--sc); font-size: 3.6cqw; letter-spacing: .14em; color: var(--verm); }
.cta__zap { margin-top: 8cqw; display: inline-flex; align-items: center; gap: 2.6cqw; padding: 3.4cqw 6cqw; border-radius: 99px; background: var(--verde); color: var(--marfim); font-weight: 600; font-size: 5cqw; }
.cta__zap .ic { width: 6cqw; height: 6cqw; color: var(--ouro-cl); }
.cta__chame { margin-top: 3cqw; font-family: var(--script); font-size: 6.4cqw; color: var(--verm); }
.lacre--cta { right: 8cqw; bottom: 8cqw; width: 16cqw; transform: rotate(-10deg); }

.flutuante { position: fixed; right: 16px; bottom: 18px; z-index: 50; display: inline-flex; align-items: center; gap: 8px; padding: 12px 18px; border-radius: 99px; background: var(--verm); color: #fff; font-weight: 700; text-decoration: none; box-shadow: 0 8px 20px rgba(0,0,0,.5); opacity: 0; pointer-events: none; transform: translateY(12px); transition: .25s; }
.flutuante .ic { width: 20px; height: 20px; } .flutuante--ver { opacity: 1; pointer-events: auto; transform: none; }
.aviso { position: fixed; left: 50%; bottom: 80px; transform: translate(-50%, 20px); z-index: 60; padding: 10px 16px; border-radius: 99px; background: var(--verde); color: #fff; font-size: 14px; opacity: 0; transition: .25s; pointer-events: none; }
.aviso--ver { opacity: 1; transform: translate(-50%, 0); }
body.exportar .web, body.exportar .flutuante, body.exportar .aviso, body.video .web, body.video .flutuante { display: none !important; }
body.exportar #paginas, body.video #paginas { gap: 0; padding: 0; } body.exportar .pg, body.video .pg { border-radius: 0; box-shadow: none; }
a:focus-visible, button:focus-visible { outline: .6cqw solid var(--ouro); outline-offset: .6cqw; }
@media (prefers-reduced-motion: reduce) { .flutuante, .aviso { transition: none; } }

/* picote só na borda: o meio (content-box) fica sólido e os furos aparecem só no padding */
.selo, .selo-foto {
  -webkit-mask: linear-gradient(#000 0 0) content-box, radial-gradient(circle, transparent 0 .85cqw, #000 .95cqw) 0 0 / 2.8cqw 2.8cqw round;
          mask: linear-gradient(#000 0 0) content-box, radial-gradient(circle, transparent 0 .85cqw, #000 .95cqw) 0 0 / 2.8cqw 2.8cqw round;
  padding: 1.4cqw !important;
}
.selo__in, .selo-foto img { border: 2cqw solid #fff; }
.selo-foto img { border-color: var(--marfim); }
.selo__in { background: #fff; padding: 1cqw 1cqw .4cqw; }
/* política mais compacta */
.pg--pol .kicker { top: 21cqw; } .pg--pol .titulo { top: 29cqw; } .pg--pol .filete { top: 54cqw; }
.regras { top: 59cqw; gap: 2.4cqw; }
.regras p { padding-bottom: 1.8cqw; font-size: 3.2cqw; }
.assin { bottom: 5cqw; }
/* laço do calendário no canto esquerdo do cartão */
.laco--cal { left: 2cqw; right: auto; top: 34cqw; transform: rotate(-14deg); width: 15cqw; }
.laco--pol { width: 13cqw; top: -2cqw; }
.laco--cal { left: -1cqw; top: 28cqw; width: 13cqw; }
.pix { top: 145cqw; }
.selos { top: 22cqw; } .cartao--local { top: 100cqw; }
