/* ═══════════════════════════════════════════════
   BID Partners — site institucional
   Tokens da marca (brand-board.html)
   ═══════════════════════════════════════════════ */
:root {
  --navy:   #083A4F;
  --navy-d: #052A3A;
  --gold:   #A58D66;
  --gold-l: #C4AC80;
  --sand:   #E5E1DD;
  --paper:  #F4F2ED;
  --ink:    #16181A;
  --line:   #DAD7CF;
  --muted:  #87837A;
  --green:  #1F5E3F;
  /* variações mais legíveis das cores já existentes (sem mudar a paleta) */
  --line-soft: #E6E3DB;
  --ink-soft:  #3C3934;
  --muted-d:   #6B665C;
  --gold-ink:  #8A7350;
}

* { box-sizing: border-box; }
html { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; scroll-behavior: smooth; }
body {
  margin: 0;
  background: #fff;
  color: var(--ink);
  font-family: "IBM Plex Sans", system-ui, sans-serif;
  line-height: 1.55;
}
a { text-decoration: none; color: inherit; }

/* ───────── Logo lockup (BID Partners) ───────── */
.lk { display: inline-flex; align-items: baseline; gap: 0.34em; line-height: 1; }
.lk .bid {
  font-family: "Playfair Display", serif; font-weight: 800;
  font-size: 25px; letter-spacing: -0.006em; color: var(--navy);
}
.lk .pt {
  font-family: "IBM Plex Sans", sans-serif; font-weight: 500;
  font-size: 8px; letter-spacing: 0.3em; text-indent: 0.3em; text-transform: uppercase;
  color: var(--gold); white-space: nowrap;
}

/* ═══════════════════════════════════════════════
   HERO — institucional, tela dividida
   ═══════════════════════════════════════════════ */
.hero {
  position: relative;
  min-height: 100vh;
  padding: 0 clamp(20px, 4.5vw, 64px);
  display: flex; flex-direction: column;
  background:
    radial-gradient(120% 80% at 85% 0%, rgba(165,141,102,0.10), transparent 55%),
    linear-gradient(180deg, #FBFAF7 0%, var(--paper) 100%);
  overflow: hidden;
}

/* ───────── Nav ───────── */
.nav {
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px;
  padding: 26px 0 22px;
  border-bottom: 1px solid var(--line);
}
.nav__left { display: flex; align-items: center; gap: clamp(20px, 2.4vw, 40px); min-width: 0; }
.nav__logo { flex: none; }
.nav__links { display: flex; align-items: center; gap: clamp(14px, 1.5vw, 26px); }
.nav__link {
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  white-space: nowrap;
  color: var(--muted);
  padding: 6px 2px; position: relative;
  transition: color 0.2s;
}
.nav__link::after {
  content: ""; position: absolute; left: 0; bottom: 0; height: 1px; width: 0;
  background: var(--gold); transition: width 0.25s ease;
}
.nav__link:hover { color: var(--navy); }
.nav__link:hover::after { width: 100%; }

.nav__actions { display: flex; align-items: center; gap: 10px; flex: none; }
.nav__ghost {
  font-family: "IBM Plex Sans", sans-serif; font-weight: 500;
  font-size: 13px; color: var(--navy); white-space: nowrap;
  padding: 10px 14px; border-radius: 10px;
  transition: background 0.2s ease;
}
.nav__ghost:hover { background: rgba(8,58,79,0.06); }
.nav__btn {
  font-family: "IBM Plex Sans", sans-serif; font-weight: 600;
  font-size: 13px; color: #fff; white-space: nowrap;
  background: var(--navy); padding: 10px 18px; border-radius: 10px;
  box-shadow: 0 10px 24px -14px rgba(8,58,79,0.7);
  transition: background 0.2s ease, transform 0.2s ease;
}
.nav__btn:hover { background: var(--navy-d); transform: translateY(-1px); }

/* ───────── Split grid ───────── */
.hero__grid {
  flex: 1;
  display: grid;
  grid-template-columns: 1.02fr 0.98fr;
  align-items: center;
  gap: clamp(32px, 5vw, 80px);
  padding: clamp(40px, 5.5vw, 80px) 0 clamp(28px, 3.5vw, 44px);
}

/* ───────── Left: message ───────── */
.hero__left { max-width: 600px; }
.hero__eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  margin: 0 0 26px;
  font-family: "IBM Plex Mono", monospace;
  font-size: 11.5px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--gold-ink);
}
.hero__eyebrow::before {
  content: ""; flex: none; width: 26px; height: 1px; background: var(--gold);
}
.hero__headline {
  margin: 0;
  font-family: "Playfair Display", serif; font-weight: 700;
  font-size: clamp(33px, 5vw, 62px); line-height: 1.07;
  letter-spacing: -0.02em; color: var(--navy);
  text-wrap: balance;
}
.hero__headline .hl { font-style: italic; color: var(--gold-ink); }
.hero__sub {
  margin: clamp(20px, 2.4vw, 30px) 0 0;
  max-width: 50ch;
  font-size: clamp(14.5px, 1.05vw, 16px); line-height: 1.72;
  color: var(--ink-soft);
}
.hero__sub strong { color: var(--navy); font-weight: 600; }

/* ───────── CTAs ───────── */
.hero__cta-row {
  display: flex; align-items: center; flex-wrap: wrap; gap: 14px;
  margin-top: clamp(30px, 3.6vw, 44px);
}
.hero__btn {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 15px 24px; border-radius: 12px;
  font-family: "IBM Plex Sans", sans-serif; font-weight: 600; font-size: 14.5px;
  white-space: nowrap;
  transition: background 0.22s ease, border-color 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
}
.hero__btn--primary {
  background: var(--navy); color: #fff; border: 1px solid var(--navy);
  box-shadow: 0 22px 48px -24px rgba(8,58,79,0.7);
}
.hero__btn--primary:hover {
  background: var(--navy-d); transform: translateY(-2px);
  box-shadow: 0 28px 56px -22px rgba(8,58,79,0.78);
}
.hero__btn-ic {
  width: 26px; height: 26px; border-radius: 7px;
  background: var(--gold); color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 14px; transition: transform 0.22s ease;
}
.hero__btn--primary:hover .hero__btn-ic { transform: translateX(3px); }
.hero__btn--ghost {
  background: transparent; color: var(--navy);
  border: 1px solid var(--line);
}
.hero__btn--ghost:hover {
  border-color: var(--gold); background: rgba(8,58,79,0.03); transform: translateY(-2px);
}

/* ───────── Right: painel de fluxo operacional ───────── */
.hero__right { position: relative; display: flex; align-items: center; }
.flowpanel {
  position: relative; width: 100%;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: 0 44px 96px -48px rgba(8,58,79,0.5);
  overflow: hidden;
}
.flowpanel__head {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 14px 22px;
  background: var(--paper);
  border-bottom: 1px solid var(--line-soft);
}
.flowpanel__id { display: inline-flex; align-items: center; gap: 11px; min-width: 0; }
.flowpanel__seal {
  flex: none;
  display: inline-flex; align-items: center; justify-content: center;
  height: 22px; padding: 0 9px; border-radius: 7px;
  background: var(--navy);
  font-family: "Playfair Display", serif; font-weight: 800; font-size: 11.5px;
  letter-spacing: 0.01em; color: var(--gold-l);
}
.flowpanel__title {
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--navy); white-space: nowrap;
}
.flowpanel__live {
  flex: none;
  display: inline-flex; align-items: center; gap: 7px;
  font-family: "IBM Plex Mono", monospace; font-size: 9.5px;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--gold-ink);
}
.flowpanel__live::before {
  content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--gold);
  box-shadow: 0 0 0 4px rgba(165,141,102,0.16);
  animation: meta-pulse 1.9s ease-in-out infinite;
}

