/* Aprov Black · direção preta e dourada. Sem bibliotecas ou imagens de texto. */
body {
  --ouro: var(--premium-gold, #d8b675);
  --ouro-claro: #f6dfae;
  --ouro-ink: #e0c490;
  --ouro-icone: #d8b675;
  --ouro-hover: #edcf98;
  --ouro-suave: #d8b67514;
  --bg: var(--premium-background, #080808);
  --bg-2: #191817;
  --txt: #f5f1e9;
  --txt-2: #b7b3ab;
  --borda: #d8b67529;
  --borda-forte: #d8b67570;
  --brand-highlight: #f5dfaf;
  --brand-warm: #d8b675;
  --brand-border: #efd4a0;
  --brand-on-primary: #18130d;
  --brand-gradient: linear-gradient(115deg, #ad7c3c, #f5dfaf 47%, #d8ae6b);
  background: radial-gradient(ellipse at 70% 0, #9b702312, transparent 55%), var(--bg);
  color: var(--txt);
}
.topo { background: #090909ed; border-bottom: 1px solid var(--borda); }
.topo-in { max-width: 1160px; min-height: 84px; }
.topo-logo { width: 174px; height: 52px; }
.topo .topo-icone, .perfil-centro { color: #e1d2b5; }
.perfil-centro { background: #171614; }
.perfil-trilho { stroke: #ffffff1a; }
.topo-icone:hover { color: #fff; background: #ffffff0d; }
.topo-barra { height: 2px; background: #ffffff0a; }
.topo-barra .progresso-tr { height: 2px; }
.btn { border-radius: 12px; box-shadow: 0 6px 28px #d8b67524, inset 0 1px #fff6; animation: none; }
.btn:hover { background: linear-gradient(115deg, #c09455, #fff0cb 47%, #e8c28c); box-shadow: 0 9px 34px #d8b67535; transform: translateY(-1px); }
.btn:disabled { transform: none; }
:focus-visible { outline-color: #f6dfae; outline-offset: 5px; }
.palco.largo { max-width: 1200px; padding: 38px 30px 62px; }
.hero.hero-black { display: grid; grid-template-columns: 1fr; gap: 30px; padding: 0; }
.hero-black .hero-txt { min-width: 0; }
.hero-kicker { display: flex; gap: 14px; align-items: center; font-size: 10px; font-weight: 600; letter-spacing: .3em; color: var(--ouro-claro); margin: 0 0 20px; }
.hero-kicker > span { width: 45px; height: 1px; background: var(--ouro); }
.hero-black .hero-h1 { margin: 0; color: #faf7f1; font-size: clamp(34px, 5.2vw, 61px); font-weight: 800; text-transform: none; line-height: 1.06; letter-spacing: -.055em; }
.hero-black .hero-h1 .destaque-txt { color: var(--ouro-claro); white-space: normal; background: linear-gradient(110deg, #b9894e, #ffe8b4 55%, #d3a465); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.hero-black .hero-sub { margin-top: 23px; font-size: 17px; line-height: 1.6; max-width: 42ch; color: #c9c5bd; }
.hero-black .btn.hero-cta { width: 100%; margin-top: 30px; min-height: 62px; border-radius: 12px; font-size: 16px; font-weight: 800; letter-spacing: -.02em; }
.hero-assurances { display: flex; gap: 24px; margin-top: 20px; color: #c7bda9; font-size: 11px; }
.hero-assurances > span { display: flex; align-items: center; gap: 7px; }
.hero-assurances .ico { width: 14px; height: 14px; color: var(--ouro); }
.hero-black .hero-micro { color: #a29c91; text-align: left; font-size: 11px; line-height: 1.6; margin-top: 22px; max-width: 47ch; }
.hero-black-art { position: relative; min-width: 0; }
.hero-art-caption { position: absolute; left: 0; right: 0; top: 12px; z-index: 2; text-align: center; font-size: 8px; letter-spacing: .3em; color: #c3a77a; }
.credit-showcase { position: relative; height: 440px; isolation: isolate; }
.credit-architecture { position: absolute; inset: -25px -8px 50px; z-index: -1; overflow: hidden; background: radial-gradient(ellipse at 50% 85%, #a3672a4d, transparent 65%), repeating-linear-gradient(90deg, transparent 0 14px, #a57c3b10 15px, #e6bb6514 17px, #0009 19px, transparent 22px); mask-image: linear-gradient(transparent, #000 20%, #000 70%, transparent); }
.credit-architecture::before { display: none; }
.credit-orbit { --spread-near: 114px; --spread-far: 205px; --lift: 25px; position: absolute; inset: 0; margin: 0; padding: 0; list-style: none; perspective: 1100px; transform-style: preserve-3d; }
.credit-card { position: absolute; left: 50%; top: 49%; width: 170px; height: 260px; padding: 24px 17px; display: flex; align-items: center; flex-direction: column; text-align: center; border: 1px solid #e4c28c; border-radius: 19px; color: #eee3d0; background: radial-gradient(ellipse at 0 0, #dcb87a36, transparent 45%), linear-gradient(135deg, #23201b, #090909 57%, #18120b); box-shadow: inset 1px 1px 0 #ffe3b760, inset -1px -1px 0 #e4b46c38, 0 16px 35px #0009, 0 0 18px #c18b3d14; transform: translate(-50%, -50%); animation: credit-orbit 20s ease-in-out infinite; animation-delay: var(--orbit-delay); backface-visibility: hidden; }
.credit-card::before { content: ''; position: absolute; inset: 0; pointer-events: none; border-radius: inherit; background: linear-gradient(125deg, #fff5, transparent 24%, transparent 80%, #c1934b24); opacity: .5; }
.credit-card-label { color: #c4ae87; font-size: 6px; letter-spacing: .2em; }
.credit-card .credit-card-icon { width: 53px; height: 53px; margin: 27px 0 18px; color: #ebc78d; filter: drop-shadow(0 2px 6px #bf8b3d55); }
.credit-card-icon svg { stroke-width: 1.1; }
.credit-card-name { font-size: 19px; line-height: 1.14; letter-spacing: -.035em; }
.credit-card-detail { margin-top: 10px; color: #c4baa9; font-size: 10px; line-height: 1.3; }
.credit-card-seal { display: grid; place-items: center; width: 25px; height: 25px; margin-top: auto; border: 1px solid #d8b67566; border-radius: 50%; color: #d8b675; }
.credit-card-seal .ico { width: 13px; height: 13px; }
.credit-podium { position: absolute; left: 0; right: 0; bottom: 33px; height: 61px; z-index: -1; border-radius: 50% 50% 12px 12px / 19px 19px 8px 8px; border-top: 1px solid #f4d29c; border-bottom: 2px solid #9b6b2c; background: linear-gradient(173deg, transparent 25%, #b7955c16 25.5%, transparent 27%), linear-gradient(20deg, #090909 15%, #373127 15.3%, #171513 16%, #121110 67%, #534b3b 67.5%, #111 68%), #111; box-shadow: 0 4px 0 #e5bf7a40, 0 12px 28px #bf8d3133, inset 0 -5px 0 #000; }
.credit-podium::after { content: ''; position: absolute; inset: auto 4% 6px; height: 1px; background: linear-gradient(90deg, transparent, #edc987, transparent); box-shadow: 0 0 12px #f1b85c88; }
.credit-motion-toggle { position: absolute; right: 4px; bottom: 0; padding: 5px 8px; min-height: 44px; color: #baa987; font-size: 9px; text-decoration: underline; text-underline-offset: 3px; }
.credit-showcase.is-paused .credit-card { animation-play-state: paused; }
@keyframes credit-orbit {
  0%, 10%, 100% { transform: translate(-50%, -50%) translate3d(0, 0, 90px) rotateY(0); z-index: 5; }
  20%, 30% { transform: translate(-50%, -50%) translate3d(var(--spread-near), var(--lift), -20px) rotateY(-19deg); z-index: 3; }
  40%, 50% { transform: translate(-50%, -50%) translate3d(var(--spread-far), calc(var(--lift) * 2), -140px) rotateY(-27deg); z-index: 1; }
  60%, 70% { transform: translate(-50%, -50%) translate3d(calc(-1 * var(--spread-far)), calc(var(--lift) * 2), -140px) rotateY(27deg); z-index: 1; }
  80%, 90% { transform: translate(-50%, -50%) translate3d(calc(-1 * var(--spread-near)), var(--lift), -20px) rotateY(19deg); z-index: 3; }
}
/* Quiz: superfícies escuras, títulos abertos e detalhes dourados. */
.pergunta-caixa { background: transparent; border: 0; border-bottom: 1px solid var(--borda-forte); border-radius: 0; padding: 4px 0 26px; box-shadow: none; }
.pergunta-caixa::before { display: none; }
.pergunta-caixa .pergunta-titulo { color: #f5f1e9; letter-spacing: -.04em; }
.pergunta-caixa .pergunta-apoio { color: #a99b83; font-size: 10px; letter-spacing: .14em; }
.opc-cartao, .opcao, .chat-opcao { background: linear-gradient(115deg, #201d18, #121211); border: 1px solid var(--borda); border-radius: 15px; box-shadow: 0 8px 20px #0002; }
.opc-cartao:hover, .opc-cartao.sel, .opcao:hover, .opcao.sel, .chat-opcao:hover { background: linear-gradient(115deg, #3a3020, #1b1813); border-color: var(--ouro); }
.opc-txt, .chat-opcao, .pergunta-central, .empresa-nome, .carga-titulo, .lc-nome, .lc-valor, .lc-dado b, .res-ajustes, .res-titulo, .cartao-titulo, .ger-h1, .ger-sub, .ger-cita, .vsl-h1, .resumo-valor, .empresa-lista b, .campo label { color: #f5f1e9; }
.opc-emoji { background: #d8b6750d; border: 1px solid #d8b67514; border-radius: 12px; font-size: 23px; }
.opc-marca { background: #d8b6750d; color: var(--ouro); }
.cartao, .empresa, .carga-card, .lc, .sim-notice, .res-atencao, .res-fecho, .brand-consulting { background: linear-gradient(135deg, #201d18, #111110); border-color: var(--borda); box-shadow: 0 12px 30px #0003; }
.lc.recomendada { border-color: var(--ouro); }
.lc-fita, .carga-item.pronto .carga-marca { background: var(--ouro); color: #17130c; }
.lc-dado, .lc-selo, .medidor { background: #242019; border-color: var(--borda); }
.medidor-bolha { color: #191713; }
.nav-back, .privacy-controls, .chat-balao, .apoio-check { color: #bcb6ac; }
.privacy-controls { max-width: 1140px; border-color: var(--borda); font-size: 10px; margin: 10px auto 0; padding: 22px 24px; gap: 18px; }
.privacy-controls input { accent-color: var(--ouro); }
.form-grid input:not([type=checkbox]), .generic-input, .campo input { background: #161513; border-color: var(--borda-forte); color: #faf5e9; }
input::placeholder { color: #9b9386; }
.chat-topo { background: #161410; border: 1px solid var(--borda); }
.chat-balao { background: #1e1b17; border-color: var(--borda); color: #f0eadf; }
.chat-balao.usuario { background: #3a3020; color: #fff5e2; border-color: #d8b67544; }
.chat-topo-img, .chat-avatar { background: #f5eee0; }
.brand-consulting strong, .ger-lista li, .ger-fecho { color: #eee7db; }
.brand-consulting-steps span { background: #d8b67510; border-color: var(--borda); }
.brand-consulting img { background: #f7f1e7; border-radius: 6px; padding: 12px; }
.error { color: #ffb4a5; }
dialog { background: #141310; color: #f4e9d3; border-right: 1px solid var(--borda-forte); }
dialog img { background: #f7f1e7; padding: 8px; border-radius: 6px; }
@media (min-width: 900px) {
  .hero.hero-black { grid-template-columns: minmax(0, .96fr) minmax(0, 1.18fr); align-items: center; gap: 44px; min-height: 630px; }
  .hero-black-art { order: 2; }
  .credit-showcase { height: 460px; }
  .hero-black .hero-h1 { font-size: clamp(43px, 4.5vw, 60px); }
}
@media (max-width: 899px) {
  .palco.largo { max-width: 650px; padding: 12px 22px 40px; }
  .hero.hero-black { gap: 24px; }
  .hero-black .hero-txt { text-align: center; }
  .hero-kicker, .hero-assurances { justify-content: center; }
  .hero-black .hero-sub { margin-inline: auto; }
  .hero-black .hero-micro { text-align: center; margin-inline: auto; }
}
@media (max-width: 600px) {
  .topo-in { min-height: 76px; }
  .topo-logo { width: 157px; height: 47px; }
  .credit-showcase { height: 320px; }
  .credit-orbit { --spread-near: 76px; --spread-far: 137px; --lift: 16px; }
  .credit-card { width: 123px; height: 205px; padding: 18px 10px; border-radius: 14px; }
  .credit-card-label { font-size: 4.5px; letter-spacing: .12em; }
  .credit-card .credit-card-icon { width: 43px; height: 43px; margin: 22px 0 14px; }
  .credit-card-name { font-size: 16px; }
  .credit-card-detail { font-size: 8px; }
  .credit-card-seal { width: 22px; height: 22px; }
  .credit-podium { left: -9px; right: -9px; bottom: 27px; height: 47px; }
  .hero-art-caption { font-size: 6px; top: 3px; }
  .hero-black .hero-h1 { font-size: clamp(31px, 8.5vw, 43px); }
  .hero-black .hero-sub { font-size: 15px; margin-top: 18px; }
  .hero-kicker { font-size: 8px; margin-bottom: 16px; }
  .hero-black .btn.hero-cta { margin-top: 24px; font-size: 15px; min-height: 59px; }
  .hero-assurances { margin-top: 17px; gap: 20px; font-size: 10px; }
  .hero-black .hero-micro { font-size: 10px; margin-top: 18px; }
  .privacy-controls { padding-inline: 22px; }
}
@media (max-width: 360px) {
  .credit-orbit { --spread-near: 66px; --spread-far: 119px; }
  .credit-card { width: 112px; }
}
@media (prefers-reduced-motion: reduce) {
  .credit-card { animation: none !important; }
  .credit-card:nth-child(1) { z-index: 1; transform: translate(-50%, -50%) translate3d(calc(-1 * var(--spread-far)), 32px, -140px) rotateY(27deg); }
  .credit-card:nth-child(2) { z-index: 3; transform: translate(-50%, -50%) translate3d(calc(-1 * var(--spread-near)), 16px, -20px) rotateY(19deg); }
  .credit-card:nth-child(3) { z-index: 5; transform: translate(-50%, -50%) translateZ(90px); }
  .credit-card:nth-child(4) { z-index: 3; transform: translate(-50%, -50%) translate3d(var(--spread-near), 16px, -20px) rotateY(-19deg); }
  .credit-card:nth-child(5) { z-index: 1; transform: translate(-50%, -50%) translate3d(var(--spread-far), 32px, -140px) rotateY(-27deg); }
  .credit-motion-toggle { display: none; }
}

.hero-black .btn.hero-cta .ico-btn { display: inline-flex; }
.ger-lista { background: #141310; border-color: var(--borda); box-shadow: 0 12px 30px #0003; }
.brand-consulting-label { color: #d8b675; }

/* Revisão final: respiro das ações e fotografia enviada pelo cliente. */
.empresa + .btn { margin-top: 24px; }
.tela > .btn + .btn { margin-top: 18px; }
.chat-topo-img.is-portrait, .chat-avatar.is-portrait { object-fit: cover; object-position: center 30%; padding: 0; background: #181614; }
