/* ============================================================
   NexArq — v3 (reestruturação narrativa)
   Camada sobre landing + site + premium.
   Componentes NOVOS: hero-attention, scatter (dor), diffs (5),
   journey (jornada), converge (substituição de stack), plans.
   Identidade preservada: violet/lavender · Inter + Playfair.
   ============================================================ */

/* ---------- Eyebrow com marcador ---------- */
.eyebrow-mark {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--pill-fg);
}
.eyebrow-mark::before {
  content: "";
  width: 22px;
  height: 1.5px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--violet), var(--lavender));
}
.dark .eyebrow-mark,
.aspot .eyebrow-mark {
  color: var(--lavender);
}

/* ---------- HERO: transformação Aurora (reunião → próximos passos) ---------- */
.txflow {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.txflow__src {
  align-self: flex-start;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--violet);
  background: linear-gradient(180deg, rgba(91, 61, 245, 0.1), rgba(91, 61, 245, 0.03));
  border: 1px solid var(--pill-border);
  border-radius: 999px;
  padding: 8px 14px;
}
.txflow__arrow {
  align-self: center;
  color: var(--lavender);
  font-size: 16px;
  line-height: 1;
  opacity: 0.85;
}
.txflow__row {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 11px;
  align-items: center;
  padding: 11px 13px;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(91, 61, 245, 0.055), rgba(91, 61, 245, 0.015));
  border: 1px solid var(--pill-border);
}
.txflow__row--wait {
  border-color: rgba(201, 154, 74, 0.35);
  background: linear-gradient(180deg, rgba(201, 154, 74, 0.1), rgba(201, 154, 74, 0.02));
}
.txflow__n {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin: 0 auto;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, var(--lavender), var(--violet));
}
.txflow__row--wait .txflow__n {
  background: linear-gradient(135deg, #d4b06a, #c99a4a);
}
.txflow__row .t {
  font-size: 13px;
  font-weight: 600;
  color: var(--fg-1);
  letter-spacing: -0.01em;
}
.txflow__row .m {
  font-size: 11.5px;
  color: var(--fg-3);
  margin-top: 2px;
}

/* ---------- Microcopy do hero ---------- */
.phero__micro {
  margin-top: 22px;
  max-width: 46ch;
  margin-inline: auto;
  text-align: center;
  font-size: 14px;
  line-height: 1.55;
  color: var(--fg-2);
  font-weight: 500;
}

/* ---------- Como funciona: 3 passos ---------- */
.how-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: clamp(34px, 5vw, 52px) auto clamp(28px, 4vw, 40px);
  max-width: 980px;
}
.how-step {
  padding: 22px 20px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  text-align: left;
}
.how-step__n {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lavender);
  margin-bottom: 10px;
}
.how-step h3 {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  letter-spacing: -0.02em;
}
.how-step p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.68);
}
@media (max-width: 860px) {
  .how-steps {
    grid-template-columns: 1fr;
  }
}

/* ---------- Depoimentos: antes → Aurora → resultado ---------- */
.testi__flow {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
}
.testi__stage {
  display: block;
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--fg-3);
  padding: 10px 12px;
  border-radius: 12px;
  background: var(--surface-alt);
  border: 1px solid var(--border);
}
.testi__stage b {
  display: inline-block;
  margin-right: 6px;
  font-size: 10.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fg-2);
}
.testi__stage--aurora {
  border-color: var(--pill-border);
  background: linear-gradient(180deg, rgba(91, 61, 245, 0.08), rgba(91, 61, 245, 0.02));
}
.testi__stage--aurora b {
  color: var(--violet);
}
.testi__stage--out b {
  color: #2f7a4d;
}
.nowrap-desktop {
  white-space: nowrap;
}