.flowpanel__steps { list-style: none; margin: 0; padding: 24px 24px 12px; }
.fstep { position: relative; padding-left: 52px; padding-bottom: 20px; }
/* linha fina conectando as etapas (esteira) */
.fstep::before {
  content: ""; position: absolute; left: 17px; top: 36px; bottom: 0; width: 1.5px;
  background: linear-gradient(180deg, var(--gold-l) 0%, rgba(196,172,128,0.22) 100%);
}
.fstep:last-child::before { display: none; }
.fstep__node {
  position: absolute; left: 0; top: 0;
  width: 36px; height: 36px; border-radius: 11px;
  border: 1px solid var(--line); background: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: "IBM Plex Mono", monospace; font-size: 12px; font-weight: 600;
  color: var(--navy);
  box-shadow: 0 8px 18px -10px rgba(8,58,79,0.35);
}
.fstep__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.fstep__title {
  margin: 0; font-family: "IBM Plex Sans", sans-serif; font-weight: 600;
  font-size: 15px; letter-spacing: -0.005em; color: var(--navy);
}
.fstep__tag {
  flex: none;
  font-family: "IBM Plex Mono", monospace; font-size: 9px; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--muted);
}
.fstep__desc {
  margin: 4px 0 0; font-size: 12.5px; line-height: 1.5; color: var(--muted-d);
  max-width: 36ch;
}
/* etapa de saída — leilão */
.fstep--exit .fstep__node { background: var(--navy); border-color: var(--navy); color: var(--gold-l); }
.fstep--exit .fstep__tag { color: var(--gold-ink); }

.flowpanel__foot {
  display: flex; align-items: center; gap: 12px;
  padding: 15px 24px; border-top: 1px solid var(--line-soft);
  background: linear-gradient(180deg, #fff, var(--paper));
}
.flowpanel__foot-ic {
  flex: none; width: 30px; height: 30px; border-radius: 9px;
  background: rgba(165,141,102,0.12); color: var(--gold-ink);
  display: inline-flex; align-items: center; justify-content: center;
}
.flowpanel__foot-txt {
  margin: 0; font-family: "Playfair Display", serif; font-style: italic;
  font-size: 13.5px; line-height: 1.4; color: var(--navy);
}

/* ───────── Métricas institucionais ───────── */
.hero__metrics {
  display: grid; grid-template-columns: repeat(3, auto);
  justify-content: center;
  border-top: 1px solid var(--line);
  padding: clamp(22px, 2.6vw, 30px) 0 clamp(30px, 3.4vw, 42px);
}
.metric {
  text-align: center;
  padding: 0 clamp(26px, 4vw, 56px);
  border-left: 1px solid var(--line-soft);
}
.metric:first-child { border-left: none; }
.metric__num {
  font-family: "Playfair Display", serif; font-weight: 700;
  font-size: clamp(26px, 2.6vw, 34px); line-height: 1.05; letter-spacing: -0.015em;
  color: var(--navy);
}
.metric__num .pl { color: var(--gold); }
.metric__suf {
  font-family: "IBM Plex Sans", sans-serif; font-weight: 500;
  font-size: 0.46em; color: var(--muted); margin-left: 6px; letter-spacing: 0;
}
.metric__label {
  margin: 10px 0 0;
  font-family: "IBM Plex Mono", monospace; font-size: 10.5px;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted-d);
}

/* ───────── Entrada suave (load) ───────── */
@media (prefers-reduced-motion: no-preference) {
  .hero__left > *, .flowpanel, .fstep, .hero__metrics {
    animation: hero-rise 0.7s ease both;
  }
  .hero__left > *:nth-child(1) { animation-delay: 0.05s; }
  .hero__left > *:nth-child(2) { animation-delay: 0.12s; }
  .hero__left > *:nth-child(3) { animation-delay: 0.19s; }
  .hero__left > *:nth-child(4) { animation-delay: 0.26s; }
  .flowpanel { animation-delay: 0.18s; }
  .fstep:nth-child(1) { animation-delay: 0.34s; }
  .fstep:nth-child(2) { animation-delay: 0.42s; }
  .fstep:nth-child(3) { animation-delay: 0.50s; }
  .fstep:nth-child(4) { animation-delay: 0.58s; }
  .fstep:nth-child(5) { animation-delay: 0.66s; }
  .hero__metrics { animation-delay: 0.40s; }
}
@keyframes hero-rise {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: none; }
}

/* ───────── Responsivo ───────── */
@media (max-width: 980px) {
  .hero__grid {
    grid-template-columns: 1fr; align-items: start;
    gap: clamp(32px, 6vw, 44px);
    padding: clamp(32px, 6vw, 48px) 0 clamp(24px, 4vw, 36px);
  }
  .hero__left { max-width: 640px; }
  .flowpanel { max-width: 560px; }
}
@media (max-width: 720px) {
  .nav__links { display: none; }
  .nav__ghost { display: none; }
  .metric { padding: 0 clamp(14px, 3.5vw, 28px); }
}
@media (max-width: 600px) {
  .hero { padding: 0 18px; }
  .hero__headline { font-size: clamp(30px, 8vw, 42px); }
  .hero__cta-row { gap: 12px; }
  .hero__btn { width: 100%; justify-content: center; }
  .flowpanel__steps { padding: 20px 18px 8px; }
  .fstep__desc { max-width: none; }
  .hero__metrics { grid-template-columns: 1fr; justify-content: stretch; }
  .metric { padding: 16px 0; border-left: none; border-top: 1px solid var(--line-soft); }
  .metric:first-child { padding-top: 0; border-top: none; }
}

/* ═══════════════════════════════════════════════
   SEÇÃO · O MODELO
   ═══════════════════════════════════════════════ */
