/* ============================================================
   solucao.css — estilos compartilhados pelas páginas de venda
   (solucao-estrutura, solucao-jornada, solucao-atendimento,
    solucao-protocolos, solucao-qualificacao) + checkout
   ============================================================ */

/* ============ SOLUTION HERO ============ */
.sol-hero {
  position: relative;
  padding: clamp(96px, 14vw, 160px) 0 clamp(64px, 8vw, 100px);
  background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(2,184,191,0.08), transparent 60%),
              var(--d-bg);
  overflow: hidden;
}
.sol-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 30%, rgba(2,212,220,0.08), transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(123,97,255,0.06), transparent 40%);
  pointer-events: none;
}
.sol-hero .wrap { position: relative; z-index: 1; }

.sol-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 48px;
  align-items: center;
}
.sol-hero-promo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  border-radius: 100px;
  background: linear-gradient(135deg, rgba(245,158,11,0.16), rgba(245,158,11,0.06));
  border: 1px solid rgba(245,158,11,0.34);
  color: #FCD34D;
  font-family: var(--f-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 22px;
}
.sol-hero-promo::before {
  content: "🔥";
  font-size: 13px;
  filter: saturate(1.2);
}
.sol-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--c-teal-2);
  font-family: var(--f-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.sol-hero-eyebrow::before {
  content: "";
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--c-teal);
  box-shadow: 0 0 0 3px rgba(2,212,220,0.18);
}
.sol-hero-title {
  color: var(--d-ink);
  font-size: clamp(2.2rem, 5vw, 4rem);
  font-weight: 400;
  letter-spacing: -0.028em;
  line-height: 1.05;
  margin: 0 0 22px;
}
.sol-hero-title .serif {
  font-family: var(--f-display);
  font-style: italic;
  color: var(--c-teal-2);
  font-weight: 400;
}
.sol-hero-lead {
  color: var(--d-ink-2);
  font-size: 1.1rem;
  line-height: 1.6;
  margin: 0 0 32px;
  max-width: 56ch;
}
.sol-hero-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 12px;
}
.sol-hero-visual {
  position: relative;
  height: 480px;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(127,231,235,0.14);
  box-shadow: 0 30px 80px rgba(0,0,0,0.5);
}
.sol-hero-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ============ GENERIC SECTION ============ */
.sol-section { padding: clamp(64px, 9vw, 120px) 0; position: relative; }
.sol-section-alt { background: var(--d-bg-2, #07111E); }
.sol-section-head { text-align: center; margin-bottom: 56px; }
.sol-section-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--c-teal-2);
  font-family: var(--f-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.sol-section-eyebrow::before {
  content: "";
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--c-teal);
  box-shadow: 0 0 0 3px rgba(2,212,220,0.18);
}
.sol-section-title {
  color: var(--d-ink);
  font-size: clamp(1.8rem, 3.6vw, 2.8rem);
  font-weight: 400;
  letter-spacing: -0.024em;
  line-height: 1.15;
  margin: 0 0 14px;
  max-width: 24ch;
  margin-left: auto;
  margin-right: auto;
}
.sol-section-title .serif {
  font-family: var(--f-display);
  font-style: italic;
  color: var(--c-teal-2);
  font-weight: 400;
}
.sol-section-lead {
  color: var(--d-ink-3);
  font-size: 1rem;
  line-height: 1.65;
  margin: 0 auto;
  max-width: 60ch;
}

/* ============ CAROUSEL ============ */
.sol-carousel {
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
}
.sol-carousel-track {
  display: flex;
  gap: 18px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 8px 4px 24px;
  scrollbar-width: thin;
  scrollbar-color: rgba(127,231,235,0.3) transparent;
}
.sol-carousel-track::-webkit-scrollbar { height: 6px; }
.sol-carousel-track::-webkit-scrollbar-thumb { background: rgba(127,231,235,0.3); border-radius: 100px; }
.sol-carousel-item {
  flex: 0 0 calc(50% - 9px);
  scroll-snap-align: start;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(127,231,235,0.12);
  background: rgba(7,17,30,0.9);
  aspect-ratio: 16/10;
}
.sol-carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 760px) {
  .sol-carousel-item { flex: 0 0 calc(85% - 9px); }
}

/* ============ DELIVERABLES GRID ============ */
.sol-deliv-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
  max-width: 1180px;
  margin: 0 auto;
}
.sol-deliv-card {
  background: linear-gradient(155deg, rgba(13,24,44,0.85), rgba(7,17,30,0.95));
  border: 1px solid rgba(127,231,235,0.10);
  border-radius: 18px;
  padding: 28px 24px;
  transition: border-color 0.3s, transform 0.3s;
}
.sol-deliv-card:hover { border-color: rgba(127,231,235,0.24); transform: translateY(-3px); }
.sol-deliv-ico {
  width: 44px; height: 44px;
  border-radius: 12px;
  background: rgba(2,184,191,0.14);
  border: 1px solid rgba(127,231,235,0.22);
  color: var(--c-teal-2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.sol-deliv-card h3 {
  color: var(--d-ink);
  font-size: 1.05rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  margin: 0 0 8px;
}
.sol-deliv-card p {
  color: var(--d-ink-3);
  font-size: 0.88rem;
  line-height: 1.6;
  margin: 0;
}

/* ============ STEPS ============ */
.sol-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 24px;
  max-width: 1100px;
  margin: 0 auto;
}
.sol-step {
  position: relative;
  padding: 28px 24px;
  background: rgba(7,17,30,0.7);
  border: 1px solid rgba(127,231,235,0.10);
  border-radius: 16px;
}
.sol-step-num {
  display: inline-flex;
  width: 36px; height: 36px;
  border-radius: 10px;
  background: rgba(2,184,191,0.14);
  border: 1px solid rgba(127,231,235,0.30);
  color: var(--c-teal-2);
  font-family: var(--f-mono);
  font-size: 13px;
  font-weight: 600;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.sol-step h4 {
  color: var(--d-ink);
  font-size: 1rem;
  font-weight: 500;
  margin: 0 0 8px;
  letter-spacing: -0.01em;
}
.sol-step p {
  color: var(--d-ink-3);
  font-size: 0.85rem;
  line-height: 1.6;
  margin: 0;
}

/* ============ TEAM MINI ============ */
.sol-team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 18px;
  max-width: 1180px;
  margin: 0 auto;
}
.sol-team-card {
  background: rgba(7,17,30,0.7);
  border: 1px solid rgba(127,231,235,0.10);
  border-radius: 16px;
  padding: 22px;
  text-align: center;
}
.sol-team-name {
  color: var(--d-ink);
  font-size: 0.94rem;
  font-weight: 500;
  margin: 12px 0 4px;
}
.sol-team-role {
  color: var(--d-ink-4);
  font-family: var(--f-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* ============ PRICING SECTION ============ */
.pricing-section {
  padding: clamp(64px, 8vw, 120px) 0;
  background: var(--d-bg);
  position: relative;
  overflow: hidden;
}
.pricing-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 50% at 50% 50%, rgba(2,184,191,0.06), transparent 70%);
  pointer-events: none;
}
.pricing-section > .wrap { position: relative; z-index: 1; }

.pricing-eyebrow {
  text-align: center;
  color: var(--c-teal-2);
  font-family: var(--f-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  margin-bottom: 24px;
}
.pricing-eyebrow::before {
  content: "";
  display: block;
  width: 1px;
  height: 28px;
  background: var(--c-teal);
  margin: 0 auto 16px;
}

.pricing-headline {
  text-align: center;
  font-size: clamp(2rem, 4.5vw, 3.5rem);
  font-weight: 300;
  letter-spacing: -0.025em;
  line-height: 1.1;
  margin: 0 auto 64px;
  max-width: 24ch;
  color: var(--d-ink);
}
.pricing-headline .serif {
  font-family: var(--f-display);
  font-style: italic;
  color: var(--c-teal-2);
}

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  max-width: 1180px;
  margin: 0 auto;
  align-items: stretch;
}

.price-card {
  background: rgba(5,11,23,0.62);
  border: 1px solid rgba(127,231,235,0.12);
  border-radius: 28px;
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: transform 0.3s, border-color 0.3s;
}
.price-card:hover { transform: translateY(-4px); border-color: rgba(127,231,235,0.24); }

.price-card.featured {
  background: linear-gradient(145deg, rgba(2,184,191,0.10), rgba(5,11,23,0.95));
  border: 1.5px solid rgba(127,231,235,0.36);
  box-shadow: 0 0 60px rgba(2,184,191,0.18),
              inset 0 1px 0 rgba(127,231,235,0.16);
  transform: scale(1.04);
}
.price-card.featured::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  background: radial-gradient(ellipse at 50% 0%, rgba(2,212,220,0.22), transparent 60%);
  pointer-events: none;
  z-index: 0;
}
.price-card > * { position: relative; z-index: 1; }