/* ---------- SEÇÃO DOR: interrupções do dia ---------- */
.scatter-lead {
  margin-top: clamp(40px, 5vw, 60px);
  margin-bottom: 18px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--fg-3);
}
.scatter {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.tool-chip {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  border-radius: 16px;
  background: var(--surface);
  border: 1px dashed var(--border-2);
  box-shadow: 0 1px 2px rgba(23, 18, 42, 0.03);
}
.tool-chip:nth-child(3n + 1) {
  transform: none;
}
.tool-chip:nth-child(3n + 2) {
  transform: none;
}
.tool-chip:nth-child(4n) {
  transform: none;
}
.tool-chip .tool-chip__ic {
  width: 40px;
  height: 40px;
  border-radius: 11px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--surface-alt);
  color: var(--fg-2);
  border: 1px solid var(--border);
}
.tool-chip__ic svg {
  width: 20px;
  height: 20px;
  display: block;
}
.tool-chip b {
  font-size: 15px;
  font-weight: 600;
  color: var(--fg-1);
  letter-spacing: -0.01em;
  display: block;
}
.tool-chip span {
  font-size: 12px;
  color: var(--fg-3);
  display: block;
  margin-top: 1px;
}

.pain-settle {
  margin-top: clamp(40px, 5vw, 56px);
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  padding: clamp(24px, 3vw, 32px) clamp(28px, 4vw, 44px);
  border-radius: 24px;
  background: linear-gradient(150deg, var(--surface-tint), var(--surface));
  border: 1px solid var(--pill-border);
  border-left: 3px solid var(--violet);
  box-shadow: 0 20px 48px rgba(64, 42, 140, 0.1);
}
.pain-settle .orb {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  flex-shrink: 0;
  background: radial-gradient(circle at 34% 30%, #dad1ff, #7660ff 58%, #2a1b5c);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  box-shadow: 0 6px 18px rgba(118, 96, 255, 0.45);
}
.pain-settle p {
  flex: 1;
  min-width: 260px;
  margin: 0;
  font-size: clamp(18px, 1.8vw, 24px);
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--fg-1);
  line-height: 1.32;
  text-wrap: balance;
}
.pain-settle p b {
  color: var(--violet);
  font-weight: 600;
}

/* ---------- SEÇÃO 5 DIFERENCIAIS ---------- */
.diffs {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
  margin-top: clamp(40px, 5vw, 60px);
}
.diff {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 24px;
  padding: clamp(28px, 3vw, 38px);
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: transform .4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .4s;
}
.diff:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-float);
}
/* Card 1 e 2 ocupam 3 colunas cada (linha de destaque) */
.diff--wide {
  grid-column: span 3;
}
/* Cards 3,4,5 ocupam 2 colunas cada */
.diff--reg {
  grid-column: span 2;
}
.diff__k {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: max-content;
  font-size: 12px;
  letter-spacing: 0.02em;
  font-weight: 600;
  color: var(--violet);
  background: var(--pill-bg);
  border: 1px solid var(--pill-border);
  padding: 7px 14px 7px 10px;
  border-radius: 999px;
}
.diff__k .s {
  width: 20px;
  height: 20px;
  border-radius: 999px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 11px;
  background: linear-gradient(135deg, var(--lavender), var(--violet));
  box-shadow: 0 2px 8px rgba(91, 61, 245, 0.4);
}
.diff__k .s svg {
  width: 12px;
  height: 12px;
}
.diff h3 {
  font-size: clamp(21px, 1.9vw, 27px);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--fg-1);
  line-height: 1.14;
  max-width: 20ch;
}
.diff p {
  font-size: 15.5px;
  line-height: 1.55;
  color: var(--fg-2);
  margin: 0;
  max-width: 52ch;
}
.diff__media {
  margin-top: auto;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--border-2);
  box-shadow: 0 12px 30px rgba(23, 18, 42, 0.1);
}
.diff__media img {
  display: block;
  width: 100%;
  height: auto;
}
.diff__render {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  gap: 12px;
  margin-top: auto;
  border: 0;
  box-shadow: none;
  border-radius: 0;
  overflow: visible;
}
.diff__render .rimg {
  position: relative;
  width: 100%;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--border-2);
  box-shadow: 0 12px 30px rgba(23, 18, 42, 0.1);
}
.diff__render .rimg img {
  display: block;
  width: 100%;
  height: auto;
}
.diff__render .rimg em {
  position: absolute;
  left: 8px;
  bottom: 8px;
  font-style: normal;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #fff;
  background: rgba(23, 18, 42, 0.62);
  backdrop-filter: blur(4px);
  padding: 3px 9px;
  border-radius: 999px;
}
.diff__render .rarrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  color: var(--violet);
  background: var(--pill-bg);
  border: 1px solid var(--pill-border);
}
.diff__render .rarrow svg {
  width: 15px;
  height: 15px;
  transform: rotate(90deg);
}
.diff__media--cap img {
  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto;
  object-fit: cover;
  object-position: top center;
}
.diff-stack {
  display: flex;
  flex-direction: column;
  gap: 16px;
  grid-column: span 3;
}
.diff-stack > .diff {
  flex: 1;
  margin: 0;
}
@media (max-width: 980px) {
  .diff-stack {
    grid-column: span 1;
  }
}
.diff--accent {
  background: linear-gradient(158deg, var(--surface-tint), var(--surface));
  border-color: var(--pill-border);
  box-shadow: 0 22px 50px rgba(91, 61, 245, 0.16);
}
@media (max-width: 980px) {
  .scatter {
    grid-template-columns: repeat(2, 1fr);
  }
  .diffs {
    grid-template-columns: 1fr 1fr;
  }
  .diff--wide,
  .diff--reg {
    grid-column: span 1;
  }
}
@media (max-width: 620px) {
  .scatter {
    grid-template-columns: 1fr;
  }
  .diffs {
    grid-template-columns: 1fr;
  }
  .nowrap-desktop {
    white-space: normal;
  }
  .tool-chip {
    transform: none !important;
  }
}