.modelo {
  position: relative; overflow: clip;
  background: linear-gradient(180deg, var(--paper) 0%, #FBFAF7 55%, var(--paper) 100%);
  padding: clamp(58px, 6.8vw, 108px) clamp(20px, 4.5vw, 64px);
}
.modelo__wrap { position: relative; z-index: 1; max-width: 1180px; margin: 0 auto; }
.modelo__arc {
  position: absolute; top: -6%; right: -8%;
  width: 56%; max-width: 720px; height: auto; z-index: 0;
  pointer-events: none;
}

.eyebrow {
  margin: 0 0 22px;
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px; letter-spacing: 0.26em; text-transform: uppercase; color: var(--gold);
}

/* ───────── Intro split ───────── */
.modelo__intro {
  display: grid; grid-template-columns: clamp(300px, 36%, 430px) minmax(0, 1fr);
  gap: clamp(40px, 5vw, 84px); align-items: start;
}
.modelo__lead { position: sticky; top: clamp(40px, 9vh, 104px); align-self: start; }
.modelo__intro .trail { margin: 0; max-width: none; }
.modelo__title {
  margin: 0; font-family: "Playfair Display", serif; font-weight: 700;
  font-size: clamp(32px, 4.2vw, 52px); line-height: 1.05;
  letter-spacing: -0.018em; color: var(--navy); text-wrap: balance; max-width: 24ch;
}
.modelo__title-highlight {
  display: block;
  color: var(--gold);
  font-size: 0.86em;
  margin-top: 6px;
}
.modelo__statement {
  margin: clamp(16px, 2vw, 24px) 0 0; max-width: 30ch;
  font-family: "IBM Plex Sans", sans-serif; font-weight: 500;
  font-size: clamp(19px, 1.9vw, 25px); line-height: 1.38; letter-spacing: -0.005em;
  color: var(--navy);
}
.modelo__text {
  margin: clamp(16px, 1.8vw, 22px) 0 0; max-width: 50ch;
  font-size: 15px; line-height: 1.72; color: var(--ink-soft);
}
.modelo__highlight {
  margin: clamp(28px, 3vw, 40px) 0 0; padding: 2px 0 2px 22px;
  border-left: 2px solid var(--gold);
  font-family: "Playfair Display", serif; font-style: italic; font-weight: 500;
  font-size: clamp(18px, 1.7vw, 23px); line-height: 1.42; color: var(--navy); max-width: 42ch;
}
.modelo__highlight span { display: block; color: var(--gold-ink); }

/* ───────── Painel operacional ───────── */
.panel {
  align-self: start;
  background: #fff; border: 1px solid var(--line); border-radius: 18px;
  box-shadow: 0 34px 80px -36px rgba(8,58,79,0.5);
  overflow: hidden;
}
.panel__bar {
  display: flex; align-items: center; gap: 7px;
  padding: 13px 18px; background: var(--paper);
  border-bottom: 1px solid var(--line-soft, #E6E3DB);
}
.panel__dot { width: 9px; height: 9px; border-radius: 50%; background: #D4CFC6; }
.panel__app {
  margin-left: 10px; font-family: "IBM Plex Mono", monospace;
  font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted-d);
}
.panel__body { padding: 22px 24px 26px; }
.panel__veh {
  display: flex; align-items: center; gap: 13px;
  padding-bottom: 18px; border-bottom: 1px solid var(--line-soft, #E6E3DB);
}
.panel__veh-ic {
  flex: none; width: 42px; height: 42px; border-radius: 11px;
  background: var(--navy); color: var(--gold-l);
  display: inline-flex; align-items: center; justify-content: center;
}
.panel__veh-id {
  margin: 0; font-family: "IBM Plex Sans", sans-serif; font-weight: 600;
  font-size: 14px; color: var(--navy);
}
.panel__veh-meta {
  margin: 3px 0 0; font-family: "IBM Plex Mono", monospace;
  font-size: 11px; letter-spacing: 0.04em; color: var(--muted-d);
}
.panel__live {
  margin-left: auto; align-self: flex-start;
  font-family: "IBM Plex Mono", monospace; font-size: 10px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--green); opacity: 0.85; white-space: nowrap;
}
.panel__steps { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-direction: column; gap: 15px; }
.panel__steps li {
  display: flex; align-items: center; gap: 12px;
  font-family: "IBM Plex Sans", sans-serif; font-size: 14px; color: var(--muted-d);
}
.ps-ic {
  flex: none; width: 18px; height: 18px; border-radius: 50%;
  border: 2px solid var(--line); background: #fff; position: relative;
}
.ps-done { color: var(--navy); font-weight: 500; }
.ps-done .ps-ic { background: var(--green); border-color: var(--green); }
.ps-done .ps-ic::after {
  content: ""; position: absolute; left: 4px; top: 1px;
  width: 4px; height: 8px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.ps-active { color: var(--navy); font-weight: 600; }
.ps-active .ps-ic { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(165,141,102,0.16); }
.ps-active .ps-ic::after {
  content: ""; position: absolute; inset: 3px; border-radius: 50%; background: var(--gold);
  animation: ps-pulse 1.7s ease-in-out infinite;
}
@keyframes ps-pulse { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.4; transform: scale(0.6); } }
.panel__track { margin-top: 22px; height: 6px; border-radius: 100px; background: var(--sand); overflow: hidden; }
.panel__fill {
  display: block; height: 100%; width: 50%; border-radius: inherit;
  background: linear-gradient(90deg, var(--navy), var(--gold));
  transition: width 1.2s cubic-bezier(0.4,0,0.2,1);
}

/* ───────── Trilha / timeline (vertical, lado único) ───────── */
.trail { position: relative; margin: clamp(32px, 4.5vw, 58px) auto 0; max-width: 760px; }
.trail__body { position: relative; }
/* trilho base vertical (sempre visível, discreto) */
.trail__axis {
  position: absolute; left: 34px; top: 0; bottom: 0; width: 2px;
  background: linear-gradient(180deg, transparent, var(--line) 3%, var(--line) 97%, transparent);
}
/* preenchimento dourado que percorre a trilha (de cima p/ baixo) */
.trail__fill {
  position: absolute; left: 34px; top: 0; bottom: 0; width: 2px;
  transform: scaleY(1); transform-origin: top center;
  background: linear-gradient(180deg, var(--gold), var(--gold-l));
}
.trail__steps {
  list-style: none; margin: 0; padding: 0; position: relative;
  display: flex; flex-direction: column; gap: clamp(24px, 3vw, 44px);
}

/* ───────── Canais de entrada (convergência p/ etapa 01) ───────── */
.trail__origins { margin-bottom: 4px; }
.origins__label {
  margin: 0 0 12px;
  font-family: "IBM Plex Mono", monospace;
  font-size: 10.5px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold-ink);
}
.origins__tags {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: 8px 10px;
}
.origins__tags li {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 13px; border: 1px solid var(--line); border-radius: 100px;
  background: #fff;
  font-family: "IBM Plex Mono", monospace; font-size: 10px; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--muted-d);
  box-shadow: 0 10px 24px -18px rgba(8,58,79,0.4);
  white-space: nowrap;
}
.origins__tags li::before {
  content: ""; flex: none; width: 5px; height: 5px; border-radius: 50%;
  background: var(--gold-l);
}
.origins__fan {
  display: block; width: 100%; height: 52px; margin-top: 10px;
  overflow: visible; pointer-events: none;
}


/* ───────── Conector de Rodapé ───────── */
.trail__footer {
  position: relative;
  height: 60px;
  margin-top: -10px;
  overflow: visible;
}
.trail__connector-svg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 60px;
  pointer-events: none;
  overflow: visible;
}
.connector-path--mobile {
  display: none;
}
.step { position: relative; padding-left: 96px; }
.step__node {
  position: absolute; left: 34px; top: 4px; transform: translateX(-50%); z-index: 2;
  width: 60px; height: 60px; border-radius: 50%;
  background: #fff; border: 2px solid var(--navy); color: var(--navy);
  display: flex; align-items: center; justify-content: center;
  font-family: "Playfair Display", serif; font-weight: 700; font-size: 22px;
  box-shadow: 0 12px 26px -14px rgba(8,58,79,0.55);
  transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
}
/* haste horizontal ligando o nó ao card */
.step__node::after {
  content: ""; position: absolute; left: 100%; top: 50%; transform: translateY(-50%);
  width: 34px; height: 2px; background: var(--line);
}
.step__card {
  max-width: 560px;
  background: #fff; border: 1px solid var(--line); border-radius: 16px;
  padding: 22px 24px 20px;
  box-shadow: 0 24px 54px -34px rgba(8,58,79,0.45);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.step__stage {
  margin: 0 0 9px; font-family: "IBM Plex Mono", monospace;
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold-ink);
}
/* marca de leilão — apenas na etapa final */
.step__stage--exit { display: flex; align-items: center; gap: 8px; }
.step__stage--exit svg { flex: none; color: var(--gold); }
.step__title {
  margin: 0; font-family: "Playfair Display", serif; font-weight: 700;
  font-size: 20px; line-height: 1.2; letter-spacing: -0.01em; color: var(--navy);
}
.step__desc { margin: 11px 0 0; font-size: 14px; line-height: 1.6; color: var(--ink-soft); }
.step__micro {
  margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--line-soft);
  font-family: "IBM Plex Mono", monospace; font-size: 10.5px; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--muted-d);
}
.step:hover .step__node { background: var(--navy); color: var(--gold-l); transform: translateX(-50%) scale(1.06); }
.step:hover .step__card { transform: translateY(-4px); box-shadow: 0 32px 64px -32px rgba(8,58,79,0.5); }