.price-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 100px;
  font-family: var(--f-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 16px;
  width: fit-content;
}
.badge-default {
  background: rgba(15,30,51,0.7);
  border: 1px solid rgba(127,231,235,0.18);
  color: var(--d-ink-2);
}
.badge-popular {
  background: linear-gradient(135deg, #02D4DC, #02888F);
  color: #050B17;
}
.badge-discount {
  background: rgba(239,68,68,0.18);
  border: 1px solid rgba(239,68,68,0.4);
  color: #FCA5A5;
  position: absolute;
  top: 32px;
  right: 32px;
  margin-bottom: 0;
}

.price-tier-name {
  font-family: var(--f-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  color: var(--c-teal-2);
  text-transform: uppercase;
  margin-bottom: 12px;
  background: rgba(2,184,191,0.10);
  border: 1px solid rgba(127,231,235,0.22);
  padding: 4px 12px;
  border-radius: 100px;
  display: inline-block;
  width: fit-content;
}

.price-amount-wrap { margin: 16px 0 8px; }
.price-amount {
  font-size: clamp(2.8rem, 5vw, 3.6rem);
  font-weight: 300;
  letter-spacing: -0.04em;
  color: var(--d-ink);
  line-height: 1;
  display: inline-block;
}
.price-strike {
  font-size: 1.1rem;
  color: var(--d-ink-3);
  text-decoration: line-through;
  display: inline-block;
  margin-right: 12px;
  vertical-align: middle;
  opacity: 0.7;
}
.price-period {
  font-size: 0.95rem;
  color: var(--d-ink-3);
  margin-left: 6px;
  vertical-align: baseline;
}

.countdown-pill {
  background: rgba(245,158,11,0.10);
  border: 1px solid rgba(245,158,11,0.32);
  color: #FCD34D;
  font-family: var(--f-mono);
  font-size: 11px;
  font-weight: 500;
  padding: 6px 12px;
  border-radius: 100px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 12px 0;
  width: fit-content;
}
.countdown-pill::before { content: "⏱"; }

.price-target {
  color: var(--d-ink-2);
  font-size: 14px;
  line-height: 1.65;
  margin: 20px 0 24px;
  padding-top: 20px;
  border-top: 1px solid rgba(127,231,235,0.10);
}

.feat-list {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
  flex-grow: 1;
}
.feat-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 7px 0;
  font-size: 13.5px;
  color: var(--d-ink-2);
  line-height: 1.5;
}
.feat-list li::before {
  content: "";
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(16,185,129,0.18);
  border: 1px solid rgba(16,185,129,0.5);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310B981' stroke-width='3'><polyline points='20 6 9 17 4 12'/></svg>");
  background-size: 10px;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
  margin-top: 1px;
}
.feat-list li strong { color: var(--d-ink); font-weight: 600; }

.btn-buy {
  width: 100%;
  padding: 16px 24px;
  background: #FFFFFF;
  color: var(--c-navy);
  border-radius: 100px;
  font-weight: 600;
  font-size: 14px;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: transform 0.2s, box-shadow 0.2s;
  text-decoration: none;
  font-family: var(--f-sans);
}
.btn-buy.featured {
  background: linear-gradient(135deg, #02D4DC, #02888F);
  color: #FFFFFF;
  box-shadow: 0 4px 32px rgba(2,184,191,0.32);
}
.btn-buy:hover { transform: translateY(-2px); box-shadow: 0 6px 32px rgba(0,0,0,0.32); }
.btn-buy.featured:hover { box-shadow: 0 6px 40px rgba(2,184,191,0.48); }

/* ============ TRUST ROW ============ */
.trust-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin: 48px auto 0;
  max-width: 1180px;
}
.trust-card {
  background: rgba(5,11,23,0.62);
  border: 1px solid rgba(127,231,235,0.10);
  border-radius: 18px;
  padding: 24px 20px;
  text-align: center;
}
.trust-card strong {
  color: var(--c-teal);
  font-size: 28px;
  font-weight: 400;
  display: block;
  letter-spacing: -0.02em;
}
.trust-card span {
  color: var(--d-ink-3);
  font-family: var(--f-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-top: 6px;
  display: block;
  line-height: 1.5;
}

/* ============ COMBO BANNER ============ */
.combo-banner {
  margin: 48px auto 0;
  max-width: 1180px;
  background: linear-gradient(135deg, rgba(123,97,255,0.14), rgba(2,184,191,0.10), rgba(5,11,23,0.92));
  border: 1.5px solid rgba(123,97,255,0.30);
  border-radius: 28px;
  padding: 36px 40px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 32px;
  box-shadow: 0 0 60px rgba(123,97,255,0.14);
  position: relative;
  overflow: hidden;
}
.combo-banner::before {
  content: "💎";
  position: absolute;
  top: -20px;
  left: -20px;
  font-size: 120px;
  opacity: 0.08;
  pointer-events: none;
}
.combo-eyebrow {
  font-family: var(--f-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  color: #B8A6FF;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.combo-title {
  font-size: 24px;
  font-weight: 400;
  letter-spacing: -0.02em;
  margin: 0 0 10px;
  color: var(--d-ink);
}
.combo-price-wrap { font-size: 18px; color: var(--d-ink-2); }
.combo-price-strike { color: var(--d-ink-3); text-decoration: line-through; margin-right: 12px; }
.combo-price-now { color: var(--c-teal-2); font-size: 28px; font-weight: 400; letter-spacing: -0.02em; }
.combo-saving { color: #FCD34D; font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.12em; margin-top: 6px; }
.combo-cta {
  background: linear-gradient(135deg, #7B61FF, #5A40E0);
  color: #fff;
  padding: 16px 28px;
  border-radius: 100px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  box-shadow: 0 4px 32px rgba(123,97,255,0.32);
  transition: transform 0.2s, box-shadow 0.2s;
}
.combo-cta:hover { transform: translateY(-2px); box-shadow: 0 6px 40px rgba(123,97,255,0.48); }

/* ============ FAQ ============ */
.sol-faq { max-width: 800px; margin: 0 auto; }
.sol-faq details {
  background: rgba(7,17,30,0.7);
  border: 1px solid rgba(127,231,235,0.10);
  border-radius: 14px;
  padding: 0;
  margin-bottom: 12px;
  transition: border-color 0.25s;
}
.sol-faq details[open] { border-color: rgba(127,231,235,0.28); }
.sol-faq summary {
  list-style: none;
  cursor: pointer;
  padding: 20px 24px;
  font-size: 1rem;
  font-weight: 500;
  color: var(--d-ink);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.sol-faq summary::-webkit-details-marker { display: none; }
.sol-faq summary::after {
  content: "+";
  font-size: 1.4rem;
  color: var(--c-teal-2);
  transition: transform 0.25s;
  flex-shrink: 0;
}
.sol-faq details[open] summary::after { transform: rotate(45deg); }
.sol-faq-content {
  padding: 0 24px 20px;
  color: var(--d-ink-3);
  font-size: 0.92rem;
  line-height: 1.65;
}

/* ============ FINAL CTA ============ */
.sol-cta-final {
  text-align: center;
  background: radial-gradient(ellipse 80% 60% at 50% 50%, rgba(2,184,191,0.10), transparent 70%);
  padding: clamp(80px, 10vw, 140px) 0;
}
.sol-cta-final h2 {
  color: var(--d-ink);
  font-size: clamp(2rem, 4.4vw, 3.4rem);
  font-weight: 400;
  letter-spacing: -0.028em;
  line-height: 1.1;
  margin: 0 auto 18px;
  max-width: 22ch;
}
.sol-cta-final h2 .serif {
  font-family: var(--f-display);
  font-style: italic;
  color: var(--c-teal-2);
}
.sol-cta-final p {
  color: var(--d-ink-2);
  font-size: 1.05rem;
  max-width: 50ch;
  margin: 0 auto 28px;
  line-height: 1.6;
}
.sol-cta-final .countdown-pill { margin: 0 auto 28px; }

/* ============ RESPONSIVE ============ */
@media (max-width: 900px) {
  .sol-hero-grid { grid-template-columns: 1fr; gap: 32px; }
  .sol-hero-visual { height: 340px; }
  .price-card.featured { transform: scale(1); }
  .trust-row { grid-template-columns: repeat(2, 1fr); }
  .combo-banner { grid-template-columns: 1fr; text-align: center; }
  .combo-banner > div:first-child > *:not(.combo-eyebrow) { margin-left: auto; margin-right: auto; }
}
@media (max-width: 560px) {
  .trust-row { grid-template-columns: 1fr 1fr; }
  .price-card { padding: 28px 22px; }
  .badge-discount { top: 22px; right: 22px; }
}

/* ============ CHECKOUT PAGE ============ */
.checkout-page {
  padding: clamp(96px, 12vw, 140px) 0 80px;
  min-height: 100vh;
  background: var(--d-bg);
}
.checkout-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 32px;
  align-items: start;
}
.checkout-header { margin-bottom: 36px; }
.checkout-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--d-ink-3);
  font-size: 0.86rem;
  text-decoration: none;
  margin-bottom: 18px;
  transition: color 0.2s;
}
.checkout-back:hover { color: var(--c-teal-2); }
.checkout-title {
  color: var(--d-ink);
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 400;
  letter-spacing: -0.025em;
  margin: 0;
}

.checkout-form {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.checkout-step {
  background: rgba(7,17,30,0.7);
  border: 1px solid rgba(127,231,235,0.10);
  border-radius: 18px;
  padding: 28px 28px 24px;
}
.checkout-step-num {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--c-teal-2);
  font-family: var(--f-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.checkout-step-num span {
  display: inline-flex;
  width: 22px; height: 22px;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: rgba(2,184,191,0.14);
  border: 1px solid rgba(127,231,235,0.30);
}
.checkout-step h3 {
  color: var(--d-ink);
  font-size: 1.1rem;
  font-weight: 500;
  margin: 0 0 18px;
  letter-spacing: -0.01em;
}
.checkout-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 14px;
}
.checkout-field label {
  color: var(--d-ink-3);
  font-size: 0.78rem;
  font-family: var(--f-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.checkout-field input,
.checkout-field select {
  background: rgba(5,11,23,0.6);
  border: 1px solid rgba(127,231,235,0.16);
  color: var(--d-ink);
  font-family: var(--f-sans);
  font-size: 0.95rem;
  padding: 12px 14px;
  border-radius: 10px;
  transition: border-color 0.2s, background 0.2s;
}
.checkout-field input:focus,
.checkout-field select:focus {
  outline: none;
  border-color: rgba(127,231,235,0.45);
  background: rgba(5,11,23,0.8);
}
.checkout-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.checkout-toggle {
  display: flex;
  gap: 6px;
  margin-bottom: 14px;
}
.checkout-toggle button {
  flex: 1;
  padding: 10px 14px;
  background: transparent;
  border: 1px solid rgba(127,231,235,0.16);
  color: var(--d-ink-3);
  border-radius: 10px;
  font-family: var(--f-sans);
  font-size: 0.88rem;
  cursor: pointer;
  transition: all 0.2s;
}
.checkout-toggle button.is-on {
  background: rgba(2,184,191,0.14);
  border-color: rgba(127,231,235,0.40);
  color: var(--c-teal-2);
}
.checkout-pay-methods {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 18px;
}
.checkout-pay {
  padding: 14px;
  background: rgba(5,11,23,0.6);
  border: 1px solid rgba(127,231,235,0.16);
  border-radius: 12px;
  color: var(--d-ink-2);
  font-size: 0.86rem;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s;
  font-family: var(--f-sans);
}
.checkout-pay.is-on {
  background: rgba(2,184,191,0.14);
  border-color: rgba(127,231,235,0.40);
  color: var(--c-teal-2);
}
.checkout-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 18px 0;
}
.checkout-check input { margin-top: 2px; }
.checkout-check label { color: var(--d-ink-2); font-size: 0.88rem; line-height: 1.5; }
.checkout-check a { color: var(--c-teal-2); }
.checkout-submit {
  width: 100%;
  padding: 18px 28px;
  background: linear-gradient(135deg, #02D4DC, #02888F);
  color: #FFFFFF;
  border: none;
  border-radius: 100px;
  font-family: var(--f-sans);
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 6px 32px rgba(2,184,191,0.32);
  transition: transform 0.2s, box-shadow 0.2s;
}
.checkout-submit:hover { transform: translateY(-2px); box-shadow: 0 10px 40px rgba(2,184,191,0.45); }
.checkout-pay-foot {
  color: var(--d-ink-4);
  font-family: var(--f-mono);
  font-size: 10px;
  letter-spacing: 0.10em;
  text-align: center;
  margin-top: 14px;
  text-transform: uppercase;
}

/* RESUMO (direita) */
.checkout-summary {
  background: linear-gradient(155deg, rgba(13,24,44,0.95), rgba(7,17,30,0.95));
  border: 1px solid rgba(127,231,235,0.22);
  border-radius: 22px;
  padding: 28px;
  position: sticky;
  top: 100px;
}
.checkout-summary h4 {
  color: var(--c-teal-2);
  font-family: var(--f-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin: 0 0 16px;
}
.checkout-plan-name {
  color: var(--d-ink);
  font-size: 1.15rem;
  font-weight: 500;
  letter-spacing: -0.015em;
  margin: 0 0 12px;
}
.checkout-price-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 10px 0;
  border-bottom: 1px solid rgba(127,231,235,0.10);
  color: var(--d-ink-2);
  font-size: 0.92rem;
}
.checkout-price-row.total {
  border-bottom: none;
  padding-top: 16px;
  font-size: 1rem;
}
.checkout-price-row.total strong {
  color: var(--c-teal);
  font-size: 1.45rem;
  font-weight: 400;
  letter-spacing: -0.02em;
}
.checkout-strike { text-decoration: line-through; color: var(--d-ink-3); }
.checkout-save {
  background: rgba(16,185,129,0.10);
  border: 1px solid rgba(16,185,129,0.30);
  color: #5CD9A1;
  padding: 8px 12px;
  border-radius: 10px;
  font-family: var(--f-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.10em;
  text-align: center;
  margin: 14px 0;
}
.checkout-incl {
  margin: 16px 0;
  list-style: none;
  padding: 0;
}
.checkout-incl li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.84rem;
  color: var(--d-ink-2);
  padding: 5px 0;
  line-height: 1.5;
}
.checkout-incl li::before {
  content: "✓";
  color: var(--c-emerald, #10B981);
  flex-shrink: 0;
  font-weight: 700;
}
.checkout-incl li.bonus::before { content: "🎁"; }
.checkout-trust {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(127,231,235,0.10);
}
.checkout-trust div {
  font-size: 0.78rem;
  color: var(--d-ink-3);
  display: flex;
  align-items: center;
  gap: 8px;
}
.checkout-rqe {
  color: var(--d-ink-4);
  font-family: var(--f-mono);
  font-size: 10px;
  letter-spacing: 0.10em;
  text-align: center;
  margin-top: 14px;
  text-transform: uppercase;
  padding-top: 12px;
  border-top: 1px solid rgba(127,231,235,0.06);
}

@media (max-width: 900px) {
  .checkout-grid { grid-template-columns: 1fr; }
  .checkout-summary { position: static; }
  .checkout-pay-methods { grid-template-columns: 1fr; }
  .checkout-field-row { grid-template-columns: 1fr; }
}

/* ============ MODAL (Em breve) ============ */
.modal-soon {
  position: fixed;
  inset: 0;
  background: rgba(5,11,23,0.85);
  backdrop-filter: blur(8px);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 20px;
}
.modal-soon.is-open { display: flex; }
.modal-soon-inner {
  background: linear-gradient(155deg, #0A1830, #060C1B);
  border: 1px solid rgba(127,231,235,0.30);
  border-radius: 24px;
  padding: 40px 36px;
  max-width: 480px;
  width: 100%;
  text-align: center;
  position: relative;
}
.modal-soon-close {
  position: absolute;
  top: 18px;
  right: 18px;
  background: transparent;
  border: none;
  color: var(--d-ink-3);
  font-size: 22px;
  cursor: pointer;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.modal-soon-close:hover { background: rgba(255,255,255,0.06); color: var(--d-ink); }
.modal-soon h3 {
  color: var(--d-ink);
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: -0.02em;
  margin: 12px 0 10px;
}
.modal-soon p {
  color: var(--d-ink-2);
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 0 0 24px;
}
.modal-soon-wa {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #25D366;
  color: #fff;
  padding: 14px 26px;
  border-radius: 100px;
  font-weight: 600;
  text-decoration: none;
  transition: transform 0.2s, box-shadow 0.2s;
}
.modal-soon-wa:hover { transform: translateY(-2px); box-shadow: 0 6px 24px rgba(37,211,102,0.4); }

/* ============================================================
   FASE 3 V2 — Hero carousel cinematográfico + seções novas
   ============================================================ */

/* === HERO BANNER CINEMATOGRÁFICO === */
.solucao-hero {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 0 clamp(24px, 8vw, 120px);
}
.hero-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 1.2s ease-in-out;
  z-index: 0;
}
.hero-slide.active { opacity: 1; }
.solucao-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, rgba(5,11,23,0.97) 0%, rgba(5,11,23,0.90) 30%, rgba(6,19,35,0.76) 60%, rgba(8,17,31,0.40) 100%);
  z-index: 1;
}
.solucao-hero-content {
  position: relative;
  z-index: 2;
  max-width: 740px;
  padding: 100px 0 80px;
}
.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 7px 16px;
  border: 1px solid rgba(127,231,235,0.30);
  border-radius: 100px;
  background: rgba(2,184,191,0.08);
  margin-bottom: 28px;
  font-family: var(--f-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--c-teal-2);
}
.hero-eyebrow .eyebrow-num { font-weight: 700; margin-right: 4px; }
.hero-eyebrow .eyebrow-sep { opacity: 0.45; margin: 0 2px; }
.solucao-hero-title {
  font-size: clamp(2.4rem, 5.5vw, 4.4rem);
  font-weight: 300;
  letter-spacing: -0.03em;
  line-height: 1.04;
  color: var(--d-ink);
  margin-bottom: 24px;
}
.solucao-hero-title .serif {
  font-family: var(--f-display);
  font-style: italic;
  color: var(--c-teal-2);
  font-weight: 400;
}
.solucao-hero-lead {
  font-size: clamp(1rem, 1.4vw, 1.16rem);
  color: var(--d-ink-2);
  line-height: 1.65;
  margin-bottom: 40px;
  max-width: 58ch;
}
.solucao-hero-cta {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.btn-sol-primary {
  padding: 15px 32px;
  background: var(--g-cta);
  color: #fff;
  border-radius: 100px;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 6px 30px rgba(2,184,191,0.38);
  transition: transform 0.2s, box-shadow 0.2s;
}
.btn-sol-primary:hover { transform: translateY(-2px); box-shadow: 0 10px 40px rgba(2,184,191,0.54); }
.btn-sol-ghost {
  padding: 15px 32px;
  border: 1px solid rgba(127,231,235,0.30);
  background: rgba(5,11,23,0.48);
  color: var(--d-ink);
  border-radius: 100px;
  text-decoration: none;
  font-size: 15px;
  backdrop-filter: blur(8px);
  transition: border-color 0.2s, background 0.2s;
}
.btn-sol-ghost:hover { border-color: rgba(127,231,235,0.58); background: rgba(5,11,23,0.68); }
.hero-dots {
  position: absolute;
  bottom: 28px;
  left: clamp(24px, 8vw, 120px);
  z-index: 3;
  display: flex;
  gap: 8px;
}
.hero-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: rgba(127,231,235,0.30);
  cursor: pointer;
  transition: background 0.3s, transform 0.3s;
}
.hero-dot.active { background: var(--c-teal); transform: scale(1.4); }
@media (max-width: 768px) {
  .solucao-hero { min-height: 72vh; padding: 0 20px; }
  .solucao-hero-content { padding: 72px 0 56px; }
}

/* === SEÇÕES GENÉRICAS V2 === */
.sol-section { padding: clamp(72px, 9vw, 128px) clamp(24px, 8vw, 120px); }
.sol-section-alt { background: #08111F; }
.sol-section-dark { background: #040910; }
.sol-eyebrow {
  font-family: var(--f-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--c-teal);
  margin-bottom: 16px;
  display: block;
}
.sol-title {
  font-size: clamp(1.9rem, 3.8vw, 3.2rem);
  font-weight: 300;
  letter-spacing: -0.025em;
  line-height: 1.12;
  color: var(--d-ink);
  margin-bottom: 20px;
}
.sol-title .serif {
  font-family: var(--f-display);
  font-style: italic;
  color: var(--c-teal-2);
  font-weight: 400;
}
.sol-lead {
  font-size: 1.06rem;
  color: var(--d-ink-2);
  line-height: 1.65;
  max-width: 64ch;
  margin-bottom: 48px;
}
.sol-card {
  background: rgba(5,11,23,0.62);
  border: 1px solid rgba(127,231,235,0.10);
  border-radius: 20px;
  padding: 28px 26px;
  transition: border-color 0.3s, transform 0.3s;
}
.sol-card:hover { border-color: rgba(127,231,235,0.28); transform: translateY(-3px); }
.sol-card-icon { width: 40px; height: 40px; margin-bottom: 16px; }
.sol-card h3 {
  font-size: 16px;
  font-weight: 500;
  color: var(--d-ink);
  margin-bottom: 10px;
  line-height: 1.3;
}
.sol-card p {
  font-size: 13.5px;
  color: var(--d-ink-2);
  line-height: 1.6;
  margin: 0;
}
.sol-grid-3 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  max-width: 1280px;
  margin: 0 auto;
}
.sol-grid-2 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 20px;
  max-width: 1100px;
  margin: 0 auto;
}
.sol-section-center { text-align: center; }
.sol-section-center .sol-lead { margin: 0 auto 48px; }
.sol-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
  max-width: 1280px;
  margin: 0 auto;
}
@media (max-width: 900px) { .sol-two-col { grid-template-columns: 1fr; gap: 40px; } }
.sol-feature-list { list-style: none; padding: 0; margin: 0; }
.sol-feature-list li {
  position: relative;
  padding: 9px 0 9px 26px;
  font-size: 14px;
  color: var(--d-ink-2);
  line-height: 1.6;
  border-bottom: 1px solid rgba(127,231,235,0.07);
}
.sol-feature-list li:last-child { border-bottom: none; }
.sol-feature-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 16px;
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--c-teal);
  box-shadow: 0 0 8px rgba(2,212,220,0.5);
}
.sol-feature-list li strong { color: var(--c-teal-2); font-weight: 500; }
.sol-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 2px;
  border: 1px solid rgba(127,231,235,0.12);
  border-radius: 20px;
  overflow: hidden;
  max-width: 1100px;
  margin: 0 auto;
}
.sol-stat {
  padding: 32px 24px;
  background: rgba(5,11,23,0.6);
  text-align: center;
  border-right: 1px solid rgba(127,231,235,0.08);
}
.sol-stat:last-child { border-right: none; }
.sol-stat-num {
  font-family: var(--f-mono);
  font-size: clamp(2rem, 3.5vw, 2.8rem);
  font-weight: 700;
  color: var(--c-teal-2);
  display: block;
  line-height: 1;
  margin-bottom: 8px;
}
.sol-stat-label { font-size: 13px; color: var(--d-ink-3); line-height: 1.4; }
.sol-quote {
  border-left: 3px solid var(--c-teal);
  padding: 20px 28px;
  background: rgba(2,184,191,0.06);
  border-radius: 0 16px 16px 0;
  margin: 40px 0;
}
.sol-quote p {
  font-size: 1.12rem;
  font-style: italic;
  color: var(--d-ink-2);
  line-height: 1.6;
  margin: 0;
}
.sol-quote p .highlight { color: var(--c-teal-2); font-style: italic; font-weight: 500; }
.sol-funnel {
  display: flex;
  align-items: flex-start;
  gap: 0;
  flex-wrap: wrap;
  justify-content: center;
  margin: 48px auto;
  max-width: 1100px;
}
.sol-funnel-step {
  flex: 1;
  min-width: 120px;
  max-width: 180px;
  text-align: center;
  padding: 0 12px;
  position: relative;
}
.sol-funnel-step::after {
  content: "→";
  position: absolute;
  right: -10px;
  top: 28px;
  color: var(--c-teal);
  font-size: 20px;
}
.sol-funnel-step:last-child::after { display: none; }
.sol-funnel-icon {
  width: 56px; height: 56px;
  border-radius: 50%;
  border: 2px solid rgba(127,231,235,0.28);
  background: rgba(2,184,191,0.10);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 12px;
  font-size: 22px;
}
.sol-funnel-label { font-size: 13px; font-weight: 600; color: var(--d-ink); margin-bottom: 6px; }
.sol-funnel-sub { font-size: 11.5px; color: var(--d-ink-3); line-height: 1.4; }
.sol-badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 100px;
  font-size: 11px;
  font-family: var(--f-mono);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.sol-badge-teal { background: rgba(2,184,191,0.15); color: var(--c-teal-2); border: 1px solid rgba(2,184,191,0.25); }
.sol-badge-red { background: rgba(255,80,80,0.12); color: #ff8080; border: 1px solid rgba(255,80,80,0.2); }
.sol-problem-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  max-width: 1100px;
  margin: 0 auto;
}
@media (max-width: 768px) { .sol-problem-grid { grid-template-columns: 1fr; } }
.sol-problem-panel { border-radius: 20px; padding: 32px 28px; }
.sol-problem-panel.panel-symptoms { background: rgba(255,80,80,0.06); border: 1px solid rgba(255,80,80,0.14); }
.sol-problem-panel.panel-consequences { background: rgba(5,11,23,0.62); border: 1px solid rgba(127,231,235,0.10); }
.sol-problem-panel h3 {
  font-size: 13px;
  font-family: var(--f-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.panel-symptoms h3 { color: #ff8080; }
.panel-consequences h3 { color: var(--c-teal-2); }
.sol-pricing {
  padding: clamp(80px, 10vw, 140px) clamp(24px, 8vw, 120px);
  background:
    radial-gradient(ellipse 70% 50% at center top, rgba(2, 184, 191, 0.08) 0%, transparent 60%),
    radial-gradient(ellipse 60% 40% at center bottom, rgba(123, 97, 255, 0.05) 0%, transparent 70%),
    linear-gradient(180deg, #050B17 0%, #08111F 50%, #050B17 100%);
  text-align: center;
  position: relative;
}
.sol-pricing .pricing-card {
  max-width: 540px;
  margin: 0 auto;
  background: rgba(5,11,23,0.80);
  border: 1px solid rgba(127,231,235,0.18);
  border-radius: 28px;
  padding: 48px 40px;
  position: relative;
  overflow: hidden;
}
.sol-pricing .pricing-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: var(--g-cta);
}
.pricing-original { font-size: 15px; color: var(--d-ink-3); text-decoration: line-through; margin-bottom: 8px; }
.pricing-price {
  font-size: clamp(2.4rem, 5vw, 4rem);
  font-weight: 700;
  color: var(--c-teal-2);
  font-family: var(--f-mono);
  line-height: 1;
  margin-bottom: 8px;
}
.pricing-period { font-size: 14px; color: var(--d-ink-3); margin-bottom: 32px; }
.pricing-cta {
  width: 100%;
  padding: 18px;
  background: var(--g-cta);
  color: #fff;
  border: none;
  border-radius: 100px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  display: block;
  transition: transform 0.2s, box-shadow 0.2s;
}
.pricing-cta:hover { transform: translateY(-2px); box-shadow: 0 8px 32px rgba(2,184,191,0.5); }
.urgency-bar {
  background: rgba(2,184,191,0.08);
  border: 1px solid rgba(127,231,235,0.16);
  border-radius: 14px;
  padding: 16px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
  margin: 28px auto 0;
  max-width: 540px;
  font-size: 13px;
  color: var(--d-ink-2);
}
.urgency-bar strong { color: var(--c-teal-2); }
.sol-team { padding: clamp(80px, 10vw, 128px) clamp(24px, 8vw, 120px); background: #08111F; }
.equipe-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
  max-width: 1100px;
  margin: 40px auto 0;
}
.equipe-card {
  background: rgba(5,11,23,0.62);
  border: 1px solid rgba(127,231,235,0.10);
  border-radius: 20px;
  padding: 28px 24px;
  text-align: center;
}
.equipe-card h3 { color: var(--d-ink); font-size: 16px; font-weight: 500; margin-bottom: 4px; }
.equipe-role { color: var(--c-teal); font-size: 13px; font-family: var(--f-mono); margin-bottom: 8px; }
.equipe-expertise { color: var(--d-ink-3); font-size: 12.5px; line-height: 1.5; }
.sol-platform-showcase {
  max-width: 1100px;
  margin: 48px auto 0;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(127,231,235,0.14);
  box-shadow: 0 24px 80px rgba(2,184,191,0.10);
}
.sol-platform-showcase img { width: 100%; display: block; }
.combo-power {
  background: linear-gradient(135deg, rgba(123,97,255,0.12), rgba(2,184,191,0.10));
  border: 1px solid rgba(123,97,255,0.28);
  border-radius: 24px;
  padding: 40px 36px;
  max-width: 700px;
  margin: 48px auto 0;
  text-align: center;
}
.combo-power h3 { font-size: 22px; font-weight: 600; color: var(--d-ink); margin-bottom: 8px; }
.combo-power .combo-price {
  font-size: 2.6rem;
  font-weight: 700;
  color: var(--c-teal-2);
  font-family: var(--f-mono);
  margin: 12px 0 4px;
}
.combo-economy {
  font-size: 13px;
  color: #a78bfa;
  background: rgba(123,97,255,0.12);
  padding: 4px 14px;
  border-radius: 100px;
  display: inline-block;
  margin-bottom: 20px;
}

/* ============================================================
   BACKGROUND OVERHAUL — Refinamento sem cortes bruscos
   ============================================================ */

/* Body fixo com fundo base — evita "buraco" entre seções */
body.sales-page {
  background:
    radial-gradient(ellipse at top, rgba(2, 136, 143, 0.06) 0%, transparent 50%),
    linear-gradient(180deg, #050B17 0%, #07111F 50%, #050B17 100%);
  background-attachment: fixed;
}

/* Seção base — transparente sobre o body */
body.sales-page .sol-section {
  background: transparent;
  position: relative;
}

/* Seção alternativa — gradiente sutil + imagem tech ao fundo */
body.sales-page .sol-section-alt {
  background:
    linear-gradient(180deg,
      rgba(8, 17, 31, 0.0) 0%,
      rgba(8, 17, 31, 0.65) 12%,
      rgba(8, 17, 31, 0.78) 50%,
      rgba(8, 17, 31, 0.65) 88%,
      rgba(8, 17, 31, 0.0) 100%
    );
  position: relative;
  overflow: hidden;
}

/* Imagem tech overlay para .sol-section-alt — usar como background */
body.sales-page .sol-section-alt.has-tech-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url('assets/qualificacao-bg.png');
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
  opacity: 0.10;
  pointer-events: none;
  z-index: 0;
}
body.sales-page .sol-section-alt.has-tech-bg.tech-bg-alt::before {
  background-image: url('assets/blue-background-6.png');
  background-position: center;
  opacity: 0.08;
}
body.sales-page .sol-section-alt > * {
  position: relative;
  z-index: 1;
}

/* Seção "dark" — preto profundo com glow radial sutil */
body.sales-page .sol-section-dark {
  background:
    radial-gradient(ellipse at center,
      rgba(2, 184, 191, 0.04) 0%,
      transparent 60%
    ),
    #030710;
  position: relative;
}

/* Divisor sutil entre seções de fundos diferentes — gradiente teal */
body.sales-page .sol-section + .sol-section-alt::before,
body.sales-page .sol-section-alt + .sol-section-dark::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 280px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(2,184,191,0.32), transparent);
  z-index: 2;
}

/* ============================================================
   ANIMAÇÕES DE ENTRADA — IntersectionObserver
   ============================================================ */

/* Fade + slide simples */
[data-reveal-soft] {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1), transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
}
[data-reveal-soft].is-revealed {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger — filhos entram um a um */
[data-reveal-stagger] > * {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
[data-reveal-stagger].is-revealed > *:nth-child(1)  { opacity: 1; transform: translateY(0); transition-delay: 0.05s; }
[data-reveal-stagger].is-revealed > *:nth-child(2)  { opacity: 1; transform: translateY(0); transition-delay: 0.12s; }
[data-reveal-stagger].is-revealed > *:nth-child(3)  { opacity: 1; transform: translateY(0); transition-delay: 0.19s; }
[data-reveal-stagger].is-revealed > *:nth-child(4)  { opacity: 1; transform: translateY(0); transition-delay: 0.26s; }
[data-reveal-stagger].is-revealed > *:nth-child(5)  { opacity: 1; transform: translateY(0); transition-delay: 0.33s; }
[data-reveal-stagger].is-revealed > *:nth-child(6)  { opacity: 1; transform: translateY(0); transition-delay: 0.40s; }
[data-reveal-stagger].is-revealed > *:nth-child(7)  { opacity: 1; transform: translateY(0); transition-delay: 0.47s; }
[data-reveal-stagger].is-revealed > *:nth-child(8)  { opacity: 1; transform: translateY(0); transition-delay: 0.54s; }
[data-reveal-stagger].is-revealed > *:nth-child(9)  { opacity: 1; transform: translateY(0); transition-delay: 0.61s; }
[data-reveal-stagger].is-revealed > *:nth-child(10) { opacity: 1; transform: translateY(0); transition-delay: 0.68s; }
[data-reveal-stagger].is-revealed > *:nth-child(11) { opacity: 1; transform: translateY(0); transition-delay: 0.75s; }
[data-reveal-stagger].is-revealed > *:nth-child(12) { opacity: 1; transform: translateY(0); transition-delay: 0.82s; }

/* Reveal específico para listas (lateral) */
.sol-feature-list[data-reveal-list] li {
  opacity: 0;
  transform: translateX(-12px);
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.sol-feature-list[data-reveal-list].is-revealed li:nth-child(1) { opacity: 1; transform: translateX(0); transition-delay: 0.04s; }
.sol-feature-list[data-reveal-list].is-revealed li:nth-child(2) { opacity: 1; transform: translateX(0); transition-delay: 0.10s; }
.sol-feature-list[data-reveal-list].is-revealed li:nth-child(3) { opacity: 1; transform: translateX(0); transition-delay: 0.16s; }
.sol-feature-list[data-reveal-list].is-revealed li:nth-child(4) { opacity: 1; transform: translateX(0); transition-delay: 0.22s; }
.sol-feature-list[data-reveal-list].is-revealed li:nth-child(5) { opacity: 1; transform: translateX(0); transition-delay: 0.28s; }
.sol-feature-list[data-reveal-list].is-revealed li:nth-child(6) { opacity: 1; transform: translateX(0); transition-delay: 0.34s; }

/* Hover interativo em sol-feature-list — transform-only (sem reflow) */
.sol-feature-list li {
  cursor: default;
  transition: background 0.25s, transform 0.25s, color 0.25s;
  border-radius: 8px;
  margin: 0 -12px;
  padding: 9px 12px 9px 36px !important;
  position: relative;
}
.sol-feature-list li::before {
  left: 12px !important;
  transition: box-shadow 0.25s, transform 0.25s;
}
.sol-feature-list li:hover {
  background: rgba(2, 184, 191, 0.05);
  transform: translateX(8px);
  color: var(--d-ink);
}
.sol-feature-list li:hover::before {
  box-shadow: 0 0 14px rgba(2, 212, 220, 0.8);
  transform: scale(1.18);
}

/* ============================================================
   BENTO GRID v2 — ENTREGÁVEIS (LAYOUT SIMÉTRICO 4x3)
   ============================================================ */

/* Background magnético da seção */
#entregaveis.sol-section-dark {
  background:
    radial-gradient(ellipse 70% 50% at center top, rgba(2, 184, 191, 0.10) 0%, transparent 60%),
    radial-gradient(ellipse 60% 40% at center bottom, rgba(123, 97, 255, 0.05) 0%, transparent 70%),
    linear-gradient(180deg, #050B17 0%, #08111F 50%, #050B17 100%);
  position: relative;
}
#entregaveis.sol-section-dark::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(127, 231, 235, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(127, 231, 235, 0.025) 1px, transparent 1px);
  background-size: 64px 64px;
  pointer-events: none;
  mask-image: radial-gradient(ellipse at center, black 25%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at center, black 25%, transparent 75%);
}
#entregaveis > * { position: relative; z-index: 1; }

/* Grid principal — 4 colunas, gap simétrico */
.bento-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 1fr;
  gap: 16px;
  max-width: 1240px;
  margin: 56px auto 0;
}

/* ----- HERO 2x2 (POPs gigante) ----- */
.bento-hero {
  grid-column: span 2;
  grid-row: span 2;

  background:
    radial-gradient(ellipse at top left, rgba(2, 184, 191, 0.14) 0%, transparent 60%),
    linear-gradient(135deg, rgba(8, 17, 31, 0.95) 0%, rgba(5, 11, 23, 0.85) 100%);
  border: 1px solid rgba(127, 231, 235, 0.20);
  border-radius: 26px;
  padding: 36px;

  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;

  position: relative;
  overflow: hidden;
  transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1),
              border-color 0.4s,
              box-shadow 0.4s;
}
.bento-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 26px;
  right: 26px;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(2, 184, 191, 0.6), transparent);
}
.bento-hero::after {
  content: '';
  position: absolute;
  bottom: -90px;
  right: -90px;
  width: 240px;
  height: 240px;
  background: radial-gradient(circle, rgba(2, 184, 191, 0.20), transparent 65%);
  pointer-events: none;
}
.bento-hero:hover {
  transform: translateY(-5px);
  border-color: rgba(127, 231, 235, 0.40);
  box-shadow: 0 28px 72px rgba(2, 184, 191, 0.18);
}
.bento-hero-icon {
  width: 152px;
  height: 152px;
  background: transparent;
  border: none;
  border-radius: 0;
  object-fit: contain;
  align-self: flex-start;
  position: relative;
  z-index: 1;
  filter:
    drop-shadow(0 0 28px rgba(2, 184, 191, 0.55))
    drop-shadow(0 0 12px rgba(127, 231, 235, 0.75))
    drop-shadow(0 14px 28px rgba(0, 0, 0, 0.45));
  transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.45s;
}

