/* Quiz V1 e página de links: visual do modelo enviado pelo cliente (fundo escuro verde e cartão branco). */
.cg-corpo { background:
  radial-gradient(ellipse 90% 50% at 15% 0%, rgba(10,255,31,.16), transparent 70%),
  radial-gradient(ellipse 70% 40% at 100% 100%, rgba(10,255,31,.12), transparent 70%),
  #020a04; }
main.cg-main { max-width:1040px; padding:1.25rem 1rem 2.5rem; }

/* Logo em texto para continuar nítido em qualquer tamanho. */
.cg-identificacao { margin:0 0 .85rem; font-size:.78rem; color:var(--text-secondary); }
.cg-selos a { color:inherit; }
.cg-logo { display:flex; align-items:center; gap:.85rem; margin:0 0 1.5rem; color:var(--text-primary); }
.cg-logo-marca { display:flex; flex-direction:column; align-items:flex-end; font-family:var(--font-display); font-weight:800; line-height:.95; text-transform:uppercase; letter-spacing:.01em; }
.cg-logo-marca span { font-size:1.45rem; color:transparent; -webkit-text-stroke:1.2px var(--primary-green); }
.cg-logo-marca strong { font-size:1.65rem; font-weight:800; color:#fff; }
.cg-logo-texto { border-left:2px solid var(--primary-green); padding-left:.85rem; font-size:.9rem; line-height:1.3; }

/* Capa */
#capa.cg-capa { text-align:left; }
.cg-capa-grade { display:grid; gap:1.25rem; align-items:center; }
.cg-capa-selo { display:inline-block; margin:0 0 .75rem; padding:.45rem .85rem; border:1px solid var(--border-hover); border-radius:var(--radius-pill); background:rgba(5,32,8,.75); color:var(--primary-green); font-size:.85rem; font-weight:600; }
#capa h1 { margin:0 0 .75rem; font-size:clamp(2.35rem,4.6vw,3.4rem); font-weight:800; line-height:1; letter-spacing:-.03em; text-transform:uppercase; color:#fff; }
#capa h1 span { display:block; color:var(--primary-green); }
.cg-capa-sub { margin:0 0 1.25rem; font-size:1.08rem; color:var(--text-primary); max-width:34rem; }
.cg-capa-img { display:block; width:100%; height:auto; border-radius:var(--radius-lg); -webkit-mask-image:linear-gradient(to right,transparent,#000 12%); mask-image:linear-gradient(to right,transparent,#000 12%); }
.cg-capa-selos { list-style:none; display:flex; flex-wrap:wrap; gap:.5rem; padding:0; margin:1.5rem 0 0; }
.cg-capa-selos li { padding:.5rem .85rem; border:1px solid var(--border-default); border-radius:var(--radius-pill); background:rgba(11,13,16,.75); color:var(--text-primary); font-size:.8rem; }
.btn.cg-btn { display:flex; justify-content:center; gap:.6rem; align-items:center; font-size:1.05rem; font-weight:600; color:#030603; }

/* Etapas */
.cg-pergunta-area { max-width:560px; margin:0 auto; }
.cg-topo { display:block; width:calc(100% + 2rem); max-width:none; height:auto; margin:-1.25rem -1rem 0; }
.cg-cartao { position:relative; margin-top:-.75rem; padding:1.25rem; background:#fff; border-radius:var(--radius-lg); color:#0d1f14; color-scheme:light; box-shadow:var(--shadow-elevated); }
.cg-cartao p,.cg-cartao li { color:inherit; }
.cg-cartao h2,.cg-cartao h3 { color:#0a1a10; font-family:var(--font-display); }
.cg-cartao h2 { margin:.5rem 0 .4rem; font-size:clamp(1.5rem,6vw,1.9rem); font-weight:800; line-height:1.12; letter-spacing:-.02em; }
.cg-cartao h2:focus,.cg-pergunta:focus { outline:none; }
.cg-cartao h3 { margin:0 0 .2rem; font-size:1.02rem; line-height:1.25; }
.cg-maiuscula { text-transform:uppercase; }
.cg-sub { margin:0 0 1rem; color:#5f6b64; font-size:.95rem; line-height:1.4; }
.cg-cartao .cg-sub { color:#5f6b64; }
.cg-chips { display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; justify-content:space-between; margin-bottom:.75rem; }
.cg-chip { display:inline-flex; align-items:center; gap:.3rem; padding:.3rem .6rem; border-radius:var(--radius-sm); background:#e6f6ec; color:#0a7a3e; font-size:.74rem; font-weight:600; line-height:1.25; }
.cg-cartao .cg-chip { color:#0a7a3e; }
.cg-chips > .cg-chip:first-child { text-transform:uppercase; white-space:nowrap; }
.cg-chip-solta { margin:.25rem 0 .5rem; text-transform:uppercase; }
.cg-chip .cg-icone { width:15px; height:15px; flex-shrink:0; fill:currentColor; }
.cg-icone { fill:#6b7570; flex-shrink:0; }
.cg-icone-g { fill:#077a3b; }
.cg-rotulo { margin:.35rem 0 .5rem !important; font-size:1rem !important; text-transform:uppercase; }
.cg-rotulo label { color:#077a3b; }
.cg-valor { display:flex; align-items:center; gap:.6rem; padding:.7rem .9rem; border:2px solid #077a3b; border-radius:var(--radius-md); background:#f3faf6; box-shadow:0 0 0 3px rgba(10,138,69,.15); }
.cg-valor > span { font-size:1.35rem; font-weight:600; color:#5f6b64; }
.cg-valor input { flex:1; min-width:0; border:0; background:none; color:#07150c; font:800 1.9rem var(--font-display); outline:none; }
.cg-valor input::placeholder { color:#b7bfbb; }
.cg-valor small { color:#5f6b64; white-space:nowrap; }
.cg-ajuda { margin:.7rem 0; color:#6b7570; font-size:.82rem; line-height:1.35; }
.cg-cartao .cg-ajuda { color:#6b7570; }
.cg-btn { margin-top:.9rem; }
.btn.cg-btn:disabled { background:#d9e0dc; box-shadow:none; color:#7a847f; cursor:not-allowed; opacity:1; }
.cg-btn-sec { display:flex; justify-content:center; align-items:center; gap:.5rem; width:100%; margin-top:.6rem; padding:.9rem; border:1px solid #dfe5e1; border-radius:var(--radius-md); background:#f8faf9; color:#0d1f14; font-weight:600; cursor:pointer; overflow-wrap:anywhere; }
.cg-cartao a:not(.btn) { color:#0a7a3e; }
.cg-erro { min-height:1.1em; margin:.2rem 0 0; color:#d80e1a !important; font-size:.85rem; }
.cg-contato .cg-btn { margin-top:.4rem; }
.cg-reiniciar { display:block; margin:.75rem auto 0; color:#0a7a3e; }
.cg-voltar { color:#6b7570; margin-top:.75rem; }

/* Simulação */
.cg-simulacao { margin-top:1rem; padding-top:1rem; border-top:1px solid #e7ece9; }
.cg-sim-topo { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.4rem; align-items:center; color:#6b7570; font-size:.82rem; font-weight:600; text-transform:uppercase; }
.cg-sim-topo .cg-chip { text-transform:none; border-radius:var(--radius-pill); }
.cg-sim-valor { margin:.25rem 0 .75rem; color:#077a3b !important; font:800 clamp(2.3rem,10vw,3rem)/1.05 var(--font-display); letter-spacing:-.02em; }
.cg-sim-valor small { color:#6b7570; font-size:1rem; font-weight:600; letter-spacing:0; }
.cg-sim-grade { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; }
.cg-sim-grade > div { padding:.7rem; border-radius:var(--radius-md); background:#f3f5f4; }
.cg-sim-grade span { display:block; color:#6b7570; font-size:.75rem; line-height:1.2; }
.cg-sim-grade strong { display:block; margin-top:.25rem; font:800 1.1rem var(--font-display); color:#07150c; }
.cg-sim-grade small { color:#6b7570; font-size:.75rem; font-weight:600; }
.cg-sim-grade .cg-verde { color:#077a3b; }

/* Avisos */
.cg-aviso { display:flex; gap:.7rem; align-items:flex-start; margin-top:.85rem; padding:.85rem; border-radius:var(--radius-md); font-size:.9rem; line-height:1.35; }
.cg-aviso p { margin:0; color:#4d5852; }
.cg-aviso em { font-style:normal; }
.cg-aviso-erro { background:#ffecec; border:1px solid #f7c6c6; }
.cg-aviso-erro .cg-icone { fill:#e0101c; }
.cg-aviso-erro em { color:#d80e1a; }
.cg-aviso-ok { background:#eaf8f0; border:1px solid #bfe9d0; }
.cg-aviso-ok .cg-icone { fill:#077a3b; }
.cg-aviso-ok em { color:#077a3b; }
.cg-nota { margin:.9rem 0 0; padding:.7rem .85rem; border-radius:var(--radius-md); background:#f3f5f4; color:#4d5852 !important; font-size:.82rem; line-height:1.4; }

/* Escolhas */
.cg-grade-2 { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
.cg-escolha { display:flex; align-items:center; justify-content:center; gap:.5rem; width:100%; padding:1rem .75rem; border:1.5px solid #dfe5e1; border-radius:var(--radius-md); background:#f8faf9; color:#0d1f14; font-family:inherit; text-align:left; cursor:pointer; transition:border-color var(--duration-press) ease,background var(--duration-press) ease; }
.cg-escolha:hover { border-color:#077a3b; }
.cg-escolha[aria-pressed="true"] { border-color:#077a3b; background:#eaf8f0; }
.cg-escolha-col { flex-direction:column; text-align:center; padding:1.25rem .5rem; }
.cg-escolha-col .cg-icone { width:56px; height:56px; }
.cg-escolha-col strong { font-size:.92rem; line-height:1.2; }
.cg-escolha-linha { justify-content:flex-start; margin-top:.6rem; padding:.9rem; }
.cg-escolha-linha strong { display:block; font-size:.98rem; line-height:1.25; }
.cg-escolha-linha small { display:block; margin-top:.25rem; color:#6b7570; font-size:.84rem; line-height:1.3; }
.cg-escolha-duvida { margin-top:.45rem; padding:.75rem .85rem; font-size:.92rem; line-height:1.3; }
.cg-radio { flex-shrink:0; width:18px; height:18px; border:1.5px solid #aab3ae; border-radius:50%; background:#fff; }
[aria-pressed="true"] > .cg-radio { border:5px solid #077a3b; }
.cg-campo { display:block; margin:.7rem 0; }
.cg-campo > span { display:block; margin-bottom:.3rem; color:#0a1a10; font-size:.9rem; font-weight:600; }
.cg-campo input,.cg-campo select { width:100%; min-width:0; padding:.8rem; border:1px solid #cfd6d2; border-radius:var(--radius-md); background:#fff; color:#0d1f14; }
.cg-campo input:focus,.cg-campo select:focus { outline:2px solid #077a3b; outline-offset:1px; border-color:#077a3b; }

/* Etapa dos dados e explicação */
.cg-economia { display:flex; gap:.75rem; align-items:center; padding:.85rem; border:1px solid #bfe9d0; border-radius:var(--radius-md); background:#eefaf3; }
.cg-economia .cg-icone { width:40px; height:40px; }
.cg-economia span { display:block; color:#33423a; font-size:.72rem; font-weight:600; text-transform:uppercase; }
.cg-economia p { margin:.15rem 0 0; color:#077a3b; }
.cg-economia b { display:inline-block; margin-right:.5rem; font-weight:400; white-space:nowrap; }
.cg-economia strong { font:800 1.22rem var(--font-display); }
.cg-economia small { font-size:.75rem; }
.cg-doc { display:flex; align-items:center; gap:.45rem; margin:.7rem 0; color:#5f6b64 !important; font-size:.88rem; line-height:1.3; }
.cg-doc .cg-icone { width:20px; height:20px; }
.cg-pergunta { margin:1rem 0 .6rem !important; font-size:1.2rem !important; font-weight:800; line-height:1.2; }
.cg-passos { list-style:none; margin:0; padding:0; display:grid; gap:.45rem; }
.cg-passos li { display:flex; gap:.7rem; align-items:flex-start; padding:.7rem; border:1px solid #d4efdf; border-radius:var(--radius-md); background:#f3fbf6; }
.cg-passos h3 { display:flex; gap:.4rem; align-items:flex-start; color:#0a4d29; font-size:.95rem; }
.cg-passos p { margin:.15rem 0 0; color:#5f6b64; font-size:.8rem; line-height:1.3; }
.cg-passo-icone { flex-shrink:0; display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:#dff5e8; }
.cg-num { flex-shrink:0; display:inline-grid; place-items:center; width:20px; height:20px; border-radius:50%; background:#077a3b; color:#fff; font-size:.72rem; }
.cg-beneficios { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:.4rem; padding:0; margin:.5rem 0 0; }
.cg-beneficios li { display:flex; gap:.35rem; align-items:center; padding:.5rem .6rem; border:1px solid #d4efdf; border-radius:var(--radius-sm); background:#f3fbf6; font-size:.78rem; line-height:1.2; }
.cg-beneficios .cg-icone { width:17px; height:17px; }
.cg-selos { list-style:none; display:flex; flex-wrap:wrap; justify-content:center; gap:.35rem; padding:0; margin:.9rem 0 0; }
.cg-selos li { padding:.28rem .6rem; border:1px solid #e3e8e5; border-radius:var(--radius-pill); color:#5f6b64; font-size:.7rem; }

/* Página de links */
main.cg-bio { max-width:600px; }
.cg-bio-topo { margin:.25rem 0 1rem; text-align:center; }
.cg-bio-topo h1 { margin:0; font-size:1.5rem; font-weight:800; color:#fff; }
.cg-bio-topo p { margin:.1rem 0 0; font-size:.85rem; color:var(--text-primary); }
.cg-banners { display:grid; gap:1rem; }
.banner { position:relative; display:flex; align-items:stretch; min-height:190px; overflow:hidden; border:1px solid var(--border-hover); border-radius:var(--radius-lg); background:linear-gradient(120deg,#04190a,#020a04 70%); color:var(--text-primary); text-decoration:none; box-shadow:0 12px 32px rgba(0,0,0,.55); transition:transform var(--duration-hover) var(--ease-igreen-back); }
.banner:hover { transform:translate3d(0,-3px,0); }
.banner-texto { position:relative; z-index:1; flex:1 1 60%; display:flex; flex-direction:column; justify-content:center; gap:.3rem; padding:1rem; min-width:0; }
.banner small { color:var(--primary-green); font-size:.72rem; font-weight:600; line-height:1.2; }
.banner strong { font:800 clamp(1.2rem,5.6vw,1.65rem)/1.02 var(--font-display); letter-spacing:-.01em; color:#fff; }
.banner em { display:block; font-style:normal; color:var(--primary-green); }
.banner-texto > span { font-size:.76rem; line-height:1.3; color:var(--text-secondary); }
.banner-acao { align-self:flex-start; margin-top:.35rem; padding:.45rem .75rem; border-radius:var(--radius-sm); background:var(--primary-green); color:#030603; font-size:.78rem; font-weight:600; }
.banner img { flex:0 0 38%; width:38%; height:auto; object-fit:cover; min-width:0; }
.banner-teste > img { -webkit-mask-image:linear-gradient(to right,transparent,#000 25%); mask-image:linear-gradient(to right,transparent,#000 25%); }
.banner picture { flex:0 0 36%; width:36%; display:block; }
.banner picture img { width:100%; height:100%; object-position:top; }
.banner-produtos { min-height:150px; }

@media (min-width:860px) {
  main.cg-main { padding-top:2rem; }
  .cg-capa-grade { grid-template-columns:1.15fr 1fr; gap:2rem; }
  .cg-capa-texto .cg-btn { max-width:28rem; }
  .cg-topo { width:100%; margin:0; border-radius:var(--radius-lg) var(--radius-lg) 0 0; }
  .cg-cartao { padding:1.75rem; }
}
@media (prefers-reduced-motion:reduce) {
  .banner:hover { transform:none; }
}