/* ---------- JORNADA DO PROJETO (spine vertical) ---------- */
.journey {
  position: relative;
  max-width: 940px;
  margin: clamp(48px, 6vw, 72px) auto 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.journey::before {
  content: "";
  position: absolute;
  left: 27px;
  top: 22px;
  bottom: 22px;
  width: 2px;
  background: linear-gradient(180deg, var(--lavender), var(--violet) 60%, rgba(155, 140, 255, 0.3));
}
.jstep {
  position: relative;
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 22px;
  align-items: center;
}
.jstep__node {
  position: relative;
  z-index: 2;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--surface);
  border: 1px solid var(--pill-border);
  box-shadow: var(--shadow-card);
  color: var(--violet);
}
.jstep__node svg {
  width: 24px;
  height: 24px;
}
.jstep__node--ai {
  background: radial-gradient(circle at 34% 30%, #dad1ff, #7660ff 58%, #2a1b5c);
  border: none;
  color: #fff;
  box-shadow: 0 10px 26px rgba(91, 61, 245, 0.5);
}
.jstep__body {
  padding: 18px 24px;
  border-radius: 18px;
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-card);
  display: flex;
  align-items: baseline;
  gap: 4px 16px;
  flex-wrap: wrap;
}
.jstep__body .n {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--fg-3);
  font-variant-numeric: tabular-nums;
}
.jstep__body h4 {
  font-size: clamp(17px, 1.5vw, 20px);
  font-weight: 600;
  letter-spacing: -0.015em;
  color: var(--fg-1);
}
.jstep__body p {
  font-size: 14.5px;
  color: var(--fg-2);
  margin: 0;
  width: 100%;
  line-height: 1.45;
}
.jstep--ai .jstep__body {
  background: linear-gradient(150deg, var(--surface-tint), var(--surface));
  border-color: var(--pill-border);
}
.jstep--ai .jstep__body h4 {
  color: var(--violet);
}
.journey-settle {
  margin-top: clamp(40px, 5vw, 56px);
  text-align: center;
  font-size: clamp(20px, 2.2vw, 30px);
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--fg-1);
  max-width: 30ch;
  margin-inline: auto;
  line-height: 1.28;
  text-wrap: balance;
}
.journey-settle .italic-plain {
  display: inline;
}
@media (max-width: 560px) {
  .journey::before {
    left: 21px;
  }
  .jstep {
    grid-template-columns: 44px 1fr;
    gap: 16px;
  }
  .jstep__node {
    width: 44px;
    height: 44px;
    border-radius: 13px;
  }
  .jstep__node svg {
    width: 20px;
    height: 20px;
  }
}

