/* QR Code Grátis Pra Sempre
   Identidade: papel off-white, preto grafite, seis cores vivas, mascotes em adesivo,
   letra gorda (Poppins) com itálico serifado (Fraunces) nas palavras de destaque. */

:root{
  --laranja:#FC5E0B; --amarelo:#FDC201; --rosa:#FC408D; --azul:#0074FD; --roxo:#8331F8; --verde:#0ABC95;
  --tinta:#000821; --tinta-2:#262A3A; --suave:#555A6B; --apagado:#8C8E99;
  --papel:#FDF5E7; --fundo:#F8F3EA; --branco:#FFFFFF; --linha:#E7DDCC;
  --laranja-claro:#FFE3D2; --amarelo-claro:#FFF1C2; --rosa-claro:#FFDEEB; --azul-claro:#DBEAFF; --roxo-claro:#ECE0FF; --verde-claro:#D3F4EA;
  --sans:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --serifa:"Fraunces",Georgia,"Times New Roman",serif;
  --largura:1200px; --respiro:clamp(16px,4vw,40px);
  --sombra:4px 4px 0 var(--tinta); --sombra-grande:7px 7px 0 var(--tinta);
  --raio:26px;
  color-scheme:light;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fundo);color:var(--tinta);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,p{margin:0}
[hidden]{display:none !important}
.so-leitor{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dentro{max-width:var(--largura);margin:0 auto;padding:0 var(--respiro)}
:focus-visible{outline:3px solid var(--azul);outline-offset:3px}

/* ---------------------------------------------------------------- letras da marca */
.italico{font-family:var(--serifa);font-style:italic;font-weight:900;font-variation-settings:"SOFT" 100,"WONK" 1;letter-spacing:-.01em}
.pincel{position:relative;display:inline-block;z-index:0;padding:0 .18em}
.pincel::before{content:"";position:absolute;inset:.08em -.06em .02em;z-index:-1;background:var(--cor-pincel,var(--laranja));border-radius:46% 54% 50% 44% / 62% 48% 56% 42%;transform:rotate(-3deg)}

.logo{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--tinta)}
.logo-letras{display:inline-grid;justify-items:start;line-height:.86}
.logo-marca{width:36px;height:36px;flex:none;transform:rotate(-7deg);filter:drop-shadow(2px 2px 0 var(--tinta));transition:transform .25s}
.logo-marca svg{display:block;width:100%;height:100%}
.logo:hover .logo-marca{transform:rotate(6deg) scale(1.08)}
.rodape .logo-marca{width:56px;height:56px;filter:drop-shadow(3px 3px 0 var(--amarelo))}
.logo-qr{font-weight:900;font-size:21px;letter-spacing:-.045em}
.logo-gratis{font-size:25px;margin:0 0 0 -4px}
.logo-sempre{font-weight:800;font-size:13.5px;letter-spacing:-.03em;margin-left:8px;transform:rotate(-3deg)}

/* ---------------------------------------------------------------- topo */
.barra{position:sticky;top:0;z-index:40;background:rgba(248,243,234,.88);backdrop-filter:saturate(1.3) blur(12px);-webkit-backdrop-filter:saturate(1.3) blur(12px);border-bottom:2px solid transparent;transition:border-color .2s}
.barra.rolou{border-bottom-color:var(--tinta)}
.barra .dentro{display:flex;align-items:center;gap:20px;height:76px}
.menu{display:flex;align-items:center;gap:4px;margin-left:auto}
.menu a{text-decoration:none;font-weight:600;font-size:15px;padding:8px 14px;border-radius:999px;transition:background .15s}
.menu a:hover{background:var(--amarelo-claro)}
.menu a[aria-current=page]{background:var(--tinta);color:var(--papel)}
.botao-pro{margin-left:10px}
.abrir-menu{display:none;margin-left:auto;width:46px;height:46px;border:2px solid var(--tinta);border-radius:14px;background:var(--branco);box-shadow:3px 3px 0 var(--tinta);cursor:pointer;place-items:center}
.abrir-menu svg{width:22px;height:22px}

/* ---------------------------------------------------------------- botões e selos */
.botao{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;border:2.5px solid var(--tinta);background:var(--tinta);color:var(--papel);font-weight:700;font-size:16px;text-decoration:none;cursor:pointer;transition:transform .12s,box-shadow .12s,background .15s;box-shadow:3px 3px 0 var(--laranja)}
.botao:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--laranja)}
.botao:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--laranja)}
.botao svg{width:20px;height:20px;flex:none}
.botao.claro{background:transparent;color:var(--tinta);box-shadow:none}
.botao.claro:hover{background:var(--branco);box-shadow:3px 3px 0 var(--tinta)}
.botao.pequeno{min-height:44px;padding:0 18px;font-size:15px}
.botao.cor{background:var(--laranja);color:var(--tinta);box-shadow:var(--sombra)}
.botao.cor:hover{box-shadow:6px 6px 0 var(--tinta)}
.botao:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}

.selo{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-weight:700;font-size:13px;border:2px solid var(--tinta);background:var(--amarelo);white-space:nowrap}
.selo.rosa{background:var(--rosa);color:var(--branco)}
.selo.azul{background:var(--azul);color:var(--branco)}
.selo.verde{background:var(--verde)}
.selo.claro{background:var(--branco)}
.selo.girado{transform:rotate(-4deg)}

.adesivo{filter:drop-shadow(0 2px 0 rgba(0,8,33,.12))}

/* ---------------------------------------------------------------- herói */
.heroi{position:relative;overflow:hidden;padding:22px 0 62px}
.heroi .dentro{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:24px;position:relative;z-index:1}
.heroi h1{font-weight:900;font-size:clamp(54px,7.4vw,98px);line-height:.86;letter-spacing:-.05em}
.heroi h1 .italico{font-size:1.06em;display:inline-block;margin:.02em 0 .04em -.05em}
.heroi h1 .linha-sempre{position:relative;display:block;width:fit-content;font-size:.62em;letter-spacing:-.04em;margin-left:.28em}
.estrela{position:absolute;width:44px;height:44px;color:var(--rosa);animation:piscar 3.2s ease-in-out infinite}
.heroi .estrela{left:-8px;top:46%}
.seta-desenhada{position:absolute;width:.9em;height:.9em;right:-1.05em;bottom:-.35em;color:var(--tinta);animation:balancar 3s ease-in-out infinite}
.titulo-logo{position:relative;display:inline-block;padding:0 40px 10px 32px}
.marca-qr{display:inline-block;width:.52em;height:.52em;margin-left:.12em;vertical-align:.1em;filter:drop-shadow(.05em .05em 0 var(--tinta));animation:mexer 3.8s ease-in-out infinite}
.marca-qr svg{display:block;width:100%;height:100%}
.heroi .chamada{font-size:clamp(17px,1.6vw,19px);color:var(--tinta-2);max-width:470px;margin:18px 0 22px}
.heroi .acoes{display:flex;gap:14px;flex-wrap:wrap}
.vantagens{display:flex;gap:26px;flex-wrap:wrap;margin:22px 0 0;list-style:none;padding:0}
.vantagens li{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px;line-height:1.2}
.vantagens svg{width:30px;height:30px;flex:none}
.ilustracao{position:relative;justify-self:center;width:min(100%,420px);aspect-ratio:1.12;display:grid;place-items:center}
.ilustracao::before{content:"";position:absolute;inset:8% 2% 0 6%;z-index:0;background:var(--amarelo);border-radius:42% 58% 63% 37% / 41% 44% 56% 59%;animation:bolha 12s ease-in-out infinite}
.ilustracao::after{content:"";position:absolute;width:34%;aspect-ratio:1;left:-4%;bottom:6%;z-index:0;background:var(--rosa);border-radius:61% 39% 45% 55% / 55% 62% 38% 45%;animation:bolha 10s ease-in-out infinite reverse}
.ilustracao .mascote-heroi{position:relative;z-index:1;width:min(74%,290px);animation:flutuar 5s ease-in-out infinite}
.balao{position:absolute;top:-22px;right:-4px;z-index:2;background:var(--azul);color:var(--tinta);font-weight:800;font-size:clamp(22px,2.4vw,30px);line-height:.95;letter-spacing:-.03em;padding:22px 28px 26px;border-radius:52% 48% 50% 50% / 58% 55% 45% 42%;transform:rotate(-7deg);text-align:center;box-shadow:0 0 0 5px var(--branco);animation:balanco 4s ease-in-out infinite}
.balao .italico{font-weight:900}
.raios{position:absolute;width:64px;height:64px;color:var(--tinta)}
.bolha{position:absolute;z-index:0;border-radius:42% 58% 63% 37% / 41% 44% 56% 59%;animation:bolha 14s ease-in-out infinite}
.bolha.b1{width:220px;height:300px;left:-110px;top:120px;background:var(--amarelo)}
.bolha.b2{width:240px;height:200px;right:-90px;top:-80px;background:var(--rosa);animation-delay:-4s}
.bolha.b3{width:200px;height:170px;right:-60px;bottom:-90px;background:var(--azul);animation-delay:-8s}
.descer{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);z-index:2;display:grid;justify-items:center;gap:2px;text-decoration:none;font-weight:700;font-size:13px}
.descer span.circulo{width:52px;height:52px;border-radius:50%;background:var(--amarelo);border:2.5px solid var(--tinta);display:grid;place-items:center;box-shadow:var(--sombra);animation:pular 1.8s ease-in-out infinite}
.descer svg{width:24px;height:24px}