.bento-hero:hover .bento-hero-icon {
  transform: scale(1.05) rotate(-2deg);
  filter:
    drop-shadow(0 0 40px rgba(2, 184, 191, 0.75))
    drop-shadow(0 0 18px rgba(127, 231, 235, 0.95))
    drop-shadow(0 18px 32px rgba(0, 0, 0, 0.40));
}
.bento-hero-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 1;
}
.bento-hero-title {
  font-size: 22px;
  font-weight: 700;
  color: var(--d-ink);
  line-height: 1.25;
  margin: 0 0 14px;
  letter-spacing: -0.01em;
}
.bento-hero-desc {
  font-size: 14.5px;
  color: var(--d-ink-2);
  line-height: 1.65;
  margin: 0;
}
.bento-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 16px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: rgba(2, 184, 191, 0.18);
  color: var(--c-teal-2);
  border: 1px solid rgba(127, 231, 235, 0.36);
  border-radius: 100px;
  width: fit-content;
  position: relative;
  z-index: 1;
}

/* ----- FEATURE 2x1 (Checklist em destaque horizontal) ----- */
.bento-feature {
  grid-column: span 2;

  background:
    linear-gradient(135deg, rgba(8, 17, 31, 0.92) 0%, rgba(5, 11, 23, 0.78) 100%);
  border: 1px solid rgba(127, 231, 235, 0.14);
  border-radius: 22px;
  padding: 26px 28px;

  display: flex;
  align-items: center;
  gap: 22px;

  position: relative;
  overflow: hidden;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
              border-color 0.4s,
              box-shadow 0.4s;
}
.bento-feature::before {
  content: '';
  position: absolute;
  top: 0;
  left: 30%;
  right: 30%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(127, 231, 235, 0.40), transparent);
  opacity: 0;
  transition: opacity 0.4s, left 0.4s, right 0.4s;
}
.bento-feature:hover::before {
  opacity: 1;
  left: 8%;
  right: 8%;
}
.bento-feature:hover {
  transform: translateY(-4px);
  border-color: rgba(127, 231, 235, 0.34);
  box-shadow: 0 20px 52px rgba(0, 0, 0, 0.42), 0 0 36px rgba(2, 184, 191, 0.12);
}
.bento-feature-icon {
  width: 80px;
  height: 80px;
  background: transparent;
  border: none;
  border-radius: 0;
  flex-shrink: 0;
  object-fit: contain;
  position: relative;
  z-index: 1;
  filter:
    drop-shadow(0 0 18px rgba(2, 184, 191, 0.55))
    drop-shadow(0 0 8px rgba(127, 231, 235, 0.75))
    drop-shadow(0 8px 20px rgba(0, 0, 0, 0.40));
  transition: transform 0.4s, filter 0.4s;
}

