/* ============================================================
   NORD · Apresentação Comercial v3
   Engineering · Dark · Revelação progressiva por step
   ============================================================ */

:root {
  /* Surfaces */
  --bg-0: #0A0A0B;
  --bg-1: #131316;
  --bg-2: #1A1A1F;
  --bg-3: #22222A;
  /* Borders */
  --border-1: rgba(255,255,255,0.06);
  --border-2: rgba(255,255,255,0.10);
  --border-3: rgba(255,255,255,0.16);
  --border-accent: rgba(255,107,38,0.40);
  /* Text */
  --text-1: #FFFFFF;
  --text-2: rgba(255,255,255,0.78);
  --text-3: rgba(255,255,255,0.56);
  --text-4: rgba(255,255,255,0.36);
  --text-5: rgba(255,255,255,0.20);
  /* Brand · Laranja NORD */
  --brand-300: #FFB58A;
  --brand-400: #FF8F4D;
  --brand-500: #FF6B26;
  --brand-600: #E55A1C;
  --brand-700: #B8420F;
  --brand-glow: rgba(255,107,38,0.32);
  /* Motion */
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --t-fast: 200ms;
  --t-med: 400ms;
}

/* ============================================================
   Base canvas
   ============================================================ */
.slide.cm {
  position: relative;
  background: var(--bg-0);
  color: var(--text-1);
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.slide.cm h1, .slide.cm h2, .slide.cm h3, .slide.cm h4, .slide.cm p {
  margin: 0;
}
.slide.cm * { box-sizing: border-box; }

/* Grain — textura institucional sutil */
.slide.cm::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='5'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.14 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  opacity: 0.10;
  mix-blend-mode: overlay;
  pointer-events: none;
  z-index: 1;
}

/* Glow radial laranja — assinatura cromática */
.glow {
  position: absolute;
  width: 1200px; height: 1200px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(circle,
    rgba(255,107,38,0.22) 0%,
    rgba(255,107,38,0.08) 32%,
    transparent 62%);
}
.glow.tr { top: -520px; right: -380px; }
.glow.tl { top: -520px; left: -380px; }
.glow.br { bottom: -520px; right: -380px; }
.glow.bl { bottom: -520px; left: -380px; }
.glow.c  { top: 50%; left: 50%; transform: translate(-50%,-50%); }
.glow.s60 { width: 700px; height: 700px; }
.glow.s40 { opacity: 0.45; }

/* Dot grid — capa e estrutura */
.dots {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,107,38,0.06) 1px, transparent 1.4px);
  background-size: 32px 32px;
  pointer-events: none;
  z-index: 0;
}

/* Corner crosses */
.cx {
  position: absolute;
  color: rgba(255,107,38,0.30);
  font: 300 28px/1 'JetBrains Mono', monospace;
  z-index: 3;
  pointer-events: none;
}
.cx.tl { top: 56px; left: 64px; }
.cx.tr { top: 56px; right: 64px; }
.cx.bl { bottom: 56px; left: 64px; }
.cx.br { bottom: 56px; right: 64px; }

/* ============================================================
   Header / Footer
   ============================================================ */
.head {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 96px;
  padding: 48px 96px 0;
  display: flex; justify-content: space-between; align-items: center;
  z-index: 4;
}
.head .logo { display: flex; align-items: center; gap: 16px; }
.head .logo img { height: 38px; width: auto; display: block; }
.head .logo .wm {
  font: 800 20px/1 'Inter';
  letter-spacing: 0.20em;
  color: var(--brand-500);
}
.head .counter { display: none; }

.foot {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 0 96px 40px;
  display: flex; justify-content: flex-end; align-items: center;
  z-index: 4;
}
.foot .sig { display: none; }
.foot .right { display: flex; align-items: center; gap: 24px; }
.foot .step-ind { display: none; }
.foot .progress { display: flex; gap: 7px; align-items: center; }
.foot .progress .d {
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--text-5);
  transition: all 240ms var(--ease);
}
.foot .progress .d.on {
  background: var(--brand-500);
  box-shadow: 0 0 10px var(--brand-glow);
  width: 8px; height: 8px;
}

/* ============================================================
   Content container
   ============================================================ */
.cm-content {
  position: absolute;
  inset: 0;
  padding: 130px 96px 96px;
  z-index: 2;
  display: flex;
  flex-direction: column;
}
.cm-content.center { align-items: center; justify-content: center; text-align: center; }
.cm-content.middle { justify-content: center; }

/* ============================================================
   Typography utilities — v3.1 REVISED · escala calibrada para 1920x1080
   ============================================================ */
.t-display  { font: 800 128px/1.02 'Inter'; letter-spacing: -3px; color: var(--text-1); }
.t-h1       { font: 800 104px/1.04 'Inter'; letter-spacing: -2.4px; color: var(--text-1); }
.t-h1-sm    { font: 800 88px/1.06 'Inter'; letter-spacing: -1.9px; color: var(--text-1); }
.t-h1-xs    { font: 800 76px/1.08 'Inter'; letter-spacing: -1.5px; color: var(--text-1); }
.t-h2       { font: 600 56px/1.16 'Inter'; letter-spacing: -1px; color: var(--text-1); }
.t-h3       { font: 700 40px/1.18 'Inter'; letter-spacing: -0.5px; color: var(--text-1); }
.t-body-lg  { font: 400 30px/1.45 'Inter'; color: var(--text-2); }
.t-body     { font: 400 24px/1.55 'Inter'; color: var(--text-2); }
.t-caption  { font: 500 18px/1.4 'JetBrains Mono', monospace; letter-spacing: 0.18em; text-transform: uppercase; color: var(--text-2); }
.t-mono-sm  { font: 500 14px/1.4 'JetBrains Mono', monospace; letter-spacing: 0.22em; text-transform: uppercase; color: var(--text-3); }
.t-mono-xs  { font: 500 12px/1.4 'JetBrains Mono', monospace; letter-spacing: 0.24em; text-transform: uppercase; color: var(--text-4); }
.t-italic   { font-style: italic; }
.t-mute     { color: var(--text-2); }
.t-mute-2   { color: var(--text-3); }
.t-mute-3   { color: var(--text-4); }
.accent     { color: var(--brand-500); }

