/* ===========================================================================
   produto-v2.css. Página da plataforma, deep-dive
   Estrutura: hero, overview de 6 capacidades, 6 sections deep, CTA final
   Tokens: usa colors_and_type.css
   =========================================================================== */

/* ============ Shared section primitives ============================== */
.pv-section { position: relative; padding: 140px 0; isolation: isolate; }
.pv-section--dark {
  background: var(--vaas-blue-deep);
  color: #fff;
}
.pv-section--ink {
  background: var(--vaas-black);
  color: #fff;
}
.pv-section--light {
  background: #fff;
  color: var(--vaas-blue-deep);
}
.pv-section--tint {
  background: #f6f6f6;
  color: var(--vaas-blue-deep);
}

.pv-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 48px;
  position: relative;
  z-index: 2;
}
.pv-container--narrow { max-width: 1040px; }

.pv-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--vaas-blue);
}
.pv-eyebrow::before {
  content: "";
  width: 18px; height: 1px;
  background: currentColor;
  opacity: .5;
}
.pv-eyebrow--light { color: var(--vaas-lime); }
.pv-eyebrow--center { justify-content: center; }
.pv-eyebrow--center::after {
  content: "";
  width: 18px; height: 1px;
  background: currentColor;
  opacity: .5;
}

.pv-title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(36px, 5vw, 68px);
  letter-spacing: -0.035em;
  line-height: 1.02;
  margin: 18px 0 0;
  text-wrap: balance;
}
.pv-title em {
  font-style: normal;
  color: var(--vaas-blue);
}
.pv-section--dark .pv-title,
.pv-section--ink .pv-title { color: #fff; }
.pv-section--dark .pv-title em,
.pv-section--ink .pv-title em { color: var(--vaas-lime); }

.pv-sub {
  font-family: var(--font-display);
  font-size: 18px;
  line-height: 1.55;
  color: var(--vaas-gray-700);
  margin: 22px 0 0;
  max-width: 640px;
  text-wrap: pretty;
}
.pv-section--dark .pv-sub,
.pv-section--ink .pv-sub { color: rgba(255,255,255,.72); }

.pv-section-head {
  margin-bottom: 80px;
  max-width: 760px;
}
.pv-section-head--center { margin-left: auto; margin-right: auto; text-align: center; }
.pv-section-head--center .pv-sub { margin-left: auto; margin-right: auto; }

/* num/big chapter label, e.g. "01 / Execução" */
.pv-cap-num {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--vaas-blue);
}
.pv-section--dark .pv-cap-num,
.pv-section--ink .pv-cap-num { color: var(--vaas-lime); }
.pv-cap-num b { font-weight: 600; }
.pv-cap-num span { opacity: .45; padding: 0 8px; }

/* bullets list */
.pv-bullets {
  list-style: none;
  margin: 0; padding: 0;
  display: grid;
  gap: 6px;
}
.pv-bullets li {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(0,0,0,.08);
  font-size: 15px;
  line-height: 1.5;
}
.pv-section--dark .pv-bullets li,
.pv-section--ink .pv-bullets li { border-bottom-color: rgba(255,255,255,.08); }
.pv-bullets li::before {
  content: "+";
  font-family: var(--font-mono);
  font-size: 14px;
  color: var(--vaas-blue);
  line-height: 1.5;
}
.pv-section--dark .pv-bullets li::before,
.pv-section--ink .pv-bullets li::before { color: var(--vaas-lime); }
.pv-bullets li b {
  font-weight: 600;
  color: var(--vaas-blue-deep);
}
.pv-section--dark .pv-bullets li b,
.pv-section--ink .pv-bullets li b { color: #fff; }

/* Two-column section layout: copy | visual */
.pv-twocol {
  display: grid;
  grid-template-columns: minmax(0, 360px) minmax(0, 1fr);
  gap: 72px;
  align-items: start;
}
.pv-twocol--reverse { grid-template-columns: minmax(0, 1fr) minmax(0, 360px); }
.pv-twocol--wide { grid-template-columns: minmax(0, 420px) minmax(0, 1fr); }
.pv-twocol__copy { position: sticky; top: 120px; }
.pv-twocol__title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(28px, 3vw, 40px);
  letter-spacing: -0.025em;
  line-height: 1.1;
  margin: 14px 0 18px;
  text-wrap: balance;
}
.pv-section--dark .pv-twocol__title,
.pv-section--ink .pv-twocol__title { color: #fff; }
.pv-twocol__sub {
  font-size: 16px;
  line-height: 1.55;
  color: var(--vaas-gray-700);
  margin: 0 0 28px;
}
.pv-section--dark .pv-twocol__sub,
.pv-section--ink .pv-twocol__sub { color: rgba(255,255,255,.72); }

/* big mockup frame */
.pv-mock {
  position: relative;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  box-shadow: 0 30px 80px -30px rgba(0,11,88,.18), 0 8px 24px -12px rgba(0,11,88,.08);
  overflow: hidden;
}
.pv-section--dark .pv-mock,
.pv-section--ink .pv-mock {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 40px 100px -30px rgba(0,0,0,.5);
  color: #fff;
}
.pv-mock__bar {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(0,0,0,.08);
  background: #fafbff;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--vaas-gray-700);
  letter-spacing: 0.06em;
}
.pv-section--dark .pv-mock__bar,
.pv-section--ink .pv-mock__bar {
  background: rgba(255,255,255,.04);
  border-bottom-color: rgba(255,255,255,.1);
  color: rgba(255,255,255,.62);
}
.pv-mock__dots { display: flex; gap: 6px; margin-right: 6px; }
.pv-mock__dot {
  width: 10px; height: 10px; border-radius: 50%;
  background: #d0d5e0;
}
.pv-section--dark .pv-mock__dot,
.pv-section--ink .pv-mock__dot { background: rgba(255,255,255,.25); }
.pv-mock__path { flex: 1; }
.pv-mock__pill {
  padding: 3px 8px;
  background: rgba(4,52,244,.08);
  border: 1px solid rgba(4,52,244,.18);
  color: var(--vaas-blue);
  border-radius: 4px;
  font-size: 10px;
  letter-spacing: 0.08em;
}
.pv-section--dark .pv-mock__pill,
.pv-section--ink .pv-mock__pill {
  background: rgba(206,255,41,.1);
  border-color: rgba(206,255,41,.3);
  color: var(--vaas-lime);
}
.pv-mock__body { padding: 24px; }

/* ============ HERO ==================================================== */
.pv-hero {
  position: relative;
  background: var(--vaas-blue-deep);
  color: #fff;
  padding: 200px 0 140px;
  overflow: hidden;
  isolation: isolate;
}
.pv-hero__bg {
  position: absolute; inset: 0; z-index: 0;
  background:
    radial-gradient(ellipse 60% 60% at 50% 0%, rgba(44,73,255,.42), transparent 60%),
    radial-gradient(ellipse 50% 60% at 100% 100%, rgba(206,255,41,.06), transparent 70%);
}
.pv-hero__bg::before {
  content: "";
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(ellipse 70% 70% at center, #000 30%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse 70% 70% at center, #000 30%, transparent 80%);
}
.pv-hero__inner {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 80px;
  align-items: center;
  position: relative;
  z-index: 2;
}
.pv-hero__title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(48px, 6vw, 84px);
  letter-spacing: -0.04em;
  line-height: 1;
  margin: 22px 0 0;
  text-wrap: balance;
}
.pv-hero__title em {
  font-style: normal;
  color: var(--vaas-lime);
}
.pv-hero__sub {
  font-family: var(--font-display);
  font-size: 19px;
  line-height: 1.5;
  color: rgba(255,255,255,.78);
  margin: 28px 0 36px;
  max-width: 560px;
  text-wrap: pretty;
}
.pv-hero__cta {
  display: flex; gap: 16px; flex-wrap: wrap;
  margin-bottom: 40px;
}
.pv-hero__stats {
  display: flex;
  gap: 0;
  border-top: 1px solid rgba(255,255,255,.14);
  padding-top: 24px;
}
.pv-hero__stat {
  flex: 1;
  display: flex; flex-direction: column; gap: 4px;
  padding-right: 24px;
  border-right: 1px solid rgba(255,255,255,.1);
}
.pv-hero__stat:last-child { border-right: none; padding-right: 0; }
.pv-hero__stat b {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 32px;
  color: var(--vaas-lime);
  letter-spacing: -0.025em;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.pv-hero__stat span {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
}

/* Hero viz. engine diagram */
.pv-engine {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1.1;
  max-width: 540px;
  margin-left: auto;
}
.pv-engine__ring {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
}
.pv-engine__ring--mid { inset: 10%; border-color: rgba(255,255,255,.12); }
.pv-engine__ring--inner { inset: 22%; border-style: dashed; border-color: rgba(255,255,255,.08); }
.pv-engine__core {
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: 38%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, rgba(206,255,41,.22), transparent 65%),
    radial-gradient(circle at center, rgba(4,52,244,.45), rgba(0,11,88,.95) 80%);
  border: 1px solid rgba(206,255,41,.35);
  display: grid; place-items: center;
  text-align: center;
  padding: 24px;
  box-shadow: 0 0 80px rgba(4,52,244,.4), inset 0 0 40px rgba(206,255,41,.08);
}
.pv-engine__core-eye {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--vaas-lime);
  display: inline-flex; align-items: center; gap: 6px;
}
.pv-engine__core-eye::before {
  content: "";
  width: 6px; height: 6px;
  background: var(--vaas-lime);
  border-radius: 50%;
  box-shadow: 0 0 0 0 var(--vaas-lime);
  animation: pv-pulse 2s infinite;
}
@keyframes pv-pulse {
  0% { box-shadow: 0 0 0 0 rgba(206,255,41,.6); }
  70% { box-shadow: 0 0 0 16px rgba(206,255,41,0); }
  100% { box-shadow: 0 0 0 0 rgba(206,255,41,0); }
}
.pv-engine__core-title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 26px;
  letter-spacing: -0.02em;
  color: #fff;
  margin: 10px 0 4px;
}
.pv-engine__core-time {
  font-family: var(--font-mono);
  font-size: 11px;
  color: rgba(255,255,255,.6);
  letter-spacing: 0.06em;
}
.pv-engine__node {
  position: absolute;
  display: flex; align-items: center; gap: 10px;
  padding: 8px 14px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 99px;
  backdrop-filter: blur(8px);
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  letter-spacing: -0.005em;
  white-space: nowrap;
  transform: translate(-50%, -50%);
}
.pv-engine__node b {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  color: var(--vaas-lime);
  font-weight: 500;
}
.pv-engine__node--1 { left: 50%; top: 4%; }
.pv-engine__node--2 { left: 92%; top: 28%; }
.pv-engine__node--3 { left: 92%; top: 72%; }
.pv-engine__node--4 { left: 50%; top: 96%; }
.pv-engine__node--5 { left: 8%; top: 72%; }
.pv-engine__node--6 { left: 8%; top: 28%; }
.pv-engine__node-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--vaas-lime);
}

/* ============ OVERVIEW ================================================ */
.pv-overview {
  background: #fff;
  padding: 140px 0;
}
.pv-overview__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(0,11,88,.1);
  border-left: 1px solid rgba(0,11,88,.1);
  margin-top: 80px;
}
.pv-overview__card {
  padding: 40px 36px;
  border-right: 1px solid rgba(0,11,88,.1);
  border-bottom: 1px solid rgba(0,11,88,.1);
  background: #fff;
  position: relative;
  transition: background 200ms var(--ease-out);
  text-decoration: none;
  color: inherit;
  display: block;
}
.pv-overview__card:hover {
  background: #f6f6f6;
}
.pv-overview__card:hover .pv-overview__card-arrow { transform: translateX(4px); color: var(--vaas-blue); }
.pv-overview__card-num {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  color: var(--vaas-blue);
}
.pv-overview__card-title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 26px;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--vaas-blue-deep);
  margin: 14px 0 12px;
  text-wrap: balance;
}
.pv-overview__card-sub {
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--vaas-gray-700);
  margin: 0 0 22px;
}
.pv-overview__card-tags {
  display: flex; gap: 6px; flex-wrap: wrap;
  margin-bottom: 28px;
}
.pv-overview__card-tag {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  padding: 3px 8px;
  background: rgba(4,52,244,.06);
  border: 1px solid rgba(4,52,244,.16);
  color: var(--vaas-blue);
  border-radius: 4px;
}
.pv-overview__card-arrow {
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--vaas-blue-deep);
  display: inline-flex; align-items: center; gap: 6px;
  transition: transform 180ms var(--ease-out), color 180ms var(--ease-out);
}