/* faixa que rola */
.faixa{background:var(--tinta);color:var(--papel);overflow:hidden;border-block:2.5px solid var(--tinta);transform:rotate(-1.2deg);margin:0 -20px;position:relative;z-index:2}
.faixa .trilho{display:flex;width:max-content;animation:rolar 32s linear infinite}
.faixa span{display:inline-flex;align-items:center;gap:18px;padding:12px 18px;font-weight:800;font-size:18px;letter-spacing:-.02em;white-space:nowrap}
.faixa span .italico{color:var(--amarelo);font-size:1.12em}
.faixa span svg{width:18px;height:18px;color:var(--rosa)}

/* ---------------------------------------------------------------- seções */
.secao{padding:72px 0}
.secao.colorida{background:var(--papel);border-block:2.5px solid var(--tinta)}
.cabeca-secao{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:34px;flex-wrap:wrap}
.cabeca-secao h2,.titulo-secao{font-weight:900;font-size:clamp(32px,4.4vw,52px);line-height:1;letter-spacing:-.045em}
.cabeca-secao h2 .italico,.titulo-secao .italico{font-size:1.08em}
.cabeca-secao p{color:var(--suave);max-width:560px;margin-top:10px;font-size:17px}
.olho{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}
.olho::before{content:"";width:26px;height:3px;border-radius:3px;background:var(--laranja)}
.revelar{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.revelar.visivel{opacity:1;transform:none}

/* ---------------------------------------------------------------- gerador */
#gerador{scroll-margin-top:88px}
.gerador-secao{padding:44px 0 32px;position:relative}
.gerador-topo{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.gerador-topo h2{font-weight:900;font-size:clamp(26px,2.8vw,34px);letter-spacing:-.04em;line-height:1}
.tipos{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.tipo{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 14px 0 6px;border-radius:999px;border:2px solid var(--tinta);background:var(--branco);font-weight:700;font-size:14px;cursor:pointer;transition:transform .12s,box-shadow .12s,background .15s}
.tipo:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--tinta)}
.tipo[aria-selected=true]{background:var(--cor,var(--amarelo));box-shadow:var(--sombra);transform:translate(-2px,-2px)}
.tipo .ico{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--cor,var(--amarelo));border:2px solid var(--tinta)}
.tipo[aria-selected=true] .ico{background:var(--branco)}
.tipo .ico svg{width:15px;height:15px}