/* Section-label eyebrows: hidden chrome — they only repeat what the title already says */
.cm-content > .eyebrow,
.cm-content > div > .eyebrow {
  display: none;
}

/* Eyebrow component (still used for in-card section markers) */
.eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  font: 500 14px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--brand-500);
}
.eyebrow::before {
  content: "";
  width: 4px; height: 22px;
  background: var(--brand-500);
}
.eyebrow.plain::before { display: none; }

/* ============================================================
   Cards
   ============================================================ */
.card {
  background: linear-gradient(180deg, var(--bg-1), var(--bg-2));
  border: 1px solid var(--border-2);
  border-radius: 16px;
  position: relative;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}
.card.accent {
  border-color: var(--border-accent);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.04),
    0 0 80px -10px var(--brand-glow);
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(255,107,38,0.10), transparent 60%),
    linear-gradient(180deg, var(--bg-2), var(--bg-3));
}

/* Pulse glow */
@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 40px var(--brand-glow); }
  50%      { box-shadow: 0 0 90px var(--brand-glow); }
}
.pulse { animation: pulse-glow 2.6s ease-in-out infinite; }

/* ============================================================
   STEP REVELATION
   ============================================================ */
[data-step] {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
  pointer-events: none;
}
[data-step][data-shown] {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
  [data-step] { transition: none; transform: none; }
  .pulse { animation: none; }
}

/* ============================================================
   SLIDE 01 · CAPA
   ============================================================ */
.cover-wrap {
  position: relative;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 80px;
  width: 100%;
  z-index: 2;
}
.cover {
  position: relative;
  display: flex; align-items: center; justify-content: center;
  padding: 32px;
}
.cover .ring {
  position: absolute; border-radius: 50%;
  border: 1px solid rgba(255,107,38,0.18);
  pointer-events: none;
}
.cover .ring.r1 { inset: -120px; }
.cover .ring.r2 { inset: -240px; border-color: rgba(255,107,38,0.12); }
.cover .ring.r3 { inset: -380px; border-color: rgba(255,107,38,0.06); }
.cover .ring.r4 { inset: -540px; border-color: rgba(255,107,38,0.04); }
.cover .ring .nub {
  position: absolute;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--brand-500);
  box-shadow: 0 0 16px var(--brand-500), 0 0 32px var(--brand-glow);
}
.cover .ring.r1 .nub { top: -4px; left: 50%; transform: translateX(-50%); }
.cover .ring.r2 .nub { top: 50%; right: -4px; transform: translateY(-50%); width: 6px; height: 6px; }
.cover .ring.r3 .nub { bottom: -4px; left: 30%; width: 5px; height: 5px; }
.cover .ring.r4 .nub { top: 35%; left: -4px; width: 4px; height: 4px; opacity: 0.7; }
.cover .glow-c {
  position: absolute;
  width: 1100px; height: 1100px;
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(255,107,38,0.55) 0%, rgba(255,107,38,0.22) 22%, rgba(255,107,38,0.06) 48%, transparent 70%);
  filter: blur(24px);
  z-index: -1;
  animation: cover-pulse 4.5s ease-in-out infinite;
}
@keyframes cover-pulse {
  0%, 100% { transform: scale(1); opacity: 0.95; }
  50%      { transform: scale(1.06); opacity: 1; }
}
.cover img {
  width: 360px; height: auto;
  position: relative; z-index: 1; display: block;
  filter: drop-shadow(0 0 60px rgba(255,107,38,0.45)) drop-shadow(0 0 120px rgba(255,107,38,0.25));
}
.cover .underglow {
  position: absolute;
  bottom: -34px; left: 50%; transform: translateX(-50%);
  width: 280px; height: 2px;
  background: linear-gradient(90deg, transparent, var(--brand-500), transparent);
  box-shadow: 0 0 24px var(--brand-500);
}

.cover-pill {
  position: relative;
  display: inline-flex; align-items: center; gap: 14px;
  padding: 14px 28px 14px 36px;
  border: 1px solid var(--border-accent);
  border-radius: 6px;
  background: rgba(255,107,38,0.05);
  font: 600 14px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--brand-400);
}
.cover-pill::before {
  content: "";
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--brand-500);
  box-shadow: 0 0 12px var(--brand-500);
}
.cover-pill::after {
  content: "";
  position: absolute;
  top: 50%; transform: translateY(-50%);
  left: -56px; width: 40px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--border-accent));
}
.cover-pill .right-rule {
  position: absolute;
  top: 50%; transform: translateY(-50%);
  right: -56px; width: 40px; height: 1px;
  background: linear-gradient(90deg, var(--border-accent), transparent);
}

.cover-particles {
  position: absolute; inset: 0; pointer-events: none; z-index: 0;
}
.cover-particles span {
  position: absolute;
  width: 3px; height: 3px;
  border-radius: 50%;
  background: var(--brand-500);
  box-shadow: 0 0 8px var(--brand-500);
  opacity: 0.6;
}
.cover-particles span:nth-child(1) { top: 18%; left: 22%; }
.cover-particles span:nth-child(2) { top: 30%; right: 18%; width: 2px; height: 2px; opacity: 0.4; }
.cover-particles span:nth-child(3) { bottom: 24%; left: 14%; width: 2px; height: 2px; opacity: 0.5; }
.cover-particles span:nth-child(4) { bottom: 18%; right: 26%; opacity: 0.45; }
.cover-particles span:nth-child(5) { top: 64%; left: 70%; width: 2px; height: 2px; opacity: 0.4; }
.cover-particles span:nth-child(6) { top: 12%; left: 55%; width: 2px; height: 2px; opacity: 0.5; }

