/* Mentoria de IA para Advogados: só o que esta página tem a mais que o site principal.
   O resto vem do site.min.css, copiado do site-principal-v2. */

/* Ícones que o recorte do Font Awesome do site principal não traz */
.fa-chalkboard-user{--fa:"\f51c"}.fa-clock{--fa:"\f017"}.fa-laptop{--fa:"\f109"}.fa-location-dot{--fa:"\f3c5"}.fa-lock{--fa:"\f023"}.fa-magnifying-glass{--fa:"\f002"}.fa-signature{--fa:"\f5b7"}.fa-tag{--fa:"\f02b"}.fa-user-shield{--fa:"\f505"}.fa-users{--fa:"\f0c0"}.fa-plug{--fa:"\f1e6"}

/* Fatos do topo: duração, local, turma e valor */
.hero-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 34rem;
  margin-top: 28px;
}
.hero-facts li {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 16px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-pill);
  background: rgba(8, 7, 11, .55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: var(--text);
  font-size: .9rem;
  font-weight: 600;
}
.hero-facts i { color: var(--purple-light); font-size: .85rem; }

/* O que acontece nas 2 horas: quatro partes em grade, cada tema numa etiqueta curta */
.program-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.program-part {
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  transition: border-color .35s var(--ease);
}
.program-part:hover { border-color: var(--line-purple); }
.program-head { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
.program-icon {
  flex: none;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  border: 1px solid var(--line-purple);
  background: rgba(118, 11, 204, .12);
  color: var(--purple-light);
  font-size: .95rem;
  transition: background-color .35s var(--ease), color .35s var(--ease);
}
.program-part:hover .program-icon { background: var(--purple); color: #fff; }
.program-head h3 { font-size: 1.08rem; line-height: 1.25; }
.program-head small {
  display: block;
  margin-bottom: 2px;
  color: var(--purple-light);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .2em;
}
.program-chips { display: grid; gap: 8px; }
.program-chips li {
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-btn);
  background: rgba(255, 255, 255, .02);
  color: var(--text);
  font-size: .9rem;
  font-weight: 600;
  line-height: 1.3;
}

/* Demonstração mais robusta: contexto carregado, etapas com detalhe, documento entregue e status */
.demo-grid { align-items: center; }
.demo-body { min-height: 680px; gap: 16px; padding: 24px 26px; }
.demo-bubble { padding: 12px 16px; font-size: .95rem; }
.demo-work { display: grid; gap: 14px; min-width: 0; }
.demo-context { display: flex; flex-wrap: wrap; gap: 6px; }
.demo-context:empty { display: none; }
.demo-context li {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 11px;
  border: 1px solid var(--line-purple);
  border-radius: var(--radius-pill);
  background: rgba(118, 11, 204, .1);
  color: var(--purple-light);
  font-size: .76rem;
  font-weight: 700;
  animation: demo-in .35s var(--ease-out) both;
}
.demo-context i { font-size: .72rem; }
.demo-steps { gap: 8px; }
.demo-steps li { font-size: .92rem; }
.demo-steps li span { flex: 1; min-width: 0; }
.demo-steps li small {
  flex: none;
  color: var(--muted-2);
  font-size: .78rem;
  font-variant-numeric: tabular-nums;
  opacity: 0;
  transition: opacity .3s var(--ease);
}
.demo-steps li.is-done small { opacity: 1; }

.demo-out {
  border: 1px solid var(--line-purple);
  border-radius: var(--radius-sm);
  background: radial-gradient(ellipse 80% 120% at 0% 0%, rgba(118, 11, 204, .22), transparent 70%), var(--surface-2);
  overflow: hidden;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .45s var(--ease), transform .55s var(--ease-out);
}
.demo-out.is-on { opacity: 1; transform: none; }
.demo-out-head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 13px 18px;
  border-bottom: 1px solid var(--line);
}
.demo-out-icon {
  flex: none;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: var(--purple);
  color: #fff;
  font-size: .9rem;
}
.demo-out-head > div { flex: 1; min-width: 0; }
.demo-out-head strong { display: block; color: var(--text); font-family: var(--font-display); font-size: 1rem; font-weight: 500; letter-spacing: -.02em; }
.demo-out-head small { display: block; overflow: hidden; color: var(--muted); font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.demo-badge {
  flex: none;
  padding: 4px 10px;
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, .06);
  border: 1px solid var(--line-strong);
  color: var(--text);
  font-size: .72rem;
  font-style: normal;
  font-weight: 700;
}
.demo-rows { padding: 6px 18px; }
.demo-rows li {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 7px 0;
  border-bottom: 1px solid var(--line);
  color: var(--text);
  font-size: .86rem;
}
.demo-rows li:last-child { border-bottom: 0; }
.demo-out.is-on .demo-rows li { animation: demo-in .4s var(--ease-out) both; animation-delay: calc(var(--i) * 110ms + 150ms); }
.demo-rows b { color: var(--purple-light); font-size: .78rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.demo-tone {
  padding: 3px 9px;
  border-radius: var(--radius-pill);
  font-size: .7rem;
  font-style: normal;
  font-weight: 700;
  white-space: nowrap;
}
.demo-tone.is-ok { background: rgba(110, 231, 168, .1); color: var(--success); }
.demo-tone.is-warn { background: rgba(255, 196, 92, .12); color: #ffc45c; }
.demo-tone.is-alert { background: rgba(255, 128, 149, .12); color: var(--error); }
.demo-quote {
  margin: 14px 18px;
  padding: 14px 16px;
  border-left: 2px solid var(--purple-light);
  border-radius: 4px 12px 12px 4px;
  background: rgba(255, 255, 255, .03);
  color: var(--text);
  font-size: .9rem;
  line-height: 1.6;
}
.demo-out-foot {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 11px 18px;
  border-top: 1px solid var(--line);
  background: rgba(0, 0, 0, .18);
  color: var(--muted);
  font-size: .8rem;
}
.demo-out-foot i { color: var(--success); font-size: .75rem; }

.demo-status {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 11px 20px;
  border-top: 1px solid var(--line);
  color: var(--muted-2);
  font-size: .76rem;
  font-weight: 600;
}
.demo-status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--success); }
.demo-status-dot.is-busy { background: var(--purple-light); animation: demo-blink 1s steps(1) infinite; }

