/* Site de venda do Promoter: espresso, dourado e champagne, no mesmo clima do sistema. */
:root {
  --espresso: #14100c; --espresso-2: #1e1812; --ink: #241b16; --text: #3b2f2a; --muted: #85766a;
  --gold: #c0902f; --gold-dark: #a67a22; --gold-light: #e8c468; --cream: #fbf7f2; --champagne: #f8efdf; --sand: #f3eadf;
  --border: #eadfcf; --card: #fff; --rose: #eac9c0; --ok: #4f7a4a;
  --serif: "Playfair Display", Georgia, "Times New Roman", serif; --sans: "Plus Jakarta Sans", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
  --sombra: 0 1px 2px rgba(60, 40, 10, .05), 0 14px 34px -18px rgba(80, 55, 10, .35); --sombra-alta: 0 30px 70px -28px rgba(20, 12, 4, .6);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; -webkit-text-size-adjust: 100%; }
body { margin: 0; font: 16px/1.6 var(--sans); color: var(--text); background: var(--cream); overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4 { margin: 0; font-family: var(--serif); color: var(--ink); line-height: 1.15; }
p { margin: 0; }
.wrap { width: min(1180px, 100% - 40px); margin: 0 auto; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* botões */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 26px; border-radius: 999px; border: 1px solid transparent; font: 700 15px var(--sans); cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s; white-space: nowrap; }
.btn:hover { transform: translateY(-2px); }
.btn-ouro { background: linear-gradient(135deg, #e0b24a, var(--gold) 55%, var(--gold-dark)); color: #1b1307; box-shadow: 0 10px 26px -10px rgba(192, 144, 47, .75); }
.btn-ouro:hover { box-shadow: 0 16px 32px -10px rgba(192, 144, 47, .85); }
.btn-borda { border-color: rgba(255, 255, 255, .28); color: #fff; background: rgba(255, 255, 255, .06); }
.btn-borda:hover { background: rgba(255, 255, 255, .14); }
.btn-escuro { background: var(--espresso); color: #fff; }
.btn-claro { border-color: var(--border); background: #fff; color: var(--ink); }
.btn-g { padding: 17px 32px; font-size: 16px; }
.btn-bloco { width: 100%; }

/* topo */
.topo { position: fixed; inset: 0 0 auto 0; z-index: 50; transition: background .3s, box-shadow .3s; }
.topo.rolou { background: rgba(255, 253, 250, .9); backdrop-filter: blur(14px); box-shadow: 0 1px 0 var(--border), 0 10px 30px -22px rgba(80, 55, 10, .5); }
.topo .wrap { display: flex; align-items: center; justify-content: space-between; height: 74px; gap: 20px; }
.marca { display: flex; align-items: center; gap: 11px; color: var(--ink); }
.marca img { width: 38px; height: 38px; border-radius: 10px; }
.marca b { font: 700 22px var(--serif); letter-spacing: .3px; }
.menu { display: flex; align-items: center; gap: 30px; }
.menu a { color: var(--text); font-size: 14.5px; font-weight: 600; transition: color .2s; }
.menu a:hover { color: var(--gold-dark); }
.topo-acoes { display: flex; align-items: center; gap: 12px; }
.topo-acoes .entrar { color: var(--ink); font-size: 14.5px; font-weight: 700; padding: 8px 6px; }
.topo-acoes .entrar:hover { color: var(--gold-dark); }
.topo .btn { padding: 11px 20px; font-size: 14px; }
.burger { display: none; width: 44px; height: 44px; border-radius: 12px; border: 1px solid var(--border); background: #fff; color: var(--ink); cursor: pointer; }
.burger i, .burger i::before, .burger i::after { display: block; width: 18px; height: 2px; background: currentColor; border-radius: 2px; margin: 0 auto; position: relative; transition: transform .25s; }
.burger i::before, .burger i::after { content: ""; position: absolute; left: 0; }
.burger i::before { top: -6px; } .burger i::after { top: 6px; }
.topo.aberto .burger i { background: transparent; } .topo.aberto .burger i::before { top: 0; transform: rotate(45deg); } .topo.aberto .burger i::after { top: 0; transform: rotate(-45deg); }

/* herói claro, com carrossel de fotos */
.heroi { position: relative; isolation: isolate; background: linear-gradient(180deg, #fffdfa 0%, var(--champagne) 100%); padding: 132px 0 92px; overflow: hidden; }
.heroi::before, .heroi::after { content: ""; position: absolute; border-radius: 50%; filter: blur(70px); z-index: -1; }
.heroi::before { width: 520px; height: 520px; left: -160px; top: -100px; background: radial-gradient(circle, rgba(232, 196, 104, .5), transparent 68%); }
.heroi::after { width: 480px; height: 480px; right: -140px; bottom: -120px; background: radial-gradient(circle, rgba(234, 201, 192, .7), transparent 68%); }
.heroi .wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 56px; align-items: center; }
.selo { display: inline-flex; align-items: center; gap: 8px; padding: 7px 16px 7px 12px; border-radius: 999px; background: #fff; border: 1px solid var(--border); color: var(--gold-dark); font-size: 13px; font-weight: 700; margin-bottom: 24px; box-shadow: 0 6px 18px -12px rgba(80, 55, 10, .5); }
.selo::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--gold); }
.heroi h1 { font-size: clamp(34px, 4.3vw, 56px); color: var(--ink); letter-spacing: -.5px; }
.heroi h1 em { font-style: italic; background: linear-gradient(120deg, #d9a93f, var(--gold-dark)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.heroi .sub { font-size: 19px; color: var(--text); margin: 24px 0 34px; max-width: 540px; opacity: .85; }
.heroi .acoes { display: flex; flex-wrap: wrap; gap: 14px; }
.heroi .garantias { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 30px; color: var(--muted); font-size: 14.5px; }
.heroi .garantias span::before { content: "✓"; color: var(--gold-dark); font-weight: 800; margin-right: 8px; }

.carrossel { position: relative; border-radius: 32px; overflow: hidden; aspect-ratio: 5 / 4.4; background: var(--sand); box-shadow: 0 40px 80px -36px rgba(80, 55, 10, .6), 0 0 0 1px rgba(255, 255, 255, .8) inset; touch-action: pan-y; }
.carrossel .slides { position: absolute; inset: 0; }
.carrossel figure { margin: 0; }
.carrossel .slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1s ease; }
.carrossel .slide.on { opacity: 1; z-index: 1; }
.carrossel .slide img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.04); }
.carrossel .slide.on img { animation: zoom 9s ease-out forwards; }
@keyframes zoom { to { transform: scale(1.12); } }
.carrossel::after { content: ""; position: absolute; inset: auto 0 0 0; height: 42%; z-index: 2; background: linear-gradient(0deg, rgba(30, 20, 8, .62), transparent); pointer-events: none; }
.legenda { position: absolute; left: 26px; right: 90px; bottom: 56px; z-index: 3; color: #fff; }
.legenda b { display: block; font: 700 24px/1.15 var(--serif); text-shadow: 0 2px 14px rgba(0, 0, 0, .35); }
.legenda span { font-size: 14.5px; opacity: .92; text-shadow: 0 1px 8px rgba(0, 0, 0, .4); }
.pontos-nav { position: absolute; left: 26px; bottom: 22px; z-index: 3; display: flex; gap: 8px; }
.pontos-nav button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 99px; background: rgba(255, 255, 255, .55); cursor: pointer; transition: width .3s, background .3s; }
.pontos-nav button.on { width: 28px; background: #fff; }
.setas { position: absolute; right: 18px; bottom: 16px; z-index: 3; display: flex; gap: 8px; }
.setas button { width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .5); background: rgba(255, 255, 255, .18); backdrop-filter: blur(8px); color: #fff; font-size: 20px; line-height: 1; cursor: pointer; transition: background .2s; }
.setas button:hover { background: rgba(255, 255, 255, .38); }
.carrossel .selo-foto { position: absolute; top: 18px; left: 18px; z-index: 3; background: rgba(255, 255, 255, .92); color: var(--ink); border-radius: 99px; padding: 8px 16px; font-size: 13px; font-weight: 700; box-shadow: 0 8px 22px -12px rgba(0, 0, 0, .5); }
.vitrine { position: relative; }
.mini-tela { position: absolute; left: -34px; bottom: 52px; width: 46%; z-index: 4; border-radius: 16px; overflow: hidden; background: #fff; border: 4px solid #fff; box-shadow: 0 26px 50px -22px rgba(40, 25, 5, .65); animation: flutua 7s ease-in-out infinite; }
.mini-celular { position: absolute; right: -14px; top: -26px; width: 21%; z-index: 4; border-radius: 20px; padding: 4px; background: #1c1610; box-shadow: 0 26px 50px -22px rgba(40, 25, 5, .7); animation: flutua 6s ease-in-out infinite .6s; }
.mini-celular img { border-radius: 16px; }
@keyframes flutua { 50% { transform: translateY(-10px); } }

.janela { border-radius: 16px; overflow: hidden; background: #fff; box-shadow: var(--sombra-alta), 0 0 0 1px var(--border); }
.janela .barra { display: flex; gap: 6px; padding: 10px 14px; background: #efe6d8; }
.janela .barra i { width: 10px; height: 10px; border-radius: 50%; background: #cdbfa9; }
.janela .barra i:nth-child(1) { background: #e08b80; } .janela .barra i:nth-child(2) { background: #e6bf5c; } .janela .barra i:nth-child(3) { background: #86b57f; }
.janela img { width: 100%; }

/* faixa de números */
.faixa { background: #fff; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.faixa .wrap { display: grid; grid-template-columns: repeat(4, 1fr); }
.faixa .n { padding: 26px 18px; text-align: center; border-left: 1px solid var(--line, #f2e9db); }
.faixa .n:first-child { border-left: 0; }
.faixa b { display: block; font: 700 34px var(--serif); color: var(--gold-dark); }
.faixa span { font-size: 13.5px; color: var(--muted); }

/* seções */
.sec { padding: 100px 0; position: relative; }
.sec.sand { background: var(--sand); }
.cab { text-align: center; max-width: 720px; margin: 0 auto 58px; }
.cab .tag { display: inline-block; font-size: 12.5px; font-weight: 800; letter-spacing: 2.4px; text-transform: uppercase; color: var(--gold-dark); margin-bottom: 14px; }
.cab h2 { font-size: clamp(30px, 4vw, 46px); letter-spacing: -.3px; }
.cab p { margin-top: 16px; font-size: 17.5px; color: var(--muted); }

.pilares { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.pilar { background: var(--card); border: 1px solid var(--border); border-radius: 24px; padding: 34px 30px; box-shadow: var(--sombra); transition: transform .3s, box-shadow .3s; }
.pilar:hover { transform: translateY(-6px); box-shadow: 0 24px 50px -24px rgba(80, 55, 10, .5); }
.pilar .ico { width: 58px; height: 58px; border-radius: 18px; background: linear-gradient(135deg, #f8efdf, #f1dfb8); display: grid; place-items: center; font-size: 28px; margin-bottom: 22px; }
.pilar h3 { font-size: 23px; margin-bottom: 10px; }
.pilar p { color: var(--muted); font-size: 15.5px; }

/* dinheiro */
.dinheiro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 48px; align-items: center; }
.passos { display: grid; gap: 14px; }
.passo { display: flex; gap: 16px; align-items: flex-start; background: var(--card); border: 1px solid var(--border); border-radius: 18px; padding: 18px 20px; }
.passo .num { flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font: 700 17px var(--serif); color: #fff; }
.passo:nth-child(1) .num { background: var(--gold); } .passo:nth-child(2) .num { background: #7d5a9e; } .passo:nth-child(3) .num { background: var(--espresso); }
.passo b { display: block; font: 700 18px var(--serif); color: var(--ink); margin-bottom: 2px; }
.passo p { color: var(--muted); font-size: 14.5px; }
.nota-trava { margin-top: 16px; font-size: 14px; color: var(--muted); }
.sim { background: var(--card); border: 1px solid var(--border); border-radius: 28px; padding: 32px; box-shadow: var(--sombra-alta); }
.sim h3 { font-size: 22px; margin-bottom: 4px; } .sim .leg { font-size: 13.5px; color: var(--muted); margin-bottom: 22px; }
.campo-r { margin-bottom: 18px; }
.campo-r label { display: flex; justify-content: space-between; font-size: 14px; font-weight: 700; color: var(--ink); margin-bottom: 8px; }
.campo-r label output { color: var(--gold-dark); }
input[type=range] { width: 100%; height: 6px; border-radius: 6px; accent-color: var(--gold); cursor: pointer; }
.alterna { display: grid; grid-template-columns: 1fr 1fr; background: var(--sand); border-radius: 14px; padding: 4px; margin-bottom: 20px; gap: 4px; }
.alterna button { border: 0; background: transparent; font: 600 13.5px var(--sans); padding: 10px 8px; border-radius: 11px; color: var(--muted); cursor: pointer; transition: .2s; }
.alterna button.on { background: #fff; color: var(--ink); box-shadow: 0 2px 8px rgba(80, 55, 10, .14); }
.barra-split { display: flex; height: 18px; border-radius: 99px; overflow: hidden; margin: 22px 0 16px; background: var(--sand); }
.barra-split i { display: block; height: 100%; transition: width .35s; }
.barra-split .a { background: var(--gold); } .barra-split .b { background: #7d5a9e; } .barra-split .c { background: var(--espresso); }
.resultado { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.resultado div { background: var(--cream); border: 1px solid var(--border); border-radius: 14px; padding: 12px 8px; text-align: center; }
.resultado small { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .8px; font-weight: 700; color: var(--muted); }
.resultado b { font: 700 21px var(--serif); color: var(--ink); }
.sim .nota-sim { margin-top: 16px; font-size: 13px; color: var(--muted); text-align: center; }

/* recompensas */
.sec.sand { background: var(--sand); }
.sec.rosa { background: linear-gradient(180deg, #fbeee8 0%, var(--cream) 100%); }
.pontos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-bottom: 54px; }
.ponto { background: #fff; border: 1px solid var(--border); border-radius: 22px; padding: 26px 22px; text-align: center; box-shadow: var(--sombra); }
.ponto b { display: block; font: 700 44px var(--serif); background: linear-gradient(120deg, #d9a93f, var(--gold-dark)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ponto span { font-size: 14.5px; color: var(--muted); }
.patentes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-bottom: 18px; }
.patente { position: relative; border-radius: 24px; padding: 30px 22px 26px; text-align: center; background: #fff; border: 1px solid var(--border); box-shadow: var(--sombra); transition: transform .3s; }
.patente:hover { transform: translateY(-6px); }
.patente .medalha { width: 76px; height: 76px; border-radius: 50%; margin: 0 auto 16px; display: grid; place-items: center; font: 700 30px var(--serif); color: #fff; box-shadow: 0 12px 26px -10px var(--cor), inset 0 -6px 12px rgba(0, 0, 0, .18), inset 0 5px 10px rgba(255, 255, 255, .4); background: radial-gradient(circle at 30% 25%, #fff7, transparent 42%), var(--cor); }
.patente h4 { font-size: 24px; } .patente .pts { color: var(--gold-dark); font-weight: 800; font-size: 14px; margin: 4px 0 12px; display: block; }
.patente p { font-size: 14px; color: var(--muted); }
.patente.top { border-color: var(--gold); box-shadow: 0 0 0 2px rgba(192, 144, 47, .25), 0 26px 50px -28px rgba(192, 144, 47, .7); }
.regra-ouro { text-align: center; color: var(--gold-dark); font-weight: 700; margin-bottom: 70px; font-size: 15.5px; }
.sub-titulo { font-size: 28px; text-align: center; margin-bottom: 28px; }
.insignias { display: grid; grid-template-columns: repeat(7, 1fr); gap: 12px; margin-bottom: 76px; }
.insignia { background: #fff; border: 1px solid var(--border); border-radius: 18px; padding: 16px 8px; text-align: center; transition: .25s; box-shadow: 0 8px 20px -16px rgba(80, 55, 10, .5); }
.insignia:hover { transform: translateY(-4px); border-color: var(--gold); background: var(--champagne); }
.insignia i { display: block; font-style: normal; font-size: 28px; margin-bottom: 6px; }
.insignia b { display: block; font: 700 12.5px/1.25 var(--sans); color: var(--ink); }
.premios { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.premio { background: #fff; color: var(--ink); border: 1px solid var(--border); border-radius: 22px; padding: 24px 18px; text-align: center; box-shadow: var(--sombra); }
.premio i { font-style: normal; display: block; font-size: 34px; margin-bottom: 10px; }
.premio b { display: block; font: 700 17px/1.25 var(--serif); margin-bottom: 8px; min-height: 42px; }
.premio span { display: inline-block; font-weight: 800; font-size: 13.5px; color: #1b1307; background: linear-gradient(135deg, #f4d58a, var(--gold)); padding: 5px 14px; border-radius: 99px; }
.premio small { display: block; margin-top: 10px; font-size: 12.5px; color: var(--muted); }
.tipos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 0 0 54px; }
.tipo { background: #fff; border: 1px dashed rgba(192, 144, 47, .55); border-radius: 18px; padding: 20px 22px; }
.tipo b { display: block; color: var(--gold-dark); font: 700 18px var(--serif); margin-bottom: 4px; } .tipo p { font-size: 14px; color: var(--muted); }
.calc { margin-top: 70px; background: linear-gradient(135deg, #fff, var(--champagne)); border: 1px solid var(--border); border-radius: 28px; padding: 34px; display: grid; grid-template-columns: 1fr 1fr; gap: 36px; align-items: center; box-shadow: var(--sombra-alta); }
.calc h3 { font-size: 26px; margin-bottom: 8px; } .calc .leg { color: var(--muted); font-size: 14.5px; margin-bottom: 20px; }
.calc-res { display: grid; gap: 12px; }
.calc-res div { background: #fff; border: 1px solid var(--border); border-radius: 16px; padding: 14px 18px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.calc-res span { color: var(--muted); font-size: 14.5px; } .calc-res b { color: var(--ink); font: 700 22px var(--serif); text-align: right; }
.calc-res .pts b { color: var(--gold-dark); }

/* telas */
.abas { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: 30px; }
.abas button { border: 1px solid var(--border); background: #fff; font: 700 14px var(--sans); color: var(--muted); padding: 11px 22px; border-radius: 99px; cursor: pointer; transition: .2s; }
.abas button.on { background: var(--espresso); color: #fff; border-color: var(--espresso); }
.tela { display: none; } .tela.on { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 40px; align-items: center; animation: entra .5s; }
@keyframes entra { from { opacity: 0; transform: translateY(14px); } }
.tela .janela { transform: none; box-shadow: var(--sombra-alta), 0 0 0 1px var(--border); }
.tela h3 { font-size: 30px; margin-bottom: 14px; }
.tela ul { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 10px; }
.tela li { padding-left: 28px; position: relative; color: var(--text); }
.tela li::before { content: "✓"; position: absolute; left: 0; top: 0; width: 20px; height: 20px; border-radius: 50%; background: var(--champagne); color: var(--gold-dark); font-size: 12px; font-weight: 800; display: grid; place-items: center; margin-top: 3px; }

/* agendamento online */
.online { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 56px; align-items: center; }
.celulares { display: flex; justify-content: center; gap: 18px; }
.celulares .cel { width: 31%; border-radius: 26px; padding: 6px; background: #17120d; box-shadow: var(--sombra-alta); }
.celulares .cel img { border-radius: 21px; }
.celulares .cel:nth-child(2) { transform: translateY(-26px); } .celulares .cel:nth-child(1), .celulares .cel:nth-child(3) { margin-top: 20px; }
.lista-check { list-style: none; padding: 0; margin: 24px 0 30px; display: grid; gap: 14px; }
.lista-check li { display: flex; gap: 14px; }
.lista-check .c { flex: none; width: 34px; height: 34px; border-radius: 12px; background: var(--champagne); display: grid; place-items: center; font-size: 17px; }
.lista-check b { display: block; color: var(--ink); } .lista-check span { font-size: 14.5px; color: var(--muted); }
.endereco { display: inline-flex; align-items: center; gap: 4px; background: var(--espresso); color: #efe7d8; border-radius: 14px; padding: 13px 20px; font: 600 15px ui-monospace, Menlo, Consolas, monospace; }
.endereco b { color: var(--gold-light); }

/* planos */
.planos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: stretch; max-width: 1060px; margin: 0 auto; }
.plano { position: relative; background: var(--card); border: 1px solid var(--border); border-radius: 28px; padding: 38px 32px; display: flex; flex-direction: column; box-shadow: var(--sombra); }
.plano.top { background: var(--espresso); color: #d9cfbd; border: 0; transform: scale(1.04); box-shadow: var(--sombra-alta); }
.plano .fita { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: linear-gradient(135deg, #f4d58a, var(--gold)); color: #1b1307; font: 800 11.5px var(--sans); letter-spacing: 1.4px; text-transform: uppercase; padding: 6px 18px; border-radius: 99px; white-space: nowrap; }
.plano h3 { font-size: 26px; } .plano.top h3 { color: #fff; }
.plano .resumo { font-size: 14.5px; color: var(--muted); margin: 6px 0 22px; min-height: 44px; } .plano.top .resumo { color: #b9ad98; }
.plano .preco { font: 700 52px var(--serif); color: var(--ink); line-height: 1; } .plano.top .preco { color: var(--gold-light); }
.plano .preco small { font: 500 15px var(--sans); color: var(--muted); } .plano .preco sup { font-size: 22px; vertical-align: top; position: relative; top: 8px; margin-right: 3px; }
.plano ul { list-style: none; padding: 0; margin: 26px 0 30px; display: grid; gap: 12px; font-size: 15px; flex: 1; }
.plano li { padding-left: 28px; position: relative; } .plano li::before { content: "✓"; position: absolute; left: 0; color: var(--gold-dark); font-weight: 800; } .plano.top li::before { color: var(--gold-light); }
.plano-nota { text-align: center; color: var(--muted); font-size: 14.5px; margin-top: 34px; }

/* faq */
.faq { max-width: 820px; margin: 0 auto; display: grid; gap: 12px; }
.faq details { background: #fff; border: 1px solid var(--border); border-radius: 18px; padding: 0 24px; transition: box-shadow .2s; }
.faq details[open] { box-shadow: var(--sombra); }
.faq summary { list-style: none; cursor: pointer; font: 700 18px var(--serif); color: var(--ink); padding: 20px 28px 20px 0; position: relative; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; border-radius: 50%; background: var(--champagne); color: var(--gold-dark); display: grid; place-items: center; font: 600 20px var(--sans); transition: transform .25s; }
.faq details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.faq details p { padding: 0 0 22px; color: var(--muted); }

/* chamada final e rodapé */
.final { position: relative; isolation: isolate; text-align: center; padding: 110px 0; overflow: hidden; color: #fff; background: var(--espresso); }
.final .fundo { position: absolute; inset: 0; z-index: -2; }
.final .fundo img { width: 100%; height: 100%; object-fit: cover; }
.final::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(40, 26, 8, .35), rgba(40, 26, 8, .62)); }
.final h2 { color: #fff; font-size: clamp(32px, 4.6vw, 52px); max-width: 780px; margin: 0 auto 18px; text-shadow: 0 2px 20px rgba(0, 0, 0, .35); }
.final p { color: #fff; opacity: .95; font-size: 18px; margin-bottom: 34px; text-shadow: 0 1px 12px rgba(0, 0, 0, .4); }
.final .acoes { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; }
.rodape { background: #fff; border-top: 1px solid var(--border); color: var(--muted); padding: 56px 0 30px; font-size: 14.5px; }
.rodape .grade { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; padding-bottom: 36px; border-bottom: 1px solid var(--border); }
.rodape h5 { margin: 0 0 14px; color: var(--ink); font-size: 14px; letter-spacing: 1px; text-transform: uppercase; }
.rodape a { display: block; padding: 4px 0; } .rodape a:hover { color: var(--gold-dark); }
.rodape .fim { padding-top: 24px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; font-size: 13px; }
.zap { position: fixed; right: 18px; bottom: 18px; z-index: 60; width: 58px; height: 58px; border-radius: 50%; background: #25d366; display: grid; place-items: center; box-shadow: 0 12px 28px -8px rgba(37, 211, 102, .7); transition: transform .2s; }
.zap:hover { transform: scale(1.08); } .zap svg { width: 30px; height: 30px; fill: #fff; }

/* aparecer ao rolar */
.js .rev { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s ease; transition-delay: var(--d, 0s); }
.js .rev.vis { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js .rev { opacity: 1; transform: none; transition: none; } .mini-tela, .mini-celular, .carrossel .slide.on img { animation: none; } .carrossel .slide { transition: none; } html { scroll-behavior: auto; } }

/* cadastro */
.cad { min-height: 100vh; display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
.cad-lado { background: var(--espresso); color: #d9cfbd; padding: 48px 52px; position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; }
.cad-lado::before { content: ""; position: absolute; width: 520px; height: 520px; left: -160px; top: -140px; border-radius: 50%; filter: blur(80px); background: radial-gradient(circle, rgba(192, 144, 47, .5), transparent 68%); z-index: -1; }
.cad-lado h1 { color: #fff; font-size: clamp(30px, 3.4vw, 42px); margin: 54px 0 14px; }
.cad-lado h1 em { font-style: italic; color: var(--gold-light); }
.cad-lado > p { color: #bdb09b; margin-bottom: 28px; max-width: 420px; }
.cad-lado ul { list-style: none; padding: 0; margin: 0 0 30px; display: grid; gap: 14px; }
.cad-lado li { padding-left: 32px; position: relative; } .cad-lado li::before { content: "✓"; position: absolute; left: 0; top: 1px; width: 22px; height: 22px; border-radius: 50%; background: rgba(232, 196, 104, .16); color: var(--gold-light); display: grid; place-items: center; font-size: 12px; font-weight: 800; }
.cad-resumo { margin-top: auto; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .1); border-radius: 20px; padding: 20px 22px; }
.cad-resumo small { color: #a99d8a; display: block; font-size: 12px; letter-spacing: 1.2px; text-transform: uppercase; font-weight: 700; }
.cad-resumo b { font: 700 28px var(--serif); color: var(--gold-light); } .cad-resumo span { font-size: 14px; color: #bdb09b; }
.cad-form { padding: 48px 56px; display: flex; align-items: center; background: var(--cream); }
.cad-form form { width: min(560px, 100%); margin: 0 auto; }
.cad-form h2 { font-size: 30px; margin-bottom: 6px; } .cad-form .leg { color: var(--muted); margin-bottom: 26px; }
.cad-form .lin { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.cad-form .c { margin-bottom: 15px; }
.cad-form label.rot { display: block; font-size: 13.5px; font-weight: 700; color: var(--ink); margin-bottom: 6px; }
.cad-form input[type=text], .cad-form input[type=email], .cad-form input[type=tel], .cad-form input[type=password] { width: 100%; font: 16px var(--sans); padding: 13px 15px; border-radius: 13px; border: 1px solid var(--border); background: #fff; color: var(--ink); transition: border .2s, box-shadow .2s; }
.cad-form input:focus { outline: 0; border-color: var(--gold); box-shadow: 0 0 0 4px rgba(192, 144, 47, .18); }
.cad-form .erro-campo { color: #a24b4b; font-size: 13px; margin-top: 5px; }
.cad-form input.erro { border-color: #a24b4b; }
.pref { display: flex; align-items: stretch; border: 1px solid var(--border); border-radius: 13px; background: #fff; overflow: hidden; }
.pref:focus-within { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(192, 144, 47, .18); }
.pref span { padding: 13px 0 13px 15px; color: var(--muted); font-size: 15px; white-space: nowrap; background: #fff; }
.pref input { border: 0 !important; box-shadow: none !important; padding-left: 2px !important; min-width: 0; }
.dica-end { font-size: 13px; margin-top: 6px; color: var(--muted); min-height: 19px; } .dica-end.ok { color: var(--ok); } .dica-end.ruim { color: #a24b4b; }
.escolha { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 18px; }
.escolha label { cursor: pointer; }
.escolha input { position: absolute; opacity: 0; }
.escolha span { display: block; border: 1.5px solid var(--border); background: #fff; border-radius: 15px; padding: 12px 10px; text-align: center; transition: .2s; }
.escolha b { display: block; font: 700 16px var(--serif); color: var(--ink); } .escolha small { color: var(--muted); font-size: 12.5px; }
.escolha input:checked + span { border-color: var(--gold); background: var(--champagne); box-shadow: 0 0 0 3px rgba(192, 144, 47, .2); }
.escolha input:focus-visible + span { outline: 2px solid var(--gold); outline-offset: 2px; }
.aceite { display: flex; gap: 10px; font-size: 13.5px; color: var(--muted); margin: 6px 0 20px; align-items: flex-start; }
.aceite input { margin-top: 3px; accent-color: var(--gold); } .aceite a { color: var(--gold-dark); text-decoration: underline; }
.isca { position: absolute; left: -9999px; }
.cad-form .ja { text-align: center; margin-top: 18px; font-size: 14.5px; color: var(--muted); } .cad-form .ja a { color: var(--gold-dark); font-weight: 700; }
.aviso-erros { background: #fbeceb; border: 1px solid #efc5c1; color: #8a3a35; border-radius: 14px; padding: 12px 16px; margin-bottom: 18px; font-size: 14.5px; }
.legal { max-width: 780px; margin: 0 auto; padding: 130px 20px 80px; } .legal h1 { font-size: 38px; margin-bottom: 8px; } .legal h2 { font-size: 22px; margin: 30px 0 8px; } .legal p, .legal li { color: var(--text); margin-bottom: 8px; } .legal .data { color: var(--muted); font-size: 14px; margin-bottom: 26px; }
.topo-claro { position: absolute; background: transparent; }
.topo-claro .marca, .topo-claro .menu a { color: var(--ink); }

@media (max-width: 1020px) {
  .menu { display: none; } .burger { display: block; }
  .topo.aberto { background: rgba(255, 253, 250, .98); }
  .topo.aberto .menu { display: grid; position: absolute; top: 74px; left: 0; right: 0; background: rgba(255, 253, 250, .98); padding: 10px 22px 24px; gap: 4px; border-bottom: 1px solid var(--border); box-shadow: 0 24px 40px -28px rgba(80, 55, 10, .5); }
  .topo.aberto .menu a { padding: 13px 0; font-size: 16px; border-bottom: 1px solid var(--line, #f2e9db); }
  .topo-acoes .entrar { display: none; }
  .heroi { padding: 112px 0 70px; } .heroi .wrap, .dinheiro, .online, .calc, .tela.on { grid-template-columns: minmax(0, 1fr); }
  .heroi .wrap { gap: 38px; } .carrossel { aspect-ratio: 4 / 3.4; border-radius: 26px; }
  .mini-celular { right: 12px; top: 14px; width: 20%; }
  .pilares, .tipos { grid-template-columns: 1fr; } .pontos, .patentes { grid-template-columns: repeat(2, 1fr); } .insignias { grid-template-columns: repeat(4, 1fr); }
  .premios { grid-template-columns: repeat(2, 1fr); } .planos { grid-template-columns: 1fr; max-width: 460px; } .plano.top { transform: none; }
  .faixa .wrap { grid-template-columns: repeat(2, 1fr); } .faixa .n:nth-child(3) { border-left: 0; } .faixa .n:nth-child(n+3) { border-top: 1px solid var(--line, #f2e9db); }
  .cad { grid-template-columns: 1fr; } .cad-lado { padding: 30px 24px 26px; } .cad-lado h1 { margin-top: 28px; } .cad-form { padding: 32px 22px 46px; }
  .rodape .grade { grid-template-columns: 1fr; gap: 26px; } .sec { padding: 72px 0; }
}
@media (max-width: 560px) {
  .wrap { width: calc(100% - 32px); }
  .insignias { grid-template-columns: repeat(3, 1fr); } .premios, .pontos, .patentes { grid-template-columns: 1fr; }
  .topo-acoes .btn { padding: 10px 14px; font-size: 13px; } .heroi h1 { font-size: 34px; } .heroi .sub { font-size: 17px; }
  .carrossel { aspect-ratio: 1 / 1.05; } .legenda { left: 18px; right: 18px; bottom: 62px; } .legenda b { font-size: 20px; } .pontos-nav { left: 18px; } .setas { right: 12px; } .setas button { width: 38px; height: 38px; }
  .mini-celular { display: none; }
  .resultado b { font-size: 17px; } .sim, .calc { padding: 22px 18px; } .celulares { gap: 10px; } .celulares .cel { width: 32%; padding: 4px; border-radius: 18px; } .celulares .cel img { border-radius: 14px; }
  .cad-form .lin, .escolha { grid-template-columns: 1fr; } .faixa b { font-size: 28px; } .abas button { padding: 10px 16px; }
}

/* cadastro: lado com foto e véu claro */
.cad-lado { background: #fbf7f2 url('../img/site/foto-salao-luxo.jpg') center / cover; color: var(--text); }
.cad-lado::before { background: none; filter: none; width: auto; height: auto; inset: 0; left: 0; top: 0; border-radius: 0; background: linear-gradient(180deg, rgba(255, 253, 250, .94) 0%, rgba(251, 247, 242, .88) 55%, rgba(251, 247, 242, .7) 100%); }
.cad-lado .marca { color: var(--ink); }
.cad-lado h1 { color: var(--ink); } .cad-lado h1 em { color: var(--gold-dark); }
.cad-lado > p { color: var(--text); }
.cad-lado li::before { background: var(--champagne); color: var(--gold-dark); }
.cad-resumo { background: rgba(255, 255, 255, .85); border: 1px solid var(--border); backdrop-filter: blur(8px); }
.cad-resumo small { color: var(--muted); } .cad-resumo b { color: var(--gold-dark); } .cad-resumo span { color: var(--text); }