/* ============================================================
   SLIDE 02 · FUNDADORES — layout KNT-style
   ============================================================ */
.founders { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: stretch; margin-top: 24px; }
.founder {
  position: relative;
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 32px;
  align-items: center;
  background:
    radial-gradient(ellipse 80% 60% at 0% 50%, rgba(255,107,38,0.06), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,0.022), rgba(255,255,255,0.006));
  padding: 32px 36px 32px 32px;
  border: 1px solid var(--border-1);
  border-radius: 16px;
  min-height: 440px;
}
.founder .tag-tr {
  position: absolute;
  top: 22px; right: 28px;
  font: 500 14px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--text-3);
}
.founder .portrait {
  width: 280px;
  height: 360px;
  background: var(--bg-2);
  border: 1px solid var(--border-2);
  position: relative;
  overflow: hidden;
  border-radius: 12px;
}
.founder .portrait::after {
  content: "";
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 80px rgba(0,0,0,0.4);
  pointer-events: none;
}
.founder .portrait img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.founder .info { display: flex; flex-direction: column; gap: 12px; padding-top: 28px; }
.founder .role-label {
  font: 600 14px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--brand-500);
}
.founder .name { font: 800 52px/1.04 'Inter'; letter-spacing: -1.2px; color: var(--text-1); margin-top: 2px; }
.founder .pill {
  display: inline-flex; align-items: center; gap: 10px;
  align-self: flex-start;
  margin-top: 4px;
  padding: 9px 16px;
  border-radius: 999px;
  border: 1px solid var(--border-accent);
  background: rgba(255,107,38,0.08);
  font: 600 13px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--brand-400);
}
.founder .pill::before {
  content: "";
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--brand-500);
  box-shadow: 0 0 10px var(--brand-500);
}
.founder .bullets {
  list-style: none;
  padding: 0; margin: 14px 0 0;
  display: flex; flex-direction: column; gap: 12px;
}
.founder .bullets li {
  font: 500 21px/1.35 'Inter';
  color: var(--text-1);
  display: flex; align-items: baseline; gap: 14px;
}
.founder .bullets li::before {
  content: "—";
  color: var(--brand-500);
  font-weight: 500;
  flex-shrink: 0;
}

/* ============================================================
   SLIDE 03 · PROFISSÕES — 3 cards
   ============================================================ */
.tri-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.profession-card { padding: 36px 30px; display: flex; flex-direction: column; gap: 16px; min-height: 460px; }
.profession-card .pdiv { width: 44px; height: 2px; background: var(--brand-500); margin: 4px 0 12px; }
.profession-card .ptitle { font: 700 42px/1.06 'Inter'; letter-spacing: -0.7px; color: var(--text-1); }
.profession-card .psub { font: 500 19px/1.4 'Inter'; color: var(--text-2); margin-top: -4px; min-height: 19px; }
.profession-card .block { display: flex; flex-direction: column; gap: 6px; padding-top: 14px; border-top: 1px solid var(--border-1); }
.profession-card .block:first-of-type { border-top: none; padding-top: 0; }
.profession-card .block .lbl {
  font: 600 16px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--brand-500);
}
.profession-card .block .txt { font: 500 23px/1.35 'Inter'; color: var(--text-1); }
.profession-card .eyebrow.plain { font-size: 18px !important; }

/* ============================================================
   SLIDE 04 · CENAS — 3 cards verticais
   ============================================================ */
.scenes { display: flex; flex-direction: column; gap: 18px; max-width: 1700px; margin: 0 auto; width: 100%; flex: 1; justify-content: center; }
.scene-card {
  padding: 26px 48px;
  display: flex; flex-direction: column; gap: 10px;
  min-height: 0;
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, var(--bg-1), var(--bg-2));
  border: 1px solid var(--border-2);
  border-radius: 16px;
}
.scene-card::before {
  content: "";
  position: absolute;
  top: -80px; right: -60px;
  width: 240px; height: 240px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,107,38,0.12), transparent 65%);
  pointer-events: none;
}
.scene-card > * { position: relative; z-index: 1; }
.scene-card .seye {
  font: 600 16px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--brand-500);
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border-accent);
  align-self: flex-start;
  padding-right: 14px;
}
.scene-card .ssetup { font: 500 23px/1.35 'Inter'; color: var(--text-3); margin-top: 4px; }
.scene-card .spivot { font: 700 34px/1.18 'Inter'; letter-spacing: -0.5px; color: var(--text-1); }
.scene-card .sdiv { width: 52px; height: 1px; background: var(--border-accent); margin: 6px 0; }
.scene-card .sclose { font: 600 italic 21px/1.4 'Inter'; color: var(--brand-500); }

/* Slide 04 · variante 3-colunas — usada após remoção do ssetup */
.scenes.scenes-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  flex: 1;
  align-items: stretch;
  max-width: 1700px;
  justify-content: stretch;
}
.scene-card.row {
  padding: 44px 44px 40px;
  gap: 16px;
  justify-content: flex-start;
}
.scene-card.row::before {
  width: 360px; height: 360px;
  top: -140px; right: -120px;
  background: radial-gradient(circle, rgba(255,107,38,0.14), transparent 60%);
}
.scene-card.row .s-num {
  font: 800 112px/0.9 'Inter';
  letter-spacing: -4px;
  color: var(--brand-500);
  opacity: 0.16;
  margin: -8px 0 -4px;
}
.scene-card.row .seye { margin-bottom: 2px; }
.scene-card.row .spivot {
  font-size: 34px;
  line-height: 1.2;
  letter-spacing: -0.6px;
  flex: 1;
}
.scene-card.row .sdiv { margin: 10px 0 4px; width: 64px; }
.scene-card.row .sclose {
  font-size: 22px;
  line-height: 1.4;
}