/* Investimento */
.pricing-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  gap: 16px;
  align-items: stretch;
}
.price-card {
  display: flex;
  flex-direction: column;
  padding: 40px;
  border: 1px solid var(--line-purple);
  border-radius: var(--radius);
  background: linear-gradient(150deg, rgba(118, 11, 204, .22), var(--surface) 72%);
  box-shadow: 0 30px 80px -40px rgba(118, 11, 204, .6);
}
.price-label {
  color: var(--purple-light);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.price-value {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin-top: 18px;
  color: var(--text);
  font-family: var(--font-display);
  font-size: clamp(3.2rem, 16vw, 5.8rem);
  font-weight: 700;
  line-height: .9;
  letter-spacing: -.06em;
  white-space: nowrap;
}
.price-currency { margin-top: .32em; font-size: .3em; letter-spacing: 0; color: var(--muted); }
.price-cents { margin-top: .12em; font-size: .36em; letter-spacing: -.02em; }
.price-terms { margin-top: 16px; max-width: 30ch; }
.price-card .check-list { margin: 28px 0 34px; }
.price-card .button { margin-top: auto; }

.price-side { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.price-rule .button { max-width: 100%; white-space: normal; text-align: center; }
.price-rule {
  padding: 34px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}
.price-rule h3 { margin-bottom: 20px; font-size: 1.25rem; }
.price-steps { display: grid; gap: 16px; }
.price-steps li { display: flex; gap: 16px; align-items: flex-start; }
.price-steps span {
  flex: 0 0 34px;
  display: grid;
  place-items: center;
  height: 34px;
  border-radius: 50%;
  border: 1px solid var(--line-purple);
  color: var(--purple-light);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: .9rem;
}
.price-steps p { padding-top: 5px; }
.price-steps strong { color: var(--text); }
.price-rule.is-group h3 { margin-bottom: 10px; }
.price-rule.is-group .button { margin-top: 22px; }

/* Aviso no formulário: inscrição sem pagamento */
.form-note {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--line-purple);
  border-radius: var(--radius-btn);
  background: rgba(118, 11, 204, .1);
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.5;
}
.form-note i { margin-top: 3px; color: var(--purple-light); }
.form-note strong { color: var(--text); }

@media (max-width: 1280px) and (min-width: 1081px) {
  .program-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .program-part { grid-column: span 2; }
  .program-part:nth-child(n+4) { grid-column: span 3; }
}

@media (max-width: 1080px) {
  .pricing-grid { grid-template-columns: minmax(0, 1fr); }
  .program-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .program-part:first-child { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  /* Abas da demonstração no celular: as cinco à vista, ícone em cima e nome embaixo, sem arrastar */
  .demo-top { padding: 8px; }
  .demo-dots { display: none; }
  .demo-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; width: 100%; overflow: visible; }
  .demo-tab { flex-direction: column; justify-content: center; gap: 5px; min-height: 58px; padding: 8px 2px; border-radius: 12px; font-size: .68rem; }
  .demo-tab i { font-size: 1.05rem; }
  .demo-body { min-height: 820px; padding: 22px 18px; }
  .demo-badge { display: none; }
  .demo-out-head { padding: 12px 14px; }
  .demo-rows, .demo-out-foot { padding-inline: 14px; }
  .demo-quote { margin-inline: 14px; }
  .demo-msg-ai { grid-template-columns: 1fr; }
  .demo-avatar { display: none; }
  .demo-rows li { grid-template-columns: 54px minmax(0, 1fr) auto; gap: 8px; font-size: .82rem; }
  .demo-steps li small { display: none; }
  .program-part { padding: 20px; }
  .program-head { margin-bottom: 16px; }
  .program-chips { display: flex; flex-wrap: wrap; gap: 6px; }
  .program-chips li { padding: 7px 12px; border-radius: var(--radius-pill); font-size: .84rem; }
  .hero-facts { gap: 8px; margin-top: 22px; }
  .hero-facts li { padding: 7px 13px; font-size: .84rem; }
  .price-card, .price-rule { padding: 28px; }
}

@media (max-width: 420px) {
  .price-card, .price-rule { padding: 22px; }
  .program-grid { grid-template-columns: 1fr; }
  .program-part:first-child { grid-column: auto; }
  .hero-facts { gap: 6px; }
  .hero-facts li { gap: 7px; padding: 6px 11px; font-size: .78rem; }
}