/* ───────── Operação: trilha ao lado do texto sticky ───────── */

/* ───────── Fechamento ───────── */
.modelo__closing {
  margin: 0; padding: 4px 0 4px 22px; text-align: left; max-width: 34ch;
  border-left: 2px solid var(--gold);
  font-family: "Playfair Display", serif; font-weight: 500;
  font-size: clamp(21px, 1.9vw, 27px); line-height: 1.32; color: var(--navy); text-wrap: balance;
}
.modelo__closing em { display: block; margin-top: 10px; font-style: italic; color: var(--gold-ink); }

/* ───────── Pilares ───────── */
.pillars {
  list-style: none; margin: clamp(26px, 3vw, 40px) 0 0; padding: 20px 0 0;
  border-top: 1px solid var(--line);
  display: flex; flex-direction: column;
}
.pillars li {
  padding: 12px 0; border-top: 1px solid var(--line-soft);
  font-family: "IBM Plex Mono", monospace; font-weight: 500; font-size: 12px; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--navy); text-align: left;
}
.pillars li:first-child { border-top: none; padding-top: 0; }

/* ───────── Reveal (com .reveal-ready do JS) ───────── */
.modelo.reveal-ready .trail__fill { transform: scaleY(0); transform-origin: top center; transition: transform 1.4s ease; }
.modelo.reveal-ready.in .trail__fill { transform: scaleY(1); }

.modelo.reveal-ready .step__node { opacity: 0; transform: translateX(-50%) scale(0.4); }
.modelo.reveal-ready.in .step__node { opacity: 1; transform: translateX(-50%) scale(1); }
.modelo.reveal-ready .step__card { opacity: 0; transform: translateY(18px); }
.modelo.reveal-ready.in .step__card { opacity: 1; transform: none; }
.modelo.reveal-ready .step__node,
.modelo.reveal-ready .step__card { transition: opacity 0.6s ease, transform 0.6s ease; }
.modelo.reveal-ready.in .step:nth-child(1) .step__node, .modelo.reveal-ready.in .step:nth-child(1) .step__card { transition-delay: 0.30s; }
.modelo.reveal-ready.in .step:nth-child(2) .step__node, .modelo.reveal-ready.in .step:nth-child(2) .step__card { transition-delay: 0.45s; }
.modelo.reveal-ready.in .step:nth-child(3) .step__node, .modelo.reveal-ready.in .step:nth-child(3) .step__card { transition-delay: 0.60s; }
.modelo.reveal-ready.in .step:nth-child(4) .step__node, .modelo.reveal-ready.in .step:nth-child(4) .step__card { transition-delay: 0.75s; }
.modelo.reveal-ready.in .step:nth-child(5) .step__node, .modelo.reveal-ready.in .step:nth-child(5) .step__card { transition-delay: 0.90s; }

.modelo.reveal-ready .origins__tags li { opacity: 0; transform: translateY(6px); transition: opacity 0.5s ease, transform 0.5s ease; }
.modelo.reveal-ready.in .origins__tags li { opacity: 1; transform: none; }
.modelo.reveal-ready.in .origins__tags li:nth-child(1) { transition-delay: 0.05s; }
.modelo.reveal-ready.in .origins__tags li:nth-child(2) { transition-delay: 0.13s; }
.modelo.reveal-ready.in .origins__tags li:nth-child(3) { transition-delay: 0.21s; }
.modelo.reveal-ready.in .origins__tags li:nth-child(4) { transition-delay: 0.29s; }
.modelo.reveal-ready.in .origins__tags li:nth-child(5) { transition-delay: 0.37s; }
.modelo.reveal-ready .origins__fan { opacity: 0; transition: opacity 0.9s ease 0.4s; }
.modelo.reveal-ready.in .origins__fan { opacity: 1; }

.modelo.reveal-ready .panel__fill { width: 8%; }
.modelo.reveal-ready.in .panel__fill { width: 50%; transition-delay: 0.4s; }
.modelo.reveal-ready .panel__steps li { opacity: 0; transform: translateX(8px); transition: opacity 0.5s ease, transform 0.5s ease; }
.modelo.reveal-ready.in .panel__steps li { opacity: 1; transform: none; }
.modelo.reveal-ready.in .panel__steps li:nth-child(1) { transition-delay: 0.20s; }
.modelo.reveal-ready.in .panel__steps li:nth-child(2) { transition-delay: 0.32s; }
.modelo.reveal-ready.in .panel__steps li:nth-child(3) { transition-delay: 0.44s; }
.modelo.reveal-ready.in .panel__steps li:nth-child(4) { transition-delay: 0.56s; }
.modelo.reveal-ready.in .panel__steps li:nth-child(5) { transition-delay: 0.68s; }

/* ───────── Responsivo ───────── */
@media (max-width: 1024px) {
  .step { padding-left: 84px; }
  .trail__axis, .trail__fill, .step__node { left: 30px; }
  .step__node { width: 54px; height: 54px; font-size: 19px; }
  .step__card { max-width: none; }

  /* Ajustes Responsivos de Conectores */
  .connector-path--desktop { display: none; }
  .connector-path--mobile { display: block; }
  .trail__footer { height: 40px; }
  .origins__fan { margin-left: -4px; } /* eixo passa a 30px nesse breakpoint */
}
@media (max-width: 900px) {
  .modelo__intro { grid-template-columns: 1fr; gap: clamp(34px, 6vw, 52px); }
  .modelo__lead { position: static; top: auto; max-width: 680px; }
  .modelo__intro .trail { max-width: 680px; }
  .modelo__arc { width: 80%; top: -3%; right: -16%; }
}
@media (max-width: 620px) {
  .pillars { flex-direction: column; align-items: stretch; gap: 0; padding-top: 18px; }
  .pillars li { border-left: none; border-top: 1px solid var(--line-soft); padding: 13px 0; }
  .pillars li:first-child { border-top: none; }
  .trail__axis, .trail__fill, .step__node { left: 26px; }
  .step { padding-left: 64px; }
  .step__node { width: 48px; height: 48px; font-size: 18px; }
  .step__node::after { display: none; }
  .step__title { font-size: 18.5px; }

  /* mobile: menos decoração — chips ficam, leque sai */
  .origins__fan { display: none; }
  .trail__origins { margin-bottom: 18px; }
  .trail__connector-svg { left: -4px; } /* eixo a 26px nesse breakpoint */
}
@media (prefers-reduced-motion: reduce) {
  .ps-active .ps-ic::after { animation: none; }
}


/* ═══════════════════════════════════════════════
   SEÇÃO · ORIGINAÇÃO MULTICANAL
   ═══════════════════════════════════════════════ */