/* ============ EXECUÇÃO. flow + metrics =============================== */
.pv-exec__flow {
  position: relative;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.12);
  padding: 36px 24px 24px;
  overflow: hidden;
}
.pv-exec__lane {
  display: grid;
  grid-template-columns: 90px 1fr 90px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
  font-family: var(--font-mono);
  font-size: 11.5px;
  color: rgba(255,255,255,.85);
}
.pv-exec__lane:last-child { border-bottom: none; }
.pv-exec__lane-k {
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.5);
  font-size: 10px;
}
.pv-exec__lane-t {
  text-align: right;
  font-variant-numeric: tabular-nums;
  color: var(--vaas-lime);
}
.pv-exec__lane-bar {
  position: relative;
  height: 24px;
  display: flex;
  align-items: center;
  margin: 0 12px;
}
.pv-exec__lane-bar::before {
  content: "";
  position: absolute;
  left: 0; right: 0; top: 50%;
  height: 1px;
  background: rgba(255,255,255,.08);
}
.pv-exec__block {
  position: absolute;
  height: 22px;
  background: rgba(4,52,244,.55);
  border: 1px solid rgba(4,52,244,.9);
  border-radius: 3px;
  display: flex; align-items: center;
  padding: 0 10px;
  color: #fff;
  font-size: 11px;
  font-weight: 500;
  font-family: var(--font-mono);
  letter-spacing: -0.005em;
  white-space: nowrap;
  overflow: hidden;
}
.pv-exec__block--lime {
  background: rgba(206,255,41,.7);
  border-color: rgba(206,255,41,1);
  color: var(--vaas-blue-deep);
}
.pv-exec__block--ghost {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.18);
  color: rgba(255,255,255,.8);
}
.pv-exec__axis {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 90px 1fr 90px;
}
.pv-exec__axis-ticks {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  font-family: var(--font-mono);
  font-size: 10px;
  color: rgba(255,255,255,.4);
  text-align: left;
  padding: 0 12px;
  border-top: 1px solid rgba(255,255,255,.12);
  padding-top: 8px;
  letter-spacing: 0.08em;
}

.pv-exec__metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 24px;
  border-top: 1px solid rgba(255,255,255,.12);
}
.pv-exec__metric {
  padding: 22px 24px;
  border-right: 1px solid rgba(255,255,255,.08);
  display: flex; flex-direction: column; gap: 6px;
}
.pv-exec__metric:last-child { border-right: none; }
.pv-exec__metric b {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 30px;
  color: var(--vaas-lime);
  letter-spacing: -0.025em;
  font-variant-numeric: tabular-nums;
}
.pv-exec__metric span {
  font-family: var(--font-mono);
  font-size: 10px;
  color: rgba(255,255,255,.6);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Animated step trace */
.pv-exec__trace {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.pv-exec__step {
  display: grid;
  grid-template-columns: 22px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 6px;
  font-family: var(--font-display);
  transition: background 240ms var(--ease-out);
}
.pv-exec__step-mark {
  width: 18px; height: 18px;
  border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,.18);
  background: transparent;
  display: flex; align-items: center; justify-content: center;
  font-size: 10px; line-height: 1;
  color: var(--vaas-blue-deep);
  transition: background 240ms var(--ease-out), border-color 240ms var(--ease-out), box-shadow 240ms var(--ease-out);
}
.pv-exec__step-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pv-exec__step-body b {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 13.5px;
  color: rgba(255,255,255,.42);
  transition: color 240ms var(--ease-out);
}
.pv-exec__step-body span {
  font-family: var(--font-mono);
  font-size: 10.5px;
  letter-spacing: 0.02em;
  color: rgba(255,255,255,.32);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pv-exec__step-t {
  font-family: var(--font-mono);
  font-size: 11px;
  color: rgba(255,255,255,.0);
  font-variant-numeric: tabular-nums;
  transition: color 240ms var(--ease-out);
  min-width: 38px;
  text-align: right;
}
.pv-exec__step--done { background: rgba(206,255,41,.04); }
.pv-exec__step--done .pv-exec__step-mark {
  background: var(--vaas-lime);
  border-color: var(--vaas-lime);
  color: var(--vaas-blue-deep);
  font-weight: 700;
}
.pv-exec__step--done .pv-exec__step-body b { color: rgba(255,255,255,.92); }
.pv-exec__step--done .pv-exec__step-t { color: var(--vaas-lime); }

.pv-exec__step--active { background: rgba(255,255,255,.04); }
.pv-exec__step--active .pv-exec__step-mark {
  border-color: var(--vaas-lime);
  background: rgba(206,255,41,.18);
  animation: pv-exec-pulse 1.05s ease-in-out infinite;
}
.pv-exec__step--active .pv-exec__step-mark::after {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--vaas-lime);
}
.pv-exec__step--active .pv-exec__step-body b { color: #fff; }
.pv-exec__step--active .pv-exec__step-t { color: rgba(255,255,255,.5); }

@keyframes pv-exec-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(206,255,41,.45); }
  60%      { box-shadow: 0 0 0 8px rgba(206,255,41,0); }
}

/* Dossier card revealed at the end of the trace */
.pv-exec__dossie {
  margin-top: 14px;
  padding: 18px 18px 14px;
  background: rgba(206,255,41,.05);
  border: 1px solid rgba(206,255,41,.22);
  border-radius: 6px;
  opacity: 0;
  transform: translateY(8px) scale(.99);
  transition: opacity 360ms var(--ease-out), transform 360ms var(--ease-out);
  pointer-events: none;
}
.pv-exec__dossie--on {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}
.pv-exec__dossie-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  padding-bottom: 12px;
  margin-bottom: 14px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.pv-exec__dossie-head b {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 15px;
  color: #fff;
  letter-spacing: -0.01em;
}
.pv-exec__dossie-head span {
  font-family: var(--font-mono);
  font-size: 10px;
  color: rgba(255,255,255,.5);
  letter-spacing: 0.04em;
}
.pv-exec__dossie-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: center;
  margin-bottom: 14px;
}
.pv-exec__dossie-score-num {
  display: flex;
  align-items: baseline;
  gap: 4px;
  font-family: var(--font-display);
}
.pv-exec__dossie-score-num b {
  font-size: 44px;
  font-weight: 700;
  color: var(--vaas-lime);
  letter-spacing: -0.03em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.pv-exec__dossie-score-num span {
  font-family: var(--font-mono);
  font-size: 13px;
  color: rgba(255,255,255,.4);
}
.pv-exec__dossie-score-lbl {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
  margin-top: 4px;
}
.pv-exec__dossie-score-bar {
  margin-top: 10px;
  height: 4px;
  background: rgba(255,255,255,.08);
  border-radius: 2px;
  overflow: hidden;
}
.pv-exec__dossie-score-bar span {
  display: block;
  height: 100%;
  background: var(--vaas-lime);
  border-radius: 2px;
  width: 0%;
  transition: width 700ms var(--ease-out) 80ms;
}
.pv-exec__dossie-verdict {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-end;
  justify-content: center;
}
.pv-exec__dossie-pill {
  display: inline-flex;
  align-items: center;
  padding: 7px 16px;
  border-radius: 999px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.04em;
}
.pv-exec__dossie-pill--ok {
  background: var(--vaas-lime);
  color: var(--vaas-blue-deep);
}
.pv-exec__dossie-pill--mesa {
  background: #f0a23a;
  color: var(--vaas-blue-deep);
}
.pv-exec__dossie-pill--rej {
  background: #e54a7d;
  color: #fff;
}
.pv-exec__dossie-risk {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.04em;
  color: rgba(255,255,255,.5);
  text-transform: lowercase;
}
.pv-exec__dossie-risk b { color: rgba(255,255,255,.9); font-weight: 500; }
.pv-exec__dossie-ribbons {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid rgba(255,255,255,.08);
}
.pv-exec__dossie-ribbons li {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.05);
  font-family: var(--font-display);
}
.pv-exec__dossie-ribbons li:last-child { border-bottom: none; }
.pv-exec__dossie-ribbons li b {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.5);
  font-weight: 500;
  align-self: center;
}
.pv-exec__dossie-ribbons li span {
  font-size: 12.5px;
  color: rgba(255,255,255,.88);
}
.pv-exec__dossie-next {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.08);
  font-family: var(--font-mono);
  font-size: 10px;
  color: rgba(255,255,255,.45);
  letter-spacing: 0.04em;
  display: flex;
  align-items: center;
  gap: 8px;
}
.pv-exec__dossie-next::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--vaas-lime);
  box-shadow: 0 0 0 3px rgba(206,255,41,.18);
}

/* ============ COLABORAÇÃO. routing flow + vote panel ================= */
.pv-collab__board {
  background: #fff;
  border: 1px solid rgba(0,11,88,.1);
  padding: 24px;
}
.pv-collab__cols {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.pv-collab__col {
  background: #f6f6f6;
  border: 1px solid rgba(0,11,88,.06);
  border-radius: 8px;
  padding: 12px;
  min-height: 280px;
}
.pv-collab__colhead {
  display: flex; align-items: center; justify-content: space-between;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(0,11,88,.08);
  margin-bottom: 12px;
}
.pv-collab__colname {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--vaas-blue-deep);
  text-transform: uppercase;
}
.pv-collab__count {
  font-family: var(--font-mono);
  font-size: 10px;
  padding: 2px 8px;
  background: #fff;
  border: 1px solid rgba(0,11,88,.1);
  color: var(--vaas-blue-deep);
  border-radius: 4px;
}
.pv-collab__card {
  background: #fff;
  border: 1px solid rgba(0,11,88,.1);
  border-radius: 6px;
  padding: 10px 12px;
  margin-bottom: 8px;
  position: relative;
  font-size: 12px;
}
.pv-collab__card-tag {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.1em;
  color: var(--vaas-blue);
  text-transform: uppercase;
  display: block;
  margin-bottom: 4px;
}
.pv-collab__card-name {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 13px;
  color: var(--vaas-blue-deep);
  letter-spacing: -0.01em;
}
.pv-collab__card-meta {
  display: flex; justify-content: space-between;
  margin-top: 6px;
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--vaas-gray-700);
}
.pv-collab__card--ai {
  border: 1px solid rgba(4,52,244,.25);
  background: rgba(4,52,244,.04);
}
.pv-collab__card--ai::before {
  content: "AI";
  position: absolute;
  top: -8px; right: 8px;
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.08em;
  padding: 2px 6px;
  background: var(--vaas-blue);
  color: #fff;
  border-radius: 3px;
}
.pv-collab__card--human::before {
  content: "→";
  position: absolute;
  top: 50%; right: -7px;
  transform: translateY(-50%);
  font-family: var(--font-mono);
  color: var(--vaas-blue);
  font-size: 14px;
}
.pv-collab__card--lime {
  background: rgba(206,255,41,.22);
  border-color: rgba(206,255,41,.6);
}