.bento-feature:hover .bento-feature-icon {
  transform: scale(1.06) rotate(-3deg);
  filter:
    drop-shadow(0 0 26px rgba(2, 184, 191, 0.75))
    drop-shadow(0 0 12px rgba(127, 231, 235, 0.95))
    drop-shadow(0 12px 26px rgba(0, 0, 0, 0.40));
}
.bento-feature-content { flex: 1; min-width: 0; }
.bento-feature-title {
  font-size: 17px;
  font-weight: 600;
  color: var(--d-ink);
  margin: 0 0 6px;
  line-height: 1.3;
}
.bento-feature-desc {
  font-size: 13.5px;
  color: var(--d-ink-2);
  line-height: 1.6;
  margin: 0;
}

/* ----- ITEMS NORMAIS 1x1 ----- */
.bento-item {
  background: linear-gradient(145deg, rgba(8, 17, 31, 0.88) 0%, rgba(5, 11, 23, 0.72) 100%);
  border: 1px solid rgba(127, 231, 235, 0.12);
  border-radius: 20px;
  padding: 24px;

  display: flex;
  flex-direction: column;
  gap: 16px;

  position: relative;
  overflow: hidden;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
              border-color 0.4s,
              box-shadow 0.4s;
}
.bento-item::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background: radial-gradient(circle, rgba(2, 184, 191, 0.14) 0%, transparent 60%);
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
  pointer-events: none;
  z-index: 0;
}
.bento-item:hover::before { width: 320px; height: 320px; }
.bento-item:hover {
  transform: translateY(-4px);
  border-color: rgba(127, 231, 235, 0.32);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.38);
}
.bento-item-icon {
  width: 64px;
  height: 64px;
  background: transparent;
  border: none;
  border-radius: 0;
  object-fit: contain;
  align-self: flex-start;
  position: relative;
  z-index: 1;
  filter:
    drop-shadow(0 0 14px rgba(2, 184, 191, 0.50))
    drop-shadow(0 0 6px rgba(127, 231, 235, 0.70))
    drop-shadow(0 6px 14px rgba(0, 0, 0, 0.38));
  transition: transform 0.4s, filter 0.4s;
}