.origination {
  position: relative; overflow: hidden;
  background: linear-gradient(180deg, var(--paper) 0%, #FBFAF7 55%, var(--paper) 100%);
  padding: clamp(58px, 6.8vw, 108px) clamp(20px, 4.5vw, 64px);
  border-top: 1px solid var(--line-soft);
}
.origination__wrap {
  position: relative; z-index: 1; max-width: 1180px; margin: 0 auto;
}
.origination__grid {
  display: grid;
  grid-template-columns: 1.05fr 1.95fr;
  gap: clamp(40px, 5vw, 80px);
  align-items: start;
}
.origination__lead {
  max-width: 600px;
}
.origination__title {
  margin: 0; font-family: "Playfair Display", serif; font-weight: 700;
  font-size: clamp(32px, 4.2vw, 52px); line-height: 1.05;
  letter-spacing: -0.018em; color: var(--navy); text-wrap: balance; max-width: 24ch;
}
.origination__title-highlight {
  display: block;
  color: var(--gold);
  font-size: 0.86em;
  margin-top: 6px;
}
.origination__statement {
  margin: clamp(16px, 2vw, 24px) 0 0; max-width: 44ch;
  font-family: "IBM Plex Sans", sans-serif; font-weight: 500;
  font-size: clamp(19px, 1.9vw, 24px); line-height: 1.38; letter-spacing: -0.005em;
  color: var(--navy);
}
.origination__text {
  margin: clamp(16px, 1.8vw, 22px) 0 0; max-width: 50ch;
  font-size: 15px; line-height: 1.72; color: var(--ink-soft);
}
.origination__highlight {
  margin: clamp(28px, 3vw, 40px) 0 0; padding: 2px 0 2px 22px;
  border-left: 2px solid var(--gold);
  font-family: "Playfair Display", serif; font-style: italic; font-weight: 500;
  font-size: clamp(18px, 1.7vw, 23px); line-height: 1.42; color: var(--navy); max-width: 42ch;
}
.origination__highlight span { display: block; color: var(--gold-ink); }

/* ── lead centralizado ── */
.origination__lead { text-align: center; margin-left: auto; margin-right: auto; }
.origination__lead .eyebrow { margin-bottom: clamp(24px, 2.6vw, 32px); }
.origination__title,
.origination__statement,
.origination__text { margin-left: auto; margin-right: auto; }
.origination__title-highlight { margin-top: 12px; }
.origination__statement { margin-top: clamp(26px, 2.8vw, 36px); max-width: 72ch; }
.origination__text { margin-top: clamp(22px, 2.2vw, 30px); max-width: 94ch; }
.origination__highlight {
  margin-left: auto; margin-right: auto;
  margin-top: clamp(42px, 4.6vw, 66px);
  max-width: 70ch;
  border-left: none; padding: 0;
}

/* ───────── Mesa de Originação (Desk) ───────── */
.origination__desk {
  display: grid;
  grid-template-columns: 1fr 1.1fr 1fr;
  gap: 20px;
  align-items: center;
  position: relative;
}
.origination__col-left,
.origination__col-right {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.origination__col-middle {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
}
.origination__connectors {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}

/* ───────── Painel Central ───────── */
.origination__center-panel {
  background: #fff; border: 1px solid var(--line); border-radius: 18px;
  box-shadow: 0 34px 80px -36px rgba(8,58,79,0.5);
  overflow: hidden;
  max-width: 320px;
  width: 100%;
  z-index: 2;
  position: relative;
}
.center-panel__bar {
  display: flex; align-items: center; gap: 7px;
  padding: 13px 18px; background: var(--paper);
  border-bottom: 1px solid var(--line-soft);
}
.center-panel__dot { width: 9px; height: 9px; border-radius: 50%; background: #D4CFC6; }
.center-panel__app {
  margin-left: 10px; font-family: "IBM Plex Mono", monospace;
  font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted-d);
}
.center-panel__body { padding: 22px 24px 26px; }
.center-panel__title {
  margin: 0; font-family: "IBM Plex Sans", sans-serif; font-weight: 600;
  font-size: 14px; color: var(--navy); letter-spacing: 0.05em;
}
.center-panel__subtitle {
  margin: 8px 0 0; font-family: "IBM Plex Mono", monospace;
  font-size: 11px; letter-spacing: 0.04em; color: var(--muted-d);
  text-transform: uppercase;
}
.center-panel__criteria {
  list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px;
}
.center-panel__criteria li {
  display: flex; align-items: center; gap: 10px;
  font-family: "IBM Plex Sans", sans-serif; font-size: 13.5px; color: var(--ink-soft);
}
.crit-bullet {
  flex: none; width: 8px; height: 8px; border-radius: 50%;
  border: 1.5px solid var(--gold); background: #fff;
}
.center-panel__status {
  margin-top: 22px; padding: 10px 12px; border-radius: 8px;
  background: rgba(165,141,102,0.08); border: 1px solid rgba(165,141,102,0.2);
  font-family: "IBM Plex Mono", monospace; font-size: 10.5px; letter-spacing: 0.05em;
  color: var(--gold-ink); text-align: center; font-weight: 600;
}
.status-indicator { color: var(--gold); margin-right: 4px; }

/* ───────── Microcopy de Transição ───────── */
.origination__transition-copy {
  text-align: center;
  padding: 0 8px;
  z-index: 2;
  position: relative;
}
.origination__transition-copy p {
  margin: 0;
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.02em;
  color: var(--muted-d);
}
.origination__transition-copy .transition-highlight {
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: var(--navy);
  margin-top: 4px;
}

/* ───────── Cartões de Origem (Cards) ───────── */
.source-card {
  background: #fff; border: 1px solid var(--line); border-radius: 16px;
  padding: 22px 24px 20px;
  box-shadow: 0 24px 54px -34px rgba(8,58,79,0.45);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  position: relative;
  z-index: 1;
}
.source-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 32px 64px -32px rgba(8,58,79,0.5);
}
.source-card__number {
  position: absolute; right: 20px; top: 16px;
  font-family: "Playfair Display", serif; font-weight: 700; font-size: 26px;
  color: rgba(8,58,79,0.08); line-height: 1;
}
.source-card__category {
  margin: 0 0 9px; font-family: "IBM Plex Mono", monospace;
  font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold-ink);
}
.source-card__title {
  margin: 0; font-family: "Playfair Display", serif; font-weight: 700;
  font-size: 17px; line-height: 1.25; letter-spacing: -0.01em; color: var(--navy);
}
.source-card__desc {
  margin: 11px 0 0; font-size: 13.5px; line-height: 1.6; color: var(--ink-soft);
}
.source-card__micro {
  margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--line-soft);
  font-family: "IBM Plex Mono", monospace; font-size: 10px; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--muted-d);
}

/* ───────── Fechamento e Conector ───────── */
.origination__footer-area {
  margin-top: clamp(48px, 6vw, 80px);
  text-align: center;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.origination__closing-connector {
  width: 2px;
  height: 40px;
  margin-bottom: 20px;
}
.origination__closing {
  margin: 0;
  font-family: "Playfair Display", serif; font-weight: 500;
  font-size: clamp(21px, 1.9vw, 27px); line-height: 1.32; color: var(--navy); text-wrap: balance;
}
.origination__closing em {
  display: block; margin-top: 10px; font-style: italic; color: var(--gold-ink);
}

/* ───────── Pilares Horizontais ───────── */
.origination__pillars {
  list-style: none;
  margin: clamp(32px, 4vw, 48px) auto 0;
  padding: 24px 0 0;
  border-top: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 900px;
}
.origination__pillars li {
  font-family: "IBM Plex Mono", monospace;
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--navy);
  text-align: center;
  position: relative;
  flex: 1;
}
.origination__pillars li:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 14px;
  width: 1px;
  background: var(--line);
}

