
/* Diagnóstico Estratégico de Vídeo - Incite Filmes */
.diagnostic-hero {
  min-height: 72vh;
}
.diagnostic-glow {
  position: absolute;
  width: 32rem;
  height: 32rem;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255,75,18,.22), transparent 65%);
  filter: blur(18px);
  pointer-events: none;
}
.diagnostic-panel {
  background:
    radial-gradient(circle at 12% 0%, rgba(255,75,18,.14), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 30px 90px rgba(0,0,0,.42);
  backdrop-filter: blur(18px);
}
.diagnostic-progress-track {
  height: .55rem;
  background: rgba(255,255,255,.10);
  border-radius: 999px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
}
.diagnostic-progress-bar {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #ff4b12, #e3342f);
  box-shadow: 0 0 32px rgba(255,75,18,.35);
  border-radius: 999px;
  transition: width .35s ease;
}
.diagnostic-option {
  position: relative;
  text-align: left;
  background: rgba(255,255,255,.065);
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 1.15rem;
  padding: 1rem 1.05rem;
  color: #f5f2ec;
  font-weight: 850;
  line-height: 1.25;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.diagnostic-option:hover,
.diagnostic-option:focus-visible {
  transform: translateY(-2px);
  background: rgba(255,255,255,.095);
  border-color: rgba(255,75,18,.55);
  box-shadow: 0 18px 50px rgba(0,0,0,.28);
  outline: none;
}
.diagnostic-option.is-selected {
  background: linear-gradient(135deg, rgba(255,75,18,.26), rgba(255,255,255,.08));
  border-color: rgba(255,75,18,.78);
  box-shadow: 0 0 0 1px rgba(255,75,18,.2), 0 22px 65px rgba(0,0,0,.35);
}
.diagnostic-option small {
  display: block;
  color: #b8b8b8;
  font-weight: 600;
  margin-top: .35rem;
}
.diagnostic-card {
  background: rgba(255,255,255,.065);
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 1.45rem;
  padding: 1.25rem;
}
.diagnostic-card-title {
  color: #ff4b12;
  font-size: .74rem;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-weight: 900;
  margin-bottom: .75rem;
}
.diagnostic-list {
  display: grid;
  gap: .55rem;
}
.diagnostic-list li {
  display: flex;
  gap: .55rem;
  align-items: flex-start;
  color: #d6d6d6;
}
.diagnostic-list li::before {
  content: "";
  width: .45rem;
  height: .45rem;
  margin-top: .55rem;
  border-radius: 999px;
  background: #ff4b12;
  box-shadow: 0 0 18px rgba(255,75,18,.45);
  flex: 0 0 auto;
}
.diagnostic-loading-dot {
  width: .55rem;
  height: .55rem;
  border-radius: 999px;
  background: #ff4b12;
  animation: diagnosticPulse 1s ease-in-out infinite;
}
.diagnostic-loading-dot:nth-child(2) { animation-delay: .14s; }
.diagnostic-loading-dot:nth-child(3) { animation-delay: .28s; }
@keyframes diagnosticPulse {
  0%, 100% { transform: scale(.78); opacity: .45; }
  50% { transform: scale(1.08); opacity: 1; }
}
.diagnostic-fade {
  animation: diagnosticFade .32s ease-out;
}
@keyframes diagnosticFade {
  0% { opacity: 0; transform: translateY(10px); }
  100% { opacity: 1; transform: translateY(0); }
}
@media (max-width: 640px) {
  .diagnostic-hero { min-height: auto; }
  .diagnostic-panel { border-radius: 1.35rem; }
  .diagnostic-option { padding: .95rem; }
}

/* Lapidação final: resultado mais leve no mobile */
@media (max-width: 640px) {
  .diagnostic-card {
    padding: 1rem;
    border-radius: 1.15rem;
  }
  .diagnostic-card p,
  .diagnostic-list li {
    font-size: .94rem;
    line-height: 1.55;
  }
  .diagnostic-card-title {
    font-size: .68rem;
    margin-bottom: .6rem;
  }
}


/* Interface: Estratégia de Vídeo Personalizada em PDF */
.strategy-request-panel {
  position: relative;
  overflow: hidden;
}
.strategy-request-panel::before {
  content: "";
  position: absolute;
  inset: -30% auto auto -18%;
  width: 22rem;
  height: 22rem;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255,75,18,.18), transparent 64%);
  pointer-events: none;
}
.strategy-request-panel > * {
  position: relative;
  z-index: 1;
}
.strategy-benefit {
  display: flex;
  align-items: center;
  gap: .75rem;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.055);
  border-radius: 1rem;
  padding: .85rem 1rem;
  color: #fff;
  font-weight: 800;
  line-height: 1.2;
}
.strategy-benefit svg {
  color: #ff4b12;
  flex: 0 0 auto;
}
.strategy-summary-box {
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.28);
  border-radius: 1.35rem;
  padding: 1.25rem;
}
.strategy-request-form {
  animation: diagnosticFade .28s ease both;
}
.strategy-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.strategy-field {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.strategy-field-full {
  grid-column: 1 / -1;
}
.strategy-field span {
  color: #fff;
  font-size: .88rem;
  font-weight: 900;
}
.strategy-field span strong {
  color: #ff4b12;
}
.strategy-field span em {
  color: rgba(255,255,255,.46);
  font-style: normal;
  font-weight: 700;
}
.strategy-field input,
.strategy-field textarea {
  width: 100%;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(255,255,255,.07);
  color: #fff;
  border-radius: 1rem;
  padding: .95rem 1rem;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.strategy-field textarea {
  resize: vertical;
  min-height: 7rem;
}
.strategy-field input::placeholder,
.strategy-field textarea::placeholder {
  color: rgba(255,255,255,.38);
}
.strategy-field input:focus,
.strategy-field textarea:focus {
  border-color: rgba(255,75,18,.72);
  background: rgba(255,255,255,.095);
  box-shadow: 0 0 0 4px rgba(255,75,18,.12);
}
.strategy-error {
  min-height: 1rem;
  color: #ff9b7a;
  font-size: .78rem;
  font-weight: 700;
}
.strategy-field-invalid input,
.strategy-field-invalid textarea {
  border-color: rgba(255,75,18,.9);
}
.strategy-success-card {
  display: flex;
  gap: 1rem;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.30);
  border-radius: 1.35rem;
  padding: 1.25rem;
}
.strategy-success-info {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.055);
  border-radius: 1rem;
  padding: .85rem 1rem;
}
.strategy-success-info span {
  display: block;
  color: rgba(255,255,255,.46);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 900;
  margin-bottom: .25rem;
}
.strategy-success-info strong {
  display: block;
  color: #fff;
  font-size: .95rem;
  overflow-wrap: anywhere;
}