/* ---------- SUBSTITUIÇÃO DE STACK (convergência) ---------- */
.converge {
  display: grid;
  grid-template-columns: 1fr 0.9fr;
  gap: clamp(40px, 6vw, 80px);
  align-items: center;
  margin-top: clamp(48px, 6vw, 72px);
}
.converge__tools {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.ctool {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 13px 15px;
  border-radius: 14px;
  background: var(--surface);
  border: 1px solid var(--border-2);
  font-size: 14.5px;
  font-weight: 500;
  color: var(--fg-2);
  box-shadow: 0 1px 2px rgba(23, 18, 42, 0.03);
}
.ctool svg {
  width: 18px;
  height: 18px;
  color: var(--fg-3);
  flex-shrink: 0;
}
.ctool--plus {
  grid-column: 1 / -1;
  justify-content: center;
  border-style: dashed;
  color: var(--fg-3);
  font-style: italic;
  background: transparent;
}
.converge__core {
  position: relative;
  padding: clamp(36px, 4vw, 52px) clamp(28px, 3vw, 40px);
  border-radius: 28px;
  text-align: center;
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(165deg, #1c1533, #2c1c5e);
  color: #fff;
  border: 1px solid rgba(155, 140, 255, 0.3);
  box-shadow: 0 40px 90px rgba(20, 12, 45, 0.34);
}
.converge__core::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(70% 60% at 50% -10%, rgba(120, 96, 255, 0.5), transparent 62%);
}
.converge__orb {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  margin: 0 auto 22px;
  background: radial-gradient(circle at 34% 30%, #dad1ff, #7660ff 58%, #2a1b5c);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 30px;
  box-shadow: 0 0 30px rgba(118, 96, 255, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.4);
}
.converge__core .line {
  font-size: clamp(24px, 2.6vw, 36px);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.14;
}
.converge__core .line + .line {
  margin-top: 4px;
}
.converge__core .line.aur {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--lavender);
}
@media (max-width: 900px) {
  .converge {
    grid-template-columns: 1fr;
  }
}

/* ---------- PLANOS ---------- */
.plans {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: clamp(18px, 2vw, 24px);
  margin-top: clamp(28px, 3vw, 40px);
  margin-inline: auto;
  /* 3 tiers self-serve (Starter/Pro/Studio): 3×320px + 2 gaps cabem lado a
     lado; abaixo disso o auto-fit quebra sozinho pra 2+1 e depois 1 coluna. */
  max-width: 1180px;
  align-items: stretch;
}
.plans__source {
  margin: 18px auto 0;
  text-align: center;
  color: var(--fg-3);
  font-size: 13px;
}
.bill-toggle {
  position: relative;
  display: inline-flex;
  margin: 26px auto 0;
  padding: 5px;
  background: var(--surface-alt);
  border: 1px solid var(--border);
  border-radius: 999px;
  gap: 4px;
}
.bill-toggle[hidden],
.bill-opt[hidden] {
  display: none;
}
.bill-slider {
  position: absolute;
  top: 5px;
  bottom: 5px;
  left: 0;
  width: 0;
  border-radius: 999px;
  background: var(--violet);
  box-shadow: 0 6px 18px rgba(91, 61, 245, 0.35);
  transition: transform .32s cubic-bezier(0.16, 1, 0.3, 1), width .32s cubic-bezier(0.16, 1, 0.3, 1);
}
.bill-opt {
  position: relative;
  z-index: 1;
  flex: 1 1 0;
  justify-content: center;
  white-space: nowrap;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--fg-2);
  padding: 10px 22px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: color .25s;
}
.bill-opt.is-active {
  color: #fff;
}
.bill-save {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(91, 61, 245, 0.12);
  color: var(--violet);
}
.bill-opt.is-active .bill-save {
  background: rgba(255, 255, 255, 0.22);
  color: #fff;
}
.enterprise {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: clamp(24px, 3vw, 34px);
  padding: clamp(22px, 2.4vw, 30px) clamp(24px, 3vw, 36px);
  border-radius: 22px;
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-card);
}
.enterprise__ic {
  width: 46px;
  height: 46px;
  flex-shrink: 0;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--violet);
  background: var(--pill-bg);
  border: 1px solid var(--pill-border);
}
.enterprise__ic svg {
  width: 22px;
  height: 22px;
}
.enterprise__txt {
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex: 1;
}
.enterprise__txt b {
  font-weight: 600;
  font-size: 16.5px;
  color: var(--fg-1);
}
.enterprise__txt span {
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--fg-2);
}
.enterprise .btn {
  flex-shrink: 0;
}
@media (max-width: 720px) {
  .enterprise {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }
  .enterprise .btn {
    width: 100%;
    justify-content: center;
  }
}
.plan {
  position: relative;
  border-radius: 26px;
  padding: clamp(30px, 3vw, 40px);
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.plan--feat {
  background: linear-gradient(180deg, #1c1533, #2c1c5e);
  color: #fff;
  border: 1px solid rgba(155, 140, 255, 0.3);
  box-shadow: var(--shadow-float);
  isolation: isolate;
  overflow: hidden;
  transform: translateY(-8px);
}
.plan--feat::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(70% 45% at 80% -8%, rgba(120, 96, 255, 0.42), transparent 62%);
}
.plan__badge {
  position: absolute;
  top: 16px;
  right: 16px;
  max-width: min(220px, calc(100% - 32px));
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.25;
  text-align: center;
  padding: 7px 10px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--lavender), var(--violet));
  color: #fff;
  box-shadow: 0 6px 18px rgba(91, 61, 245, 0.5);
}
.plan__name {
  font-size: 13px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--violet);
}
.plan--feat .plan__name {
  color: var(--lavender);
}
.plan__price {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.plan__price .amt {
  font-size: clamp(38px, 4vw, 52px);
  font-weight: 600;
  letter-spacing: -0.03em;
  color: var(--fg-1);
  line-height: 1;
}
.plan--feat .plan__price .amt {
  color: #fff;
}
.plan__price .per {
  font-size: 15px;
  color: var(--fg-3);
  font-weight: 500;
}
.plan--feat .plan__price .per {
  color: rgba(255, 255, 255, 0.6);
}
.plan__price .from {
  font-size: 13px;
  color: var(--fg-3);
  font-weight: 500;
  align-self: center;
}
.plan__desc {
  font-size: 15px;
  line-height: 1.5;
  color: var(--fg-2);
  margin: 0;
  min-height: 2.8em;
}
.plan__cycle {
  font-size: 12.5px;
  font-weight: 500;
  color: var(--fg-3);
  margin-top: 2px;
}
.plan--feat .plan__cycle {
  color: rgba(255, 255, 255, 0.6);
}
.plan__feats li b {
  font-weight: 600;
  color: var(--fg-1);
}
.plan--feat .plan__feats li b {
  color: #fff;
}
.plan__extra {
  color: var(--fg-3);
  font-size: 0.92em;
}
.plan--feat .plan__extra {
  color: rgba(255, 255, 255, 0.6);
}
.plan--feat .plan__desc {
  color: rgba(255, 255, 255, 0.72);
}
.plan__feats {
  list-style: none;
  padding: 20px 0 0;
  margin: 0;
  border-top: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}
.plan--feat .plan__feats {
  border-top-color: rgba(255, 255, 255, 0.12);
}
.plan__feats li {
  position: relative;
  padding-left: 29px;
  font-size: 14.5px;
  line-height: 1.45;
  color: var(--fg-2);
}
.plan--feat .plan__feats li {
  color: rgba(255, 255, 255, 0.9);
}
.plan__feats li .ck {
  position: absolute;
  left: 0;
  top: 1px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  flex-shrink: 0;
  background: var(--pill-bg);
  color: var(--violet);
  display: flex;
  align-items: center;
  justify-content: center;
}
.plan--feat .plan__feats li .ck {
  background: rgba(155, 140, 255, 0.2);
  color: #c9beff;
}
.plan__feats li .ck svg {
  width: 11px;
  height: 11px;
}
.plan__feats li.head {
  font-weight: 600;
  color: var(--fg-1);
  font-size: 13.5px;
  padding-left: 0;
}
.plan--feat .plan__feats li.head {
  color: #fff;
}
.plan .btn {
  width: 100%;
  justify-content: center;
}
.plan--feat .btn--primary {
  background: #fff;
  color: var(--violet);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}
.plan--feat .btn--primary:hover {
  background: #f0edfb;
}
.plan--std .btn--primary {
  background: transparent;
  color: var(--violet);
  border-color: var(--pill-border);
  box-shadow: none;
}
.plan--std .btn--primary:hover {
  background: var(--pill-bg);
}
@media (max-width: 900px) {
  .plans {
    grid-template-columns: 1fr;
    max-width: 460px;
    margin-inline: auto;
  }
  .plan--feat {
    transform: none;
  }
}

/* ---------- CTA final: fechamento grande ---------- */
.cta-final .closer {
  margin-top: clamp(40px, 5vw, 60px);
  padding-top: clamp(32px, 4vw, 44px);
  border-top: 1px solid var(--border-d);
  font-size: clamp(26px, 3.2vw, 44px);
  font-weight: 500;
  letter-spacing: -0.028em;
  line-height: 1.18;
  color: var(--fg-1d);
  max-width: 22ch;
  margin-inline: auto;
  text-wrap: balance;
}
.cta-final .closer .italic {
  display: block;
}

/* ============================================================
   SEÇÃO 4 · OPERAÇÃO INTELIGENTE (órbita)
   ============================================================ */
.orbit-sec .h1 {
  color: #fff;
}
.orbit {
  position: relative;
  --size: clamp(340px, 76vw, 720px);
  width: var(--size);
  height: var(--size);
  --r: calc(var(--size) * 0.4);
  --cr: calc(var(--size) * 0.205);
  margin: clamp(44px, 6vw, 72px) auto 0;
}
/* linhas / conexões */
.orbit__lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  z-index: 1;
}
.orbit__lines .spoke {
  stroke: rgba(155, 140, 255, 0.12);
  stroke-width: 1;
}
.orbit__lines .ring {
  fill: none;
  stroke: rgba(155, 140, 255, 0.32);
  stroke-width: 1.3;
  stroke-dasharray: 2 8;
  stroke-linecap: round;
  animation: orbitDash 30s linear infinite;
}
.orbit__lines .pulse-g {
  transform-origin: 400px 400px;
  animation: orbitSpin 15s linear infinite;
}
.orbit__lines .pulse-g--2 {
  animation-duration: 22s;
  animation-direction: reverse;
}
.orbit__lines .pulse {
  fill: #e4dcff;
  filter: drop-shadow(0 0 7px rgba(219, 209, 255, 0.95));
}
@keyframes orbitDash {
  to {
    stroke-dashoffset: -300;
  }
}
@keyframes orbitSpin {
  to {
    transform: rotate(360deg);
  }
}
/* núcleo Aurora */
.orbit__core {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 4;
}
.orbit__core::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 320%;
  height: 320%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  z-index: -1;
  background: conic-gradient(
    from 0deg,
    rgba(91, 61, 245, 0) 0deg,
    rgba(155, 140, 255, 0.22) 90deg,
    rgba(91, 61, 245, 0) 200deg,
    rgba(155, 140, 255, 0.16) 300deg,
    rgba(91, 61, 245, 0) 360deg
  );
  filter: blur(6px);
  animation: orbitSpin 20s linear infinite;
}
.orbit__orb {
  position: relative;
  width: clamp(138px, 25vw, 206px);
  aspect-ratio: 1;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  text-align: center;
  background: radial-gradient(circle at 34% 28%, #e7e0ff 0%, #b7acff 20%, #7660ff 52%, #2a1b5c 100%);
  box-shadow: 0 30px 90px rgba(91, 61, 245, 0.55), inset 0 0 60px rgba(255, 255, 255, 0.22), inset
    -18px -26px 54px rgba(20, 12, 40, 0.5);
  animation: orbFloat 8s ease-in-out infinite;
}
.orbit__orb::before,
.orbit__orb::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(155, 140, 255, 0.22);
}
.orbit__orb::before {
  inset: -22px;
}
.orbit__orb::after {
  inset: -50px;
  border-color: rgba(155, 140, 255, 0.1);
}
.orbit__spark {
  font-size: clamp(20px, 2.6vw, 28px);
  color: #fff;
  text-shadow: 0 0 18px rgba(255, 255, 255, 0.85);
  line-height: 1;
}
.orbit__orb b {
  font-size: clamp(17px, 2vw, 23px);
  font-weight: 600;
  color: #fff;
  letter-spacing: -0.015em;
  line-height: 1;
}
.orbit__role {
  font-size: clamp(9.5px, 1.1vw, 11.5px);
  color: rgba(255, 255, 255, 0.8);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
/* módulos */
.onode {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  width: clamp(74px, 12vw, 108px);
  transform: translate(-50%, -50%) rotate(calc(var(--i) * 30deg)) translateY(calc(var(--r) * -1))
    rotate(calc(var(--i) * -30deg));
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  text-align: center;
  background: none;
  border: 0;
  padding: 0;
  cursor: default;
  font: inherit;
}
.onode__ic {
  width: clamp(46px, 7vw, 60px);
  aspect-ratio: 1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #d7ceff;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(155, 140, 255, 0.28);
  box-shadow: 0 10px 26px rgba(10, 6, 30, 0.42);
  backdrop-filter: blur(3px);
  transition: transform .3s ease, border-color .3s ease, background .3s ease, box-shadow .3s ease;
}
.onode__ic svg {
  width: clamp(21px, 3vw, 26px);
  height: auto;
  display: block;
}
.onode__lb {
  font-size: clamp(11px, 1.25vw, 13px);
  font-weight: 500;
  color: rgba(255, 255, 255, 0.86);
  letter-spacing: -0.01em;
  line-height: 1.16;
  text-wrap: balance;
}
.onode:hover .onode__ic {
  transform: translateY(-3px) scale(1.07);
  border-color: var(--lavender);
  background: rgba(155, 140, 255, 0.18);
  box-shadow: 0 14px 34px rgba(91, 61, 245, 0.45);
}
/* chamadas discretas */
.ocall {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  white-space: nowrap;
  pointer-events: none;
  transform: translate(-50%, -50%) rotate(calc(var(--i) * 30deg)) translateY(calc(var(--cr) * -1))
    rotate(calc(var(--i) * -30deg));
  font-family: var(--font-serif);
  font-style: italic;
  font-size: clamp(11px, 1.35vw, 15px);
  color: rgba(219, 209, 255, 0.55);
  animation: ocallPulse 6.5s ease-in-out infinite;
  animation-delay: calc(var(--i) * -0.8s);
}
@keyframes ocallPulse {
  0%,
  100% {
    opacity: 0.3;
  }
  50% {
    opacity: 0.72;
  }
}
/* fecho */
.orbit-settle {
  text-align: center;
  max-width: 900px;
  margin: clamp(52px, 7vw, 92px) auto 0;
}
.orbit-settle__box {
  padding: clamp(32px, 4vw, 52px) clamp(28px, 4vw, 60px);
  border-radius: 28px;
  background: linear-gradient(160deg, rgba(155, 140, 255, 0.14), rgba(91, 61, 245, 0.06));
  border: 1px solid rgba(155, 140, 255, 0.22);
  box-shadow: 0 30px 80px rgba(20, 12, 48, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.orbit-settle h3 {
  font-size: clamp(26px, 3.4vw, 46px);
  font-weight: 600;
  letter-spacing: -0.028em;
  color: #fff;
  line-height: 1.14;
  text-wrap: balance;
}
.orbit-settle p {
  margin: 24px auto 0;
  font-size: clamp(16px, 1.7vw, 20px);
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.78);
  max-width: 64ch;
  text-wrap: pretty;
}
.orbit-settle p span {
  display: block;
  margin-top: 12px;
  color: var(--lavender);
  font-weight: 500;
}
@media (max-width: 620px) {
  .orbit {
    --size: clamp(320px, 94vw, 440px);
  }
  .ocall {
    display: none;
  }
  .onode__lb {
    font-size: 10.5px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .orbit__orb,
  .orbit__core::before,
  .orbit__lines .ring,
  .orbit__lines .pulse-g,
  .ocall {
    animation: none !important;
  }
  .ocall {
    opacity: 0.5;
  }
}

/* ============================================================
   SEÇÃO 4B · AURORA (inteligência da operação)
   ============================================================ */
.aura-sec .h1 {
  color: #fff;
}
.aura-stage {
  display: grid;
  grid-template-columns: 1fr minmax(230px, 300px) 1fr;
  gap: clamp(18px, 2.6vw, 40px);
  align-items: center;
  margin-top: clamp(48px, 6vw, 76px);
}
.aura-col {
  display: flex;
  flex-direction: column;
  gap: clamp(12px, 1.4vw, 16px);
}
.aqc {
  text-align: left;
  border-radius: 18px;
  padding: clamp(16px, 1.6vw, 20px) clamp(18px, 1.8vw, 22px);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(155, 140, 255, 0.18);
  box-shadow: 0 10px 30px rgba(10, 6, 30, 0.32);
  transition: transform .3s ease, border-color .3s ease, background .3s ease, box-shadow .3s ease;
}
.aqc:hover {
  transform: translateY(-3px);
  border-color: rgba(155, 140, 255, 0.42);
  background: rgba(155, 140, 255, 0.09);
  box-shadow: 0 16px 38px rgba(91, 61, 245, 0.35);
}
.aqc__q {
  font-size: clamp(14.5px, 1.5vw, 16.5px);
  font-weight: 500;
  color: #fff;
  line-height: 1.4;
  letter-spacing: -0.01em;
  margin: 0;
}
.aqc__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 7px;
  margin-top: 13px;
}
.aqc__tags .t {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: #c9beff;
  background: rgba(155, 140, 255, 0.12);
  border: 1px solid rgba(155, 140, 255, 0.22);
  padding: 3px 10px;
  border-radius: 999px;
}
.aura-core {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 18px;
}
.aura-core .orbit__orb {
  width: clamp(150px, 22vw, 210px);
  animation: orbFloat 8s ease-in-out infinite;
}
.aura-core__hint {
  font-size: clamp(12.5px, 1.3vw, 14px);
  line-height: 1.5;
  color: rgba(219, 209, 255, 0.68);
  max-width: 26ch;
  margin: 0;
}
.aura-core .orbit__role {
  text-transform: none;
  letter-spacing: 0.02em;
  font-size: clamp(10.5px, 1.1vw, 12px);
}
/* bloco de impacto */
.aura-impact {
  text-align: center;
  max-width: 860px;
  margin: clamp(56px, 7vw, 96px) auto 0;
  padding: clamp(34px, 4vw, 54px) clamp(28px, 4vw, 60px);
  border-radius: 30px;
  background: linear-gradient(160deg, rgba(155, 140, 255, 0.15), rgba(91, 61, 245, 0.06));
  border: 1px solid rgba(155, 140, 255, 0.22);
  box-shadow: 0 30px 80px rgba(20, 12, 48, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.aura-impact h3 {
  font-size: clamp(25px, 3.2vw, 44px);
  font-weight: 600;
  letter-spacing: -0.028em;
  color: #fff;
  line-height: 1.14;
  text-wrap: balance;
}
.aura-impact p {
  margin: 22px auto 0;
  font-size: clamp(15.5px, 1.6vw, 19px);
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.76);
  max-width: 62ch;
  text-wrap: pretty;
}
/* pequenos diferenciais */
.aura-diffs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, 2vw, 28px);
  margin-top: clamp(44px, 5vw, 64px);
}
.adiff {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.adiff__ic {
  width: 46px;
  height: 46px;
  border-radius: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #d7ceff;
  background: rgba(155, 140, 255, 0.1);
  border: 1px solid rgba(155, 140, 255, 0.24);
}
.adiff__ic svg {
  width: 22px;
  height: 22px;
  display: block;
}
.adiff h4 {
  font-size: clamp(15.5px, 1.5vw, 18px);
  font-weight: 600;
  letter-spacing: -0.015em;
  color: #fff;
}
.adiff p {
  font-size: clamp(13.5px, 1.35vw, 14.8px);
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.66);
  margin: 0;
}
@media (max-width: 980px) {
  .aura-stage {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .aura-core {
    order: -1;
    margin-bottom: 8px;
  }
  .aura-diffs {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 560px) {
  .aura-diffs {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  .aura-core .orbit__orb {
    animation: none !important;
  }
}

/* Título mais claro sobre fundo escuro (aspot) */
.aspot .italic-plain {
  color: #b6abff;
}

/* ---------- DEPOIMENTOS ---------- */
.testi-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: clamp(40px, 5vw, 60px);
}
.testi {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 22px;
  padding: clamp(26px, 2.6vw, 34px);
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin: 0;
}
.testi__stars {
  color: #f0a93b;
  letter-spacing: 2px;
  font-size: 14px;
}
.testi blockquote {
  margin: 0;
  font-size: 17px;
  line-height: 1.55;
  color: var(--fg-1);
  letter-spacing: -0.01em;
  text-wrap: pretty;
}
.testi__by {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-top: auto;
}
.testi__av {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.02em;
  background: linear-gradient(135deg, var(--lavender), var(--violet));
}
.testi__meta {
  display: flex;
  flex-direction: column;
  line-height: 1.35;
}
.testi__meta b {
  font-weight: 600;
  font-size: 15px;
  color: var(--fg-1);
}
.testi__meta em {
  font-style: normal;
  font-size: 13px;
  color: var(--fg-3);
}
@media (max-width: 900px) {
  .testi-grid {
    grid-template-columns: 1fr;
  }
}