/* ───────── Reveal animations for Originação ───────── */
.origination.reveal-ready .source-card {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.origination.reveal-ready.in .source-card {
  opacity: 1;
  transform: none;
}
.origination.reveal-ready.in .source-card--1 { transition-delay: 0.2s; }
.origination.reveal-ready.in .source-card--2 { transition-delay: 0.3s; }
.origination.reveal-ready.in .source-card--3 { transition-delay: 0.4s; }
.origination.reveal-ready.in .source-card--4 { transition-delay: 0.5s; }
.origination.reveal-ready.in .source-card--5 { transition-delay: 0.6s; }

.origination.reveal-ready .origination__center-panel {
  opacity: 0;
  transform: scale(0.96);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.origination.reveal-ready.in .origination__center-panel {
  opacity: 1;
  transform: scale(1);
}
.origination.reveal-ready.in .origination__center-panel { transition-delay: 0.1s; }

.origination.reveal-ready .origination__connectors {
  opacity: 0;
  transition: opacity 1.2s ease;
}
.origination.reveal-ready.in .origination__connectors {
  opacity: 0.18;
  transition-delay: 0.5s;
}

/* ───────── Responsivo Originação ───────── */
@media (max-width: 1024px) {
  .origination__grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .origination__lead {
    max-width: 820px;
    margin: 0 auto;
    width: 100%;
  }
  .origination__desk {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    width: 100%;
  }
  .origination__col-middle {
    order: -1; /* puts center panel at the top */
    width: 100%;
  }
  .origination__col-left,
  .origination__col-right {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    gap: 20px;
  }
  .origination__col-left .source-card,
  .origination__col-right .source-card {
    width: calc(50% - 10px);
    min-width: 280px;
    max-width: 340px;
  }
  .origination__connectors {
    display: none;
  }
  .origination__pillars {
    flex-wrap: wrap;
    gap: 16px 0;
  }
  .origination__pillars li {
    flex: none;
    width: 50%;
  }
  .origination__pillars li:nth-child(even)::after {
    display: none;
  }
}

@media (max-width: 620px) {
  .origination {
    padding: clamp(40px, 6vw, 60px) 18px;
  }
  .origination__desk {
    gap: 32px;
  }
  .origination__col-left,
  .origination__col-right {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 16px;
  }
  .origination__col-left .source-card,
  .origination__col-right .source-card {
    width: 100%;
    max-width: none;
  }
  .origination__pillars {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin-top: 24px;
  }
  .origination__pillars li {
    width: 100%;
    padding: 12px 0;
    border-top: 1px solid var(--line-soft);
  }
  .origination__pillars li:first-child {
    border-top: none;
  }
  .origination__pillars li::after {
    display: none !important;
  }
}

/* ───────── Quadro de originação (somente desktop) ───────── */
@media (min-width: 1025px) {
  .origination__grid {
    grid-template-columns: 1fr;
    gap: clamp(36px, 4vw, 56px);
  }
  .origination__lead { max-width: 980px; }

  /* o desk vira um quadro com os elementos posicionados dentro */
  .origination__desk {
    display: block;
    height: 760px;
    border: 1px solid var(--line);
    border-radius: 24px;
    background:
      radial-gradient(rgba(8,58,79,0.055) 1px, transparent 1px) 0 0 / 22px 22px,
      linear-gradient(180deg, rgba(255,255,255,0.72), rgba(255,255,255,0.45));
    box-shadow: inset 0 1px 0 #fff, 0 34px 80px -52px rgba(8,58,79,0.45);
    overflow: hidden;
  }
  .origination__col-left,
  .origination__col-middle,
  .origination__col-right { display: contents; }
  .origination__connectors { display: none; }

  .origination__desk .source-card {
    position: absolute;
    width: clamp(280px, 29%, 340px);
    cursor: grab;
    user-select: none; -webkit-user-select: none;
    touch-action: none;
    z-index: 1;
  }
  .origination__desk .source-card:hover {
    transform: scale(1.035);
    box-shadow: 0 32px 64px -32px rgba(8,58,79,0.5);
    z-index: 3;
  }
  .origination__desk .source-card.dragging {
    cursor: grabbing; transform: none; transition: none;
    box-shadow: 0 40px 80px -28px rgba(8,58,79,0.6);
  }
  .source-card--1 { left: 2.8%; top: 7%; }
  .source-card--2 { right: 2.8%; top: 7%; }
  .source-card--3 { left: 2.8%; top: 56%; }
  .source-card--4 { left: 35.5%; top: 56%; }
  .source-card--5 { right: 2.8%; top: 56%; }

  /* mesa fixa no centro do quadro (sem transform: reveal usa scale) */
  .origination__center-panel {
    position: absolute;
    left: 50%; margin-left: -160px; top: 6%;
  }
  .origination__transition-copy {
    position: absolute;
    left: 50%; transform: translateX(-50%); bottom: 30px;
    width: max-content; max-width: 80%;
    z-index: 0;
  }
}

/* ═══════════════════════════════════════════════
   SEÇÃO · CONTROLE OPERACIONAL
   ═══════════════════════════════════════════════ */
.control {
  position: relative; overflow: hidden;
  background: linear-gradient(180deg, var(--paper) 0%, #FBFAF7 55%, var(--paper) 100%);
  padding: clamp(58px, 6.8vw, 108px) clamp(20px, 4.5vw, 64px);
  border-top: 1px solid var(--line-soft);
}
.control__wrap { position: relative; z-index: 1; max-width: 1180px; margin: 0 auto; }

/* ───────── Intro split ───────── */
.control__grid {
  display: grid; grid-template-columns: 1.05fr 0.95fr;
  gap: clamp(32px, 5vw, 72px); align-items: start;
}
.control__lead { max-width: 600px; }
.control__title {
  margin: 0; font-family: "Playfair Display", serif; font-weight: 700;
  font-size: clamp(32px, 4.2vw, 52px); line-height: 1.05;
  letter-spacing: -0.018em; color: var(--navy); text-wrap: balance; max-width: 16ch;
}
.control__statement {
  margin: clamp(16px, 2vw, 24px) 0 0; max-width: 42ch;
  font-family: "IBM Plex Sans", sans-serif; font-weight: 500;
  font-size: clamp(19px, 1.9vw, 24px); line-height: 1.38; letter-spacing: -0.005em;
  color: var(--navy);
}
.control__text {
  margin: clamp(16px, 1.8vw, 22px) 0 0; max-width: 50ch;
  font-size: 15px; line-height: 1.72; color: var(--ink-soft);
}
.control__highlight {
  margin: clamp(28px, 3vw, 40px) 0 0; padding: 2px 0 2px 22px;
  border-left: 2px solid var(--gold);
  font-family: "Playfair Display", serif; font-style: italic; font-weight: 500;
  font-size: clamp(18px, 1.7vw, 23px); line-height: 1.42; color: var(--navy); max-width: 42ch;
}
.control__highlight span { display: block; color: var(--gold-ink); }

/* ───────── Painel (reusa componente .panel) ───────── */
.control__panel-area { display: flex; justify-content: center; }
.panel--control { width: 100%; max-width: 462px; }

/* meta: rótulo → valor */
.panel__meta { margin: 18px 0 0; padding: 0; }
.panel__meta-row {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 11px 0; border-bottom: 1px solid var(--line-soft);
}
.panel__meta-row:last-child { border-bottom: none; }
.panel__meta dt {
  margin: 0; font-family: "IBM Plex Mono", monospace; font-size: 10.5px; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--muted-d);
}
.panel__meta dd {
  margin: 0; text-align: right;
  font-family: "IBM Plex Sans", sans-serif; font-size: 13.5px; font-weight: 500; color: var(--navy);
}
.panel__meta dd.is-active {
  display: inline-flex; align-items: center; gap: 8px; color: var(--gold-ink); font-weight: 600;
}
.panel__meta .meta-dot {
  flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--gold);
  box-shadow: 0 0 0 4px rgba(165,141,102,0.16);
  animation: meta-pulse 1.9s ease-in-out infinite;
}
@keyframes meta-pulse { 0%,100% { box-shadow: 0 0 0 4px rgba(165,141,102,0.16); } 50% { box-shadow: 0 0 0 4px rgba(165,141,102,0.05); } }
.panel__steps-label {
  margin: 20px 0 2px; font-family: "IBM Plex Mono", monospace;
  font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted-d);
}