.bento-item:hover .bento-item-icon {
  transform: scale(1.06) rotate(-3deg);
  filter:
    drop-shadow(0 0 20px rgba(2, 184, 191, 0.72))
    drop-shadow(0 0 10px rgba(127, 231, 235, 0.90))
    drop-shadow(0 10px 18px rgba(0, 0, 0, 0.38));
}
.bento-item-body {
  position: relative;
  z-index: 1;
}
.bento-item-title {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--d-ink);
  margin: 0 0 6px;
  line-height: 1.3;
}
.bento-item-desc {
  font-size: 12.5px;
  color: var(--d-ink-2);
  line-height: 1.55;
  margin: 0;
}

/* ----- RESPONSIVO ----- */
@media (max-width: 1100px) { .bento-grid { gap: 14px; } }
@media (max-width: 920px) {
  .bento-grid { grid-template-columns: repeat(2, 1fr); }
  .bento-hero {
    grid-column: span 2;
    grid-row: span 1;
    flex-direction: row;
    align-items: center;
    padding: 26px;
  }
  .bento-hero-icon {
    width: 120px;
    height: 120px;
    padding: 0;
    border-radius: 24px;
    align-self: center;
  }
  .bento-feature-icon { width: 72px; height: 72px; padding: 0; }
  .bento-item-icon { width: 60px; height: 60px; padding: 0; }
  .bento-hero-body { flex-direction: row; align-items: center; gap: 18px; }
  .bento-feature { grid-column: span 2; }
}

@media (max-width: 560px) {
  .bento-grid { grid-template-columns: 1fr; }
  .bento-hero, .bento-feature { grid-column: span 1; }
  .bento-hero { flex-direction: column; padding: 22px; }
  .bento-hero-icon {
    width: 108px;
    height: 108px;
    padding: 0;
    border-radius: 22px;
  }
  .bento-feature-icon { width: 64px; height: 64px; padding: 0; }
  .bento-item-icon { width: 56px; height: 56px; padding: 0; }
  .bento-hero-body { flex-direction: column; }
}

/* ============================================================
   PRICING v2 — CARD DUPLO COM "VS" CENTRAL E MICRO-FEATURES
   ============================================================ */

.pricing-duo {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 0;
  max-width: 880px;
  margin: 48px auto 28px;
  position: relative;
  align-items: stretch;
}
@media (max-width: 720px) {
  .pricing-duo { grid-template-columns: 1fr; gap: 14px; }
}

/* Divisor "VS" central */
.pricing-vs {
  position: absolute;
  left: calc(42.55% - 24px);
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, #08111F 0%, #050B17 100%);
  border: 1px solid rgba(127, 231, 235, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'JetBrains Mono', monospace;
  font-weight: 700;
  font-size: 12px;
  color: var(--c-teal-2);
  z-index: 3;
  letter-spacing: 0.05em;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.55),
    0 0 28px rgba(2, 184, 191, 0.28);
}
@media (max-width: 720px) {
  .pricing-vs { display: none; }
}

/* LADO ESQUERDO — Valor usual SOMA */
.pricing-old-card {
  background:
    radial-gradient(ellipse 80% 60% at top left, rgba(2, 184, 191, 0.10) 0%, transparent 60%),
    radial-gradient(ellipse 60% 40% at bottom right, rgba(123, 97, 255, 0.05) 0%, transparent 70%),
    linear-gradient(135deg, rgba(8, 17, 31, 0.92) 0%, rgba(5, 11, 23, 0.74) 100%);
  border: 1px solid rgba(127, 231, 235, 0.14);
  border-radius: 24px;
  padding: 44px 32px;
  text-align: center;
  margin-right: -14px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 24px;
  position: relative;
  overflow: hidden;
  min-height: 380px;
  transition: border-color 0.4s, box-shadow 0.4s, transform 0.4s;
}