.gerador{display:grid;grid-template-columns:minmax(0,1fr) 340px;background:var(--branco);border:2px solid var(--tinta);border-radius:24px;box-shadow:5px 5px 0 var(--tinta);overflow:hidden}
.formularios{padding:22px 24px 24px}
.formularios form{animation:entrar .35s ease}
.intro{color:var(--suave);font-size:14px;margin-bottom:14px;max-width:540px}
.campo{display:grid;gap:5px;margin-bottom:12px}
.campo:last-child{margin-bottom:0}
.campo label,.rotulo{font-size:13px;font-weight:700}
.campo label .opcional{font-weight:500;color:var(--apagado)}
.campo input,.campo select,.campo textarea{width:100%;min-height:42px;border:2px solid var(--tinta);border-radius:12px;padding:0 13px;background:var(--papel);outline:none;font-size:15px;transition:box-shadow .15s,background .15s}
.campo textarea{padding:10px 13px;min-height:84px;resize:vertical;line-height:1.5}
.campo input:focus,.campo select:focus,.campo textarea:focus{background:var(--branco);box-shadow:4px 4px 0 var(--amarelo)}
.campo input:disabled{opacity:.5}
.lado{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.lado .campo:last-child{margin-bottom:12px}
.lado:last-child .campo{margin-bottom:0}
.ajuda{font-size:12.5px;color:var(--suave);overflow-wrap:anywhere}
.ajuda b{color:var(--tinta)}
.ajuda.erro{color:#C4122F;font-weight:600}
.ajuda.ok{color:#077A5F;font-weight:700}
.ajuda.aviso{color:#9A5B00;font-weight:600}

/* personalizar */
.personalizar{margin-top:18px;border:2px solid var(--tinta);border-radius:18px;background:var(--papel);overflow:hidden}
.personalizar summary{list-style:none;display:flex;align-items:center;gap:10px;padding:10px 14px;font-weight:800;font-size:15px;cursor:pointer}
.personalizar summary svg{width:22px;height:22px}
.personalizar summary::-webkit-details-marker{display:none}
.personalizar summary .selo{margin-left:auto}
.personalizar summary::after{content:"";width:10px;height:10px;border-right:2.5px solid var(--tinta);border-bottom:2.5px solid var(--tinta);transform:rotate(45deg);margin:-4px 4px 0 6px;transition:transform .2s}
.personalizar[open] summary::after{transform:rotate(-135deg);margin-top:4px}
.personalizar .miolo{padding:2px 14px 16px;display:grid;gap:14px}
.grupo-opcoes{display:grid;gap:8px;align-content:start}
.opcoes{display:flex;flex-wrap:wrap;gap:8px}
.opcao{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 12px 0 7px;border:2px solid var(--tinta);border-radius:12px;background:var(--branco);font-weight:600;font-size:13px;cursor:pointer;transition:transform .12s,box-shadow .12s}
.opcao:hover{transform:translate(-1px,-1px);box-shadow:2px 2px 0 var(--tinta)}
.opcao[aria-pressed=true]{background:var(--amarelo);box-shadow:3px 3px 0 var(--tinta)}
.opcao svg{width:21px;height:21px}
.estilo-pronto{width:38px;height:38px;padding:0;justify-content:center;border-radius:12px}
.estilo-pronto span{width:24px;height:24px;border-radius:8px;display:block;border:2px solid var(--tinta);background:linear-gradient(135deg,var(--a) 0 50%,var(--b) 50% 100%)}
.cores{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cor-campo{display:flex;align-items:center;gap:8px;border:2px solid var(--tinta);border-radius:14px;background:var(--branco);padding:5px 10px 5px 5px}
.cor-campo input[type=color]{width:32px;height:32px;border:2px solid var(--tinta);border-radius:10px;padding:0;background:none;cursor:pointer;flex:none}
.cor-campo input[type=color]::-webkit-color-swatch-wrapper{padding:0}
.cor-campo input[type=color]::-webkit-color-swatch{border:none;border-radius:8px}
.cor-campo input[type=text]{border:0;outline:none;min-width:0;width:100%;font-family:ui-monospace,SFMono-Regular,monospace;font-size:14px;text-transform:uppercase;background:transparent}
.marcar{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;cursor:pointer}
.marcar input{width:20px;height:20px;accent-color:var(--tinta)}
.logo-em-breve{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 12px;border:2px dashed var(--tinta);border-radius:12px;background:var(--branco);font-size:13px}
.logo-em-breve strong{font-weight:800}

/* saída */
.saida{background:var(--amarelo-claro);border-left:2px solid var(--tinta);padding:22px 20px;position:relative;background-image:radial-gradient(rgba(0,8,33,.09) 1.5px,transparent 1.6px);background-size:18px 18px}
.saida .fixo{position:sticky;top:92px;display:grid;gap:14px}
.previa{position:relative;width:100%;max-width:250px;aspect-ratio:1;margin:0 auto;border-radius:18px;background:var(--branco);border:2px solid var(--tinta);box-shadow:4px 4px 0 var(--tinta);display:grid;place-items:center;overflow:hidden}
.previa.xadrez{background-color:#fff;background-image:linear-gradient(45deg,#eee 25%,transparent 25%),linear-gradient(-45deg,#eee 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eee 75%),linear-gradient(-45deg,transparent 75%,#eee 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}
.previa .qr{width:100%;height:100%;display:grid;place-items:center}
.previa .qr svg,.previa .qr canvas{width:100% !important;height:100% !important;display:block}
.previa.vazia{background:transparent;box-shadow:none;border-style:dashed;color:var(--suave);font-weight:600;font-size:14px;text-align:center;padding:28px}
.previa.pulou{animation:pulo .35s ease}
.mascote-previa{position:absolute;width:74px;right:-14px;bottom:-20px;transform:rotate(8deg);pointer-events:none;transition:transform .3s}
.teste{display:flex;align-items:center;justify-content:center;gap:8px;min-height:34px;padding:5px 12px;border-radius:999px;border:2px solid var(--tinta);font-weight:700;font-size:13px;background:var(--branco);text-align:center;line-height:1.25}
.teste.ok{background:var(--verde-claro)}
.teste.aviso{background:var(--amarelo)}
.teste.erro{background:var(--rosa-claro)}
.estado{font-size:13px;color:var(--suave);text-align:center;overflow-wrap:anywhere;min-height:20px}
.estado b{color:var(--tinta)}
.estado.erro{color:#C4122F;font-weight:600}
.rotulo{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}
.rotulo .valor{font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px;font-weight:600}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:26px;margin:0;background:transparent;cursor:pointer;--p:21%}
input[type=range]:focus{outline:none}
input[type=range]::-webkit-slider-runnable-track{height:10px;border-radius:999px;border:2px solid var(--tinta);background:linear-gradient(to right,var(--laranja) var(--p),var(--branco) var(--p))}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;box-sizing:border-box;width:26px;height:26px;margin-top:-10px;border-radius:50%;background:var(--branco);border:3px solid var(--tinta);box-shadow:2px 2px 0 var(--tinta)}
input[type=range]::-moz-range-track{height:10px;border-radius:999px;border:2px solid var(--tinta);background:var(--branco)}
input[type=range]::-moz-range-progress{height:10px;border-radius:999px;background:var(--laranja)}
input[type=range]::-moz-range-thumb{box-sizing:border-box;width:26px;height:26px;border-radius:50%;background:var(--branco);border:3px solid var(--tinta)}
input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--azul)}
.tamanho .ajuda{margin-top:6px}
.botoes{display:flex;gap:10px}
.botoes .botao{flex:1;padding:0 12px;min-height:44px;font-size:15px}
.saida .rodinha{font-size:12.5px;color:var(--suave);text-align:center}

/* emojis do WhatsApp */
.com-emoji{position:relative}
.com-emoji textarea{padding-right:56px}
.botao-emoji{position:absolute;right:9px;bottom:9px;width:38px;height:38px;border:2px solid var(--tinta);border-radius:50%;display:grid;place-items:center;background:var(--amarelo);cursor:pointer;transition:transform .12s}
.botao-emoji:hover,.botao-emoji[aria-expanded=true]{transform:rotate(-10deg) scale(1.06)}
.botao-emoji svg{width:22px;height:22px}
.emojis{border:2px solid var(--tinta);border-radius:18px;background:var(--branco);box-shadow:var(--sombra);overflow:hidden;margin-top:4px}
.emojis-busca{position:relative;display:block;padding:10px;border-bottom:2px solid var(--tinta)}
.emojis-busca svg{position:absolute;left:24px;top:23px;width:16px;height:16px;pointer-events:none}
.emojis-busca input{width:100%;height:42px;border:2px solid var(--tinta);border-radius:999px;padding:0 14px 0 40px;background:var(--papel);outline:none;font-size:15px}
.emojis-busca input:focus{background:var(--branco);box-shadow:3px 3px 0 var(--amarelo)}
.emojis-categorias{display:flex;gap:2px;padding:6px 8px;border-bottom:2px solid var(--tinta);overflow-x:auto;scrollbar-width:none;background:var(--papel)}
.emojis-categorias::-webkit-scrollbar{display:none}
.emojis-categorias.apagadas{opacity:.35;pointer-events:none}
.emojis-categorias button{flex:none;width:38px;height:36px;border:0;border-radius:10px;display:grid;place-items:center;background:transparent;cursor:pointer;opacity:.6;transition:background .12s,opacity .12s}
.emojis-categorias button:hover{opacity:1;background:var(--branco)}
.emojis-categorias button[aria-selected=true]{opacity:1;background:var(--amarelo)}
.emojis-categorias img,.emojis-categorias svg{width:22px;height:22px}
.emojis-grade{position:relative;height:276px;overflow-y:auto;padding:0 8px 8px;overscroll-behavior:contain}
.emojis-grade h3{position:sticky;top:0;z-index:1;margin:0;padding:10px 6px 6px;background:var(--branco);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--suave)}
.emojis-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr))}
.emoji{aspect-ratio:1;padding:0;border:0;border-radius:10px;display:grid;place-items:center;background:transparent;cursor:pointer}
.emoji:hover,.emoji:focus-visible{background:var(--amarelo-claro);outline:none}
.emoji img{width:30px;height:30px}
.emojis-rodape{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 14px;border-top:2px solid var(--tinta);font-size:13px;background:var(--papel)}
.emojis-rodape img{width:26px;height:26px;flex:none}
.emojis-vazio{padding:34px 12px;text-align:center;color:var(--suave);font-size:14px}
.campo .emojis{margin-top:4px}

/* ---------------------------------------------------------------- anúncios */
.anuncio{max-width:980px;margin:36px auto;padding:0 var(--respiro);text-align:center}
.anuncio-rotulo{display:block;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--apagado);margin-bottom:6px}
.anuncio-caixa{display:grid;place-items:center;padding:10px;border:2px dashed #D9CDB8;border-radius:30px}
.anuncio.adsense .anuncio-caixa{min-height:120px;border-color:transparent;padding:0}
.anuncio.adsense.quadrado .anuncio-caixa,.anuncio.adsense.artigo .anuncio-caixa{min-height:280px}
.anuncio.adsense.lateral .anuncio-caixa{min-height:600px}
.anuncio.lateral{margin:0;padding:0}
.casa{display:flex;align-items:center;gap:18px;width:100%;text-align:left;text-decoration:none;padding:16px 22px;border:2.5px solid var(--tinta);border-radius:24px;background:var(--cor-casa,var(--rosa-claro));box-shadow:var(--sombra);transition:transform .15s,box-shadow .15s}
.casa:hover{transform:translate(-2px,-2px) rotate(-.4deg);box-shadow:6px 6px 0 var(--tinta)}
.casa img{width:84px;flex:none;transform:rotate(-6deg)}
.texto-casa{display:block}
.texto-casa strong{display:block;font-weight:900;font-size:22px;line-height:1.05;letter-spacing:-.03em}
.texto-casa small{display:block;color:var(--tinta-2);font-size:15px;margin-top:4px}
.casa .botao{margin-left:auto;flex:none}
.anuncio.quadrado .casa,.anuncio.lateral .casa{flex-direction:column;text-align:center;padding:22px}
.anuncio.quadrado .casa .botao,.anuncio.lateral .casa .botao{margin:6px 0 0}

/* ---------------------------------------------------------------- cartões */
.grade{display:grid;gap:22px}
.grade.tres{grid-template-columns:repeat(3,minmax(0,1fr))}
.grade.quatro{grid-template-columns:repeat(4,minmax(0,1fr))}
.cartao{position:relative;background:var(--branco);border:2.5px solid var(--tinta);border-radius:24px;box-shadow:var(--sombra);padding:24px;transition:transform .18s,box-shadow .18s}
a.cartao{text-decoration:none;display:block}
a.cartao:hover,.cartao.vivo:hover{transform:translate(-3px,-3px) rotate(-.5deg);box-shadow:7px 7px 0 var(--tinta)}
.cartao h3{font-weight:800;font-size:21px;line-height:1.15;letter-spacing:-.025em;margin-bottom:8px}
.cartao p{color:var(--tinta-2);font-size:15.5px}
.cartao .selo{margin-bottom:12px}
.recurso .icone-grande{width:64px;height:64px;border-radius:20px;border:2.5px solid var(--tinta);display:grid;place-items:center;background:var(--cor,var(--amarelo));margin-bottom:16px;box-shadow:3px 3px 0 var(--tinta)}
.recurso .icone-grande svg{width:32px;height:32px}
.passos-grande{counter-reset:passo;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;list-style:none;padding:0;margin:0}
.passos-grande li{counter-increment:passo;position:relative;padding:62px 24px 24px;background:var(--branco);border:2.5px solid var(--tinta);border-radius:24px;box-shadow:var(--sombra)}
.passos-grande li::before{content:counter(passo);position:absolute;top:-22px;left:22px;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--cor,var(--laranja));border:2.5px solid var(--tinta);font-family:var(--serifa);font-style:italic;font-weight:900;font-size:32px}
.passos-grande h3{font-weight:800;font-size:21px;margin-bottom:6px}
.passos-grande p{color:var(--tinta-2)}