/* ───────── Quatro blocos ───────── */
.control__features {
  list-style: none; margin: clamp(40px, 5vw, 64px) 0 0; padding: 0;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(16px, 2vw, 22px);
}
.cfeat {
  background: #fff; border: 1px solid var(--line); border-radius: 16px;
  padding: 22px 22px 20px;
  box-shadow: 0 24px 54px -34px rgba(8,58,79,0.4);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.cfeat:hover { transform: translateY(-4px); box-shadow: 0 32px 64px -32px rgba(8,58,79,0.5); }
.cfeat__ic {
  display: inline-flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; border-radius: 11px;
  background: var(--paper); border: 1px solid var(--line-soft); color: var(--gold-ink);
  margin-bottom: 14px;
}
.cfeat__title {
  margin: 0; font-family: "IBM Plex Mono", monospace; font-weight: 600;
  font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--navy);
}
.cfeat__desc { margin: 9px 0 0; font-size: 13px; line-height: 1.58; color: var(--ink-soft); }

/* ───────── Fechamento ───────── */
.control__footer-area {
  margin-top: clamp(44px, 5.5vw, 76px);
  display: flex; flex-direction: column; align-items: center; text-align: center;
}
.control__closing-connector { width: 2px; height: 40px; margin-bottom: 20px; }
.control__closing {
  margin: 0; max-width: 34ch;
  font-family: "Playfair Display", serif; font-weight: 500;
  font-size: clamp(21px, 1.9vw, 27px); line-height: 1.32; color: var(--navy); text-wrap: balance;
}
.control__closing em { display: block; margin-top: 10px; font-style: italic; color: var(--gold-ink); }

/* ───────── Reveal ───────── */
.control.reveal-ready .control__lead > * { opacity: 0; transform: translateY(14px); transition: opacity 0.6s ease, transform 0.6s ease; }
.control.reveal-ready.in .control__lead > * { opacity: 1; transform: none; }
.control.reveal-ready.in .control__lead > *:nth-child(1) { transition-delay: 0.05s; }
.control.reveal-ready.in .control__lead > *:nth-child(2) { transition-delay: 0.12s; }
.control.reveal-ready.in .control__lead > *:nth-child(3) { transition-delay: 0.19s; }
.control.reveal-ready.in .control__lead > *:nth-child(4) { transition-delay: 0.26s; }
.control.reveal-ready.in .control__lead > *:nth-child(5) { transition-delay: 0.33s; }
.control.reveal-ready.in .control__lead > *:nth-child(6) { transition-delay: 0.40s; }

.control.reveal-ready .panel--control { opacity: 0; transform: translateY(20px); transition: opacity 0.7s ease, transform 0.7s ease; transition-delay: 0.15s; }
.control.reveal-ready.in .panel--control { opacity: 1; transform: none; }
.control.reveal-ready .panel__fill { width: 8%; }
.control.reveal-ready.in .panel__fill { width: 50%; transition-delay: 0.5s; }

.control.reveal-ready .cfeat { opacity: 0; transform: translateY(16px); transition: opacity 0.6s ease, transform 0.6s ease; }
.control.reveal-ready.in .cfeat { opacity: 1; transform: none; }
.control.reveal-ready.in .cfeat:nth-child(1) { transition-delay: 0.10s; }
.control.reveal-ready.in .cfeat:nth-child(2) { transition-delay: 0.20s; }
.control.reveal-ready.in .cfeat:nth-child(3) { transition-delay: 0.30s; }
.control.reveal-ready.in .cfeat:nth-child(4) { transition-delay: 0.40s; }

/* ───────── Responsivo ───────── */
@media (max-width: 1024px) {
  .control__grid { grid-template-columns: 1fr; gap: clamp(32px, 6vw, 48px); }
  .control__lead { max-width: 680px; }
  .control__panel-area { justify-content: flex-start; }
  .panel--control { max-width: 560px; }
  .control__features { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
  .control { padding: clamp(40px, 6vw, 60px) 18px; }
  .panel--control { max-width: none; }
  .control__features { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .panel__meta .meta-dot { animation: none; }
}

/* ═══════════════════════════════════════════════
   SEÇÃO · PRÓXIMO PASSO (fechamento)
   ═══════════════════════════════════════════════ */
.cta {
  position: relative; overflow: hidden; text-align: center;
  color: var(--paper);
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(165,141,102,0.16), transparent 60%),
    linear-gradient(180deg, var(--navy) 0%, var(--navy-d) 100%);
  padding: clamp(74px, 9vw, 144px) clamp(20px, 4.5vw, 64px);
  border-top: 1px solid rgba(255,255,255,0.06);
}
.cta__arc {
  position: absolute; inset: 0; width: 100%; height: 100%;
  z-index: 0; pointer-events: none;
}
.cta__wrap { position: relative; z-index: 1; max-width: 760px; margin: 0 auto; }

.cta .eyebrow { color: var(--gold-l); margin-bottom: 18px; }
.cta__title {
  margin: 0; font-family: "Playfair Display", serif; font-weight: 700;
  font-size: clamp(33px, 5.2vw, 60px); line-height: 1.05; letter-spacing: -0.02em;
  color: #fff; text-wrap: balance;
}
.cta__text {
  margin: clamp(20px, 2.4vw, 30px) auto 0; max-width: 58ch;
  font-size: clamp(14.5px, 1.05vw, 16px); line-height: 1.75; color: rgba(244,242,237,0.78);
}
.cta__text + .cta__text { margin-top: 15px; }

.cta__emph {
  margin: clamp(30px, 3.6vw, 46px) auto 0; max-width: 32ch; padding: clamp(16px, 1.8vw, 22px) 0;
  border-top: 1px solid rgba(196,172,128,0.32);
  border-bottom: 1px solid rgba(196,172,128,0.32);
  font-family: "Playfair Display", serif; font-style: italic; font-weight: 500;
  font-size: clamp(20px, 2.1vw, 28px); line-height: 1.34; color: var(--gold-l); text-wrap: balance;
}
.cta__final {
  margin: clamp(30px, 3.6vw, 46px) auto clamp(28px, 3.2vw, 40px); max-width: 42ch;
  font-family: "Playfair Display", serif; font-weight: 500;
  font-size: clamp(18px, 1.7vw, 23px); line-height: 1.4; color: var(--paper); text-wrap: balance;
}

/* ───────── Botões ───────── */
.cta__actions {
  display: flex; justify-content: center; align-items: center;
  gap: 14px; flex-wrap: wrap;
}
.cta__btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 15px 28px; border-radius: 12px;
  font-family: "IBM Plex Sans", sans-serif; font-weight: 600; font-size: 14.5px;
  white-space: nowrap; cursor: pointer;
  transition: background 0.22s ease, border-color 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
}
.cta__btn--primary {
  background: var(--paper); color: var(--navy); border: 1px solid var(--paper);
  box-shadow: 0 22px 48px -24px rgba(0,0,0,0.55);
}
.cta__btn--primary:hover {
  background: #fff; transform: translateY(-2px);
  box-shadow: 0 28px 56px -22px rgba(0,0,0,0.6);
}
.cta__btn--primary .cta__btn-ic {
  width: 26px; height: 26px; border-radius: 7px;
  background: var(--gold); color: #fff;
  display: inline-flex; align-items: center; justify-content: center; font-size: 14px;
  transition: transform 0.22s ease;
}
.cta__btn--primary:hover .cta__btn-ic { transform: translateX(3px); }
.cta__btn--ghost {
  background: transparent; color: var(--paper);
  border: 1px solid rgba(196,172,128,0.5);
}
.cta__btn--ghost:hover {
  border-color: var(--gold-l); background: rgba(255,255,255,0.05); transform: translateY(-2px);
}