.pv-collab__vote {
  margin-top: 28px;
  background: #f6f6f6;
  border: 1px solid rgba(0,11,88,.1);
  padding: 24px;
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr;
  gap: 24px;
  align-items: stretch;
}
.pv-collab__vote-h {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--vaas-blue);
  margin-bottom: 10px;
  display: block;
}
.pv-collab__vote-q {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 17px;
  letter-spacing: -0.01em;
  color: var(--vaas-blue-deep);
  margin: 0 0 12px;
  line-height: 1.35;
}
.pv-collab__vote-meta {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--vaas-gray-700);
  letter-spacing: 0.04em;
}
.pv-collab__vote-agents {
  display: flex; flex-direction: column; gap: 8px;
  padding-left: 24px;
  border-left: 1px solid rgba(0,11,88,.1);
}
.pv-collab__vote-agent {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  background: #fff;
  border: 1px solid rgba(0,11,88,.08);
}
.pv-collab__vote-avatar {
  width: 24px; height: 24px;
  border-radius: 50%;
  background: var(--vaas-blue);
  color: #fff;
  display: grid; place-items: center;
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: 600;
}
.pv-collab__vote-name {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 13px;
  color: var(--vaas-blue-deep);
}
.pv-collab__vote-verdict {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  padding: 3px 8px;
  border-radius: 3px;
  text-transform: uppercase;
}
.pv-collab__vote-verdict--rep {
  background: rgba(217,69,69,.1);
  border: 1px solid rgba(217,69,69,.3);
  color: #B13838;
}
.pv-collab__vote-verdict--ap {
  background: rgba(46,160,67,.1);
  border: 1px solid rgba(46,160,67,.3);
  color: #1f8a3c;
}
.pv-collab__vote-verdict--esc {
  background: rgba(217,155,46,.1);
  border: 1px solid rgba(217,155,46,.3);
  color: #9c6a1f;
}
.pv-collab__vote-result {
  padding-left: 24px;
  border-left: 1px solid rgba(0,11,88,.1);
  display: flex; flex-direction: column; justify-content: space-between;
}
.pv-collab__vote-bigv {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 38px;
  letter-spacing: -0.03em;
  color: #B13838;
  line-height: 1;
}
.pv-collab__vote-bigl {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--vaas-gray-700);
  margin-top: 6px;
}
.pv-collab__vote-tally {
  display: flex; gap: 12px;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--vaas-gray-700);
}
.pv-collab__vote-tally b { color: var(--vaas-blue-deep); }
.pv-collab__vote-foot {
  margin-top: 12px;
  font-family: var(--font-display);
  font-size: 13px;
  color: var(--vaas-blue-deep);
  line-height: 1.4;
}
.pv-collab__vote-foot b { color: var(--vaas-blue); font-weight: 600; }

/* ============ GOVERNANÇA. audit + RBAC =============================== */
.pv-gov__audit {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.12);
  padding: 0;
}
.pv-gov__audit-head {
  display: grid;
  grid-template-columns: 110px 1.2fr 1fr 1fr 80px;
  gap: 16px;
  padding: 14px 20px;
  border-bottom: 1px solid rgba(255,255,255,.12);
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.5);
}
.pv-gov__audit-row {
  display: grid;
  grid-template-columns: 110px 1.2fr 1fr 1fr 80px;
  gap: 16px;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  font-family: var(--font-mono);
  font-size: 12px;
  color: rgba(255,255,255,.78);
  align-items: center;
}
.pv-gov__audit-row:last-child { border-bottom: none; }
.pv-gov__audit-row:nth-child(odd) { background: rgba(255,255,255,.015); }
.pv-gov__audit-row b { color: #fff; font-weight: 500; }
.pv-gov__audit-ts { color: rgba(255,255,255,.55); }
.pv-gov__audit-who {
  display: flex; align-items: center; gap: 8px;
}
.pv-gov__audit-avatar {
  width: 20px; height: 20px;
  background: var(--vaas-blue);
  color: #fff;
  border-radius: 50%;
  display: grid; place-items: center;
  font-size: 9px;
  font-weight: 600;
}
.pv-gov__audit-avatar--ai { background: var(--vaas-lime); color: var(--vaas-blue-deep); }
.pv-gov__audit-avatar--sys { background: rgba(255,255,255,.15); color: rgba(255,255,255,.8); }
.pv-gov__audit-pill {
  font-family: var(--font-mono);
  font-size: 10px;
  padding: 2px 8px;
  border-radius: 3px;
  letter-spacing: 0.08em;
  background: rgba(4,52,244,.2);
  border: 1px solid rgba(4,52,244,.4);
  color: #fff;
  width: max-content;
}
.pv-gov__audit-pill--pub { background: rgba(206,255,41,.18); border-color: rgba(206,255,41,.5); color: var(--vaas-lime); }
.pv-gov__audit-pill--rev { background: rgba(217,155,46,.18); border-color: rgba(217,155,46,.4); color: #ffd28a; }
.pv-gov__audit-pill--dec { background: rgba(217,69,69,.15); border-color: rgba(217,69,69,.4); color: #ff9a9a; }
.pv-gov__audit-hash {
  font-size: 11px;
  color: rgba(255,255,255,.4);
  text-align: right;
}

.pv-gov__sidegrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 28px;
}
.pv-gov__panel {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.12);
  padding: 24px;
}
.pv-gov__panel-h {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 18px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.6);
}
.pv-gov__panel-h b { color: var(--vaas-lime); font-weight: 500; }
.pv-gov__rbac-row {
  display: grid;
  grid-template-columns: 1fr repeat(4, 36px);
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
  align-items: center;
  font-family: var(--font-mono);
  font-size: 12px;
}
.pv-gov__rbac-row:last-child { border-bottom: none; }
.pv-gov__rbac-row--head { color: rgba(255,255,255,.5); font-size: 10px; letter-spacing: 0.1em; padding: 6px 0 14px; }
.pv-gov__rbac-role { color: #fff; }
.pv-gov__rbac-cell {
  display: grid; place-items: center;
  height: 22px;
  border-radius: 4px;
}
.pv-gov__rbac-cell--y { background: rgba(206,255,41,.22); border: 1px solid rgba(206,255,41,.5); color: var(--vaas-lime); }
.pv-gov__rbac-cell--p { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.55); }
.pv-gov__rbac-cell--n { background: transparent; border: 1px solid rgba(255,255,255,.08); color: rgba(255,255,255,.25); }

.pv-gov__publish {
  display: flex; flex-direction: column; gap: 14px;
}
.pv-gov__publish-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  padding: 12px 14px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  font-family: var(--font-mono);
  font-size: 12px;
  align-items: center;
}
.pv-gov__publish-v {
  font-weight: 600;
  color: var(--vaas-lime);
}
.pv-gov__publish-msg {
  color: rgba(255,255,255,.78);
  font-family: var(--font-display);
  font-size: 13px;
}
.pv-gov__publish-time {
  color: rgba(255,255,255,.4);
  font-size: 11px;
}
.pv-gov__publish-row--active {
  background: rgba(4,52,244,.18);
  border-color: rgba(4,52,244,.5);
}
.pv-gov__publish-row--active .pv-gov__publish-v::after {
  content: " · ATIVO";
  font-size: 9px;
  color: var(--vaas-lime);
}

/* ============ MODELAGEM. code editor ================================= */
.pv-mod__editor {
  background: #0d1230;
  border: 1px solid rgba(0,11,88,.16);
  font-family: var(--font-mono);
  overflow: hidden;
}
.pv-mod__editor-tabs {
  display: flex;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: #0a0e26;
}
.pv-mod__editor-tab {
  padding: 12px 18px;
  font-size: 11px;
  color: rgba(255,255,255,.55);
  border-right: 1px solid rgba(255,255,255,.08);
  letter-spacing: 0.04em;
  display: flex; align-items: center; gap: 8px;
}
.pv-mod__editor-tab--active {
  background: #0d1230;
  color: #fff;
  border-bottom: 2px solid var(--vaas-lime);
}
.pv-mod__editor-tab::before {
  content: "";
  width: 8px; height: 8px;
  background: rgba(255,255,255,.2);
  border-radius: 50%;
}
.pv-mod__editor-tab--active::before { background: var(--vaas-lime); }
.pv-mod__editor-body {
  display: grid;
  grid-template-columns: 36px 1fr;
}
.pv-mod__gutter {
  background: #0a0e26;
  padding: 18px 0;
  text-align: right;
  color: rgba(255,255,255,.25);
  font-size: 11.5px;
  line-height: 1.55;
  padding-right: 10px;
  user-select: none;
}
.pv-mod__code {
  padding: 18px 20px;
  font-size: 12.5px;
  line-height: 1.55;
  color: #e8ebff;
  white-space: pre;
  overflow-x: auto;
  letter-spacing: 0;
}
.pv-mod__code .kw { color: #c084fc; }
.pv-mod__code .fn { color: #7dd3fc; }
.pv-mod__code .str { color: var(--vaas-lime); }
.pv-mod__code .num { color: #fbbf24; }
.pv-mod__code .cm { color: rgba(255,255,255,.35); font-style: italic; }
.pv-mod__code .prop { color: #f0abfc; }
.pv-mod__code .var { color: #93c5fd; }

.pv-mod__sidepanel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 24px;
}
.pv-mod__test {
  background: #fff;
  border: 1px solid rgba(0,11,88,.1);
  padding: 22px;
}
.pv-mod__test-h {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--vaas-blue);
  margin: 0 0 14px;
}
.pv-mod__test-input {
  background: #f6f6f6;
  padding: 12px 14px;
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--vaas-blue-deep);
  border: 1px solid rgba(0,11,88,.06);
  margin-bottom: 12px;
}
.pv-mod__test-input b { color: var(--vaas-blue); }
.pv-mod__test-output {
  display: flex; align-items: center; gap: 12px;
  padding: 14px;
  background: rgba(217,69,69,.05);
  border: 1px solid rgba(217,69,69,.25);
}
.pv-mod__test-verdict {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 22px;
  letter-spacing: -0.02em;
  color: #B13838;
}
.pv-mod__test-detail {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--vaas-gray-700);
}
.pv-mod__rules-list {
  background: #fff;
  border: 1px solid rgba(0,11,88,.1);
  padding: 22px;
}
.pv-mod__rule-row {
  display: grid;
  grid-template-columns: 1fr 70px 50px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(0,11,88,.06);
  align-items: center;
  font-size: 13px;
  gap: 12px;
}
.pv-mod__rule-row:last-child { border-bottom: none; }
.pv-mod__rule-name { color: var(--vaas-blue-deep); }
.pv-mod__rule-pts {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--vaas-blue);
  text-align: right;
  font-weight: 600;
}
.pv-mod__rule-state {
  font-family: var(--font-mono);
  font-size: 10px;
  text-align: center;
  padding: 3px 6px;
  background: rgba(46,160,67,.1);
  border: 1px solid rgba(46,160,67,.3);
  color: #1f8a3c;
  border-radius: 3px;
  letter-spacing: 0.08em;
}
.pv-mod__rule-state--off { background: rgba(0,11,88,.06); border-color: rgba(0,11,88,.1); color: var(--vaas-gray-700); }

/* ============ MONITORAMENTO. surveillance feed ======================== */
.pv-mon__dash {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.12);
  padding: 0;
  overflow: hidden;
}
.pv-mon__dash-head {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 18px 24px;
  border-bottom: 1px solid rgba(255,255,255,.12);
  gap: 24px;
}
.pv-mon__dash-stats {
  display: flex; gap: 32px;
}
.pv-mon__dash-stat {
  display: flex; flex-direction: column; gap: 2px;
}
.pv-mon__dash-stat b {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 22px;
  color: var(--vaas-lime);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
}
.pv-mon__dash-stat span {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
}
.pv-mon__dash-live {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--vaas-lime);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.pv-mon__dash-live::before {
  content: "";
  width: 7px; height: 7px;
  background: var(--vaas-lime);
  border-radius: 50%;
  animation: pv-pulse 1.6s infinite;
}