.ideia .tipo-ideia{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;margin-top:14px;text-decoration:none;border-bottom:2px solid var(--cor,var(--laranja))}
.ideia .dica-ideia{margin-top:12px;font-size:14px;color:var(--suave);border-top:2px dashed var(--linha);padding-top:10px}
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.filtro{min-height:40px;padding:0 16px;border-radius:999px;border:2px solid var(--tinta);background:var(--branco);font-weight:700;font-size:14px;cursor:pointer}
.filtro[aria-pressed=true]{background:var(--tinta);color:var(--papel)}

.post-cartao{padding:0;overflow:hidden;display:flex;flex-direction:column}
.post-cartao .capa{height:170px;display:grid;place-items:center;background:var(--cor,var(--amarelo-claro));border-bottom:2.5px solid var(--tinta);position:relative;overflow:hidden}
.post-cartao .capa img{width:132px;transform:rotate(-5deg);transition:transform .3s}
.post-cartao:hover .capa img{transform:rotate(4deg) scale(1.06)}
.post-cartao .texto{padding:20px 22px 24px;display:grid;gap:8px}
.post-cartao .meta{font-size:13px;color:var(--suave);font-weight:600}

.pro-faixa{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:30px 36px;border:2.5px solid var(--tinta);border-radius:30px;background:var(--laranja);color:var(--tinta);box-shadow:var(--sombra-grande);position:relative;overflow:hidden}
.pro-faixa img{width:150px;transform:rotate(-8deg)}
.pro-faixa h2{font-weight:900;font-size:clamp(28px,3.4vw,42px);line-height:1;letter-spacing:-.04em}
.pro-faixa p{margin-top:10px;font-size:17px;color:var(--tinta-2);max-width:560px}
.pro-faixa .botao{background:var(--amarelo);color:var(--tinta);box-shadow:4px 4px 0 var(--tinta)}

/* perguntas */
.perguntas{display:grid;gap:12px}
.pergunta{border:2.5px solid var(--tinta);border-radius:20px;background:var(--branco);overflow:hidden;transition:box-shadow .15s}
.pergunta[open]{box-shadow:var(--sombra)}
.pergunta summary{list-style:none;display:flex;align-items:center;gap:14px;padding:18px 22px;font-weight:700;font-size:17px;cursor:pointer;line-height:1.35}
.pergunta summary::-webkit-details-marker{display:none}
.pergunta summary::after{content:"+";margin-left:auto;flex:none;width:32px;height:32px;border-radius:50%;border:2px solid var(--tinta);display:grid;place-items:center;font-weight:800;font-size:20px;line-height:1;background:var(--amarelo);transition:transform .2s}
.pergunta[open] summary::after{transform:rotate(45deg);background:var(--rosa);color:var(--branco)}
.pergunta .resposta{padding:0 22px 20px;color:var(--tinta-2);font-size:16px}
.pergunta .resposta a{font-weight:600}
.busca-ajuda{position:relative;max-width:560px;margin:26px 0 8px}
.busca-ajuda input{width:100%;height:58px;border:2.5px solid var(--tinta);border-radius:999px;padding:0 22px 0 52px;font-size:17px;background:var(--branco);box-shadow:var(--sombra);outline:none}
.busca-ajuda svg{position:absolute;left:20px;top:19px;width:20px;height:20px}
.grupo-perguntas{margin-top:44px}
.grupo-perguntas h2{font-weight:900;font-size:28px;letter-spacing:-.03em;margin-bottom:16px}

/* ---------------------------------------------------------------- páginas internas */
.topo-pagina{position:relative;overflow:hidden;padding:48px 0 44px}
.topo-pagina .dentro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:center;position:relative;z-index:1}
.topo-pagina h1{font-weight:900;font-size:clamp(40px,5.6vw,72px);line-height:.95;letter-spacing:-.05em}
.topo-pagina h1 .italico{font-size:1.06em}
.topo-pagina.topo-post h1{font-size:clamp(34px,4.2vw,54px);line-height:1.02;letter-spacing:-.04em}
.descer{gap:6px}
.topo-pagina .subtitulo{font-size:clamp(17px,1.8vw,20px);color:var(--tinta-2);margin-top:16px;max-width:640px}
.topo-pagina .mascote{width:clamp(130px,17vw,210px);animation:flutuar 5s ease-in-out infinite}
.migalhas{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;font-weight:600;color:var(--suave);margin-bottom:16px;list-style:none;padding:0}
.migalhas a{text-decoration:none}
.migalhas a:hover{text-decoration:underline}
.migalhas li+li::before{content:"/";margin-right:6px;color:var(--apagado)}
.passos-curtos{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;list-style:none;padding:0;counter-reset:p}
.passos-curtos li{counter-increment:p;display:flex;align-items:center;gap:10px;background:var(--branco);border:2px solid var(--tinta);border-radius:999px;padding:6px 16px 6px 6px;font-weight:600;font-size:14px}
.passos-curtos li::before{content:counter(p);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--amarelo);border:2px solid var(--tinta);font-weight:800;font-size:14px}

.leitura{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start}
.leitura.sem-lado{grid-template-columns:minmax(0,760px);justify-content:center}
.lado-leitura{position:sticky;top:100px;display:grid;gap:22px}
.caixa-cta{padding:24px;border:2.5px solid var(--tinta);border-radius:24px;background:var(--amarelo);box-shadow:var(--sombra);text-align:center}
.caixa-cta img{width:110px;margin:-4px auto 8px}
.caixa-cta strong{display:block;font-weight:900;font-size:22px;line-height:1.1;letter-spacing:-.03em;margin-bottom:8px}
.caixa-cta p{font-size:15px;margin-bottom:14px}
.post-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px;font-weight:600;font-size:14px;color:var(--suave)}