@media (max-width: 767px) {
  .strategy-form-grid {
    grid-template-columns: 1fr;
  }
  .strategy-success-card {
    flex-direction: column;
  }
}


/* Ver24 - Bloco destacado da Estratégia de Vídeo Personalizada */
.strategy-offer-shell {
  position: relative;
  overflow: hidden;
  border-radius: 2rem;
  border: 1px solid rgba(255,75,18,.26);
  background:
    radial-gradient(circle at 18% 0%, rgba(255,75,18,.28), transparent 34%),
    radial-gradient(circle at 85% 20%, rgba(255,255,255,.10), transparent 28%),
    linear-gradient(135deg, rgba(65,20,10,.92), rgba(13,13,13,.98) 54%, rgba(0,0,0,.96));
  box-shadow: 0 34px 100px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.08);
  padding: 1.5rem;
}
.strategy-offer-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: 38px 38px;
  mask-image: radial-gradient(circle at 70% 35%, black, transparent 72%);
  pointer-events: none;
}
.strategy-offer-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .75fr);
  gap: 2rem;
  align-items: center;
}
.strategy-offer-content {
  padding: 1rem;
}
.strategy-trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}
.strategy-trust-row span {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: #fff;
  font-size: .86rem;
  font-weight: 900;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.22);
  border-radius: 999px;
  padding: .65rem .9rem;
}
.strategy-trust-row svg {
  color: #ff4b12;
}
.strategy-offer-note {
  color: rgba(255,255,255,.70);
  font-size: .95rem;
  line-height: 1.55;
  border-left: 3px solid rgba(255,75,18,.9);
  padding-left: 1rem;
  max-width: 46rem;
}
.strategy-pdf-mockup {
  display: flex;
  justify-content: center;
}
.strategy-pdf-page {
  width: min(100%, 340px);
  min-height: 430px;
  border-radius: 1.35rem;
  background: linear-gradient(180deg, #fff, #e9e9e9);
  color: #111;
  padding: 1.45rem;
  transform: rotate(2.5deg);
  box-shadow: 0 30px 80px rgba(0,0,0,.45);
  position: relative;
  overflow: hidden;
}
.strategy-pdf-page::after {
  content: "";
  position: absolute;
  right: -40px;
  bottom: -40px;
  width: 150px;
  height: 150px;
  border-radius: 999px;
  background: rgba(255,75,18,.14);
}
.strategy-pdf-topline {
  width: 54px;
  height: 7px;
  border-radius: 999px;
  background: #ff4b12;
  margin-bottom: 1.3rem;
}
.strategy-pdf-kicker {
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: .68rem;
  font-weight: 950;
  color: #ff4b12;
  margin-bottom: .75rem;
}
.strategy-pdf-page h4 {
  font-size: 1.65rem;
  line-height: .98;
  font-weight: 950;
  letter-spacing: -.055em;
  margin: 0 0 1rem;
}
.strategy-pdf-company {
  border-radius: .9rem;
  background: #111;
  color: #fff;
  padding: .85rem;
  font-weight: 850;
  font-size: .9rem;
  margin-bottom: 1.1rem;
}
.strategy-pdf-page ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: .75rem;
}
.strategy-pdf-page li {
  display: flex;
  align-items: center;
  gap: .65rem;
  font-weight: 850;
  color: #272727;
}
.strategy-pdf-page li span {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #ff4b12;
  flex: 0 0 auto;
}
.strategy-pdf-footer {
  position: relative;
  z-index: 1;
  margin-top: 1.3rem;
  border-top: 1px solid rgba(0,0,0,.12);
  padding-top: 1rem;
}
.strategy-pdf-footer strong,
.strategy-pdf-footer small {
  display: block;
}
.strategy-pdf-footer strong {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.strategy-pdf-footer small {
  margin-top: .35rem;
  color: #555;
  font-weight: 750;
  line-height: 1.35;
}
.strategy-form-panel {
  position: relative;
  z-index: 1;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.32);
  border-radius: 1.45rem;
  padding: 1.25rem;
}