.pv-mon__dash-body {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
}
.pv-mon__feed {
  border-right: 1px solid rgba(255,255,255,.12);
}
.pv-mon__feed-row {
  display: grid;
  grid-template-columns: 90px 1fr auto;
  gap: 16px;
  padding: 16px 24px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  align-items: center;
}
.pv-mon__feed-row:last-child { border-bottom: none; }
.pv-mon__feed-time {
  font-family: var(--font-mono);
  font-size: 11px;
  color: rgba(255,255,255,.5);
  letter-spacing: 0.04em;
}
.pv-mon__feed-content { min-width: 0; }
.pv-mon__feed-event {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 14px;
  color: #fff;
  letter-spacing: -0.005em;
  margin-bottom: 4px;
  line-height: 1.35;
}
.pv-mon__feed-event b { color: var(--vaas-lime); font-weight: 600; }
.pv-mon__feed-meta {
  font-family: var(--font-mono);
  font-size: 11px;
  color: rgba(255,255,255,.55);
}
.pv-mon__feed-action {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 3px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.75);
}
.pv-mon__feed-action--reanalisa { background: rgba(4,52,244,.25); border-color: rgba(4,52,244,.55); color: #fff; }
.pv-mon__feed-action--alerta { background: rgba(217,69,69,.18); border-color: rgba(217,69,69,.45); color: #ff9a9a; }
.pv-mon__feed-action--mesa { background: rgba(206,255,41,.18); border-color: rgba(206,255,41,.5); color: var(--vaas-lime); }

.pv-mon__watch {
  padding: 24px;
}
.pv-mon__watch-h {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
  margin-bottom: 16px;
}
.pv-mon__watch-cards {
  display: flex; flex-direction: column; gap: 10px;
}
.pv-mon__watch-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  padding: 14px 16px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
}
.pv-mon__watch-name {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 13px;
  color: #fff;
  letter-spacing: -0.005em;
  margin-bottom: 4px;
}
.pv-mon__watch-tags {
  display: flex; gap: 6px;
  font-family: var(--font-mono);
  font-size: 10px;
  color: rgba(255,255,255,.55);
}
.pv-mon__watch-tags span {
  padding: 2px 6px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 3px;
}
.pv-mon__watch-score {
  text-align: right;
}
.pv-mon__watch-score b {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 20px;
  color: var(--vaas-lime);
  font-variant-numeric: tabular-nums;
}
.pv-mon__watch-score span {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.5);
  display: block;
}
.pv-mon__watch-trend--up { color: #ff9a9a !important; }
.pv-mon__watch-trend--up::before { content: "▲ "; }
.pv-mon__watch-trend--down::before { content: "▼ "; color: var(--vaas-lime); }

/* ============ COMPOSIÇÃO. variables + integrations =================== */
.pv-comp__tree {
  background: #fff;
  border: 1px solid rgba(0,11,88,.1);
  font-family: var(--font-mono);
  padding: 24px;
}
.pv-comp__tree-row {
  display: grid;
  grid-template-columns: 1fr auto auto auto;
  gap: 16px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(0,11,88,.04);
  font-size: 12.5px;
  align-items: center;
}
.pv-comp__tree-row:last-child { border-bottom: none; }
.pv-comp__tree-row--head {
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--vaas-gray-700);
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(0,11,88,.1);
  margin-bottom: 4px;
}
.pv-comp__tree-name {
  display: flex; align-items: center; gap: 8px;
}
.pv-comp__tree-name b {
  color: var(--vaas-blue-deep);
  font-weight: 500;
}
.pv-comp__tree-indent { width: 16px; opacity: .3; }
.pv-comp__tree-indent--2 { width: 32px; }
.pv-comp__tree-type {
  font-size: 10px;
  letter-spacing: 0.06em;
  color: var(--vaas-blue);
  padding: 2px 6px;
  background: rgba(4,52,244,.06);
  border: 1px solid rgba(4,52,244,.16);
  border-radius: 3px;
}
.pv-comp__tree-type--mod {
  color: var(--vaas-blue-deep);
  background: rgba(206,255,41,.3);
  border-color: rgba(206,255,41,.6);
}
.pv-comp__tree-scope {
  font-size: 10px;
  color: var(--vaas-gray-700);
  letter-spacing: 0.08em;
}
.pv-comp__tree-source {
  font-size: 11px;
  color: var(--vaas-gray-700);
}
.pv-comp__tree-source b { color: var(--vaas-blue); font-weight: 500; }