.artigo{font-size:18px;line-height:1.72;color:var(--tinta-2)}
.artigo>*+*{margin-top:1.1em}
.artigo .lead{font-size:21px;line-height:1.55;color:var(--tinta);font-weight:500}
.artigo h2{font-weight:800;font-size:clamp(25px,2.6vw,31px);line-height:1.18;letter-spacing:-.03em;color:var(--tinta);margin-top:1.9em;scroll-margin-top:96px}
.artigo h3{font-weight:700;font-size:21px;line-height:1.25;color:var(--tinta);margin-top:1.5em}
.artigo a{color:var(--tinta);font-weight:600;text-decoration-thickness:2px;text-decoration-color:var(--laranja);text-underline-offset:3px}
.artigo a:hover{background:var(--amarelo-claro)}
.artigo ul,.artigo ol{padding-left:1.3em}
.artigo li+li{margin-top:.45em}
.artigo li::marker{color:var(--laranja);font-weight:800}
.artigo strong{color:var(--tinta)}
.artigo code{font-size:.88em;background:var(--papel);border:1.5px solid var(--linha);border-radius:6px;padding:.1em .35em;overflow-wrap:anywhere}
.artigo blockquote{margin:1.4em 0;padding:18px 22px;border-left:6px solid var(--rosa);background:var(--branco);border-radius:0 18px 18px 0}
.tabela-rola{overflow-x:auto;border:2.5px solid var(--tinta);border-radius:18px;background:var(--branco)}
.artigo table{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.45}
.artigo th{text-align:left;background:var(--tinta);color:var(--papel);font-weight:700;padding:12px 14px}
.artigo td{padding:11px 14px;border-top:1.5px solid var(--linha);vertical-align:top}
.artigo tr:nth-child(even) td{background:var(--papel)}
.artigo .resumo,.artigo .dica,.artigo .alerta{border:2.5px solid var(--tinta);border-radius:20px;padding:18px 22px;font-size:16.5px}
.artigo .resumo{background:var(--amarelo-claro);box-shadow:var(--sombra)}
.artigo .resumo strong:first-child,.artigo .dica strong:first-child,.artigo .alerta strong:first-child{display:inline-block;font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;padding:2px 10px;border-radius:999px;border:2px solid var(--tinta);background:var(--branco)}
.artigo .resumo ul{margin:8px 0 0}
.artigo .dica{background:var(--verde-claro)}
.artigo .alerta{background:var(--rosa-claro)}
.artigo .cta{margin:2em 0}
.artigo .cta a{display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:0 28px;border-radius:999px;background:var(--laranja);color:var(--tinta);border:2.5px solid var(--tinta);box-shadow:var(--sombra);text-decoration:none;font-weight:800;font-size:17px}
.artigo .cta a:hover{background:var(--amarelo);transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--tinta)}
.artigo .cta a::after{content:"→";font-size:20px}
.faq-artigo{margin-top:56px}
.faq-artigo h2{margin-bottom:18px}
.compartilhar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:40px;padding-top:22px;border-top:2.5px dashed var(--linha);font-weight:700;font-size:14px}
.relacionados{margin-top:64px}

/* ---------------------------------------------------------------- Pro */
.pro-heroi{background:var(--amarelo);color:var(--tinta);border-bottom:2.5px solid var(--tinta);position:relative;overflow:hidden}
.pro-heroi .bolha.b1{background:var(--laranja) !important}
.pro-heroi .bolha.b2{background:var(--rosa) !important}
.pro-heroi .topo-pagina{padding:64px 0 70px}
.pro-heroi h1 .pincel{--cor-pincel:var(--rosa);color:var(--tinta)}
.pro-heroi .subtitulo{color:var(--tinta-2)}
.pro-heroi .mascote{width:clamp(170px,22vw,280px)}
.beneficio .icone-grande{background:var(--cor,var(--roxo-claro))}
.comparar{width:100%;border-collapse:separate;border-spacing:0;border:2.5px solid var(--tinta);border-radius:24px;overflow:hidden;background:var(--branco);box-shadow:var(--sombra);font-size:16px}
.comparar th,.comparar td{padding:14px 18px;text-align:left;border-top:1.5px solid var(--linha)}
.comparar thead th{background:var(--tinta);color:var(--papel);border-top:0;font-size:17px}
.comparar thead th:last-child{background:var(--laranja);color:var(--tinta)}
.comparar td:not(:first-child),.comparar th:not(:first-child){text-align:center;width:150px}
.comparar .sim{color:#077A5F;font-weight:800}
.comparar .nao{color:var(--apagado)}
.formulario-cartao{max-width:620px;margin:0 auto;background:var(--branco);border:2.5px solid var(--tinta);border-radius:30px;box-shadow:var(--sombra-grande);padding:34px}
.formulario-cartao h2{font-weight:900;font-size:clamp(28px,3.4vw,40px);letter-spacing:-.04em;line-height:1.02;margin-bottom:8px}
.interesses{display:flex;flex-wrap:wrap;gap:8px}
.interesses label{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:2px solid var(--tinta);border-radius:999px;font-weight:600;font-size:14px;cursor:pointer;background:var(--papel)}
.interesses input{accent-color:var(--laranja);width:18px;height:18px}
.interesses label:has(input:checked){background:var(--amarelo-claro);border-color:var(--laranja)}
.consentimento{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--tinta-2)}
.consentimento input{width:20px;height:20px;margin-top:2px;accent-color:var(--laranja);flex:none}
.mel{position:absolute;left:-9999px}
.aviso-envio{padding:14px 18px;border-radius:16px;border:2px solid var(--tinta);font-weight:600}
.aviso-envio.ok{background:var(--verde-claro)}
.aviso-envio.erro{background:var(--rosa-claro)}

/* ---------------------------------------------------------------- rodapé */
.rodape{background:var(--tinta);color:var(--papel);margin-top:90px;position:relative;padding:86px 0 40px}
.turma{position:absolute;left:0;right:0;top:-62px;display:flex;justify-content:center;gap:clamp(4px,1.6vw,22px);pointer-events:none}
.turma img{width:clamp(56px,8vw,96px);transition:transform .3s;animation:espiar 6s ease-in-out infinite}
.turma img:nth-child(2n){animation-delay:-1.5s}
.turma img:nth-child(3n){animation-delay:-3s}
.rodape .dentro{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:36px}
.rodape .logo{color:var(--papel)}
.rodape .logo-qr{font-size:30px}.rodape .logo-gratis{font-size:36px}.rodape .logo-sempre{font-size:19px}
.rodape p{color:rgba(253,245,231,.75);font-size:15px;margin-top:16px;max-width:320px}
.rodape h2{font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--amarelo);margin-bottom:14px}
.rodape ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.rodape a{text-decoration:none;color:rgba(253,245,231,.88);font-size:15px}
.rodape a:hover{color:var(--branco);text-decoration:underline}
.rodape .base{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:26px;border-top:1.5px solid rgba(253,245,231,.18);font-size:13px;color:rgba(253,245,231,.6)}

/* ---------------------------------------------------------------- ajustes */
.estrela svg,.seta-desenhada svg,.raios svg{width:100%;height:100%;display:block}
.moldura-previa{position:relative;width:100%;max-width:250px;margin:0 auto}
.selo-exemplo{position:absolute;top:-12px;left:-10px;z-index:2;transform:rotate(-6deg)}
.previa .vazio-texto{margin:0;padding:24px}
.menu a.botao{padding:0 22px;font-size:17px;border-radius:999px;background:var(--tinta);color:var(--papel);justify-content:center}
.pro-heroi .migalhas{color:var(--tinta-2)}
.texto-heroi{position:relative;z-index:1}
.tipo-ideia svg{display:inline-block;vertical-align:-3px}