/* Legacy (caso reapareça em outros lugares) */
.scene-card .smain { font: 600 32px/1.2 'Inter'; letter-spacing: -0.5px; color: var(--text-1); }
.scene-card .ssec  { font: 400 22px/1.4 'Inter'; color: var(--text-2); }

.reframe {
  margin-top: 14px;
  padding: 24px 0;
  text-align: center;
  border-top: 1px solid var(--border-accent);
  border-bottom: 1px solid var(--border-accent);
  display: flex; flex-direction: column; gap: 4px;
  background: radial-gradient(ellipse 60% 100% at 50% 50%, rgba(255,107,38,0.06), transparent 70%);
}
.reframe p { margin: 0; font: 500 26px/1.3 'Inter'; color: var(--text-1); }
.reframe p.last { color: var(--brand-500); font-weight: 700; font-size: 30px; margin-top: 6px; }

/* ============================================================
   SLIDE 05 · JANELA — timeline 4 marcos
   ============================================================ */
.timeline-h {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: 32px;
  padding: 0 32px;
  min-height: 380px;
}
/* Dashed line for the past + present + future */
.timeline-h::before {
  content: "";
  position: absolute;
  top: 80px;
  left: 12%; right: 12%;
  height: 0;
  border-top: 1px dashed rgba(255,255,255,0.20);
}
/* Solid orange line starting at HOJE (~37.5%) to the end */
.timeline-h::after {
  content: "";
  position: absolute;
  top: 79.5px;
  left: 37.5%; right: 12%;
  height: 2px;
  background: linear-gradient(90deg,
    var(--brand-500) 0%,
    var(--brand-500) 30%,
    var(--brand-600) 60%,
    var(--brand-700) 100%);
}
.timeline-node {
  display: flex; flex-direction: column; align-items: center;
  gap: 14px;
  position: relative; z-index: 1;
  padding: 0 12px;
  min-width: 0;
}
.timeline-node .ts-num {
  font: 600 14px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.28em;
  color: var(--text-4);
}
.timeline-node .ts-eye {
  font: 600 18px/1.3 'JetBrains Mono', monospace;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--text-2);
  text-align: center;
}
.timeline-node .ts-dot {
  width: 16px; height: 16px;
  border-radius: 50%;
  background: transparent;
  border: 2px solid var(--text-4);
  margin: 6px 0 8px;
}
.timeline-node .ts-label {
  font: 700 34px/1.12 'Inter';
  letter-spacing: -0.5px;
  color: var(--text-1);
  text-align: center;
  max-width: 100%;
  word-break: normal;
  hyphens: none;
}
.timeline-node .ts-label-card {
  font: 800 34px/1.12 'Inter';
  letter-spacing: -0.5px;
  color: var(--brand-500);
  text-align: center;
  padding: 14px 22px;
  background: rgba(255,107,38,0.08);
  border: 1px solid var(--border-accent);
  border-radius: 14px;
  max-width: 100%;
}
.timeline-node .ts-micro {
  font: 400 italic 21px/1.35 'Inter';
  color: var(--text-3);
  text-align: center;
  max-width: 100%;
  margin-top: 6px;
}

/* Far marco · label menor pra caber "Quem não souber fica para trás" */
.timeline-node.far .ts-label { font-size: 28px; line-height: 1.18; }

/* PAST · Há 5 anos */
.timeline-node.past .ts-num { color: var(--text-4); }
.timeline-node.past .ts-eye { color: var(--text-4); font-weight: 500; }
.timeline-node.past .ts-label { color: var(--text-3); font-weight: 700; }

/* NOW · Hoje */
.timeline-node.now .ts-num { color: var(--brand-500); }
.timeline-node.now .ts-eye { color: var(--brand-500); font-weight: 700; }
.timeline-node.now .ts-dot {
  width: 28px; height: 28px;
  background: var(--brand-500);
  border-color: var(--brand-500);
  box-shadow: 0 0 24px rgba(255,107,38,0.75);
  margin: 0 0 8px;
  animation: now-dot-pulse 2.8s ease-in-out infinite;
}
@keyframes now-dot-pulse {
  0%, 100% { box-shadow: 0 0 18px rgba(255,107,38,0.65); }
  50%      { box-shadow: 0 0 32px rgba(255,107,38,0.95); }
}
.timeline-node.now .ts-micro { color: var(--brand-500); }

/* SOON · Em 3 anos */
.timeline-node.soon .ts-eye { color: var(--text-2); }
.timeline-node.soon .ts-dot {
  width: 20px; height: 20px;
  background: var(--brand-600);
  border-color: var(--brand-600);
  box-shadow: 0 0 24px rgba(229,90,28,0.4);
  margin: 4px 0 8px;
}
.timeline-node.soon .ts-label { color: var(--text-2); }

/* FAR · Em 5 anos */
.timeline-node.far .ts-eye { color: var(--text-2); }
.timeline-node.far .ts-dot {
  width: 22px; height: 22px;
  background: var(--brand-700);
  border-color: var(--brand-700);
  box-shadow: 0 0 32px rgba(184,66,15,0.45);
  margin: 3px 0 8px;
  animation: pulse-glow-soft 3.2s ease-in-out infinite;
}
.timeline-node.far .ts-label { color: var(--text-2); }
@keyframes pulse-glow-soft {
  0%, 100% { box-shadow: 0 0 24px rgba(184,66,15,0.35); }
  50%      { box-shadow: 0 0 48px rgba(184,66,15,0.6); }
}

/* Window final — pergunta hero */
.window-final {
  margin-top: 32px;
  display: flex; flex-direction: column; align-items: center;
  gap: 26px;
  text-align: center;
}
.window-final .rule {
  width: 200px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,107,38,0.5), transparent);
}
.window-final p {
  font: 500 italic 60px/1.18 'Inter';
  letter-spacing: -0.6px;
  color: var(--text-1);
  margin: 0;
  max-width: 1500px;
}