.pricing-old-card:hover {
  border-color: rgba(127, 231, 235, 0.34);
  box-shadow:
    0 22px 56px rgba(0, 0, 0, 0.42),
    0 0 36px rgba(2, 184, 191, 0.12);
  transform: translateY(-3px);
}
@media (max-width: 720px) {
  .pricing-old-card { margin-right: 0; padding: 32px 24px; min-height: auto; }
}
.pricing-old-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 20%;
  right: 20%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(127, 231, 235, 0.22), transparent);
}
.pricing-old-top { display: flex; flex-direction: column; align-items: center; justify-content: center; flex: 1; gap: 20px; }
.pricing-old-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.18em;
  color: rgba(245, 249, 252, 0.55);
  text-transform: uppercase;
  padding: 7px 18px;
  background: rgba(127, 231, 235, 0.05);
  border: 1px solid rgba(127, 231, 235, 0.12);
  border-radius: 100px;
}
.pricing-old-price {
  font-family: 'JetBrains Mono', monospace;
  font-size: clamp(2rem, 4.2vw, 2.8rem);
  font-weight: 600;
  color: rgba(245, 249, 252, 0.62);
  line-height: 1;
  letter-spacing: -0.01em;
  position: relative;
  display: inline-block;
  white-space: nowrap;
  align-self: center;
}

/* Risco vermelho diagonal sobre o preço */
.pricing-old-price::after {
  content: '';
  position: absolute;
  left: -8%;
  right: -8%;
  top: 50%;
  height: 3px;
  margin-top: -1.5px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(255, 76, 76, 0.55) 12%,
    rgba(255, 96, 96, 0.92) 50%,
    rgba(255, 76, 76, 0.55) 88%,
    transparent 100%
  );
  transform: rotate(-7deg);
  border-radius: 2px;
  pointer-events: none;
  box-shadow: 0 0 12px rgba(255, 80, 80, 0.32);
}
.pricing-old-context {
  font-size: 13px;
  color: rgba(245, 249, 252, 0.55);
  line-height: 1.6;
  margin: 0;
  max-width: 240px;
}
.pricing-old-tag {
  font-size: 11.5px;
  color: rgba(245, 249, 252, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding-top: 18px;
  border-top: 1px solid rgba(127, 231, 235, 0.10);
  font-family: 'JetBrains Mono', monospace;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.pricing-old-tag strong {
  color: rgba(245, 249, 252, 0.75);
  font-weight: 600;
}

/* LADO DIREITO — Oferta boas-vindas */
.pricing-new-card {
  background:
    radial-gradient(ellipse at top right, rgba(2, 184, 191, 0.16) 0%, transparent 60%),
    linear-gradient(135deg, rgba(2, 184, 191, 0.08) 0%, rgba(2, 136, 143, 0.03) 100%),
    rgba(5, 11, 23, 0.82);
  border: 1px solid rgba(2, 184, 191, 0.40);
  border-radius: 24px;
  padding: 36px;
  text-align: center;
  position: relative;
  overflow: hidden;
  box-shadow: 0 28px 72px rgba(2, 184, 191, 0.20);
  margin-left: -14px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 18px;
  min-height: 380px;
  transition: border-color 0.4s, box-shadow 0.4s, transform 0.4s;
}
@media (max-width: 720px) {
  .pricing-new-card { margin-left: 0; padding: 32px 24px; min-height: auto; }
}
.pricing-new-card:hover {
  border-color: rgba(2, 184, 191, 0.58);
  box-shadow:
    0 32px 80px rgba(2, 184, 191, 0.30),
    0 0 56px rgba(2, 184, 191, 0.16);
  transform: translateY(-3px);
}
.pricing-new-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #02D4DC 0%, #7B61FF 100%);
}
.pricing-new-card::after {
  content: '';
  position: absolute;
  top: -80px;
  right: -80px;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(2, 184, 191, 0.22), transparent 65%);
  pointer-events: none;
}
.pricing-new-top {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  position: relative;
  z-index: 1;
}
.pricing-new-toplabel {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(135deg, rgba(2, 184, 191, 0.45), rgba(2, 136, 143, 0.22));
  border: 1px solid rgba(127, 231, 235, 0.50);
  padding: 7px 18px;
  border-radius: 100px;
  box-shadow: 0 6px 24px rgba(2, 184, 191, 0.32);
}
.pricing-new-sublabel {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--c-teal-2);
  background: rgba(2, 184, 191, 0.12);
  border: 1px solid rgba(127, 231, 235, 0.30);
  padding: 5px 14px;
  border-radius: 100px;
  text-transform: uppercase;
}
.pricing-new-price {
  font-family: 'JetBrains Mono', monospace;
  font-size: clamp(3rem, 6vw, 4.2rem);
  font-weight: 700;
  color: var(--c-teal-2);
  line-height: 1;
  margin: 8px 0 12px;
  text-shadow: 0 0 36px rgba(2, 184, 191, 0.46);
  letter-spacing: -0.02em;
  position: relative;
  z-index: 1;
}
.pricing-new-context {
  font-size: 13.5px;
  color: var(--d-ink-2);
  line-height: 1.55;
  margin: 0 auto;
  max-width: 320px;
  position: relative;
  z-index: 1;
}
.pricing-new-economy {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  color: #4ade80;
  font-weight: 600;
  background: rgba(74, 222, 128, 0.10);
  border: 1px solid rgba(74, 222, 128, 0.36);
  border-radius: 100px;
  padding: 7px 18px;
  align-self: center;
  position: relative;
  z-index: 1;
}

/* Micro-features dentro do card direito */
.pricing-mini-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding-top: 22px;
  border-top: 1px solid rgba(127, 231, 235, 0.18);
  position: relative;
  z-index: 1;
}
.pricing-mini-feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 0 4px;
}
.pricing-mini-feature-icon {
  font-size: 18px;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(2, 184, 191, 0.12);
  border: 1px solid rgba(127, 231, 235, 0.24);
}
.pricing-mini-feature-label {
  font-size: 11px;
  color: var(--d-ink-2);
  line-height: 1.3;
  text-align: center;
}
.pricing-mini-feature-label strong {
  color: var(--d-ink);
  display: block;
  margin-bottom: 2px;
  font-size: 11.5px;
  font-weight: 600;
}

/* Includes abaixo do duo */
.pricing-includes {
  max-width: 820px;
  margin: 24px auto 0;
  padding: 28px 36px;
  background: rgba(5, 11, 23, 0.6);
  border: 1px solid rgba(127, 231, 235, 0.10);
  border-radius: 20px;
}

/* CTA final fora do duo */
.pricing-cta-wrap {
  max-width: 820px;
  margin: 24px auto 0;
}
.pricing-cta-big {
  width: 100%;
  padding: 20px;
  background: var(--g-cta);
  color: #fff;
  border: none;
  border-radius: 100px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  transition: transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 12px 40px rgba(2, 184, 191, 0.42);
  font-family: inherit;
  letter-spacing: 0.005em;
}
.pricing-cta-big:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 52px rgba(2, 184, 191, 0.56);
}
.pricing-trust-bar {
  display: flex;
  justify-content: center;
  gap: 28px;
  margin-top: 18px;
  flex-wrap: wrap;
  font-size: 13px;
  color: var(--d-ink-2);
}
.pricing-trust-bar strong { color: var(--c-teal-2); }
.pricing-trust-bar > span {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* ============================================================
   EQUIPE — Hover responsivo nos cards
   ============================================================ */

.equipe-card {
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), border-color 0.4s, box-shadow 0.4s;
  position: relative;
  overflow: hidden;
}
.equipe-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at top, rgba(2, 184, 191, 0.06), transparent 60%);
  opacity: 0;
  transition: opacity 0.4s;
  pointer-events: none;
}
.equipe-card:hover {
  transform: translateY(-4px);
  border-color: rgba(127, 231, 235, 0.30);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.3);
}
.equipe-card:hover::before { opacity: 1; }

/* ============================================================
   FAQ — ACCORDION COM GATILHOS
   ============================================================ */

/* Reset do .sol-faq antigo (max-width:800px) — agora é uma seção full-width */
body.sales-page .sol-faq {
  max-width: none;
  margin: 0;
  padding: clamp(72px, 9vw, 128px) clamp(24px, 8vw, 120px);
  position: relative;
}

.faq-list {
  max-width: 820px;
  margin: 48px auto 0;
}

.faq-item {
  background: rgba(5, 11, 23, 0.62);
  border: 1px solid rgba(127, 231, 235, 0.10);
  border-radius: 18px;
  margin-bottom: 12px;
  overflow: hidden;
  transition: border-color 0.3s, background 0.3s;
}
.faq-item:hover { border-color: rgba(127, 231, 235, 0.24); }
.faq-item.is-open {
  border-color: rgba(2, 184, 191, 0.38);
  background: rgba(5, 11, 23, 0.78);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.faq-question {
  width: 100%;
  background: none;
  border: none;
  padding: 22px 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  cursor: pointer;
  font-family: inherit;
  font-size: 15.5px;
  color: var(--d-ink);
  text-align: left;
  font-weight: 500;
  line-height: 1.4;
  transition: padding 0.3s;
}
.faq-question:hover { padding-left: 30px; }

.faq-icon {
  width: 30px; height: 30px;
  border-radius: 50%;
  background: rgba(2, 184, 191, 0.10);
  border: 1px solid rgba(127, 231, 235, 0.22);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: var(--c-teal-2);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), background 0.3s;
  font-weight: 400;
  line-height: 1;
}
.faq-item.is-open .faq-icon {
  transform: rotate(45deg);
  background: rgba(2, 184, 191, 0.26);
  border-color: rgba(127, 231, 235, 0.42);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s cubic-bezier(0.16, 1, 0.3, 1), padding 0.4s ease;
  color: var(--d-ink-2);
  font-size: 14.5px;
  line-height: 1.7;
  padding: 0 26px;
}
.faq-item.is-open .faq-answer {
  max-height: 600px;
  padding: 0 26px 26px;
}
.faq-answer p { margin: 0 0 14px; }
.faq-answer p:last-child { margin-bottom: 0; }
.faq-answer strong { color: var(--c-teal-2); font-weight: 600; }
.faq-answer .faq-highlight {
  display: inline-block;
  padding: 1px 8px;
  background: rgba(2, 184, 191, 0.10);
  border-radius: 6px;
  color: var(--c-teal-2);
  font-family: 'JetBrains Mono', monospace;
  font-size: 12.5px;
  letter-spacing: 0.02em;
}

/* ============================================================
   COUNTDOWN 24H — Animação no badge de oferta
   ============================================================ */

.countdown-timer {
  display: inline-block;
  font-family: 'JetBrains Mono', monospace;
  font-weight: 700;
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
  padding: 3px 10px;
  border-radius: 8px;
  margin-left: 4px;
  min-width: 88px;
  text-align: center;
  letter-spacing: 0.04em;
  font-variant-numeric: tabular-nums;
  text-shadow: 0 0 8px rgba(255, 255, 255, 0.35);
  position: relative;
  transition: background 0.3s;
}