/* ───────── Pilares ───────── */
.cta__pillars {
  list-style: none; margin: clamp(42px, 5vw, 62px) auto 0; padding: 22px 0 0;
  border-top: 1px solid rgba(255,255,255,0.1);
  display: flex; justify-content: center; width: 100%; max-width: 560px;
}
.cta__pillars li {
  flex: 1; position: relative;
  font-family: "IBM Plex Mono", monospace; font-weight: 500; font-size: 12px; letter-spacing: 0.18em;
  text-transform: uppercase; color: rgba(244,242,237,0.72);
}
.cta__pillars li:not(:last-child)::after {
  content: ""; position: absolute; right: 0; top: 50%; transform: translateY(-50%);
  height: 13px; width: 1px; background: rgba(196,172,128,0.32);
}

/* ───────── Reveal ───────── */
.cta.reveal-ready .cta__wrap > * { opacity: 0; transform: translateY(16px); transition: opacity 0.6s ease, transform 0.6s ease; }
.cta.reveal-ready.in .cta__wrap > * { opacity: 1; transform: none; }
.cta.reveal-ready.in .eyebrow      { transition-delay: 0.05s; }
.cta.reveal-ready.in .cta__title   { transition-delay: 0.12s; }
.cta.reveal-ready.in .cta__text    { transition-delay: 0.20s; }
.cta.reveal-ready.in .cta__emph    { transition-delay: 0.30s; }
.cta.reveal-ready.in .cta__final   { transition-delay: 0.40s; }
.cta.reveal-ready.in .cta__actions { transition-delay: 0.52s; }
.cta.reveal-ready.in .cta__pillars { transition-delay: 0.64s; }

/* ───────── Responsivo ───────── */
@media (max-width: 600px) {
  .cta { padding: clamp(56px, 14vw, 88px) 20px; }
  .cta__actions { flex-direction: column; align-items: stretch; gap: 12px; }
  .cta__btn { justify-content: center; width: 100%; }
  .cta__pillars {
    flex-wrap: wrap; gap: 14px 0; max-width: 320px; padding-top: 20px;
  }
  .cta__pillars li { flex: 0 0 50%; }
  .cta__pillars li:nth-child(2)::after { display: none; }
}

/* ═══════════════════════════════════════════════
   RODAPÉ
   ═══════════════════════════════════════════════ */
.footer {
  background: var(--navy-d);
  color: rgba(244,242,237,0.72);
  padding: clamp(52px, 6vw, 88px) clamp(20px, 4.5vw, 64px) clamp(28px, 3vw, 40px);
  border-top: 1px solid rgba(196,172,128,0.18);
}
.footer__wrap { max-width: 1180px; margin: 0 auto; }
.footer__top {
  display: grid;
  grid-template-columns: 1.7fr 0.9fr 1.2fr 1.1fr;
  gap: clamp(32px, 4vw, 56px);
  align-items: start;
}

/* Marca */
.footer__logo.lk--light .bid { color: #fff; }
.footer__logo.lk--light .pt { color: var(--gold-l); }
.footer__tagline {
  margin: 18px 0 0; max-width: 40ch;
  font-size: 14px; line-height: 1.7; color: rgba(244,242,237,0.6);
}

/* Colunas */
.footer__label {
  margin: 0 0 18px;
  font-family: "IBM Plex Mono", monospace; font-size: 10.5px;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-l);
}
.footer__links, .footer__contact {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 13px;
}
.footer__links a {
  font-size: 14px; color: rgba(244,242,237,0.74); transition: color 0.2s ease;
}
.footer__links a:hover { color: #fff; }
.footer__contact li {
  display: flex; align-items: flex-start; gap: 11px;
  font-size: 14px; line-height: 1.5; color: rgba(244,242,237,0.74);
}
.footer__contact a { color: rgba(244,242,237,0.74); transition: color 0.2s ease; }
.footer__contact a:hover { color: #fff; }
.footer__ic {
  flex: none; width: 30px; height: 30px; border-radius: 9px; margin-top: -3px;
  background: rgba(196,172,128,0.12); color: var(--gold-l);
  display: inline-flex; align-items: center; justify-content: center;
}

/* Aviso legal */
.footer__legal {
  margin-top: clamp(36px, 4.5vw, 60px); padding-top: clamp(24px, 3vw, 32px);
  border-top: 1px solid rgba(255,255,255,0.08);
}
.footer__legal p {
  margin: 0; max-width: 116ch;
  font-size: 11.5px; line-height: 1.72; color: rgba(244,242,237,0.5);
}
.footer__legal strong { color: rgba(244,242,237,0.78); font-weight: 600; }
.footer__legal a { color: var(--gold-l); }
.footer__legal a:hover { text-decoration: underline; }

/* Barra inferior */
.footer__bottom {
  margin-top: clamp(24px, 3vw, 34px); padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,0.08);
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; flex-wrap: wrap;
}
.footer__copy, .footer__cnpj {
  margin: 0; font-family: "IBM Plex Mono", monospace; font-size: 11px;
  letter-spacing: 0.06em; color: rgba(244,242,237,0.5);
}

@media (max-width: 1024px) {
  .footer__top { grid-template-columns: repeat(3, 1fr); gap: 40px 32px; }
  .footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .footer__top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 460px) {
  .footer__top { grid-template-columns: 1fr; gap: 32px; }
  .footer__bottom { flex-direction: column; align-items: flex-start; gap: 8px; }
}

/* ═══════════════════════════════════════════════
   PÁGINAS DE DOCUMENTOS (Termos, Privacidade, Compliance)
   ═══════════════════════════════════════════════ */
.docnav {
  position: sticky; top: 0; z-index: 10;
  background: rgba(251,250,247,0.92);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--line);
}
.docnav__wrap {
  max-width: 1180px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 17px clamp(20px, 4.5vw, 64px);
}
.docnav__back {
  font-family: "IBM Plex Mono", monospace; font-size: 11px; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--muted-d); transition: color 0.2s ease;
}
.docnav__back:hover { color: var(--navy); }

.doc {
  background: linear-gradient(180deg, #FBFAF7 0%, var(--paper) 100%);
  padding: clamp(48px, 6vw, 96px) clamp(20px, 4.5vw, 64px) clamp(56px, 7vw, 104px);
}
.doc__wrap { max-width: 760px; margin: 0 auto; }
.doc__title {
  margin: 14px 0 0; font-family: "Playfair Display", serif; font-weight: 700;
  font-size: clamp(32px, 4.6vw, 52px); line-height: 1.06; letter-spacing: -0.02em;
  color: var(--navy); text-wrap: balance;
}
.doc__updated {
  margin: 16px 0 0; font-family: "IBM Plex Mono", monospace; font-size: 11px;
  letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted-d);
}
.doc__body { margin-top: clamp(32px, 4vw, 52px); }
.doc__body h2 {
  margin: clamp(30px, 3.4vw, 44px) 0 0; font-family: "Playfair Display", serif;
  font-weight: 700; font-size: clamp(19px, 1.8vw, 23px); line-height: 1.3;
  letter-spacing: -0.01em; color: var(--navy);
}
.doc__body h2:first-child { margin-top: 0; }
.doc__body p { margin: 12px 0 0; font-size: 15px; line-height: 1.75; color: var(--ink-soft); }
.doc__body ul { margin: 12px 0 0; padding-left: 20px; }
.doc__body li { margin: 7px 0 0; font-size: 15px; line-height: 1.7; color: var(--ink-soft); }
.doc__body strong { color: var(--navy); font-weight: 600; }
.doc__body a { color: var(--gold-ink); }
.doc__body a:hover { text-decoration: underline; }