/* ============================================================
   SLIDE 06 · ESTRUTURA — fotos
   ============================================================ */
.photo-grid {
  display: grid;
  grid-template-rows: 1.4fr 1fr;
  gap: 20px;
  height: 720px;
  width: 100%;
}
.photo-grid.two {
  grid-template-rows: 1fr;
  grid-template-columns: 1fr 1fr;
  height: 680px;
}
.photo-grid .row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.photo {
  position: relative;
  border: 1px solid var(--border-2);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.0) 60%, rgba(255,107,38,0.04) 100%),
    repeating-linear-gradient(45deg, rgba(255,255,255,0.025) 0 14px, rgba(255,255,255,0.05) 14px 28px),
    var(--bg-2);
  overflow: hidden;
}
.photo::after {
  content: attr(data-cap);
  position: absolute;
  left: 28px; bottom: 24px;
  font: 500 11px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--text-4);
}
.photo .corner {
  position: absolute;
  width: 26px; height: 26px;
  border-color: var(--brand-500);
  border-style: solid;
  border-width: 0;
  opacity: 0.7;
}
.photo .corner.tl { top: 0; left: 0; border-top-width: 2px; border-left-width: 2px; }
.photo .corner.br { bottom: 0; right: 0; border-bottom-width: 2px; border-right-width: 2px; }

.photo.has-photo {
  background: var(--bg-1);
}
.photo.has-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.photo.has-photo .corner { z-index: 2; }
.photo.has-photo::after {
  z-index: 2;
  left: 24px;
  bottom: 22px;
  padding: 8px 14px;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border-radius: 6px;
  color: rgba(255,255,255,0.92);
  letter-spacing: 0.28em;
}

/* ============================================================
   SLIDE 07 · PILARES — 3 cards verticais
   ============================================================ */
.pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.pillar { padding: 44px 38px; display: flex; flex-direction: column; gap: 22px; min-height: 580px; }
.pillar .icon { width: 84px; height: 84px; color: var(--brand-500); margin-bottom: 4px; }
.pillar .icon svg { width: 100%; height: 100%; stroke-width: 1.6; }
.pillar .ptitle { font: 700 44px/1.06 'Inter'; letter-spacing: -0.7px; color: var(--text-1); }
.pillar .pdesc { font: 500 23px/1.5 'Inter'; color: var(--text-2); }
.pillar .pline { width: 52px; height: 2px; background: var(--brand-500); margin: 8px 0; }
.pillar .papps {
  display: flex; flex-direction: column; gap: 10px;
  font: 500 17px/1.4 'JetBrains Mono', monospace;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--text-2);
  margin-top: auto;
  padding-top: 24px;
  border-top: 1px solid var(--border-1);
}
.pillar .panchor {
  font: 700 22px/1.3 'Inter';
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--brand-500);
  padding: 14px 22px;
  background: rgba(255,107,38,0.12);
  border: 1px solid var(--border-accent);
  border-radius: 999px;
  align-self: flex-start;
}
.pillar .eyebrow.plain { font-size: 16px !important; }

/* ============================================================
   SLIDE 08 · DIFICULDADE
   ============================================================ */
.path-card { padding: 38px 36px; display: flex; flex-direction: column; gap: 16px; min-height: 460px; }
.path-card .pe-eye {
  font: 600 16px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--brand-500);
}
.path-card .pe-title { font: 700 42px/1.08 'Inter'; letter-spacing: -0.7px; color: var(--text-1); }
.path-card .pe-body { font: 500 23px/1.5 'Inter'; color: var(--text-2); }
.path-card .pe-result {
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid var(--border-accent);
  display: flex; gap: 14px; flex-wrap: wrap;
  font: 500 19px/1.4 'Inter';
  color: var(--text-1);
}
.path-card .pe-result b {
  color: var(--brand-500);
  font: 700 14px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

.exists-nord {
  text-align: center;
  margin-top: 18px;
  display: flex; flex-direction: column; gap: 10px;
}
.exists-nord .neg {
  font: 500 26px/1.45 'Inter';
  color: var(--text-1);
  letter-spacing: -0.2px;
}
.exists-nord .neg .x { color: var(--text-3); font-weight: 500; }
.exists-nord .yes {
  font: 800 120px/1 'Inter';
  letter-spacing: -3px;
  color: var(--brand-500);
  text-shadow: 0 0 90px rgba(255,107,38,0.45);
  margin-top: 4px;
}

/* ============================================================
   SLIDE 09 · EMPRESAS
   ============================================================ */
.eco-card { padding: 42px 36px; display: flex; flex-direction: column; gap: 14px; min-height: 540px; position: relative; overflow: hidden; }
.eco-card .eg-watermark {
  position: absolute;
  right: -8px; bottom: -56px;
  font: 800 240px/1 'Inter';
  letter-spacing: -8px;
  color: rgba(255,255,255,0.022);
  pointer-events: none;
  z-index: 0;
}
.eco-card > * { position: relative; z-index: 1; }
.eco-card .eg-eye {
  font: 500 15px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--brand-500);
}
.eco-card .eg-name { font: 700 46px/1.06 'Inter'; letter-spacing: -0.8px; color: var(--text-1); }
.eco-card .eg-cat {
  font: 500 14px/1.4 'JetBrains Mono', monospace;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--text-2);
}
.eco-card .eg-desc { font: 500 22px/1.55 'Inter'; color: var(--text-2); margin-top: 14px; }
.eco-card .eg-metric {
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid var(--border-accent);
  font: 700 15px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--brand-500);
}

/* ============================================================
   SLIDE 10 · MÉTODO — 4 nodes
   ============================================================ */