@media (min-width: 768px) {
  .strategy-offer-shell {
    padding: 2.25rem;
  }
  .strategy-form-panel {
    padding: 1.75rem;
  }
}

@media (max-width: 900px) {
  .strategy-offer-grid {
    grid-template-columns: 1fr;
  }
  .strategy-pdf-page {
    transform: rotate(0deg);
    min-height: 360px;
  }
}

@media (max-width: 520px) {
  .strategy-offer-shell {
    padding: 1rem;
    border-radius: 1.55rem;
  }
  .strategy-offer-content {
    padding: .25rem;
  }
  .strategy-pdf-page {
    width: 100%;
    min-height: 330px;
  }
}


/* Ver25 - Integração CRM, LGPD e estados de envio */
.strategy-consent {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .75rem;
  align-items: start;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.045);
  border-radius: 1rem;
  padding: .95rem 1rem;
  color: rgba(255,255,255,.78);
  font-size: .86rem;
  font-weight: 700;
  line-height: 1.45;
}
.strategy-consent input {
  margin-top: .2rem;
  accent-color: #ff4b12;
  width: 1.05rem;
  height: 1.05rem;
}
.strategy-consent.strategy-field-invalid {
  border-color: rgba(255,75,18,.9);
  box-shadow: 0 0 0 4px rgba(255,75,18,.08);
}
.strategy-submit-status {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 1rem;
  padding: .85rem 1rem;
  color: rgba(255,255,255,.82);
  font-weight: 800;
  background: rgba(255,255,255,.055);
}
.strategy-submit-status[data-status="error"] {
  border-color: rgba(255,75,18,.55);
  background: rgba(255,75,18,.10);
}
.strategy-fallback-card {
  display: flex;
  gap: 1rem;
  border: 1px solid rgba(255,75,18,.24);
  background:
    radial-gradient(circle at 0% 0%, rgba(255,75,18,.16), transparent 35%),
    rgba(0,0,0,.34);
  border-radius: 1.35rem;
  padding: 1.25rem;
}
@media (max-width: 767px) {
  .strategy-fallback-card {
    flex-direction: column;
  }
}

/* Ver26 - endpoint CRM público de homologação ais-pre e ajuste visual do fallback */

/* Ver27 - endpoint CRM publicado claro-sys-143 */

/* Ver28 - timeout CRM ampliado para 60s e mensagem amigável de demora */