/* ---------------------------------------------------------------- elementos da marca */
.com-cursor{position:relative;display:inline-flex}
.cursor-clique{position:absolute;width:44px;height:44px;right:-22px;bottom:-26px;pointer-events:none;animation:clicar 2.6s ease-in-out infinite}
.cursor-clique svg{width:100%;height:100%;display:block}
.bolinhas-heroi{position:absolute;width:64px;left:-2%;top:14%;z-index:2;animation:flutuar 6s ease-in-out infinite reverse}
.bolinhas-heroi svg{width:100%;display:block}
.cantos-leitura{position:absolute;inset:-12px;z-index:1;pointer-events:none;animation:respirar 3.2s ease-in-out infinite}
.cantos-leitura svg{width:100%;height:100%;display:block}
.rabisco{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 24' preserveAspectRatio='none'%3E%3Cpath d='M3 16 L24 6 L44 18 L66 6 L88 18 L110 6 L132 18 L154 6 L176 18 L197 8' fill='none' stroke='%23FDC201' stroke-width='6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat left bottom / 100% .26em;padding-bottom:.1em}
.selo-ideias{display:inline-block;margin-left:auto;margin-right:8px;padding:12px 20px 14px;background:var(--amarelo);border-radius:48% 52% 45% 55% / 55% 48% 52% 45%;box-shadow:0 0 0 4px var(--branco);font-weight:800;font-size:17px;line-height:.95;text-align:center;transform:rotate(-8deg);animation:balanco 4s ease-in-out infinite}
.selo-ideias .italico{font-size:1.25em}
.passos-grande li:not(:last-child)::after{content:"";position:absolute;right:-46px;top:26px;width:70px;height:36px;z-index:2;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 60' fill='none' stroke='%23FC408D' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 40c14-22 34-28 46-16 8 8-2 22-11 14-7-7 8-26 30-24 14 1 26 9 36 20'/%3E%3Cpath d='M96 22l12 12-16 4'/%3E%3C/svg%3E") no-repeat center / contain}
.pro-faixa .estrela{position:absolute;color:var(--papel)}
.pro-faixa .e1{width:34px;height:34px;left:28%;top:14px}
.pro-faixa .e2{width:22px;height:22px;right:24%;bottom:14px;animation-delay:-1.4s}
@keyframes clicar{0%,70%,100%{transform:translate(0,0)}78%{transform:translate(-6px,-5px) scale(.9)}86%{transform:translate(0,0)}}
@keyframes respirar{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}

/* ---------------------------------------------------------------- recados (pop-ups da casa) */
.recado-janela{border:2.5px solid var(--tinta);border-radius:28px;padding:34px 28px 24px;max-width:420px;width:calc(100% - 32px);background:var(--branco);box-shadow:var(--sombra-grande);text-align:center;color:var(--tinta)}
.recado-janela::backdrop{background:rgba(0,8,33,.45);backdrop-filter:blur(2px)}
.recado-janela[open]{animation:surgir .35s cubic-bezier(.2,1.3,.4,1)}
.recado-janela img{width:118px;margin:4px auto 10px;transform:rotate(-6deg)}
.recado-janela h2{font-weight:900;font-size:26px;line-height:1.05;letter-spacing:-.03em;margin-bottom:8px}
.recado-janela p{color:var(--tinta-2);font-size:16px;margin-bottom:18px}
.recado-janela .botao{width:100%}
.recado-janela .agora-nao{margin-top:12px;border:0;background:none;font-weight:600;font-size:14px;color:var(--suave);cursor:pointer;text-decoration:underline}
.fechar{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;border:2px solid var(--tinta);background:var(--amarelo);font-size:18px;font-weight:800;line-height:1;cursor:pointer;display:grid;place-items:center}
.recado-janela .anuncio-rotulo,.recado-canto .anuncio-rotulo{margin:0}
.recado-canto{position:fixed;right:20px;bottom:20px;z-index:50;width:min(360px,calc(100% - 32px));display:flex;gap:14px;align-items:center;padding:16px 46px 16px 16px;border:2.5px solid var(--tinta);border-radius:22px;background:var(--amarelo-claro);box-shadow:var(--sombra);animation:deslizar .4s ease}
.recado-canto img{width:62px;flex:none;transform:rotate(-5deg)}
.recado-canto strong{display:block;font-weight:900;font-size:17px;line-height:1.1;margin:2px 0 4px}
.recado-canto small{display:block;font-size:13.5px;color:var(--tinta-2)}
.recado-canto a{display:inline-block;margin-top:6px;font-weight:800;font-size:14px}
.recado-canto .fechar{top:10px;right:10px;width:30px;height:30px;font-size:16px}
@keyframes surgir{from{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:none}}
@keyframes deslizar{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@media (max-width:600px){.recado-canto{left:16px;right:16px;bottom:16px;width:auto}}

/* ---------------------------------------------------------------- animações */
@keyframes mexer{0%,100%{transform:rotate(9deg)}50%{transform:rotate(-5deg) translateY(-.04em)}}
@keyframes flutuar{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(-1deg)}}
@keyframes balanco{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(-3deg) scale(1.03)}}
@keyframes piscar{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(.72) rotate(35deg)}}
@keyframes balancar{0%,100%{transform:rotate(0)}50%{transform:rotate(8deg) translateY(4px)}}
@keyframes bolha{0%,100%{border-radius:42% 58% 63% 37% / 41% 44% 56% 59%}33%{border-radius:61% 39% 45% 55% / 55% 62% 38% 45%}66%{border-radius:37% 63% 52% 48% / 36% 45% 55% 64%}}
@keyframes pular{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
@keyframes rolar{to{transform:translateX(-50%)}}
@keyframes entrar{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes pulo{0%{transform:scale(1)}40%{transform:scale(1.035) rotate(-.6deg)}100%{transform:scale(1)}}
@keyframes espiar{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px) rotate(-3deg)}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
  html{scroll-behavior:auto}
  .revelar{opacity:1;transform:none}
}

/* ---------------------------------------------------------------- mais leve e menor (30/09) */
.barra .dentro{height:66px;gap:16px}
.menu a{font-size:14px;padding:7px 12px}
.botao{min-height:48px;padding:0 22px;font-size:15px}
.botao.pequeno{min-height:40px;padding:0 16px;font-size:14px}
.logo-marca{width:31px;height:31px}
.logo-qr{font-size:18px}.logo-gratis{font-size:21px}.logo-sempre{font-size:11.5px}
.heroi h1{font-size:clamp(46px,6.2vw,82px)}
.heroi .chamada{font-size:16.5px}
.ilustracao{width:min(100%,380px)}
.cabeca-secao h2,.titulo-secao{font-size:clamp(28px,3.4vw,42px)}
.topo-pagina h1{font-size:clamp(34px,4.6vw,58px)}
.cartao h3{font-size:19px}
.gerador-topo h2{font-size:clamp(22px,2.2vw,28px)}
.gerador-topo .selo{font-size:12px;padding:3px 10px}
.tipos{gap:7px;margin-bottom:14px}
.tipo{height:36px;padding:0 13px 0 5px;gap:7px;border:1.5px solid rgba(0,8,33,.24);background:var(--branco);font-weight:600;font-size:13.5px;color:var(--tinta-2);box-shadow:none}
.tipo:hover{transform:none;box-shadow:none;border-color:rgba(0,8,33,.6);background:var(--papel)}
.tipo[aria-selected=true]{background:var(--cor,var(--amarelo));border-color:var(--tinta);color:var(--tinta);font-weight:700;box-shadow:2px 2px 0 var(--tinta);transform:none}
.tipo .ico{width:24px;height:24px;border:0}
.tipo .ico svg{width:14px;height:14px}
.gerador{grid-template-columns:minmax(0,1fr) 310px;border-width:2px;border-radius:22px;box-shadow:4px 4px 0 var(--tinta)}
.formularios{padding:20px 22px 22px}
.intro{font-size:13.5px;margin-bottom:12px}
.campo{margin-bottom:10px}
.campo label,.rotulo{font-size:12.5px}
.campo input,.campo select,.campo textarea{min-height:38px;border:1.5px solid rgba(0,8,33,.32);border-radius:10px;font-size:14px;padding:0 12px}
.campo textarea{min-height:76px;padding:9px 12px}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--tinta);box-shadow:3px 3px 0 var(--amarelo)}
.personalizar{margin-top:14px;border:1.5px solid rgba(0,8,33,.22);border-radius:16px}
.personalizar summary{padding:9px 12px;font-size:14px}
.personalizar .miolo{padding:2px 12px 14px;gap:12px}
.opcao{min-height:32px;padding:0 10px 0 6px;border:1.5px solid rgba(0,8,33,.26);border-radius:10px;font-size:12.5px;font-weight:600}
.opcao:hover{transform:none;box-shadow:none;border-color:rgba(0,8,33,.6)}
.opcao[aria-pressed=true]{border-color:var(--tinta);box-shadow:2px 2px 0 var(--tinta)}
.opcao svg{width:19px;height:19px}
.estilo-pronto{width:34px;height:34px}
.estilo-pronto span{width:21px;height:21px;border-width:1.5px}
.cor-campo{border:1.5px solid rgba(0,8,33,.26);border-radius:10px;padding:4px 8px 4px 4px}
.cor-campo input[type=color]{width:28px;height:28px;border-width:1.5px;border-radius:8px}
.logo-em-breve{border-width:1.5px;padding:8px 11px;font-size:12.5px}
.saida{border-left:1.5px solid rgba(0,8,33,.25);padding:20px 18px}
.saida .fixo{gap:12px}
.moldura-previa,.previa{max-width:220px}
.previa{border-width:1.5px;box-shadow:3px 3px 0 var(--tinta)}
.mascote-previa{width:66px;right:-16px;bottom:-18px}
.cantos-leitura{inset:-10px}
.teste{min-height:30px;font-size:12.5px;border-width:1.5px}
.estado{font-size:12.5px}
.botoes{flex-wrap:wrap}
.botoes .botao{flex:1 1 118px;min-height:40px;font-size:14px;white-space:nowrap}
.saida .rodinha{font-size:12px}