.method {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: 18px;
  padding: 0 16px;
}
.method::before {
  content: "";
  position: absolute;
  top: 52px;
  left: 12.5%; right: 12.5%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--border-accent) 10%, var(--border-accent) 90%, transparent);
}
.method-step { padding: 0 22px; display: flex; flex-direction: column; gap: 12px; position: relative; z-index: 1; align-items: center; }
.method-step .node {
  width: 60px; height: 60px;
  border-radius: 50%;
  background: var(--bg-2);
  border: 2px solid var(--brand-500);
  margin: 22px 0 6px;
  display: flex; align-items: center; justify-content: center;
  font: 800 22px/1 'Inter';
  color: var(--brand-500);
  letter-spacing: 0.04em;
  box-shadow: 0 0 28px rgba(255,107,38,0.22);
}
.method-step .m-eye {
  font: 500 14px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--brand-500);
  text-align: center;
}
.method-step .m-title {
  font: 700 34px/1.12 'Inter';
  letter-spacing: -0.5px;
  color: var(--text-1);
  text-align: center;
}
.method-step .m-desc {
  font: 500 19px/1.45 'Inter';
  color: var(--text-2);
  text-align: center;
  max-width: 320px;
}

.method-quote {
  margin: 30px auto 0;
  padding: 40px 60px 32px;
  text-align: center;
  position: relative;
  max-width: 1500px;
  border-radius: 16px;
  border: 1px solid var(--border-accent);
  background:
    radial-gradient(ellipse 80% 100% at 50% 0%, rgba(255,107,38,0.12), transparent 70%),
    linear-gradient(180deg, var(--bg-2), var(--bg-3));
  box-shadow: 0 0 80px -10px var(--brand-glow);
}
.method-quote::before {
  content: "“";
  position: absolute;
  left: 50%; transform: translateX(-50%);
  top: -54px;
  font: 800 140px/1 'Inter';
  color: var(--brand-500);
  opacity: 0.55;
}
.method-quote .mq { font: 500 italic 32px/1.3 'Inter'; color: var(--text-1); letter-spacing: -0.4px; }
.method-quote .mqsig {
  display: block;
  margin-top: 16px;
  font: 600 14px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--brand-500);
}

/* ============================================================
   SLIDE 11 · ANCORAGEM — tabela comparativa
   ============================================================ */
.anchor-table { display: flex; flex-direction: column; gap: 12px; margin-top: 28px; }
.anchor-row {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1.2fr;
  gap: 40px;
  align-items: center;
  padding: 26px 32px;
  border: 1px solid var(--border-2);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255,255,255,0.012), rgba(255,255,255,0.0));
  position: relative;
  overflow: hidden;
}
.anchor-row::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 60%, rgba(255,107,38,0.04) 100%);
  pointer-events: none;
}
.anchor-row > * { position: relative; z-index: 1; }
.anchor-row .a-left { display: flex; flex-direction: column; gap: 6px; }
.anchor-row .a-name { font: 700 32px/1.18 'Inter'; color: var(--text-1); letter-spacing: -0.4px; }
.anchor-row .a-prazo {
  font: 600 14px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--text-3);
}
.anchor-row .a-falta { font: 400 italic 21px/1.4 'Inter'; color: var(--text-2); }
.anchor-row .a-inv {
  font: 800 64px/1 'Inter';
  letter-spacing: -1.6px;
  color: var(--brand-500);
  display: flex; align-items: baseline; gap: 12px;
  justify-content: flex-end;
  text-align: right;
  text-shadow: 0 0 40px rgba(255,107,38,0.25);
}
.anchor-row .a-inv .per {
  font: 600 14px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--text-3);
}

.anchor-row.nord {
  margin-top: 20px;
  padding: 32px 36px;
  border-radius: 16px;
  border: 2px solid var(--border-accent);
  background:
    radial-gradient(ellipse 60% 100% at 0% 50%, rgba(255,107,38,0.16), transparent 70%),
    linear-gradient(180deg, var(--bg-2), var(--bg-3));
  box-shadow: 0 0 90px -10px var(--brand-glow);
}
.anchor-row.nord .a-name { color: var(--brand-500); font-weight: 800; font-size: 44px; letter-spacing: -0.8px; }
.anchor-row.nord .a-prazo { color: var(--brand-500); }
.anchor-row.nord .a-inv { color: var(--brand-500); font-weight: 800; font-size: 22px; }
.anchor-row.nord .a-falta { color: var(--text-1); font-style: italic; font-size: 20px; }

/* ============================================================
   SLIDE 12 · VALOR DE TABELA · KNT-style
   ============================================================ */
.price-card {
  padding: 36px 32px 28px;
  min-height: 560px;
  display: flex; flex-direction: column;
  position: relative;
  overflow: visible;
  gap: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.012), rgba(255,255,255,0.0));
}
.price-card.featured {
  border: 1px solid var(--border-accent);
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(255,107,38,0.12), transparent 70%),
    linear-gradient(180deg, var(--bg-2), var(--bg-3));
  box-shadow: 0 0 80px -10px var(--brand-glow);
}
.price-card .pc-badge {
  position: absolute;
  top: -18px; left: 28px;
  padding: 10px 18px;
  border-radius: 8px;
  background: var(--brand-500);
  color: #0A0A0B;
  font: 700 13px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  box-shadow: 0 4px 24px rgba(255,107,38,0.4);
}
.price-card .pc-label {
  font: 600 15px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.30em;
  text-transform: uppercase;
  color: var(--text-3);
  margin-bottom: 22px;
}
.price-card .pc-value {
  font: 800 92px/1 'Inter';
  letter-spacing: -2.4px;
  color: var(--text-1);
  display: flex; align-items: baseline; gap: 8px;
}
.price-card.featured .pc-value { color: var(--brand-500); text-shadow: 0 0 60px rgba(255,107,38,0.3); }
.price-card .pc-value .per {
  font: 500 22px/1 'Inter';
  color: var(--text-3);
  letter-spacing: 0;
}
.price-card.featured .pc-value .per { color: var(--brand-500); opacity: 0.85; }
.price-card .pc-features {
  display: flex; flex-direction: column; gap: 14px;
  list-style: none; padding: 0; margin: 32px 0 0;
}
.price-card .pc-features li {
  display: flex; gap: 14px; align-items: flex-start;
  font: 500 20px/1.4 'Inter';
  color: var(--text-1);
}
.price-card .pc-features li::before {
  content: "✓";
  flex-shrink: 0;
  width: 26px; height: 26px;
  margin-top: 1px;
  border-radius: 50%;
  background: var(--brand-500);
  color: #0A0A0B;
  font: 700 16px/26px 'Inter';
  text-align: center;
}
.price-card .pc-foot {
  margin-top: auto;
  padding-top: 22px;
  border-top: 1px solid var(--border-2);
  display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
  font: 600 14px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.26em;
  text-transform: uppercase;
}
.price-card .pc-foot .lft { color: var(--text-3); }
.price-card .pc-foot .rgt { color: var(--brand-500); }
.price-card.featured .pc-foot { border-top-color: var(--border-accent); }