.countdown-timer.is-tick {
  animation: countdownTick 0.6s ease-out;
}

@keyframes countdownTick {
  0% {
    background: rgba(127, 231, 235, 0.32);
    text-shadow: 0 0 14px rgba(127, 231, 235, 0.85);
    transform: scale(1.02);
  }
  100% {
    background: rgba(255, 255, 255, 0.12);
    text-shadow: 0 0 8px rgba(255, 255, 255, 0.35);
    transform: scale(1);
  }
}

/* Pulse vermelho quando faltar menos de 1 hora (urgência crítica) */
.countdown-timer.is-critical {
  background: rgba(255, 76, 76, 0.18);
  color: #ffd4d4;
  animation: criticalPulse 1.4s ease-in-out infinite;
}
@keyframes criticalPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255, 76, 76, 0.4); }
  50% { box-shadow: 0 0 0 4px rgba(255, 76, 76, 0); }
}

/* ============================================================
   PRICING PLANS — 3 cards (usado em CRM/Jornada)
   ============================================================ */
.pricing-plans {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  max-width: 1180px;
  margin: 64px auto 28px;
  align-items: stretch;
}
@media (max-width: 920px) {
  .pricing-plans { grid-template-columns: 1fr; gap: 16px; max-width: 480px; }
}
.plan-card {
  background:
    radial-gradient(ellipse 80% 60% at top left, rgba(2, 184, 191, 0.08) 0%, transparent 60%),
    linear-gradient(135deg, rgba(8, 17, 31, 0.92) 0%, rgba(5, 11, 23, 0.74) 100%);
  border: 1px solid rgba(127, 231, 235, 0.14);
  border-radius: 24px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: border-color 0.4s, box-shadow 0.4s, transform 0.4s;
  min-height: 580px;
}
.plan-card:hover {
  border-color: rgba(127, 231, 235, 0.32);
  transform: translateY(-3px);
  box-shadow: 0 22px 56px rgba(0, 0, 0, 0.42), 0 0 36px rgba(2, 184, 191, 0.10);
}
.plan-card.is-featured {
  background:
    radial-gradient(ellipse at top right, rgba(2, 184, 191, 0.18) 0%, transparent 60%),
    linear-gradient(135deg, rgba(2, 184, 191, 0.08) 0%, rgba(5, 11, 23, 0.85) 100%);
  border: 1.5px solid rgba(2, 184, 191, 0.50);
  box-shadow: 0 24px 64px rgba(2, 184, 191, 0.22);
  transform: scale(1.02);
}
@media (max-width: 920px) {
  .plan-card.is-featured { transform: none; }
}
.plan-card.is-featured:hover {
  transform: translateY(-3px) scale(1.02);
  border-color: rgba(2, 184, 191, 0.65);
  box-shadow: 0 32px 80px rgba(2, 184, 191, 0.32);
}
@media (max-width: 920px) {
  .plan-card.is-featured:hover { transform: translateY(-3px); }
}
.plan-card.is-featured::before {
  content: '';
  position: absolute;
  top: 0;
  left: 24px;
  right: 24px;
  height: 3px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(2, 212, 220, 0.55) 6%,
    #02D4DC 22%,
    #7B61FF 78%,
    rgba(123, 97, 255, 0.55) 94%,
    transparent 100%);
  border-radius: 100px;
  pointer-events: none;
}
.plan-badge {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #02D4DC 0%, #7B61FF 100%);
  color: #fff;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 6px 16px;
  border-radius: 100px;
  box-shadow: 0 8px 24px rgba(2, 184, 191, 0.40);
  white-space: nowrap;
}
.plan-header {
  text-align: center;
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(127, 231, 235, 0.10);
}
.plan-name {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--c-teal-2);
  text-transform: uppercase;
  margin: 0 0 12px;
}
.plan-tagline {
  font-size: 13.5px;
  color: var(--d-ink-2);
  margin: 0 0 22px;
  line-height: 1.5;
  min-height: 42px;
}
.plan-price-old {
  font-family: 'JetBrains Mono', monospace;
  font-size: 14px;
  color: rgba(245, 249, 252, 0.50);
  position: relative;
  display: inline-block;
  margin-bottom: 4px;
}
.plan-price-old::after {
  content: '';
  position: absolute;
  left: -6%; right: -6%; top: 50%;
  height: 1.5px;
  margin-top: -0.75px;
  background: rgba(255, 80, 80, 0.65);
  transform: rotate(-6deg);
}
.plan-price-new {
  font-family: 'JetBrains Mono', monospace;
  font-size: clamp(2.2rem, 3.4vw, 2.6rem);
  font-weight: 700;
  color: var(--c-teal-2);
  line-height: 1;
  margin: 6px 0 4px;
  letter-spacing: -0.02em;
}
.plan-card.is-featured .plan-price-new {
  text-shadow: 0 0 28px rgba(2, 184, 191, 0.42);
}
.plan-price-suffix {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: var(--d-ink-2);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.plan-features {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
  flex: 1;
}
.plan-features li {
  padding: 9px 0 9px 28px;
  position: relative;
  font-size: 13.5px;
  color: var(--d-ink);
  line-height: 1.5;
}
.plan-features li::before {
  content: '';
  position: absolute;
  left: 0; top: 13px;
  width: 16px; height: 16px;
  border-radius: 50%;
  background: rgba(2, 184, 191, 0.18);
  border: 1px solid rgba(127, 231, 235, 0.40);
}
.plan-features li::after {
  content: '✓';
  position: absolute;
  left: 4px; top: 11px;
  font-size: 10px;
  color: var(--c-teal-2);
  font-weight: 700;
}
.plan-features li strong { color: var(--c-teal-2); font-weight: 600; }
.plan-cta {
  display: block;
  width: 100%;
  padding: 14px 20px;
  text-align: center;
  font-weight: 700;
  font-size: 14.5px;
  border-radius: 100px;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
  font-family: inherit;
  letter-spacing: 0.01em;
  border: 1.5px solid rgba(127, 231, 235, 0.40);
  background: transparent;
  color: var(--d-ink);
}
.plan-cta:hover {
  background: rgba(2, 184, 191, 0.10);
  border-color: rgba(127, 231, 235, 0.60);
  transform: translateY(-2px);
}
.plan-card.is-featured .plan-cta {
  background: linear-gradient(135deg, #02D4DC 0%, #02888F 100%);
  color: #fff;
  border: none;
  box-shadow: 0 8px 24px rgba(2, 184, 191, 0.36);
}
.plan-card.is-featured .plan-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 36px rgba(2, 184, 191, 0.52);
}

/* ============================================================
   COMBO POWER (CRM + Atendimento)
   ============================================================ */
.combo-power {
  max-width: 1100px;
  margin: 36px auto 0;
  padding: 36px 40px;
  background:
    radial-gradient(ellipse at top right, rgba(123, 97, 255, 0.16) 0%, transparent 60%),
    radial-gradient(ellipse at bottom left, rgba(2, 184, 191, 0.12) 0%, transparent 60%),
    linear-gradient(135deg, rgba(8, 17, 31, 0.95) 0%, rgba(5, 11, 23, 0.82) 100%);
  border: 1px solid rgba(127, 231, 235, 0.22);
  border-radius: 24px;
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 32px;
  align-items: center;
}

/* ============================================================
   COMBO BANNER SECTION — card full-width com imagem como background do próprio card
   ============================================================ */
.combo-banner-section {
  padding: 0;
  margin: 0;
}
.combo-banner-section .combo-power {
  width: 100%;
  max-width: none;
  margin: 0;
  border-radius: 0;
  border-left: none;
  border-right: none;
  border-top: 1px solid rgba(127, 231, 235, 0.22);
  border-bottom: 1px solid rgba(127, 231, 235, 0.22);
  /* Padding dinâmico — conteúdo fica limitado a 1100px centralizado,
     enquanto o card (com a imagem) ocupa toda a largura da viewport */
  padding-top: clamp(56px, 6vw, 88px);
  padding-bottom: clamp(56px, 6vw, 88px);
  padding-left: max(24px, calc((100vw - 1100px) / 2));
  padding-right: max(24px, calc((100vw - 1100px) / 2));
  background:
    linear-gradient(180deg,
      rgba(5, 11, 23, 0.62) 0%,
      rgba(8, 17, 31, 0.72) 50%,
      rgba(5, 11, 23, 0.88) 100%),
    url('assets/qualificacao-bg.png') center/cover no-repeat;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
@media (max-width: 760px) {
  .combo-power { grid-template-columns: 1fr; padding: 28px 24px; gap: 24px; }
}
.combo-power::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #02D4DC 0%, #7B61FF 100%);
}
.combo-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.16em;
  color: var(--c-teal-2);
  text-transform: uppercase;
  margin: 0 0 8px;
}
.combo-title {
  font-size: 24px;
  font-weight: 700;
  color: var(--d-ink);
  margin: 0 0 12px;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.combo-title .serif {
  font-family: 'Instrument Serif', serif;
  font-style: italic;
  color: var(--c-teal-2);
}
.combo-desc {
  font-size: 14px;
  color: var(--d-ink-2);
  line-height: 1.6;
  margin: 0;
}
.combo-pricing { text-align: center; }
.combo-old-price {
  font-family: 'JetBrains Mono', monospace;
  font-size: 14px;
  color: rgba(245, 249, 252, 0.50);
  position: relative;
  display: inline-block;
  margin-bottom: 4px;
}
.combo-old-price::after {
  content: '';
  position: absolute;
  left: -6%; right: -6%; top: 50%;
  height: 1.5px;
  margin-top: -0.75px;
  background: rgba(255, 80, 80, 0.65);
  transform: rotate(-6deg);
}
.combo-new-price {
  font-family: 'JetBrains Mono', monospace;
  font-size: clamp(2.4rem, 4vw, 3rem);
  font-weight: 700;
  color: var(--c-teal-2);
  line-height: 1;
  margin: 6px 0 4px;
  letter-spacing: -0.02em;
  text-shadow: 0 0 28px rgba(2, 184, 191, 0.42);
}
.combo-suffix {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: var(--d-ink-2);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.combo-economy {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: #4ade80;
  font-weight: 600;
  background: rgba(74, 222, 128, 0.10);
  border: 1px solid rgba(74, 222, 128, 0.30);
  border-radius: 100px;
  padding: 5px 14px;
  margin: 10px 0 16px;
}
.combo-cta {
  display: inline-block;
  padding: 12px 26px;
  background: linear-gradient(135deg, #02D4DC 0%, #02888F 100%);
  color: #fff;
  border: none;
  border-radius: 100px;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  text-decoration: none;
  transition: transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 6px 20px rgba(2, 184, 191, 0.36);
  font-family: inherit;
}
.combo-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(2, 184, 191, 0.52);
}

/* ============================================================
   CONTATO — Layout específico
   ============================================================ */
.contato-hero {
  padding: clamp(72px, 10vw, 140px) clamp(24px, 8vw, 120px) clamp(48px, 6vw, 88px);
  text-align: center;
  position: relative;
  background: radial-gradient(ellipse at top, rgba(2, 184, 191, 0.10) 0%, transparent 60%);
}
.contato-layout {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 32px;
  max-width: 1180px;
  margin: 0 auto;
  padding: clamp(40px, 6vw, 80px) clamp(24px, 8vw, 120px);
  align-items: start;
}
@media (max-width: 920px) { .contato-layout { grid-template-columns: 1fr; } }
.contato-form-card {
  background:
    radial-gradient(ellipse at top left, rgba(2, 184, 191, 0.08) 0%, transparent 60%),
    linear-gradient(135deg, rgba(8, 17, 31, 0.92) 0%, rgba(5, 11, 23, 0.74) 100%);
  border: 1px solid rgba(127, 231, 235, 0.14);
  border-radius: 24px;
  padding: 36px;
}
@media (max-width: 560px) { .contato-form-card { padding: 28px 22px; } }
.contato-form-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--d-ink);
  margin: 0 0 22px;
  letter-spacing: -0.005em;
}
.contato-field { margin-bottom: 16px; }
.contato-field label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--d-ink);
  margin-bottom: 6px;
}
.contato-field input,
.contato-field textarea {
  width: 100%;
  padding: 12px 14px;
  background: rgba(5, 11, 23, 0.5);
  border: 1px solid rgba(127, 231, 235, 0.18);
  border-radius: 10px;
  color: var(--d-ink);
  font-size: 14px;
  font-family: inherit;
  transition: border-color 0.2s, background 0.2s;
}
.contato-field input:focus,
.contato-field textarea:focus {
  outline: none;
  border-color: rgba(127, 231, 235, 0.50);
  background: rgba(5, 11, 23, 0.7);
}
.contato-field textarea { resize: vertical; min-height: 120px; }
.contato-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
@media (max-width: 560px) { .contato-row { grid-template-columns: 1fr; gap: 0; } }
.contato-chips-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--d-ink);
  margin: 8px 0 10px;
}
.contato-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}
.contato-chip {
  padding: 8px 16px;
  background: rgba(127, 231, 235, 0.06);
  border: 1px solid rgba(127, 231, 235, 0.22);
  border-radius: 100px;
  color: var(--d-ink-2);
  font-size: 12.5px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  font-family: inherit;
}
.contato-chip:hover {
  background: rgba(127, 231, 235, 0.10);
  border-color: rgba(127, 231, 235, 0.40);
  color: var(--d-ink);
}
.contato-chip.is-active {
  background: rgba(2, 184, 191, 0.20);
  border-color: rgba(2, 184, 191, 0.60);
  color: var(--c-teal-2);
}
.contato-submit {
  width: 100%;
  padding: 14px;
  background: linear-gradient(135deg, #02D4DC 0%, #02888F 100%);
  color: #fff;
  border: none;
  border-radius: 100px;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  margin-top: 8px;
  transition: transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 8px 28px rgba(2, 184, 191, 0.38);
  font-family: inherit;
}
.contato-submit:hover { transform: translateY(-2px); box-shadow: 0 12px 36px rgba(2, 184, 191, 0.52); }
.contato-sidebar {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.contato-info-card {
  background:
    radial-gradient(ellipse at top, rgba(2, 184, 191, 0.06) 0%, transparent 60%),
    linear-gradient(135deg, rgba(8, 17, 31, 0.88) 0%, rgba(5, 11, 23, 0.72) 100%);
  border: 1px solid rgba(127, 231, 235, 0.12);
  border-radius: 18px;
  padding: 22px 24px;
  display: flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.3s, transform 0.3s;
}
.contato-info-card:hover {
  border-color: rgba(127, 231, 235, 0.32);
  transform: translateY(-2px);
}
.contato-info-icon {
  font-size: 22px;
  width: 44px; height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(2, 184, 191, 0.12);
  border: 1px solid rgba(127, 231, 235, 0.22);
  border-radius: 12px;
  flex-shrink: 0;
}
.contato-info-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  letter-spacing: 0.12em;
  color: var(--c-teal-2);
  text-transform: uppercase;
  margin: 0 0 4px;
}
.contato-info-value {
  font-size: 14px;
  color: var(--d-ink);
  font-weight: 500;
  margin: 0;
  line-height: 1.4;
}

/* ============================================================
   ÍCONES BENTO V2 — SVG inline + container limpo
   Padrão Linear/Vercel/Stripe: gradient interno sutil,
   sem glow externo turvo, stroke 1.5, currentColor
   ============================================================ */

.bento-icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background:
    radial-gradient(circle at 30% 25%, rgba(127, 231, 235, 0.16) 0%, transparent 60%),
    linear-gradient(135deg, rgba(2, 184, 191, 0.10) 0%, rgba(127, 231, 235, 0.03) 100%);
  border: 1px solid rgba(127, 231, 235, 0.22);
  color: var(--c-teal-2);
  position: relative;
  flex-shrink: 0;
  box-shadow:
    inset 0 1px 0 rgba(127, 231, 235, 0.14),
    inset 0 -1px 0 rgba(0, 0, 0, 0.20),
    0 4px 18px rgba(2, 184, 191, 0.10);
  transition: transform 0.4s, border-color 0.4s, box-shadow 0.4s;
}