/* Ver29 - UX: etapa do formulário mais clara e sucesso mais forte */
.strategy-offer-shell.strategy-form-active {
  border-color: rgba(255,75,18,.55);
  box-shadow: 0 36px 120px rgba(255,75,18,.13), 0 34px 100px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.08);
}
.strategy-offer-shell.strategy-form-active .strategy-form-panel {
  border-color: rgba(255,75,18,.35);
  background:
    radial-gradient(circle at 0% 0%, rgba(255,75,18,.14), transparent 38%),
    rgba(0,0,0,.42);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.strategy-form-heading {
  border-bottom: 1px solid rgba(255,255,255,.10);
  padding-bottom: 1.25rem;
}
.strategy-complete .strategy-offer-grid,
.strategy-complete #strategy-request-form {
  display: none;
}
.strategy-success-hero {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.25rem;
  border: 1px solid rgba(34,197,94,.30);
  background:
    radial-gradient(circle at 0% 0%, rgba(34,197,94,.18), transparent 34%),
    radial-gradient(circle at 100% 0%, rgba(255,75,18,.10), transparent 28%),
    rgba(0,0,0,.38);
  border-radius: 1.75rem;
  padding: 1.5rem;
  box-shadow: 0 30px 90px rgba(0,0,0,.42);
}
.strategy-success-icon {
  width: 4.25rem;
  height: 4.25rem;
  border-radius: 1.35rem;
  background: rgba(34,197,94,.16);
  color: #22c55e;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(34,197,94,.22);
}
.strategy-success-content {
  min-width: 0;
}
.strategy-next-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .9rem;
}
.strategy-next-steps div {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.055);
  border-radius: 1.1rem;
  padding: 1rem;
}
.strategy-next-steps span {
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 999px;
  background: rgba(255,75,18,.16);
  color: #ff4b12;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 950;
  margin-bottom: .65rem;
}
.strategy-next-steps strong,
.strategy-next-steps small {
  display: block;
}
.strategy-next-steps strong {
  color: #fff;
  font-weight: 900;
  line-height: 1.25;
}
.strategy-next-steps small {
  color: rgba(255,255,255,.55);
  margin-top: .35rem;
  line-height: 1.4;
}

@media (max-width: 900px) {
  .strategy-next-steps {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .strategy-success-hero {
    grid-template-columns: 1fr;
    padding: 1.15rem;
  }
}


/* Ver30 - Diagnóstico em fluxo de etapas limpas */
body.diagnostic-flow-active .diagnostic-hero {
  display: none;
}
.diagnostic-stage-screen {
  min-height: 62vh;
}
.diagnostic-stage-marker {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  align-items: center;
  justify-content: center;
}
.diagnostic-stage-marker span {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.055);
  color: rgba(255,255,255,.55);
  border-radius: 999px;
  padding: .6rem .9rem;
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: .02em;
}
.diagnostic-stage-marker span.is-current {
  color: #fff;
  background: rgba(255,75,18,.16);
  border-color: rgba(255,75,18,.34);
}
.diagnostic-stage-marker span.is-done {
  color: rgba(255,255,255,.82);
}
.strategy-stage-screen {
  padding: 1.25rem;
}
.strategy-summary-compact {
  border: 1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 0 0, rgba(255,75,18,.13), transparent 38%),
    rgba(0,0,0,.28);
  border-radius: 1.35rem;
  padding: 1.25rem;
}
.strategy-summary-services {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.strategy-summary-services span {
  display: inline-flex;
  border: 1px solid rgba(255,75,18,.28);
  background: rgba(255,75,18,.13);
  color: #fff;
  border-radius: 999px;
  padding: .55rem .75rem;
  font-size: .78rem;
  font-weight: 900;
}
@media (min-width: 768px) {
  .strategy-stage-screen {
    padding: 2rem;
  }
}
@media (max-width: 640px) {
  .diagnostic-stage-marker {
    justify-content: flex-start;
  }
}


/* Ver31 - Refinos de UX e conversão do diagnóstico */
.diagnostic-next-step-separator {
  text-align: center;
  border: 1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(circle at 50% 0, rgba(255,75,18,.11), transparent 38%),
    rgba(255,255,255,.04);
  border-radius: 1.35rem;
  padding: 1.35rem;
}
.strategy-transition-screen {
  min-height: 58vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.strategy-summary-callout {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.055);
  border-radius: 1.1rem;
  padding: 1rem;
}
.strategy-summary-callout strong {
  display: block;
  color: #fff;
  font-weight: 950;
  line-height: 1.25;
  margin-bottom: .45rem;
}
.strategy-summary-callout p {
  color: rgba(255,255,255,.62);
  line-height: 1.55;
  font-size: .94rem;
}


/* Ver32 - Integração CRM alinhada ao guia: endpoint ais-pre, e-mail obrigatório e resultText string */


/* Ver33 - Endpoint CRM oficial de produção clara-sys; payload da ver32 preservado */


/* Ver35 - Conversões de lead e CTA atendimento home */

/* Ver36 - Privacidade e anti-spam */
.incite-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.privacy-card {
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.045);
  border-radius: 2rem;
  padding: 1.25rem;
  box-shadow: 0 24px 80px rgba(0,0,0,.35);
}
.privacy-card h2 {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 950;
  letter-spacing: -.025em;
  margin: 2rem 0 .75rem;
}
.privacy-card h2:first-child {
  margin-top: 0;
}
.privacy-card p {
  color: rgba(255,255,255,.68);
  line-height: 1.8;
  margin: 0 0 1rem;
}
@media (min-width: 768px) {
  .privacy-card {
    padding: 2.25rem;
  }
  .privacy-card h2 {
    font-size: 1.45rem;
  }
}


/* Ver37 - SEO técnico Google IA sem alteração visual */