/* Legacy fallback for olders elements not removed */
.price-card .pc-eye { display: none; }
.price-card .pc-cadence { display: none; }
.price-card .pc-desc { display: none; }
.price-card .pc-anchor:not(:empty) { display: none; }

.bridge {
  margin-top: 32px;
  text-align: center;
  display: flex; flex-direction: column; gap: 8px;
}
.bridge p { margin: 0; }
.bridge .b1 { font: 500 italic 28px/1.3 'Inter'; color: var(--text-1); }
.bridge .b2 { font: 700 italic 34px/1.3 'Inter'; color: var(--brand-500); }

/* ============================================================
   SLIDE 13 · ECONOMIA OPERACIONAL
   ============================================================ */
.cost-card {
  padding: 24px 36px;
  display: flex; flex-direction: column;
  gap: 0;
}
.cost-card .cc-head {
  font: 600 14px/1.4 'JetBrains Mono', monospace;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--text-2);
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border-2);
  margin-bottom: 2px;
}
.cost-row {
  display: grid;
  grid-template-columns: 1fr 240px;
  gap: 32px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid var(--border-2);
}
.cost-row .cr-left { display: flex; flex-direction: column; gap: 6px; }
.cost-row .cr-name { font: 700 26px/1.2 'Inter'; letter-spacing: -0.4px; color: var(--text-1); }
.cost-row .cr-desc {
  font: 500 13px/1.4 'JetBrains Mono', monospace;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--text-2);
}
.cost-row .cr-right { text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.cost-row .cr-val { font: 800 34px/1 'Inter'; letter-spacing: -0.6px; color: var(--text-1); }
.cost-row .cr-unit {
  font: 600 13px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--text-2);
}

.cost-total {
  margin-top: 10px;
  padding: 20px 32px;
  border-radius: 16px;
  border: 2px solid var(--border-accent);
  background:
    radial-gradient(ellipse 60% 100% at 50% 0%, rgba(255,107,38,0.16), transparent 70%),
    linear-gradient(180deg, var(--bg-2), var(--bg-3));
  box-shadow: 0 0 80px -10px var(--brand-glow);
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 32px;
}
.cost-total .ct-label {
  font: 700 17px/1.4 'JetBrains Mono', monospace;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--text-1);
}
.cost-total .ct-val {
  font: 800 72px/1 'Inter';
  letter-spacing: -2px;
  color: var(--brand-500);
  display: flex; align-items: baseline; gap: 12px;
  text-shadow: 0 0 60px rgba(255,107,38,0.4);
}
.cost-total .ct-val span {
  font: 700 18px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--brand-500);
}
.cost-note {
  margin-top: 10px;
  text-align: center;
  font: 500 13px/1.5 'JetBrains Mono', monospace;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--text-3);
  max-width: 1500px;
  margin-left: auto; margin-right: auto;
}

/* ============================================================
   SLIDE 14 · CONDIÇÃO ESPECIAL · KNT-style
   ============================================================ */
.discount-card {
  padding: 36px 32px 28px;
  min-height: 540px;
  display: flex; flex-direction: column;
  position: relative;
  overflow: visible;
  background: linear-gradient(180deg, rgba(255,255,255,0.012), rgba(255,255,255,0.0));
  gap: 0;
  align-items: stretch;
  text-align: left;
}
.discount-card.featured {
  border: 1px solid var(--border-accent);
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(255,107,38,0.14), transparent 70%),
    linear-gradient(180deg, var(--bg-2), var(--bg-3));
  box-shadow: 0 0 90px -10px var(--brand-glow);
}
.discount-card .d-badge {
  position: absolute;
  top: -18px; left: 28px;
  padding: 10px 18px;
  border-radius: 8px;
  background: var(--brand-500);
  color: #0A0A0B;
  font: 700 13px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  box-shadow: 0 4px 24px rgba(255,107,38,0.4);
}
.discount-card .d-label {
  font: 600 15px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.30em;
  text-transform: uppercase;
  color: var(--text-3);
  margin-bottom: 18px;
  text-align: left;
}
.discount-card .d-from {
  font: 500 28px/1 'Inter';
  color: var(--text-3);
  text-decoration: line-through;
  text-decoration-color: rgba(255,255,255,0.35);
  text-decoration-thickness: 2px;
  margin-bottom: 6px;
  text-align: left;
}
.discount-card .d-arrow { display: none; }
.discount-card .d-to {
  font: 800 88px/1 'Inter';
  letter-spacing: -2.4px;
  color: var(--text-1);
  display: flex; align-items: baseline; gap: 8px;
  text-align: left;
}
.discount-card.featured .d-to { color: var(--brand-500); text-shadow: 0 0 60px rgba(255,107,38,0.3); }
.discount-card .d-to span {
  font: 500 22px/1 'Inter';
  letter-spacing: 0;
  color: var(--text-3);
}
.discount-card.featured .d-to span { color: var(--brand-500); opacity: 0.85; }
.discount-card .d-save {
  align-self: flex-start;
  margin-top: 18px;
  padding: 10px 18px;
  border-radius: 999px;
  background: rgba(255,107,38,0.15);
  border: 1px solid var(--border-accent);
  font: 700 14px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--brand-500);
}
.discount-card .d-features {
  display: flex; flex-direction: column; gap: 12px;
  list-style: none; padding: 0; margin: 24px 0 0;
}
.discount-card .d-features li {
  display: flex; gap: 14px; align-items: flex-start;
  font: 500 18px/1.35 'Inter';
  color: var(--text-1);
  text-align: left;
}
.discount-card .d-features li::before {
  content: "✓";
  flex-shrink: 0;
  width: 24px; height: 24px;
  margin-top: 1px;
  border-radius: 50%;
  background: var(--brand-500);
  color: #0A0A0B;
  font: 700 14px/24px 'Inter';
  text-align: center;
}
.discount-card .d-foot {
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid var(--border-2);
  display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
  font: 600 13px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.26em;
  text-transform: uppercase;
}
.discount-card .d-foot .lft { color: var(--text-3); }
.discount-card .d-foot .rgt { color: var(--brand-500); }
.discount-card.featured .d-foot { border-top-color: var(--border-accent); }