.bento-icon-wrap svg {
  width: 50%;
  height: 50%;
  stroke-width: 1.5;
  display: block;
  position: relative;
  z-index: 1;
}

/* Tamanhos por hierarquia (substitui os .bento-*-icon antigos) */
.bento-hero .bento-icon-wrap {
  width: 96px; height: 96px;
  border-radius: 22px;
}
.bento-hero .bento-icon-wrap svg { stroke-width: 1.3; }

.bento-feature .bento-icon-wrap {
  width: 72px; height: 72px;
  border-radius: 18px;
}

.bento-item .bento-icon-wrap {
  width: 56px; height: 56px;
  border-radius: 14px;
}

/* Hover interativo no card */
.bento-hero:hover .bento-icon-wrap,
.bento-feature:hover .bento-icon-wrap,
.bento-item:hover .bento-icon-wrap {
  transform: scale(1.04) rotate(-1.5deg);
  border-color: rgba(127, 231, 235, 0.40);
  box-shadow:
    inset 0 1px 0 rgba(127, 231, 235, 0.20),
    inset 0 -1px 0 rgba(0, 0, 0, 0.20),
    0 8px 28px rgba(2, 184, 191, 0.20);
}

/* Variantes coloridas opcionais (para diferenciação semântica) */
.bento-icon-wrap.is-violet {
  background:
    radial-gradient(circle at 30% 25%, rgba(165, 148, 255, 0.18) 0%, transparent 60%),
    linear-gradient(135deg, rgba(123, 97, 255, 0.10) 0%, rgba(165, 148, 255, 0.03) 100%);
  border-color: rgba(165, 148, 255, 0.26);
  color: #B8A8FF;
  box-shadow:
    inset 0 1px 0 rgba(165, 148, 255, 0.16),
    inset 0 -1px 0 rgba(0, 0, 0, 0.20),
    0 4px 18px rgba(123, 97, 255, 0.10);
}
.bento-icon-wrap.is-emerald {
  background:
    radial-gradient(circle at 30% 25%, rgba(110, 231, 183, 0.18) 0%, transparent 60%),
    linear-gradient(135deg, rgba(16, 185, 129, 0.10) 0%, rgba(110, 231, 183, 0.03) 100%);
  border-color: rgba(110, 231, 183, 0.26);
  color: #6EE7B7;
  box-shadow:
    inset 0 1px 0 rgba(110, 231, 183, 0.16),
    inset 0 -1px 0 rgba(0, 0, 0, 0.20),
    0 4px 18px rgba(16, 185, 129, 0.10);
}

/* (Removido o display:none antigo — solucao-estrutura ainda usa <img class="bento-*-icon">
   e deve continuar visível. As outras 4 páginas usam .bento-icon-wrap com SVG inline.) */

/* Layout do hero para acomodar SVG inline ao invés de img */
.bento-hero .bento-icon-wrap {
  margin-bottom: 18px;
}
.bento-feature .bento-icon-wrap {
  margin-bottom: 14px;
}
.bento-item .bento-icon-wrap {
  margin-bottom: 12px;
}

/* ============================================================
   FIX VISUAL — Cards de princípios/normativas (.rdc-card)
   Estilo robusto com alta especificidade para garantir render
   em qualquer contexto (sol-section, sol-section-alt, has-tech-bg)
   ============================================================ */

.sol-section .rdc-card,
.sol-section-alt .rdc-card,
.has-tech-bg .rdc-card,
.tech-bg-alt .rdc-card,
.rdc-card {
  background:
    radial-gradient(ellipse 100% 80% at top, rgba(127, 231, 235, 0.04) 0%, transparent 70%),
    linear-gradient(135deg, rgba(8, 17, 31, 0.88) 0%, rgba(5, 11, 23, 0.74) 100%);
  border: 1px solid rgba(127, 231, 235, 0.14);
  border-radius: 18px;
  padding: 24px 26px;
  transition: border-color 0.4s, transform 0.4s, box-shadow 0.4s, background 0.4s;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow:
    inset 0 1px 0 rgba(127, 231, 235, 0.06),
    0 4px 18px rgba(0, 0, 0, 0.18);
}

.sol-section .rdc-card:hover,
.sol-section-alt .rdc-card:hover,
.rdc-card:hover {
  border-color: rgba(127, 231, 235, 0.30);
  transform: translateY(-3px);
  box-shadow:
    inset 0 1px 0 rgba(127, 231, 235, 0.12),
    0 16px 40px rgba(0, 0, 0, 0.32),
    0 0 28px rgba(2, 184, 191, 0.10);
  background:
    radial-gradient(ellipse 100% 80% at top, rgba(127, 231, 235, 0.08) 0%, transparent 70%),
    linear-gradient(135deg, rgba(8, 17, 31, 0.94) 0%, rgba(5, 11, 23, 0.82) 100%);
}

/* Linha superior sutil ao hover (estilo Linear/Vercel) */
.sol-section .rdc-card::before,
.sol-section-alt .rdc-card::before,
.rdc-card::before {
  content: '';
  position: absolute;
  top: 0; left: 24px; right: 24px;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(127, 231, 235, 0.30) 50%, transparent 100%);
  opacity: 0;
  transition: opacity 0.4s;
}
.sol-section .rdc-card:hover::before,
.sol-section-alt .rdc-card:hover::before,
.rdc-card:hover::before {
  opacity: 1;
}

/* Tipografia interna — garantir hierarquia */
.sol-section .rdc-card h4,
.sol-section-alt .rdc-card h4,
.rdc-card h4 {
  font-size: 15px;
  font-weight: 600;
  color: var(--d-ink, #F5F9FC);
  margin: 0 0 10px;
  letter-spacing: -0.005em;
  line-height: 1.3;
}

.sol-section .rdc-card p,
.sol-section-alt .rdc-card p,
.rdc-card p {
  font-size: 13.5px;
  color: var(--d-ink-2, rgba(245, 249, 252, 0.72));
  line-height: 1.55;
  margin: 0;
}

/* Garantir gap entre as cards do grid */
.sol-section .sol-grid-3,
.sol-section-alt .sol-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 32px;
}
@media (max-width: 920px) {
  .sol-section .sol-grid-3,
  .sol-section-alt .sol-grid-3 {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}
@media (max-width: 1080px) and (min-width: 921px) {
  .sol-section .sol-grid-3,
  .sol-section-alt .sol-grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}