.pv-comp__split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 28px;
}
.pv-comp__api {
  background: #0d1230;
  color: #e8ebff;
  font-family: var(--font-mono);
  padding: 22px;
  font-size: 12.5px;
  line-height: 1.6;
  border: 1px solid rgba(0,11,88,.16);
}
.pv-comp__api-head {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.pv-comp__api-method {
  font-size: 10px;
  letter-spacing: 0.1em;
  padding: 3px 8px;
  border-radius: 3px;
  background: rgba(206,255,41,.18);
  border: 1px solid rgba(206,255,41,.45);
  color: var(--vaas-lime);
}
.pv-comp__api-url { color: rgba(255,255,255,.75); }
.pv-comp__api .kw { color: #c084fc; }
.pv-comp__api .str { color: var(--vaas-lime); }
.pv-comp__api .num { color: #fbbf24; }
.pv-comp__api .prop { color: #93c5fd; }
.pv-comp__api .cm { color: rgba(255,255,255,.35); }

.pv-comp__bureaus {
  background: #fff;
  border: 1px solid rgba(0,11,88,.1);
  padding: 22px;
}
.pv-comp__bureaus-h {
  display: flex; justify-content: space-between;
  margin-bottom: 14px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--vaas-blue);
}
.pv-comp__bureaus-h b { color: var(--vaas-blue-deep); }
.pv-comp__bureaus-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 1px solid rgba(0,11,88,.08);
  border-left: 1px solid rgba(0,11,88,.08);
}
.pv-comp__bureau {
  padding: 14px 10px;
  border-right: 1px solid rgba(0,11,88,.08);
  border-bottom: 1px solid rgba(0,11,88,.08);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 12px;
  color: var(--vaas-blue-deep);
  letter-spacing: -0.005em;
  text-align: center;
  min-height: 56px;
  position: relative;
}
.pv-comp__bureau::after {
  content: "✓";
  position: absolute;
  top: 5px; right: 6px;
  font-size: 9px;
  color: var(--vaas-lime);
}
.pv-comp__bureau--more {
  background: rgba(4,52,244,.05);
  color: var(--vaas-blue);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
}
.pv-comp__bureau--more::after { display: none; }

/* ============ Final CTA bleed-into-page footer style ================== */

/* ============ Tweaks panel ============================================ */
.pv-tweaks {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 50;
  width: 320px;
  background: var(--vaas-blue-deep);
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 12px;
  box-shadow: 0 30px 80px -20px rgba(0,0,0,.5);
  font-family: var(--font-display);
}
.pv-tweaks__head {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.pv-tweaks__title {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--vaas-lime);
}
.pv-tweaks__close {
  width: 22px; height: 22px;
  background: transparent;
  border: 1px solid rgba(255,255,255,.2);
  color: #fff;
  cursor: pointer;
  display: grid; place-items: center;
  font-size: 14px;
  line-height: 1;
}
.pv-tweaks__body {
  padding: 16px;
  display: flex; flex-direction: column; gap: 14px;
  max-height: 70vh;
  overflow-y: auto;
}
.pv-tweaks__field {
  display: flex; flex-direction: column; gap: 6px;
}
.pv-tweaks__label {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.6);
}
.pv-tweaks__seg {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 4px;
  background: rgba(255,255,255,.06);
  padding: 4px;
  border-radius: 6px;
}
.pv-tweaks__seg button {
  background: transparent;
  border: none;
  color: rgba(255,255,255,.65);
  font-family: var(--font-mono);
  font-size: 10.5px;
  letter-spacing: 0.06em;
  padding: 8px 4px;
  cursor: pointer;
  border-radius: 4px;
  transition: background 160ms;
}
.pv-tweaks__seg button.active {
  background: var(--vaas-lime);
  color: var(--vaas-blue-deep);
}
.pv-tweaks__toggle {
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 0;
}
.pv-tweaks__sw {
  width: 36px; height: 20px;
  background: rgba(255,255,255,.15);
  border-radius: 99px;
  position: relative;
  cursor: pointer;
  transition: background 160ms;
  border: none;
}
.pv-tweaks__sw::after {
  content: "";
  position: absolute;
  left: 2px; top: 2px;
  width: 16px; height: 16px;
  background: #fff;
  border-radius: 50%;
  transition: left 160ms var(--ease-out);
}
.pv-tweaks__sw.on { background: var(--vaas-lime); }
.pv-tweaks__sw.on::after { left: 18px; }

/* ============ Responsive ============================================== */
@media (max-width: 1100px) {
  .pv-hero__inner { grid-template-columns: 1fr; gap: 64px; }
  .pv-engine { max-width: 480px; margin: 0 auto; }
  .pv-twocol,
  .pv-twocol--reverse,
  .pv-twocol--wide { grid-template-columns: 1fr; gap: 48px; }
  .pv-twocol__copy { position: static; }
  .pv-overview__grid { grid-template-columns: repeat(2, 1fr); }
  .pv-collab__cols { grid-template-columns: repeat(2, 1fr); }
  .pv-collab__vote { grid-template-columns: 1fr; }
  .pv-collab__vote-agents, .pv-collab__vote-result { padding-left: 0; border-left: none; border-top: 1px solid rgba(0,11,88,.1); padding-top: 16px; }
  .pv-gov__sidegrid { grid-template-columns: 1fr; }
  .pv-mod__sidepanel { grid-template-columns: 1fr; }
  .pv-mon__dash-body { grid-template-columns: 1fr; }
  .pv-mon__feed { border-right: none; border-bottom: 1px solid rgba(255,255,255,.12); }
  .pv-comp__split { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .pv-section { padding: 90px 0; }
  .pv-hero { padding: 140px 0 90px; }
  .pv-container { padding: 0 24px; }
  .pv-section-head { margin-bottom: 56px; }
  .pv-overview__grid { grid-template-columns: 1fr; }
  .pv-collab__cols { grid-template-columns: 1fr; }
  .pv-comp__bureaus-grid { grid-template-columns: repeat(2, 1fr); }
  .pv-exec__metrics { grid-template-columns: repeat(2, 1fr); }
  .pv-exec__metric { border-bottom: 1px solid rgba(255,255,255,.08); }
  .pv-exec__metric:nth-child(even) { border-right: none; }
  .pv-exec__dossie-row { grid-template-columns: 1fr; gap: 12px; }
  .pv-exec__dossie-verdict { align-items: flex-start; }
  .pv-exec__dossie-ribbons li { grid-template-columns: 100px 1fr; gap: 8px; }
  .pv-exec__step-body span { white-space: normal; }
  .pv-gov__audit-head, .pv-gov__audit-row { grid-template-columns: 70px 1fr 1fr; gap: 12px; padding: 12px 14px; font-size: 11px; }
  .pv-gov__audit-head > :nth-child(n+4), .pv-gov__audit-row > :nth-child(n+4) { display: none; }
  /* Mobile: oculta ilustrações da Governança, mantém só copy + bullets */
  #governanca .pv-mock,
  #governanca .pv-gov__sidegrid { display: none; }
  .pv-hero__title { font-size: 44px; }
  .pv-hero__stats { flex-wrap: wrap; gap: 16px; }
  .pv-hero__stat { flex: 1 1 calc(50% - 8px); border-right: none; padding-right: 0; }
}

/* ============ PV2Workflow. commercial workflow builder ============== */
.pv-wf-section { padding-top: 120px; padding-bottom: 120px; }
.pv-wf-section .pv-section-head { margin-bottom: 40px; max-width: 880px; }

.pv-wf-stats {
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid rgba(0,11,88,.1);
  border-bottom: 1px solid rgba(0,11,88,.1);
  padding: 20px 0;
}
.pv-wf-stats li {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 0 24px;
  border-right: 1px solid rgba(0,11,88,.08);
}
.pv-wf-stats li:last-child { border-right: none; }
.pv-wf-stats li b {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 22px;
  letter-spacing: -0.02em;
  color: var(--vaas-blue-deep);
  line-height: 1.1;
}
.pv-wf-stats li span {
  font-family: var(--font-mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(0,11,88,.55);
}

.pv-wf-frame {
  background: #fff;
  border: 1px solid rgba(0,11,88,.1);
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 24px 60px -24px rgba(0,11,88,.18);
}
.pv-wf-section .pv-mock__bar {
  background: #fafbfc;
  border-bottom: 1px solid rgba(0,11,88,.08);
  color: rgba(0,11,88,.55);
}
.pv-wf-section .pv-mock__pill {
  background: rgba(4,52,244,.08);
  border-color: rgba(4,52,244,.18);
  color: var(--vaas-blue);
}
.pv-wf-section .pv-mock__dot { background: #d0d5e0; }

.pv-wf-canvas {
  position: relative;
  background-color: #fcfcfd;
  background-image: radial-gradient(rgba(0,11,88,.12) 1.1px, transparent 1.1px);
  background-size: 14px 14px;
  background-position: 0 0;
  padding: 40px 32px 48px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.pv-wf-canvas::-webkit-scrollbar { height: 8px; }
.pv-wf-canvas::-webkit-scrollbar-thumb { background: rgba(0,11,88,.15); border-radius: 4px; }

.pv-wf-flow {
  display: flex;
  align-items: flex-start;
  gap: 0;
  min-width: max-content;
  padding-bottom: 8px;
}
.pv-wf-step {
  display: flex;
  flex-direction: column;
  width: 260px;
  flex: 0 0 260px;
}
.pv-wf-conn {
  flex: 0 0 28px;
  height: 1.5px;
  margin-top: 22px; /* vertical center of node bar (44px / 2) */
  background-image: linear-gradient(to right, rgba(0,11,88,.32) 50%, transparent 50%);
  background-size: 6px 1.5px;
  background-repeat: repeat-x;
  align-self: flex-start;
}

.pv-wf-node {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  background: #fff;
  border: 1px solid rgba(0,11,88,.14);
  border-radius: 999px;
  padding: 10px 14px;
  cursor: pointer;
  text-align: left;
  box-shadow: 0 1px 2px rgba(0,11,88,.05);
  transition: border-color 160ms var(--ease-out), box-shadow 160ms var(--ease-out), transform 160ms var(--ease-out);
  font-family: var(--font-display);
}
.pv-wf-node:hover {
  border-color: rgba(4,52,244,.4);
  box-shadow: 0 4px 12px rgba(4,52,244,.1);
}
.pv-wf-step--active .pv-wf-node {
  border-color: rgba(4,52,244,.55);
  box-shadow: 0 4px 16px rgba(4,52,244,.15);
}
.pv-wf-node__icon {
  width: 22px; height: 22px;
  border-radius: 5px;
  background: var(--vaas-blue);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  flex: 0 0 22px;
}
.pv-wf-node__lbl {
  flex: 1;
  font-size: 13px;
  font-weight: 500;
  color: var(--vaas-blue-deep);
  letter-spacing: -0.005em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pv-wf-node__chev {
  font-family: var(--font-mono);
  color: rgba(0,11,88,.4);
  font-size: 13px;
  transition: transform 160ms var(--ease-out);
  flex: 0 0 auto;
  line-height: 1;
}
.pv-wf-node__chev--up { transform: rotate(180deg); }

.pv-wf-detail {
  margin-top: 14px;
  background: #fff;
  border: 1px solid rgba(0,11,88,.1);
  border-radius: 14px;
  padding: 16px 16px 12px;
  box-shadow: 0 2px 8px rgba(0,11,88,.05);
  animation: pv-wf-pop 200ms var(--ease-out);
}
@keyframes pv-wf-pop {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}
.pv-wf-detail__h {
  font-family: var(--font-mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(0,11,88,.5);
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(0,11,88,.06);
}
.pv-wf-detail__h--mt { margin-top: 14px; }
.pv-wf-detail__rows { display: flex; flex-direction: column; }
.pv-wf-detail__row {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 10px;
  padding: 9px 0;
  border-bottom: 1px solid rgba(0,11,88,.05);
  font-size: 11.5px;
  line-height: 1.35;
}
.pv-wf-detail__row:last-child { border-bottom: none; }
.pv-wf-detail__row b {
  font-family: var(--font-display);
  font-weight: 500;
  color: var(--vaas-blue-deep);
}
.pv-wf-detail__row span {
  font-family: var(--font-display);
  color: rgba(0,11,88,.6);
}

/* Branching connector → outcomes (fixed height so it doesn't grow with parent) */
.pv-wf-branch {
  flex: 0 0 36px;
  align-self: flex-start;
  position: relative;
  height: 168px;
  width: 36px;
}
.pv-wf-branch span {
  position: absolute;
  left: 0; right: 0;
  height: 1.5px;
  background-image: linear-gradient(to right, rgba(0,11,88,.32) 50%, transparent 50%);
  background-size: 6px 1.5px;
}
/* Three branches aligned with each outcome pill in .pv-wf-outcomes */
.pv-wf-branch span:nth-child(1) { top: 22px;  }
.pv-wf-branch span:nth-child(2) { top: 84px;  }
.pv-wf-branch span:nth-child(3) { top: 146px; }
.pv-wf-branch::before {
  /* vertical join line at the left edge. spans between first and last branch */
  content: "";
  position: absolute;
  left: 0; top: 22px;
  height: 124px;
  width: 1.5px;
  background-image: linear-gradient(to bottom, rgba(0,11,88,.32) 50%, transparent 50%);
  background-size: 1.5px 6px;
}

.pv-wf-outcomes {
  display: flex;
  flex-direction: column;
  gap: 14px;
  flex: 0 0 220px;
  width: 220px;
  margin-top: 0;
}
.pv-wf-out {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  border: 1px solid rgba(0,11,88,.14);
  border-radius: 999px;
  padding: 10px 14px;
  box-shadow: 0 1px 2px rgba(0,11,88,.05);
  font-family: var(--font-display);
}
.pv-wf-out__dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  flex: 0 0 10px;
}
.pv-wf-out__lbl {
  flex: 1;
  font-size: 13px;
  font-weight: 500;
  color: var(--vaas-blue-deep);
}
.pv-wf-out--rej .pv-wf-out__dot { background: #e54a7d; box-shadow: 0 0 0 3px rgba(229,74,125,.12); }
.pv-wf-out--rev .pv-wf-out__dot { background: #f0a23a; box-shadow: 0 0 0 3px rgba(240,162,58,.12); }
.pv-wf-out--ok  .pv-wf-out__dot { background: #2bb673; box-shadow: 0 0 0 3px rgba(43,182,115,.12); }
.pv-wf-out--rej { border-color: rgba(229,74,125,.3); }
.pv-wf-out--rev { border-color: rgba(240,162,58,.3); }
.pv-wf-out--ok  { border-color: rgba(43,182,115,.3); }

.pv-wf-hint {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 32px 14px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.04em;
  color: rgba(0,11,88,.5);
  background: #fafbfc;
  border-top: 1px solid rgba(0,11,88,.06);
}
.pv-wf-hint__cursor {
  width: 14px; height: 14px;
  background: var(--vaas-blue);
  clip-path: polygon(0 0, 100% 60%, 55% 60%, 50% 100%, 0 75%);
  display: inline-block;
}

/* PV2Workflow Flow wrapper chrome (matches Etapas/Versões structure) */
.pv-wf-flowwrap { display: flex; flex-direction: column; }
.pv-wf-flowwrap__chrome { padding: 24px 28px 0; }
.pv-wf-flowwrap .pv-wf-cfg__head { margin-bottom: 18px; }
.pv-wf-flowwrap .pv-wf-cfg__steptabs { margin: 0; }
.pv-wf-canvas-host { position: relative; }
.pv-wf-canvas__addbtn {
  position: absolute;
  top: 16px;
  right: 24px;
  z-index: 3;
  background: var(--vaas-blue);
  color: #fff;
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 500;
  padding: 9px 18px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
.pv-wf-canvas__addbtn:hover { background: #032bb8; }

/* PV2Workflow tab strip (Fluxo / Etapas / Versões) */
.pv-wf-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin-bottom: 24px;
  border: 1px solid rgba(0,11,88,.12);
  border-radius: 6px;
  background: #fff;
  overflow: hidden;
}
.pv-wf-tab {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  background: #fff;
  border: none;
  border-right: 1px solid rgba(0,11,88,.08);
  cursor: pointer;
  text-align: left;
  position: relative;
  font-family: var(--font-display);
  transition: background 160ms var(--ease-out);
}
.pv-wf-tab:last-child { border-right: none; }
.pv-wf-tab:hover { background: #fafbfc; }
.pv-wf-tab--active {
  background: var(--vaas-blue-deep);
  color: #fff;
}
.pv-wf-tab--active:hover { background: var(--vaas-blue-deep); }
.pv-wf-tab__n {
  width: 26px; height: 26px;
  border-radius: 50%;
  border: 1.5px solid rgba(0,11,88,.22);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  color: var(--vaas-blue-deep);
  flex: 0 0 26px;
}
.pv-wf-tab--active .pv-wf-tab__n {
  background: var(--vaas-lime);
  color: var(--vaas-blue-deep);
  border-color: var(--vaas-lime);
}
.pv-wf-tab__body { display: flex; flex-direction: column; gap: 2px; }
.pv-wf-tab__body b {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--vaas-blue-deep);
}
.pv-wf-tab--active .pv-wf-tab__body b { color: #fff; }
.pv-wf-tab__body span {
  font-size: 12.5px;
  color: rgba(0,11,88,.55);
}
.pv-wf-tab--active .pv-wf-tab__body span { color: rgba(255,255,255,.7); }
.pv-wf-tab--active::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 3px;
  background: var(--vaas-lime);
}

/* PV2Workflow ConfigView (Etapas) */
.pv-wf-cfg { padding: 24px 28px 32px; font-family: var(--font-display); color: var(--vaas-blue-deep); }
.pv-wf-cfg__head {
  display: flex; justify-content: space-between; align-items: center;
  gap: 16px;
  margin-bottom: 18px;
  flex-wrap: wrap;
}
.pv-wf-cfg__title {
  font-family: var(--font-display);
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -0.01em;
  margin: 0;
  display: inline;
}
.pv-wf-cfg__pill {
  display: inline-block;
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 500;
  color: rgba(0,11,88,.65);
  padding: 4px 10px;
  border: 1px solid rgba(0,11,88,.14);
  border-radius: 999px;
  margin-left: 10px;
  vertical-align: middle;
}
.pv-wf-cfg__pubbtn {
  background: var(--vaas-blue);
  color: #fff;
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 500;
  padding: 9px 18px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
.pv-wf-cfg__pubbtn:hover { background: #032bb8; }

.pv-wf-cfg__steptabs {
  display: flex; gap: 24px;
  border-bottom: 1px solid rgba(0,11,88,.08);
  margin: 0 0 24px 0;
  padding: 0;
  overflow-x: auto;
}
.pv-wf-cfg__steptab {
  font-family: var(--font-display);
  font-size: 13px;
  color: rgba(0,11,88,.55);
  padding: 0 0 12px;
  position: relative;
  white-space: nowrap;
  display: inline-flex; align-items: center; gap: 6px;
}
.pv-wf-cfg__steptab--active {
  color: var(--vaas-blue);
  font-weight: 500;
}
.pv-wf-cfg__steptab--active::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 2px;
  background: var(--vaas-blue);
}
.pv-wf-cfg__steptab-x {
  font-size: 14px;
  color: rgba(0,11,88,.45);
  line-height: 1;
}

.pv-wf-cfg__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 320px);
  gap: 24px;
}
.pv-wf-cfg__main { display: flex; flex-direction: column; gap: 18px; }
.pv-wf-cfg__block-h {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 6px;
  color: var(--vaas-blue-deep);
}
.pv-wf-cfg__gear { color: var(--vaas-blue); font-size: 16px; }

.pv-wf-cfg__card {
  background: #fff;
  border: 1px solid rgba(0,11,88,.1);
  border-radius: 6px;
  padding: 18px 20px;
}
.pv-wf-cfg__card--active {
  border-color: var(--vaas-blue);
  box-shadow: 0 0 0 3px rgba(4,52,244,.06);
}
.pv-wf-cfg__card-h {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 14px;
}
.pv-wf-cfg__card-h-ico { color: var(--vaas-blue); font-size: 14px; }
.pv-wf-cfg__card-add {
  margin-left: auto;
  color: var(--vaas-blue);
  font-size: 18px;
  line-height: 1;
}
.pv-wf-cfg__card-sub {
  font-family: var(--font-display);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--vaas-blue-deep);
  margin: 0 0 6px;
}
.pv-wf-cfg__card-sub--mt { margin-top: 14px; }
.pv-wf-cfg__src {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 14px;
  padding: 6px 0;
  font-family: var(--font-display);
  font-size: 12.5px;
  align-items: baseline;
}
.pv-wf-cfg__src-vendor {
  font-family: var(--font-display);
  font-size: 11.5px;
  color: rgba(0,11,88,.55);
}
.pv-wf-cfg__src-item { color: var(--vaas-blue-deep); }
.pv-wf-cfg__var {
  padding: 8px 12px;
  font-family: var(--font-display);
  font-size: 13px;
  border: 1px solid rgba(0,11,88,.08);
  border-radius: 4px;
  margin: 4px 0;
  background: #fafbfc;
  color: var(--vaas-blue-deep);
}
.pv-wf-cfg__more {
  font-family: var(--font-display);
  font-size: 12.5px;
  color: var(--vaas-blue);
  text-align: center;
  padding: 12px 0 4px;
  font-weight: 500;
}
.pv-wf-cfg__rule {
  display: flex; justify-content: space-between; align-items: center;
  padding: 12px 14px;
  border: 1px solid rgba(0,11,88,.08);
  border-radius: 4px;
  margin: 6px 0;
  font-family: var(--font-display);
  font-size: 13px;
}
.pv-wf-cfg__rule b {
  font-family: var(--font-mono);
  font-size: 14px;
  color: #e54a7d;
  font-weight: 600;
}
.pv-wf-cfg__footer {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 12px;
  margin-top: 10px;
  border-top: 1px solid rgba(0,11,88,.08);
}
.pv-wf-cfg__total {
  font-family: var(--font-display);
  font-size: 13px;
  color: rgba(0,11,88,.65);
}
.pv-wf-cfg__total b {
  font-family: var(--font-display);
  font-size: 24px;
  color: #e54a7d;
  margin-left: 8px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.pv-wf-cfg__side {
  background: #fafbfc;
  border: 1px solid rgba(0,11,88,.08);
  border-radius: 6px;
  padding: 16px;
  align-self: start;
}
.pv-wf-cfg__side-h {
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 600;
  color: var(--vaas-blue-deep);
  margin-bottom: 12px;
}
.pv-wf-cfg__side-search {
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 12px;
  background: #fff;
  border: 1px solid rgba(0,11,88,.1);
  border-radius: 4px;
  font-family: var(--font-display);
  font-size: 12.5px;
  color: rgba(0,11,88,.4);
  margin-bottom: 12px;
}
.pv-wf-cfg__side-search-ico { color: rgba(0,11,88,.4); }
.pv-wf-cfg__tree {
  display: flex; flex-direction: column;
  font-family: var(--font-display);
  font-size: 12.5px;
}
.pv-wf-cfg__tree-root {
  display: flex; align-items: center; gap: 8px;
  padding: 6px 0;
  color: var(--vaas-blue-deep);
  cursor: pointer;
}
.pv-wf-cfg__tree-child {
  display: flex; align-items: center; gap: 8px;
  padding: 5px 0 5px 18px;
  color: rgba(0,11,88,.7);
  cursor: pointer;
}
.pv-wf-cfg__tree-chev {
  font-family: var(--font-mono);
  color: var(--vaas-blue);
  font-size: 12px;
  width: 12px;
}
.pv-wf-cfg__tree-root.is-open .pv-wf-cfg__tree-chev { transform: rotate(0deg); }

/* PV2Workflow VersionsView */
.pv-wf-ver { padding: 24px 28px 32px; font-family: var(--font-display); color: var(--vaas-blue-deep); }
.pv-wf-ver__head {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 18px;
}
.pv-wf-ver__title {
  font-family: var(--font-display);
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -0.01em;
  margin: 0;
}
.pv-wf-ver__menu {
  width: 32px; height: 32px;
  border: 1px solid rgba(0,11,88,.14);
  background: #fff;
  border-radius: 4px;
  cursor: pointer;
  font-size: 18px;
  color: rgba(0,11,88,.55);
}
.pv-wf-ver__sectionH {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 600;
  color: var(--vaas-blue-deep);
  margin: 24px 0 12px;
}
.pv-wf-ver__sectionH--row {
  display: flex; justify-content: space-between; align-items: center;
}
.pv-wf-ver__btn {
  background: var(--vaas-blue);
  color: #fff;
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 500;
  padding: 8px 16px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
.pv-wf-ver__prod {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
  padding: 16px 18px;
  background: rgba(4,52,244,.04);
  border: 1px solid rgba(4,52,244,.3);
  border-radius: 4px;
}
.pv-wf-ver__prod-cell { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.pv-wf-ver__prod-cell b {
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 400;
  color: rgba(0,11,88,.55);
}
.pv-wf-ver__prod-cell span {
  font-family: var(--font-display);
  font-size: 13px;
  color: var(--vaas-blue-deep);
  font-weight: 500;
}
.pv-wf-ver__table { display: flex; flex-direction: column; }
.pv-wf-ver__row {
  display: grid;
  grid-template-columns: 1.2fr 1.4fr 1.4fr 1.4fr 1.4fr;
  gap: 12px;
  padding: 12px 4px;
  border-bottom: 1px solid rgba(0,11,88,.06);
  font-family: var(--font-display);
  font-size: 13px;
  color: rgba(0,11,88,.7);
  align-items: center;
}
.pv-wf-ver__table--hist .pv-wf-ver__row {
  grid-template-columns: 1.2fr 1.4fr 1.4fr 1.4fr 1.4fr;
}
.pv-wf-ver__row--head {
  border-bottom: 1px solid rgba(0,11,88,.12);
  font-family: var(--font-display);
  font-size: 11.5px;
  font-weight: 400;
  color: rgba(0,11,88,.5);
  padding-bottom: 10px;
  text-transform: none;
  letter-spacing: 0;
}
.pv-wf-ver__row b { color: var(--vaas-blue-deep); font-weight: 500; }

@media (max-width: 1100px) {
  .pv-wf-cfg__body { grid-template-columns: 1fr; }
  .pv-wf-ver__prod { grid-template-columns: repeat(3, 1fr); gap: 14px 18px; }
  .pv-wf-ver__row { grid-template-columns: 1fr 1fr; }
  .pv-wf-ver__row > :nth-child(n+3) { display: none; }
}
@media (max-width: 720px) {
  .pv-wf-tabs { grid-template-columns: 1fr; }
  .pv-wf-tab { border-right: none; border-bottom: 1px solid rgba(0,11,88,.08); }
  .pv-wf-tab:last-child { border-bottom: none; }
  .pv-wf-tab--active::after { left: 0; right: auto; top: 0; bottom: 0; width: 3px; height: auto; }
  .pv-wf-cfg, .pv-wf-ver { padding: 18px 18px 22px; }
  .pv-wf-cfg__head { flex-direction: column; align-items: flex-start; }
  .pv-wf-ver__prod { grid-template-columns: 1fr 1fr; }
  .pv-wf-ver__row { grid-template-columns: 1fr; gap: 4px; padding: 10px 4px; }
  .pv-wf-ver__row--head { display: none; }
}

/* ============ PV2Caps. tabbed capabilities section ================== */
/* nav (pills) overlays the top of the first panel section below */
.pv-caps__panels { position: relative; }
.pv-caps__nav {
  position: absolute; top: 0; left: 0; right: 0; z-index: 6;
  display: flex; justify-content: center;
  padding: 46px 24px 0;
  pointer-events: none;
}
.pv-caps__nav > * { pointer-events: auto; }
.pv-caps__strip {
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  width: 100%;
  max-width: 920px;
}
.pv-caps__tab {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 11px 20px;
  background: #fff;
  border: 1px solid rgba(0,11,88,.14);
  border-radius: 999px;
  cursor: pointer;
  text-align: left;
  transition: background 160ms var(--ease-out), border-color 160ms var(--ease-out), transform 160ms var(--ease-out);
  position: relative;
  font-family: var(--font-display);
}
.pv-caps__tab:hover { border-color: var(--vaas-blue); background: #eef2ff; transform: translateY(-1px); }
.pv-caps__tab--active {
  background: var(--vaas-blue);
  border-color: var(--vaas-blue);
}
.pv-caps__tab--active:hover { background: var(--vaas-blue); transform: none; }
.pv-caps__tab-n {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: rgba(0,11,88,.45);
}
.pv-caps__tab--active .pv-caps__tab-n { color: rgba(255,255,255,.7); }
.pv-caps__tab-body { display: inline-flex; align-items: center; }
.pv-caps__tab-body b {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--vaas-blue-deep);
  line-height: 1.1;
}
.pv-caps__tab--active .pv-caps__tab-body b { color: #fff; }
/* description line is redundant in the pill nav */
.pv-caps__tab-body span { display: none; }

/* Mesa "saiba mais" link inside Gestão tab */
.pv-caps__mesalink { padding: 80px 0; background: var(--vaas-blue-deep); border-top: 1px solid rgba(255,255,255,.08); }
.pv-caps__mesalink-a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 32px 36px;
  background: rgba(206,255,41,.06);
  border: 1px solid rgba(206,255,41,.22);
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
  transition: background 160ms var(--ease-out), transform 160ms var(--ease-out);
}
.pv-caps__mesalink-a:hover { background: rgba(206,255,41,.1); transform: translateY(-2px); }
.pv-caps__mesalink-h {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: #fff;
  margin: 12px 0 8px;
}
.pv-caps__mesalink-p {
  font-family: var(--font-display);
  font-size: 15px;
  line-height: 1.5;
  color: rgba(255,255,255,.72);
  margin: 0;
  max-width: 640px;
}
.pv-caps__mesalink-arrow {
  font-family: var(--font-display);
  font-size: 32px;
  color: var(--vaas-lime);
  flex: 0 0 auto;
  transition: transform 160ms var(--ease-out);
}
.pv-caps__mesalink-a:hover .pv-caps__mesalink-arrow { transform: translateX(6px); }
@media (max-width: 720px) {
  .pv-caps__mesalink-a { flex-direction: column; align-items: flex-start; padding: 24px 22px; }
}

/* ============ Responsive. new components ============================ */
@media (max-width: 1100px) {
  .pv-wf-stats { grid-template-columns: repeat(2, 1fr); }
  .pv-wf-stats li:nth-child(2) { border-right: none; }
  .pv-wf-stats li:nth-child(1), .pv-wf-stats li:nth-child(2) { padding-bottom: 16px; border-bottom: 1px solid rgba(0,11,88,.08); }
  .pv-wf-stats li:nth-child(3), .pv-wf-stats li:nth-child(4) { padding-top: 16px; }
  .pv-caps__strip { max-width: 100%; }
}
@media (max-width: 720px) {
  .pv-wf-section { padding: 90px 0; }
  .pv-wf-section .pv-container { padding: 0 16px; }
  .pv-wf-stats { grid-template-columns: 1fr; }
  .pv-wf-stats li { border-right: none; border-bottom: 1px solid rgba(0,11,88,.08); padding: 12px 16px; }
  .pv-wf-stats li:last-child { border-bottom: none; }
  .pv-wf-canvas { padding: 24px 20px; }
  .pv-wf-step { width: 240px; flex: 0 0 240px; }
  .pv-wf-outcomes { flex: 0 0 200px; width: 200px; }
  .pv-caps__intro { padding-top: 90px; }
  .pv-caps__strip { margin: 0 auto; }
  .pv-caps__tab { padding: 9px 16px; }
  .pv-caps__tab-body b { font-size: 14px; }
}


/* =========================================================================
   PV2Monitoramento. teaser to Central de Riscos
   Workflow editor mockup sits on the dark section; uses cr-wf__ chrome.
   ========================================================================= */
.pv-mon-sec__bullets {
  list-style: none;
  margin: 32px 0 32px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid rgba(255,255,255,.1);
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.pv-mon-sec__bullets li {
  display: flex; flex-direction: column; gap: 4px;
  padding: 16px 18px;
  border-right: 1px solid rgba(255,255,255,.08);
  font-family: var(--font-display);
  color: rgba(255,255,255,.75);
}
.pv-mon-sec__bullets li:first-child { padding-left: 0; }
.pv-mon-sec__bullets li:last-child { border-right: none; padding-right: 0; }
.pv-mon-sec__bullets li b {
  font-size: 14px;
  font-weight: 600;
  color: #fff;
}
.pv-mon-sec__bullets li span {
  font-size: 13px;
  line-height: 1.45;
  color: rgba(255,255,255,.7);
}

.pv-mon-sec__stage {
  margin-bottom: 28px;
  box-shadow: 0 40px 80px -25px rgba(0,0,0,.45) !important;
}

.pv-mon-sec__cta {
  display: flex; align-items: center; gap: 24px;
  padding: 22px 28px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 6px;
  text-decoration: none;
  color: #fff;
  transition: background 200ms var(--ease-out), border-color 200ms var(--ease-out), transform 200ms var(--ease-out);
}
.pv-mon-sec__cta:hover {
  background: rgba(206,255,41,.06);
  border-color: rgba(206,255,41,.3);
  transform: translateY(-1px);
}
.pv-mon-sec__cta-l { flex: 1; display: flex; flex-direction: column; gap: 4px; }
.pv-mon-sec__cta-l b {
  font-family: var(--font-display);
  font-size: 18px; font-weight: 600;
  color: #fff;
  letter-spacing: -0.01em;
}
.pv-mon-sec__cta-l span {
  font-family: var(--font-display);
  font-size: 14px;
  color: rgba(255,255,255,.65);
  line-height: 1.4;
}
.pv-mon-sec__cta-arrow {
  width: 44px; height: 44px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: var(--vaas-lime);
  color: var(--vaas-blue-deep);
  font-family: var(--font-display);
  font-size: 18px; font-weight: 600;
  flex: 0 0 44px;
  transition: transform 200ms var(--ease-out);
}
.pv-mon-sec__cta:hover .pv-mon-sec__cta-arrow { transform: translateX(4px); }

@media (max-width: 1100px) {
  .pv-mon-sec__bullets { grid-template-columns: repeat(2, 1fr); }
  .pv-mon-sec__bullets li:nth-child(2) { border-right: none; padding-right: 0; }
  .pv-mon-sec__bullets li:nth-child(3),
  .pv-mon-sec__bullets li:nth-child(4) {
    border-top: 1px solid rgba(255,255,255,.08);
    padding-top: 16px;
  }
  .pv-mon-sec__bullets li:nth-child(3) { padding-left: 0; }
}
@media (max-width: 720px) {
  .pv-mon-sec__bullets { grid-template-columns: 1fr; }
  .pv-mon-sec__bullets li {
    border-right: none !important;
    padding: 12px 0 !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
  }
  .pv-mon-sec__bullets li:first-child { border-top: none !important; }
}


/* PV2Monitoramento. cream/warm palette to contrast with surrounding sections */
.pv-mon-sec {
  background: #f8f5ed;
  color: var(--vaas-blue-deep);
}
.pv-mon-sec .pv-cap-num {
  color: rgba(0,11,88,.45);
}
.pv-mon-sec .pv-cap-num b {
  color: var(--vaas-blue);
}
.pv-mon-sec .pv-title {
  color: var(--vaas-blue-deep);
}
.pv-mon-sec .pv-title em {
  color: var(--vaas-blue);
}
.pv-mon-sec .pv-sub {
  color: rgba(0,11,88,.7);
}

/* Bullets on cream */
.pv-mon-sec__bullets {
  border-top-color: rgba(26,24,27,.12) !important;
  border-bottom-color: rgba(26,24,27,.12) !important;
}
.pv-mon-sec__bullets li {
  border-right-color: rgba(26,24,27,.08) !important;
  color: rgba(0,11,88,.7) !important;
}
.pv-mon-sec__bullets li b {
  color: var(--vaas-blue-deep) !important;
}
.pv-mon-sec__bullets li span {
  color: rgba(0,11,88,.65) !important;
}

/* CTA card on cream. inverts to dark blue on hover */
.pv-mon-sec__cta {
  background: #fff;
  border: 1px solid rgba(26,24,27,.1);
  color: var(--vaas-blue-deep);
  box-shadow: 0 12px 30px -12px rgba(40,28,8,.12);
}
.pv-mon-sec__cta:hover {
  background: var(--vaas-blue-deep);
  border-color: var(--vaas-blue-deep);
  color: #fff;
}
.pv-mon-sec__cta-l b { color: var(--vaas-blue-deep); }
.pv-mon-sec__cta-l span { color: rgba(0,11,88,.65); }
.pv-mon-sec__cta:hover .pv-mon-sec__cta-l b { color: #fff; }
.pv-mon-sec__cta:hover .pv-mon-sec__cta-l span { color: rgba(255,255,255,.7); }

/* Stage card sits cleanly on cream */
.pv-mon-sec__stage {
  box-shadow: 0 30px 80px -30px rgba(40,28,8,.18) !important;
}

@media (max-width: 1100px) {
  .pv-mon-sec__bullets li:nth-child(3),
  .pv-mon-sec__bullets li:nth-child(4) {
    border-top-color: rgba(26,24,27,.08) !important;
  }
}
@media (max-width: 720px) {
  .pv-mon-sec__bullets li {
    border-top-color: rgba(26,24,27,.08) !important;
  }
}


/* =========================================================================
   PV2Colaboracao. teaser to Mesa de Decisão
   Uses mesa-* chrome on a cream section background.
   ========================================================================= */
.pv-collab-sec {
  background: #fff;
  color: var(--vaas-blue-deep);
}
.pv-collab-sec .pv-cap-num { color: rgba(0,11,88,.45); }
.pv-collab-sec .pv-cap-num b { color: var(--vaas-blue); }
.pv-collab-sec .pv-title { color: var(--vaas-blue-deep); }
.pv-collab-sec .pv-title em { color: var(--vaas-blue); }
.pv-collab-sec .pv-sub { color: rgba(0,11,88,.7); }

.pv-collab-sec__bullets {
  list-style: none;
  margin: 32px 0 32px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(26,24,27,.12);
  border-bottom: 1px solid rgba(26,24,27,.12);
}
.pv-collab-sec__bullets li {
  display: flex; flex-direction: column; gap: 4px;
  padding: 16px 18px;
  border-right: 1px solid rgba(26,24,27,.08);
  font-family: var(--font-display);
  color: rgba(0,11,88,.7);
}
.pv-collab-sec__bullets li:first-child { padding-left: 0; }
.pv-collab-sec__bullets li:last-child { border-right: none; padding-right: 0; }
.pv-collab-sec__bullets li b { font-size: 14px; font-weight: 600; color: var(--vaas-blue-deep); }
.pv-collab-sec__bullets li span { font-size: 13px; line-height: 1.45; color: rgba(0,11,88,.65); }

.pv-collab-sec__stage {
  margin-bottom: 28px;
  box-shadow: 0 30px 80px -30px rgba(40,28,8,.18) !important;
}

.pv-collab-sec__cta {
  display: flex; align-items: center; gap: 24px;
  padding: 22px 28px;
  background: #fff;
  border: 1px solid rgba(26,24,27,.1);
  border-radius: 6px;
  text-decoration: none;
  color: var(--vaas-blue-deep);
  box-shadow: 0 12px 30px -12px rgba(40,28,8,.12);
  transition: background 200ms var(--ease-out), border-color 200ms var(--ease-out), color 200ms var(--ease-out), transform 200ms var(--ease-out);
}
.pv-collab-sec__cta:hover {
  background: var(--vaas-blue-deep);
  border-color: var(--vaas-blue-deep);
  color: #fff;
  transform: translateY(-1px);
}
.pv-collab-sec__cta-l { flex: 1; display: flex; flex-direction: column; gap: 4px; }
.pv-collab-sec__cta-l b {
  font-family: var(--font-display);
  font-size: 18px; font-weight: 600;
  color: var(--vaas-blue-deep);
  letter-spacing: -0.01em;
}
.pv-collab-sec__cta-l span {
  font-family: var(--font-display);
  font-size: 14px;
  color: rgba(0,11,88,.65);
  line-height: 1.4;
}
.pv-collab-sec__cta:hover .pv-collab-sec__cta-l b { color: #fff; }
.pv-collab-sec__cta:hover .pv-collab-sec__cta-l span { color: rgba(255,255,255,.7); }
.pv-collab-sec__cta-arrow {
  width: 44px; height: 44px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: var(--vaas-lime);
  color: var(--vaas-blue-deep);
  font-family: var(--font-display);
  font-size: 18px; font-weight: 600;
  flex: 0 0 44px;
  transition: transform 200ms var(--ease-out);
}
.pv-collab-sec__cta:hover .pv-collab-sec__cta-arrow { transform: translateX(4px); }

@media (max-width: 1100px) {
  .pv-collab-sec__bullets { grid-template-columns: repeat(2, 1fr); }
  .pv-collab-sec__bullets li:nth-child(2) { border-right: none; padding-right: 0; }
  .pv-collab-sec__bullets li:nth-child(3),
  .pv-collab-sec__bullets li:nth-child(4) {
    border-top: 1px solid rgba(26,24,27,.08);
    padding-top: 16px;
  }
  .pv-collab-sec__bullets li:nth-child(3) { padding-left: 0; }
}
@media (max-width: 720px) {
  .pv-collab-sec__bullets { grid-template-columns: 1fr; }
  .pv-collab-sec__bullets li {
    border-right: none !important;
    padding: 12px 0 !important;
    border-top: 1px solid rgba(26,24,27,.08) !important;
  }
  .pv-collab-sec__bullets li:first-child { border-top: none !important; }
}


/* =========================================================================
   PV2Integrations. cards linking to dedicated product pages
   ========================================================================= */
.pv-intsec {
  background: #fff;
  color: var(--vaas-blue-deep);
}
.pv-intsec .pv-section-head { max-width: 760px; margin: 0 auto 48px; }
.pv-intsec__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.pv-intsec__card {
  position: relative;
  display: flex; flex-direction: column;
  padding: 26px 24px 24px;
  background: #fafbfc;
  border: 1px solid rgba(0,11,88,.1);
  border-radius: 8px;
  text-decoration: none;
  color: var(--vaas-blue-deep);
  overflow: hidden;
  transition: transform 220ms var(--ease-out), border-color 220ms var(--ease-out), box-shadow 220ms var(--ease-out);
}
.pv-intsec__card:hover {
  transform: translateY(-3px);
  border-color: rgba(4,52,244,.3);
  box-shadow: 0 18px 36px -16px rgba(4,52,244,.18);
}
.pv-intsec__card-head {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 16px;
}
.pv-intsec__card-ico {
  width: 36px; height: 36px;
  display: grid; place-items: center;
  background: var(--vaas-blue-deep);
  color: var(--vaas-lime);
  border-radius: 6px;
  flex: 0 0 36px;
}
.pv-intsec__card-k {
  font-family: var(--font-mono);
  font-size: 10.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--vaas-blue);
  font-weight: 600;
}
.pv-intsec__card-t {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--vaas-blue-deep);
  line-height: 1.2;
  margin: 0 0 10px;
  text-wrap: balance;
}
.pv-intsec__card-d {
  font-family: var(--font-display);
  font-size: 13.5px;
  line-height: 1.5;
  color: rgba(0,11,88,.7);
  margin: 0 0 16px;
}
.pv-intsec__card-bullets {
  list-style: none; padding: 0; margin: 0 0 18px;
  display: flex; flex-wrap: wrap; gap: 4px;
}
.pv-intsec__card-bullets li {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.04em;
  padding: 4px 8px;
  background: #fff;
  border: 1px solid rgba(0,11,88,.1);
  border-radius: 3px;
  color: rgba(0,11,88,.65);
}
.pv-intsec__card-cta {
  margin-top: auto;
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 600;
  color: var(--vaas-blue);
  letter-spacing: -0.005em;
}

/* Per-card accent palette */
.pv-intsec__card--mesa    .pv-intsec__card-ico { background: #0434f4; color: var(--vaas-lime); }
.pv-intsec__card--ia      .pv-intsec__card-ico { background: #cdff29; color: #000b58; }
.pv-intsec__card--central .pv-intsec__card-ico { background: #000b58; color: var(--vaas-lime); }
.pv-intsec__card--datahub .pv-intsec__card-ico { background: rgba(4,52,244,.12); color: var(--vaas-blue); }

@media (max-width: 1100px) {
  .pv-intsec__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .pv-intsec__grid { grid-template-columns: 1fr; }
}


/* PV2Workflow — mobile arrows-carousel header (replaces pv-wf-tabs on small screens) */
.pv-wf-mob-head { display: none; }
@media (max-width: 980px) {
  .pv-wf-tabs { display: none !important; }
  .pv-wf-mob-head {
    display: grid !important;
    grid-template-columns: 44px 1fr 44px;
    gap: 10px;
    align-items: center;
    padding: 0 4px;
    margin: 0 auto 24px;
    max-width: 520px;
  }
  .pv-wf-mob-nav {
    width: 44px; height: 44px;
    display: grid; place-items: center;
    background: #fff;
    border: 1px solid rgba(0,11,88,.12);
    border-radius: 999px;
    color: var(--vaas-blue-deep);
    cursor: pointer;
    font-size: 18px;
    font-family: var(--font-display);
    transition: background 160ms, color 160ms, border-color 160ms;
  }
  .pv-wf-mob-nav:hover {
    background: var(--vaas-blue);
    border-color: var(--vaas-blue);
    color: #fff;
  }
  .pv-wf-mob-title {
    display: flex; flex-direction: column; align-items: center;
    text-align: center;
    gap: 2px;
  }
  .pv-wf-mob-n {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.1em;
    color: rgba(0,11,88,.45);
    font-weight: 600;
  }
  .pv-wf-mob-title b {
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 600;
    color: var(--vaas-blue-deep);
    line-height: 1.15;
    letter-spacing: -0.01em;
  }
}


/* PV2Workflow — minimalist vertical layout on mobile */
@media (max-width: 980px) {
  /* Only the "Fluxo" view makes sense on mobile - hide arrow navigation between views */
  .pv-wf-mob-head { display: none !important; }

  /* Hide chrome inside the frame (mock bar stays for context) */
  .pv-wf-frame { padding: 0 !important; background: #fcfcfd !important; border-radius: 10px !important; }
  .pv-wf-flowwrap__chrome { display: none !important; }
  .pv-wf-canvas__addbtn { display: none !important; }
  .pv-wf-canvas-host { padding: 14px !important; min-height: 0 !important; }
  .pv-wf-canvas {
    min-height: 0 !important;
    padding: 4px !important;
    background-image: none !important;
    border: 1px dashed rgba(0,11,88,.1) !important;
  }
  .pv-wf-hint { display: none !important; }

  /* Vertical stack of nodes */
  .pv-wf-flow {
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
    align-items: stretch !important;
  }
  .pv-wf-step { width: 100% !important; max-width: 100% !important; }

  /* Vertical dashed connectors between nodes */
  .pv-wf-conn {
    width: 1.5px !important;
    height: 18px !important;
    margin: 0 auto !important;
    background-image: linear-gradient(to bottom, rgba(0,11,88,.22) 50%, transparent 50%) !important;
    background-size: 1.5px 5px !important;
    flex: 0 0 18px !important;
  }

  .pv-wf-node {
    width: 100% !important;
    justify-content: space-between !important;
    padding: 10px 14px !important;
  }
  .pv-wf-node__lbl { font-size: 13.5px !important; }
  .pv-wf-detail {
    width: 100% !important;
    margin-top: 8px !important;
    margin-left: 0 !important;
  }

  /* Branch + outcomes: stack vertically below the chain */
  .pv-wf-branch { display: none !important; }
  .pv-wf-outcomes {
    flex-direction: column !important;
    width: 100% !important;
    gap: 6px !important;
    margin-top: 18px !important;
    padding-top: 18px !important;
    border-top: 1px dashed rgba(0,11,88,.12);
  }
  .pv-wf-out {
    width: 100% !important;
    justify-content: space-between !important;
    padding: 10px 14px !important;
  }
}


/* PV2Workflow — tighter mobile layout, no horizontal scroll */
@media (max-width: 980px) {
  .pv-wf-frame {
    overflow: hidden !important;
    max-width: 100% !important;
  }
  .pv-wf-flowwrap,
  .pv-wf-canvas-host {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }
  .pv-wf-canvas-host { padding: 10px !important; }
  .pv-wf-canvas {
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
    padding: 2px !important;
    overflow: hidden !important;
  }
  .pv-wf-flow {
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
    gap: 0 !important;
  }
  .pv-wf-step {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .pv-wf-conn {
    height: 8px !important;
    flex: 0 0 8px !important;
  }
  .pv-wf-outcomes {
    max-width: 100% !important;
    min-width: 0 !important;
    margin-top: 12px !important;
    padding-top: 12px !important;
  }
  .pv-wf-out {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .pv-wf-node {
    min-width: 0 !important;
  }
  .pv-wf-node__lbl {
    min-width: 0 !important;
    flex: 1 1 auto !important;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: normal;
  }
  .pv-wf-detail {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden;
  }
  .pv-wf-detail__row {
    word-break: break-word;
  }
  .pv-wf-detail__row span {
    font-size: 12px !important;
    word-break: break-word;
  }
}


/* PV2Workflow mobile — tighter padding inside pill nodes */
@media (max-width: 980px) {
  .pv-wf-node {
    padding-top: 7px !important;
    padding-bottom: 7px !important;
  }
  .pv-wf-out {
    padding-top: 7px !important;
    padding-bottom: 7px !important;
  }
}


/* PV2Workflow mobile — let steps size to content (desktop forces flex: 0 0 240px) */
@media (max-width: 980px) {
  .pv-wf-step,
  .pv-wf-step--active {
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
  }
}


/* PV2WorkflowDash — mobile carousel + minimalist chrome */
.pv-wfd-mob-head { display: none; }
@media (max-width: 980px) {
  /* Hide chrome on mobile */
  .mesa-db__frame { padding: 0 !important; max-width: 100% !important; overflow: hidden !important; }
  .mesa-db__frame > .mesa-sim__bar { display: none !important; }
  .mesa-db__body { padding: 14px !important; min-width: 0 !important; max-width: 100% !important; }
  .mesa-db__crumbs,
  .mesa-db__h,
  .mesa-db__tabs,
  .mesa-db__filters,
  .mesa-db__overview { display: none !important; }

  /* Show only the active mob panel */
  .mesa-db__body[data-mob] .mesa-db__grid--quad,
  .mesa-db__body[data-mob] .mesa-db__card[data-mp] { display: none !important; }
  .mesa-db__body[data-mob="0"] .mesa-db__grid--quad[data-mp="0"] { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  .mesa-db__body[data-mob="1"] .mesa-db__card[data-mp="1"],
  .mesa-db__body[data-mob="2"] .mesa-db__card[data-mp="2"],
  .mesa-db__body[data-mob="3"] .mesa-db__card[data-mp="3"],
  .mesa-db__body[data-mob="4"] .mesa-db__card[data-mp="4"],
  .mesa-db__body[data-mob="5"] .mesa-db__card[data-mp="5"] { display: block !important; }

  /* Always hide the now-empty grid--row* wrappers so they don't add margins */
  .mesa-db__grid--row2,
  .mesa-db__grid--row3,
  .mesa-db__grid--row4 {
    display: block !important;
    margin-top: 0 !important;
    grid-template-columns: 1fr !important;
  }

  /* Arrows-nav header */
  .pv-wfd-mob-head {
    display: grid !important;
    grid-template-columns: 44px 1fr 44px;
    gap: 10px;
    align-items: center;
    padding: 0 4px;
    margin-bottom: 16px;
  }
  .pv-wfd-mob-nav {
    width: 44px; height: 44px;
    display: grid; place-items: center;
    background: #fff;
    border: 1px solid rgba(0,11,88,.12);
    border-radius: 999px;
    color: var(--vaas-blue-deep);
    cursor: pointer;
    font-size: 18px;
    font-family: var(--font-display);
    transition: background 160ms, color 160ms, border-color 160ms;
  }
  .pv-wfd-mob-nav:hover {
    background: var(--vaas-blue);
    border-color: var(--vaas-blue);
    color: #fff;
  }
  .pv-wfd-mob-title {
    display: flex; flex-direction: column; align-items: center;
    text-align: center;
    gap: 2px;
  }
  .pv-wfd-mob-n {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.1em;
    color: rgba(0,11,88,.45);
    font-weight: 600;
  }
  .pv-wfd-mob-title b {
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 600;
    color: var(--vaas-blue-deep);
    line-height: 1.2;
    letter-spacing: -0.01em;
    text-wrap: balance;
  }

  /* Tighten metrics on mobile */
  .mesa-db__card--metric { padding: 14px 12px !important; }
  .mesa-db__card-h { font-size: 11px !important; }
  .mesa-db__metric { font-size: 26px !important; }

  /* Donut + legend size */
  .mesa-db__donut { width: 140px !important; height: 140px !important; }
  .mesa-db__donut-c b { font-size: 18px !important; }
}


/* PV2WorkflowDash — hide top bullets list on mobile */
@media (max-width: 980px) {
  .mesa-db__bullets { display: none !important; }
}


/* PV2Caps — mobile arrows nav (replaces the strip on small screens) */
.pv-caps__mob-head { display: none; }
@media (max-width: 980px) {
  .pv-caps__nav { padding-top: 34px; }
  .pv-caps__strip { display: none !important; }
  .pv-caps__mob-head {
    display: grid !important;
    grid-template-columns: 44px 1fr 44px;
    gap: 10px;
    align-items: center;
    padding: 0 4px;
    margin: 0 auto;
    max-width: 520px;
  }
  .pv-caps__mob-nav {
    width: 44px; height: 44px;
    display: grid; place-items: center;
    background: #fff;
    border: 1px solid rgba(0,11,88,.12);
    border-radius: 999px;
    color: var(--vaas-blue-deep);
    cursor: pointer;
    font-size: 18px;
    font-family: var(--font-display);
    transition: background 160ms, color 160ms, border-color 160ms;
  }
  .pv-caps__mob-nav:hover {
    background: var(--vaas-blue);
    border-color: var(--vaas-blue);
    color: #fff;
  }
  .pv-caps__mob-title {
    display: flex; flex-direction: column; align-items: center;
    text-align: center;
    gap: 2px;
  }
  .pv-caps__mob-n {
    font-family: var(--font-mono);
    font-size: 10px;
    letter-spacing: 0.1em;
    color: rgba(0,11,88,.45);
    font-weight: 600;
  }
  .pv-caps__mob-title b {
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 600;
    color: var(--vaas-blue-deep);
    line-height: 1.15;
    letter-spacing: -0.01em;
  }
}