.savings-card {
  margin-top: 22px;
  padding: 28px 56px;
  border-radius: 16px;
  border: 2px solid var(--border-accent);
  background:
    radial-gradient(ellipse 60% 100% at 50% 0%, rgba(255,107,38,0.20), transparent 70%),
    linear-gradient(180deg, var(--bg-2), var(--bg-3));
  box-shadow: 0 0 110px -10px var(--brand-glow);
  display: grid;
  grid-template-columns: 1fr 1px 1fr;
  gap: 48px;
}
.savings-card .sv { display: flex; flex-direction: column; gap: 10px; align-items: center; }
.savings-card .sv .lbl {
  font: 700 15px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--brand-500);
}
.savings-card .sv .val {
  font: 800 96px/1 'Inter';
  letter-spacing: -2.6px;
  color: var(--brand-500);
  text-shadow: 0 0 80px rgba(255,107,38,0.4);
}
.savings-card .div { width: 1px; height: 100%; background: var(--border-accent); }

.pay-methods {
  margin-top: 22px;
  text-align: center;
  display: flex; flex-direction: column; gap: 8px;
}
.pay-methods .pm1 {
  font: 700 16px/1.4 'JetBrains Mono', monospace;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--text-1);
}
.pay-methods .pm2 {
  font: 500 13px/1.4 'JetBrains Mono', monospace;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--text-2);
}
.disclaimer-final {
  margin-top: 18px;
  text-align: center;
  font: 500 italic 24px/1.4 'Inter';
  color: var(--text-1);
}

/* ============================================================
   SLIDE 15 · TIMELINE PAGAMENTO
   ============================================================ */
.pay-timeline {
  margin-top: 36px;
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  align-items: start;
}
.pay-timeline::before {
  content: "";
  position: absolute;
  top: 44px;
  left: 16.6%; right: 16.6%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--border-accent) 8%, var(--border-accent) 92%, transparent);
}
.pay-marker { display: flex; flex-direction: column; align-items: center; gap: 14px; position: relative; z-index: 1; padding: 0 24px; }
.pay-marker .pm-eye {
  font: 600 16px/1.4 'JetBrains Mono', monospace;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--text-2);
  text-align: center;
  height: 22px;
}
.pay-marker .pm-dot {
  width: 24px; height: 24px;
  border-radius: 50%;
  background: var(--bg-2);
  border: 2px solid var(--border-accent);
  margin: 12px 0;
}
.pay-marker.center .pm-eye { color: var(--brand-500); }
.pay-marker.center .pm-dot {
  width: 36px; height: 36px;
  background: var(--brand-500);
  border-color: var(--brand-500);
  box-shadow: 0 0 48px var(--brand-glow);
}
.pay-card { width: 100%; padding: 36px 28px; display: flex; flex-direction: column; gap: 14px; align-items: center; text-align: center; min-height: 380px; margin-top: 14px; }
.pay-card .pc-icon { width: 64px; height: 64px; color: var(--brand-500); display: flex; align-items: center; justify-content: center; }
.pay-card .pc-icon svg { width: 100%; height: 100%; overflow: visible; }
.pay-card .pc-value { font: 800 104px/1 'Inter'; letter-spacing: -2.6px; color: var(--text-1); }
.pay-marker.center .pay-card { transform: scale(1.08); border: 2px solid var(--border-accent); box-shadow: 0 0 140px -10px var(--brand-glow); background: radial-gradient(ellipse 80% 100% at 50% 0%, rgba(255,107,38,0.20), transparent 70%), linear-gradient(180deg, var(--bg-2), var(--bg-3)); }
.pay-marker.center .pay-card .pc-icon { width: 84px; height: 84px; }
.pay-marker.center .pay-card .pc-value {
  color: var(--brand-500);
  font-size: 180px;
  letter-spacing: -4.4px;
  text-shadow: 0 0 100px rgba(255,107,38,0.55);
}
.pay-card .pc-label {
  font: 700 16px/1.4 'JetBrains Mono', monospace;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--text-1);
  text-align: center;
}
.pay-card .pc-sub {
  font: 500 13px/1.4 'JetBrains Mono', monospace;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--text-2);
  text-align: center;
}

.pay-bridges {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 0 16.6%;
}
.pay-bridges .pb {
  text-align: center;
  font: 600 14px/1 'JetBrains Mono', monospace;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--text-3);
}

.pay-footer {
  margin-top: 32px;
  text-align: center;
  font: 500 italic 26px/1.4 'Inter';
  color: var(--text-1);
}