/* ---------------------------------------------------------------- faixa lateral de publicidade */
:root{--largura:1080px}
body{font-size:15.5px}
.faixa-lateral{display:none}
@media (min-width:1360px){
  .faixa-lateral{display:grid;gap:6px;position:fixed;z-index:20;top:104px;width:160px;right:max(14px,calc((100vw - var(--largura)) / 2 - 184px));text-align:center}
  .faixa-lateral .anuncio-rotulo{justify-self:center;margin:0;padding:2px 10px;border-radius:999px;background:var(--fundo)}
  .casa-vertical{display:grid;justify-items:center;gap:10px;min-height:600px;align-content:center;padding:20px 12px;border:2px dashed #D9CDB8;border-radius:24px;background:var(--amarelo-claro);text-decoration:none;color:var(--tinta);transition:transform .15s}
  .casa-vertical:hover{transform:translateY(-3px)}
  .casa-vertical img{width:110px;transform:rotate(-6deg)}
  .casa-vertical strong{font-weight:900;font-size:19px;line-height:1.05;letter-spacing:-.02em}
  .casa-vertical small{font-size:13px;color:var(--tinta-2)}
}

/* ---------------------------------------------------------------- telas menores */
@media (max-width:1060px){
  .gerador{grid-template-columns:1fr}
  .saida{border-left:0;border-top:2.5px solid var(--tinta)}
  .saida .fixo{position:static}
  .leitura{grid-template-columns:1fr}
  .lado-leitura{position:static}
  .grade.quatro{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .menu,.barra .botao-pro{display:none}
  .abrir-menu{display:grid}
  .barra.aberta .menu{display:flex;position:fixed;inset:66px 0 0 0;flex-direction:column;align-items:stretch;gap:6px;padding:24px var(--respiro);background:var(--fundo);border-top:2.5px solid var(--tinta);overflow:auto}
  .barra.aberta .menu a{font-size:24px;font-weight:800;padding:14px 16px;border-radius:18px}
  .barra.aberta .menu .so-celular{display:inline-flex;margin-top:14px}
  .heroi{padding:22px 0 76px}
  .heroi .dentro{grid-template-columns:1fr}
  .ilustracao{width:min(88%,380px);margin-top:26px}
  .grade.tres{grid-template-columns:1fr 1fr}
  .passos-grande{grid-template-columns:1fr}
  .passos-grande li{margin-top:12px}
  .passos-grande li::after{display:none}
  .selo-ideias{display:none}
  .pro-faixa{grid-template-columns:1fr;text-align:center;justify-items:center}
  .rodape .dentro{grid-template-columns:1fr 1fr}
  .topo-pagina .dentro{grid-template-columns:1fr}
  .topo-pagina .mascote{width:130px;justify-self:end;margin-top:-20px}
}
@media (min-width:901px){.menu .so-celular{display:none}}
@media (max-width:600px){
  .formularios{padding:22px 18px 24px}
  .saida{padding:24px 18px}
  .lado,.cores{grid-template-columns:1fr}
  .lado .campo:last-child{margin-bottom:16px}
  .grade.tres,.grade.quatro{grid-template-columns:1fr}
  .tipos{flex-wrap:nowrap;overflow-x:auto;margin:0 calc(-1 * var(--respiro)) 18px;padding:4px var(--respiro) 8px;scrollbar-width:none}
  .tipos::-webkit-scrollbar{display:none}
  .tipo{flex:none}
  .casa{flex-direction:column;text-align:center}
  .casa .botao{margin:4px 0 0}
  .rodape .dentro{grid-template-columns:1fr}
  .artigo{font-size:17px}
  .artigo .lead{font-size:19px}
  .heroi{padding:12px 0 66px}
  .heroi .chamada{font-size:16px;margin:12px 0 16px}
  .vantagens{gap:10px 16px;margin-top:16px;flex-wrap:nowrap}
  .vantagens li{font-size:13px;gap:6px}
  .vantagens svg{width:22px;height:22px}
  .ilustracao{width:min(66%,250px);margin:4px auto 0}
  .balao{font-size:14px;padding:10px 14px 13px;top:-18px;right:-58%;box-shadow:0 0 0 4px var(--branco)}
  .heroi .raios{display:none}
  .descer span:last-child{display:none}
  .formulario-cartao{padding:24px 20px}
  .comparar td:not(:first-child),.comparar th:not(:first-child){width:auto}
}

/* ---------------------------------------------------------------- ajustes de 30/09 (noite) */
/* Faixa lateral também de 1360 a 1439 px, mais fina (120 px). O AdSense de 160x600 só a partir de 1440. */
@media (min-width:1360px) and (max-width:1439px){
  .faixa-lateral{width:120px;right:max(10px,calc((100vw - var(--largura)) / 2 - 140px))}
  .faixa-lateral.adsense{display:none}
  .casa-vertical{padding:16px 8px}
  .casa-vertical img{width:84px}
  .casa-vertical strong{font-size:16px}
  .casa-vertical small{font-size:12px}
  .casa-vertical .botao{padding:0 10px;font-size:12.5px}
}

/* Balão do topo na altura da pata: no alto ele cobria a tiara de unicórnio do cachorro */
.balao{top:auto;bottom:4%;right:-9%}
@media (max-width:600px){.balao{top:auto;bottom:5%;right:-14%}}

/* Balão de fala do mascote (frase do campo "chamada"): capa dos posts e topo do post */
.fala{position:relative;z-index:2;display:block;max-width:62%;padding:9px 14px 10px;background:var(--branco);color:var(--tinta);border:2.5px solid var(--tinta);border-radius:18px;box-shadow:3px 3px 0 var(--tinta);font-weight:800;font-size:16.5px;line-height:1.1;letter-spacing:-.02em;text-align:center;transform:rotate(-3deg);text-wrap:balance}
.fala::after{content:"";position:absolute;right:-9.5px;top:calc(50% - 8px);width:15px;height:15px;background:var(--branco);border:2.5px solid var(--tinta);border-left:0;border-bottom:0;border-radius:0 3px 0 0;transform:rotate(45deg)}
.post-cartao .capa{display:flex;align-items:center;justify-content:center;gap:6px;padding:0 16px}
.post-cartao .capa .fala{margin-right:6px;transition:transform .3s}
.post-cartao .capa img{width:118px;flex:none}
.post-cartao:hover .capa .fala{transform:rotate(-1deg) scale(1.04)}
.mascote-com-fala{display:flex;align-items:center}
.mascote-com-fala .fala{max-width:180px;font-size:18px;margin-right:8px;align-self:flex-start;margin-top:14px}
@media (max-width:900px){
  .mascote-com-fala{justify-self:end;margin-top:-20px}
  .mascote-com-fala .mascote{margin-top:0}
  .mascote-com-fala .fala{max-width:150px;font-size:15px}
}

/* Anúncio estreito (728x90 no computador): Contato, Privacidade, Termos */
.anuncio.estreito{max-width:860px;margin:26px auto}
.anuncio.estreito .anuncio-caixa{padding:8px;border-radius:22px}
.anuncio.adsense.estreito .anuncio-caixa{min-height:90px}
.anuncio.estreito .casa{padding:9px 16px;gap:14px;border-width:2px;border-radius:16px;box-shadow:3px 3px 0 var(--tinta)}
.anuncio.estreito .casa img{width:52px}
.anuncio.estreito .texto-casa strong{font-size:17px}
.anuncio.estreito .texto-casa small{font-size:13.5px;margin-top:2px}
.artigo .anuncio.estreito{padding:0}
@media (max-width:600px){.anuncio.estreito .casa{flex-direction:row;text-align:left}.anuncio.estreito .casa .botao{display:none}}

/* Caixa do Pro no fim dos posts */
.pro-no-post{display:flex;align-items:center;gap:18px;margin:40px 0 8px;padding:18px 22px;border:2.5px solid var(--tinta);border-radius:22px;background:var(--amarelo-claro);box-shadow:var(--sombra)}
.pro-no-post img{width:76px;flex:none;transform:rotate(-6deg)}
.pro-no-post strong{display:block;font-weight:900;font-size:20px;line-height:1.1;letter-spacing:-.02em;margin:8px 0 4px}
.pro-no-post p{margin:0;font-size:15px;line-height:1.45;color:var(--tinta-2)}
.pro-no-post .selo{font-size:11.5px;padding:2px 9px}
.artigo .pro-no-post .botao{flex:none;margin-left:auto;text-decoration:none;font-weight:700;color:var(--papel)}
.artigo .pro-no-post .botao:hover{background:var(--tinta)}
@media (max-width:600px){.pro-no-post{flex-direction:column;text-align:center}.artigo .pro-no-post .botao{margin:4px auto 0}}

/* Paginação do blog (12 posts por tela) */
.paginacao{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:40px}
.paginacao .numeros{display:flex;gap:6px}
.pagina-numero{display:grid;place-items:center;min-width:40px;height:40px;padding:0 6px;border:2px solid var(--tinta);border-radius:12px;background:var(--branco);font-weight:800;font-size:15px;text-decoration:none;color:var(--tinta)}
.pagina-numero:hover{background:var(--papel)}
.pagina-numero[aria-current=page]{background:var(--amarelo);box-shadow:2px 2px 0 var(--tinta)}

/* Turma do rodapé: os bichos têm proporções diferentes (o polvo é largo, o cachorro é alto) e o flex
   esticava todos até a altura do mais alto. Agora: mesma altura, largura natural, alinhados por baixo. */
.turma{align-items:flex-end}
.turma img{width:auto;height:clamp(48px,9vw,118px)}

/* Celular e tablet: o cachorro fica pequeno, na lateral do título, e o gerador sobe para a primeira tela */
@media (max-width:900px){
  .heroi{padding-bottom:28px}
  .heroi .dentro{position:relative}
  .ilustracao{position:absolute;top:-6px;right:calc(var(--respiro) - 10px);width:clamp(88px,18vw,150px);margin:0;aspect-ratio:auto;display:block;z-index:1}
  .ilustracao::before{inset:16% -8% -4% -12%}
  .ilustracao::after,.ilustracao .balao,.bolinhas-heroi,.heroi .raios,.descer{display:none}
  .ilustracao .mascote-heroi{width:100%}
}

/* Botão Gerar: colado no campo do link; nos outros tipos, no fim do formulário */
.linha-gerar{display:flex;gap:8px;align-items:stretch}
.linha-gerar input{flex:1;min-width:0}
.botao.gerar{background:var(--laranja);color:var(--tinta);border-width:2px;border-radius:10px;box-shadow:2px 2px 0 var(--tinta);min-height:38px;padding:0 20px;font-size:14.5px;font-weight:800}
.botao.gerar:hover{box-shadow:3px 3px 0 var(--tinta)}
.acao-gerar{margin-top:4px}
.acao-gerar .botao.gerar{width:100%;min-height:42px}
.aviso-gerar{margin:8px 0 0;font-size:13px;font-weight:600;color:#B3261E}

/* Personalize começa fechado (no celular o QR aparece mais rápido); a setinha pula para chamar o clique */
@keyframes chamar-clique{0%,100%{transform:translateY(0) rotate(45deg)}50%{transform:translateY(4px) rotate(45deg)}}
.personalizar:not([open]) summary::after{animation:chamar-clique 1.3s ease-in-out infinite}
.personalizar summary:hover{background:var(--amarelo-claro)}
@media (prefers-reduced-motion:reduce){.personalizar:not([open]) summary::after{animation:none}}

/* Mascote da prévia por cima dos cantos de leitura (o canto de baixo, atrás dele, é preto) */
.mascote-previa{z-index:2}

/* Menu do celular: o desfoque (backdrop-filter) da barra prendia o menu "fixo" dentro dela, e ele virava
   uma faixa com barra de rolagem. Com o menu aberto, a barra fica sem desfoque e o menu ocupa a tela. */
.barra.aberta{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--fundo)}
.abrir-menu .ico-fechar,.barra.aberta .abrir-menu .ico-menu{display:none}
.barra.aberta .abrir-menu .ico-fechar{display:block}
.abrir-menu svg{width:22px;height:22px}

/* Logo no QR (conta grátis): a imagem fica só no navegador */
.caixa-logo{display:grid;gap:10px;padding:10px 12px;border:1.5px dashed rgba(0,8,33,.45);border-radius:12px;background:var(--branco);font-size:13px}
.caixa-logo-topo{display:flex;align-items:flex-start;gap:10px}
.caixa-logo-topo svg{flex:none;margin-top:2px}
.caixa-logo-topo strong{display:block;font-weight:800;font-size:13.5px}
.caixa-logo-topo small{display:block;color:var(--suave);font-size:12.5px;line-height:1.4;margin-top:2px}
.caixa-logo-acoes{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.caixa-logo-acoes .botao{min-height:36px;font-size:13.5px;padding:0 14px}
.caixa-logo-acoes label.botao{cursor:pointer}
#logo-miniatura{width:44px;height:44px;object-fit:contain;border:1.5px solid rgba(0,8,33,.25);border-radius:10px;background:repeating-conic-gradient(#eee 0 25%,#fff 0 50%) 0 0/12px 12px}
.caixa-logo-ajustes{display:grid;gap:8px}

/* Janela da conta grátis */
.janela-conta{border:2.5px solid var(--tinta);border-radius:28px;padding:30px 26px 22px;max-width:400px;width:calc(100% - 32px);background:var(--branco);box-shadow:var(--sombra-grande);text-align:center;color:var(--tinta)}
.janela-conta::backdrop{background:rgba(0,8,33,.45);backdrop-filter:blur(2px)}
.janela-conta img{width:96px;margin:-6px auto 6px;transform:rotate(-6deg)}
.janela-conta h2{font-weight:900;font-size:28px;letter-spacing:-.03em;margin-bottom:12px}
.janela-conta .fechar{position:absolute;right:14px;top:12px;width:36px;height:36px;border:2px solid var(--tinta);border-radius:50%;background:var(--branco);font-size:20px;line-height:1;cursor:pointer}
.vantagens-conta{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:8px;text-align:left}
.vantagens-conta li{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px}
.vantagens-conta svg{width:22px;height:22px;flex:none}
.botao-google{display:flex;justify-content:center;min-height:44px;margin-bottom:14px}
.conta-novidades{justify-content:center;font-size:13px;margin-bottom:10px;text-align:left}
.janela-conta .ajuda{font-size:12px;line-height:1.5}
.janela-conta .aviso-envio{margin-top:10px}

/* Página Minha conta */
.minha-conta{max-width:640px;margin:0 auto}
.minha-conta .formulario-cartao{max-width:none}
.minha-conta .linha-conta{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 0;border-bottom:2px dashed var(--linha)}
.minha-conta .linha-conta:last-child{border-bottom:0}
.botao.perigo{background:#B3261E;border-color:#B3261E;color:#fff;box-shadow:none}

/* Passos curtos: o número não pode achatar quando o texto quebra em duas linhas (celular) */
.passos-curtos li::before{flex:none}
@media (max-width:600px){.passos-curtos li{border-radius:18px;align-items:center;padding:8px 14px 8px 8px;line-height:1.35}}
.tipo .ico{flex:none}

/* Conta com e-mail e senha (janela) */
.ou-conta{display:flex;align-items:center;gap:10px;margin:4px 0 12px;font-size:12.5px;color:var(--suave);font-weight:600}
.ou-conta::before,.ou-conta::after{content:"";flex:1;height:1.5px;background:var(--linha)}
.abas-conta{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px;padding:4px;border:2px solid var(--tinta);border-radius:999px}
.abas-conta button{min-height:36px;border:0;border-radius:999px;background:none;font:inherit;font-weight:700;font-size:14px;cursor:pointer;color:var(--tinta-2)}
.abas-conta button[aria-selected=true]{background:var(--tinta);color:var(--papel)}
.form-conta{display:grid;gap:10px;margin-bottom:14px;text-align:left}
.form-conta input[type=email],.form-conta input[type=password],.form-conta input[type=text]:not(.mel){min-height:44px;border:2px solid var(--tinta);border-radius:12px;padding:0 14px;font:inherit;font-size:15px;background:var(--branco)}
.form-conta .botao{width:100%}
.form-conta .marcar{font-size:13px}
.link-conta{border:0;background:none;font:inherit;font-size:13.5px;font-weight:700;color:var(--tinta-2);text-decoration:underline;cursor:pointer;justify-self:center}
.janela-conta{max-height:calc(100dvh - 24px);overflow-y:auto}
