/* Landing v3 (29/09/2026) — peças novas no mesmo visual da v2: selo "em breve",
   linha abaixo dos botões, preços e perguntas. Usa os tokens de base.css. */
.soon { display: inline-flex; align-items: center; height: 20px; padding: 0 8px; border-radius: 999px; background: color-mix(in srgb, var(--accent) 12%, transparent); color: var(--accent); font: 600 10.5px var(--font); letter-spacing: .02em; white-space: nowrap; vertical-align: middle; }
.soon-lg { height: 26px; padding: 0 12px; margin-bottom: 16px; font-size: 12px; }
.fcard h3 .soon { margin-left: 6px; }
.pl-d .soon { margin-left: 2px; }

.hero-micro { margin-top: 18px; color: var(--muted); font-size: 13px; }
.hero-cta .btn-ghost span, .kb-head2 .btn-ghost span { display: inline; }

/* preços */
.plans-v3 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; max-width: 900px; margin: 0 auto; }
.plan-v3 { display: flex; flex-direction: column; padding: 30px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow-card); }
.plan-v3.is-main { border-color: color-mix(in srgb, var(--accent) 45%, var(--border)); box-shadow: var(--shadow-float); }
.plan-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.plan-top h3 { font-size: 17px; font-weight: 800; letter-spacing: -.01em; }
.plan-tag { height: 22px; display: inline-flex; align-items: center; padding: 0 9px; border-radius: 999px; background: color-mix(in srgb, var(--green) 16%, transparent); color: color-mix(in srgb, var(--green) 70%, var(--ink)); font-size: 11px; font-weight: 600; }
.plan-price { margin-top: 18px; font-family: var(--font); font-size: 48px; font-weight: 600; letter-spacing: -.03em; line-height: 1; }
.plan-price-soon { font-size: 30px; color: var(--muted); padding: 9px 0; }
.plan-sub { margin-top: 10px; color: var(--muted); font-size: 14px; line-height: 1.5; }
.plan-v3 ul { display: grid; gap: 10px; margin: 24px 0 28px; padding: 0; list-style: none; font-size: 14px; line-height: 1.45; }
.plan-v3 li { display: grid; grid-template-columns: 18px 1fr; gap: 10px; }
.plan-v3 li::before { content: "✓"; color: var(--accent); font-weight: 800; }
.plan-v3 .btn { margin-top: auto; align-self: flex-start; }
.plan-note { margin-top: auto; padding-top: 14px; border-top: 1px dashed var(--border); color: var(--muted); font-size: 13px; }

/* perguntas */
.faq-v3 { max-width: 760px; margin: 0 auto; }
.faq-v3 details { border-top: 1px solid var(--border); }
.faq-v3 details:last-child { border-bottom: 1px solid var(--border); }
.faq-v3 summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 2px; font-size: 16.5px; font-weight: 700; letter-spacing: -.01em; cursor: pointer; list-style: none; }
.faq-v3 summary::-webkit-details-marker { display: none; }
.faq-v3 summary::after { content: "+"; flex: none; color: var(--muted); font-size: 22px; font-weight: 400; transition: transform .2s; }
.faq-v3 details[open] summary::after { transform: rotate(45deg); }
.faq-v3 summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 6px; }
.faq-v3 details p { margin: -4px 0 22px; padding: 0 2px; max-width: 42em; color: var(--muted); font-size: 15px; line-height: 1.6; }

@media (max-width: 760px) {
  .plans-v3 { grid-template-columns: 1fr; }
  .plan-v3 { padding: 24px; }
  .plan-v3 .btn { align-self: stretch; justify-content: center; }
}

/* nada vaza para o lado no celular (o brilho do fundo passava 7 px) */
html { overflow-x: clip; }
