/* =============================================================
   AEPRAX // SUITE / IMOBIPRAX — landing page
   Sistema sob medida construído pela Aeprax (NÃO é SaaS).
   Paleta: dark + azul executivo + verde live.
   ============================================================= */

:root {
  color-scheme: light;

  /* Backgrounds (light theme — combina com as telas do sistema) */
  --bg-0: #FFFFFF;          /* página */
  --bg-1: #F7F8FB;          /* card / surface */
  --bg-2: #EFF1F6;          /* recessed / inset */
  --bg-3: #E6E9F1;          /* deeper recess */

  /* Bordas */
  --border-faint: #EEF0F5;
  --border-soft:  #DBDEE6;
  --border-loud:  #BFC4D0;

  /* Texto */
  --text-primary:   #0B0E14;
  --text-secondary: #3C4250;
  --text-muted:     #7B8090;

  /* Accents (saturação ajustada pra contraste em fundo claro) */
  --accent-deal:        #2F5BFF;   /* azul principal */
  --accent-deal-soft:   rgba(47, 91, 255, 0.10);
  --accent-deal-glow:   rgba(47, 91, 255, 0.16);  /* glow amenizado */
  --accent-live:        #00B85B;
  --accent-warn:        #D88500;
  --accent-danger:      #E5293E;

  /* UI tokens (aba de navegador / superfícies sóbrias) */
  --ui-bar-bg:          #F4F6FB;
  --ui-bar-bg-strong:   #EEF1F8;
  --ui-bar-border:      #DDE1EB;
  --ui-bar-text:        #5A6075;
  --ui-bar-text-strong: #1A1F2E;

  /* Overlays / tints (usar em vez de rgba(0,0,0,X) hardcoded) */
  --overlay-dark:    rgba(11, 14, 20, 0.04);
  --overlay-deep:    rgba(11, 14, 20, 0.08);
  --overlay-soft:    rgba(11, 14, 20, 0.02);

  /* Grid telemétrico (azul sutil) */
  --grid-line: rgba(47, 91, 255, 0.06);

  /* Fontes */
  --font-display: 'Space Grotesk', system-ui, sans-serif;
  --font-body:    'Inter', system-ui, sans-serif;
  --font-mono:    'JetBrains Mono', ui-monospace, monospace;

  /* Spacing */
  --container-px: clamp(1.25rem, 4vw, 4rem);
  --section-py:   clamp(5rem, 10vw, 9rem);
}

/* =============================================================
   UI BAR — aba de navegador (toolbar sóbria, substitui terminal bars)
   ============================================================= */
.ui-bar {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.85rem;
  padding: 0.55rem 0.85rem;
  background: var(--ui-bar-bg);
  border-bottom: 1px solid var(--ui-bar-border);
  font-family: var(--font-body);
  font-size: 0.75rem;
  color: var(--ui-bar-text);
}
.ui-bar__nav {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}
.ui-bar__nav-btn {
  appearance: none;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--ui-bar-text);
  font-size: 0.95rem;
  line-height: 1;
  cursor: default;
  opacity: 0.55;
}
.ui-bar__nav-btn:hover { background: rgba(47, 91, 255, 0.06); opacity: 0.9; }

.ui-url {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.32rem 0.85rem;
  border-radius: 999px;
  background: var(--bg-0);
  border: 1px solid var(--ui-bar-border);
  color: var(--ui-bar-text-strong);
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  max-width: 100%;
  min-width: 0;
}
.ui-url__lock {
  width: 12px;
  height: 12px;
  display: inline-grid;
  place-items: center;
  color: var(--accent-live);
  flex-shrink: 0;
}
.ui-url__lock svg { width: 12px; height: 12px; display: block; }
.ui-url__host {
  color: var(--ui-bar-text);
  font-weight: 400;
}
.ui-url__path {
  color: var(--ui-bar-text-strong);
  font-weight: 500;
}

.ui-bar__state {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
  background: var(--bg-0);
  border: 1px solid var(--ui-bar-border);
  color: var(--ui-bar-text);
  font-family: var(--font-body);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  text-transform: none;
}
.ui-bar__state-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent-live);
}
.ui-bar__state--live { color: var(--accent-live); }
.ui-bar__state--live .ui-bar__state-dot { background: var(--accent-live); animation: blink 2.2s ease infinite; }
.ui-bar__state--thinking { color: var(--accent-warn); }
.ui-bar__state--thinking .ui-bar__state-dot { background: var(--accent-warn); }
.ui-bar__state--ready { color: var(--accent-live); }
.ui-bar__state--info { color: var(--accent-deal); }
.ui-bar__state--info .ui-bar__state-dot { background: var(--accent-deal); }

/* =============================================================
   PRELOADER
   ============================================================= */
html.is-preloading,
html.is-preloading body {
  overflow: hidden;
  height: 100%;
}

.preloader {
  position: fixed;
  inset: 0;
  z-index: 999;
  background-color: var(--bg-0);
  background-image:
    linear-gradient(to right, var(--grid-line) 1px, transparent 1px),
    linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px);
  background-size: 80px 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  transition: opacity 500ms ease, visibility 500ms ease;
}
.preloader.is-done {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.preloader__inner {
  position: relative;
  padding: 2.25rem clamp(1.75rem, 6vw, 3rem) 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.1rem;
  background: var(--bg-0);
  border: 1px solid var(--ui-bar-border);
  border-radius: 14px;
  min-width: 300px;
  max-width: 420px;
  box-shadow: 0 20px 60px -28px rgba(47, 91, 255, 0.25);
}
/* Cantos removidos — não combinam com o tom sóbrio */
.preloader__corner { display: none; }

.preloader__top {
  font-family: var(--font-body);
  font-size: 0.75rem;
  letter-spacing: 0;
  color: var(--ui-bar-text);
  text-transform: none;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}
.preloader__top-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent-live);
}
.preloader__brand {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.85rem;
  letter-spacing: -0.03em;
  color: var(--text-primary);
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0.1rem 0;
}
.preloader__brand-mark {
  color: var(--accent-deal);
  font-size: 0.55em;
  opacity: 0.55;
}
.preloader__meta {
  font-family: var(--font-body);
  font-size: 0.75rem;
  letter-spacing: 0;
  color: var(--ui-bar-text);
  text-transform: none;
  font-weight: 400;
  position: relative;
  text-align: center;
  max-width: 28ch;
  line-height: 1.4;
}
.preloader__meta::after { display: none; } /* sem cursor piscando */
.preloader__bar {
  width: 100%;
  max-width: 240px;
  height: 3px;
  background: var(--ui-bar-border);
  border-radius: 999px;
  position: relative;
  overflow: hidden;
  margin-top: 0.25rem;
}
.preloader__bar-fill {
  position: absolute;
  inset: 0;
  background: var(--accent-deal);
  border-radius: inherit;
  transform-origin: left center;
  transform: scaleX(0);
  animation: preloader-fill 1.5s cubic-bezier(0.65, 0, 0.35, 1) forwards;
}
@keyframes preloader-fill {
  0%   { transform: scaleX(0); }
  60%  { transform: scaleX(0.65); }
  100% { transform: scaleX(1); }
}

.preloader__readouts {
  display: flex;
  gap: 1.1rem;
  font-family: var(--font-body);
  font-size: 0.6875rem;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ui-bar-text);
  font-weight: 500;
  list-style: none;
  padding: 0;
  margin: 0;
}
.preloader__readouts li {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.preloader__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ui-bar-border);
  animation: preloader-dot-on 0.4s ease-out forwards;
}
.preloader__readouts li:nth-child(1) .preloader__dot { animation-delay: 0.2s; }
.preloader__readouts li:nth-child(2) .preloader__dot { animation-delay: 0.6s; }
.preloader__readouts li:nth-child(3) .preloader__dot { animation-delay: 1s; }
@keyframes preloader-dot-on {
  0%   { background: var(--ui-bar-border); }
  100% { background: var(--accent-live);   }
}

.preloader__footer {
  position: absolute;
  bottom: 1.5rem;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--font-body);
  font-size: 0.75rem;
  letter-spacing: 0;
  color: var(--ui-bar-text);
  text-transform: none;
  margin: 0;
  opacity: 0.7;
}

/* =============================================================
   RESET / BASE
   ============================================================= */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.55;
  color: var(--text-primary);
  background-color: var(--bg-0);
  background-image:
    linear-gradient(to right, var(--grid-line) 1px, transparent 1px),
    linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px);
  background-size: 80px 80px;
  background-position: -1px -1px;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  animation: grid-drift 40s linear infinite;
}
@keyframes grid-drift {
  from { background-position: -1px -1px, -1px -1px; }
  to   { background-position: -1px 79px, -1px 79px; }
}

img, svg { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; background: none; border: 0; color: inherit; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
::selection { background: var(--accent-deal); color: var(--bg-0); }
:focus-visible {
  outline: 2px solid var(--accent-deal);
  outline-offset: 3px;
}

@keyframes blink {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0; }
}
@keyframes pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: 0.5; transform: scale(0.85); }
}

/* sr-only for a11y */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* =============================================================
   UTILITIES
   ============================================================= */
.accent { color: var(--accent-deal); }

em {
  font-style: normal;
  color: var(--accent-deal);
}
strong { font-weight: 600; color: var(--text-primary); }

.strike {
  position: relative;
  color: var(--text-secondary);
}
.strike::after {
  content: "";
  position: absolute;
  left: -2%;
  right: -2%;
  top: 52%;
  height: 3px;
  background: var(--accent-deal);
  transform: skewY(-2deg);
  box-shadow: 0 0 10px var(--accent-deal-glow);
}

.display-h2 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2rem, 5vw, 4rem);
  line-height: 1.02;
  letter-spacing: -0.025em;
  color: var(--text-primary);
}

.section-tag-line {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}
.section-tag-line::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--border-faint);
}
.section-eyebrow {
  font-family: var(--font-body);
  font-size: 0.75rem;
  color: var(--ui-bar-text);
  text-transform: none;
  letter-spacing: 0.02em;
  font-weight: 500;
  white-space: pre;
  display: inline-block;
  position: relative;
}
.section-eyebrow.is-typing::after {
  content: "";
  display: inline-block;
  width: 2px;
  height: 0.85em;
  background: var(--accent-deal);
  margin-left: 3px;
  vertical-align: -1px;
  animation: blink 1.4s ease infinite;
}
.section-eyebrow-meta {
  font-family: var(--font-body);
  font-size: 0.6875rem;
  color: var(--ui-bar-text);
  text-transform: none;
  letter-spacing: 0;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0.7rem;
  border: 1px solid var(--ui-bar-border);
  background: var(--bg-0);
  border-radius: 999px;
}
.section-eyebrow-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent-live);
  box-shadow: 0 0 6px var(--accent-live), 0 0 14px rgba(0, 230, 118, 0.55);
  animation: blink 1.4s ease infinite;
}

section {
  padding-top: var(--section-py);
  padding-bottom: var(--section-py);
  padding-left: var(--container-px);
  padding-right: var(--container-px);
  max-width: 1440px;
  margin: 0 auto;
  position: relative;
}

/* =============================================================
   STATUS BAR
   ============================================================= */
.status-bar {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(10px) saturate(160%);
  -webkit-backdrop-filter: blur(10px) saturate(160%);
  border-bottom: 1px solid var(--ui-bar-border);
  font-family: var(--font-body);
  font-size: 0.75rem;
  letter-spacing: 0.005em;
  color: var(--ui-bar-text);
}
.status-bar__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 0.625rem var(--container-px);
  max-width: 1440px;
  margin: 0 auto;
  text-align: center;
}
.status-bar__left, .status-bar__right {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.status-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent-live);
  animation: pulse 2.4s ease-in-out infinite;
}
.status-label   { color: var(--accent-live); font-weight: 500; }
.status-divider { color: var(--ui-bar-border); }
.status-time    { color: var(--ui-bar-text-strong); font-variant-numeric: tabular-nums; }
.status-tag     { color: var(--ui-bar-text-strong); font-weight: 500; }
.status-meta    { color: var(--ui-bar-text); }

@media (max-width: 640px) {
  .status-bar__right { display: none; }
  .status-bar__center .status-tag { font-size: 0.625rem; }
}

/* =============================================================
   HEADER
   ============================================================= */
.site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.5rem var(--container-px);
  max-width: 1440px;
  margin: 0 auto;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 1.125rem;
  letter-spacing: -0.02em;
  color: var(--text-primary);
}
.brand__mark {
  color: var(--accent-deal);
  font-size: 0.75em;
  transform: translateY(-1px);
}
.header-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.header-breadcrumb__sep   { color: var(--border-loud); }
.header-breadcrumb__active { color: var(--accent-deal); font-weight: 500; }
@media (max-width: 768px) { .header-breadcrumb { display: none; } }
.header-back {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  color: var(--text-secondary);
  text-transform: uppercase;
  padding: 0.5rem 0.875rem;
  border: 1px solid var(--border-soft);
  transition: border-color 200ms ease, color 200ms ease;
}
.header-back:hover {
  border-color: var(--accent-deal);
  color: var(--text-primary);
}

/* =============================================================
   BUTTONS
   ============================================================= */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.875rem 1.25rem;
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 500;
  border-radius: 2px;
  transition: transform 200ms ease, background-color 200ms ease, border-color 200ms ease, color 200ms ease, box-shadow 280ms ease;
  border: 1px solid transparent;
  cursor: pointer;
}
.btn__arrow { transition: transform 200ms ease; }
.btn:hover .btn__arrow { transform: translateX(4px); }

.btn--primary {
  background: var(--accent-deal);
  color: var(--bg-0);
  border-color: var(--accent-deal);
}
.btn--primary:hover {
  background: var(--text-primary);
  border-color: var(--text-primary);
  color: var(--bg-0);
  box-shadow: 0 0 28px var(--accent-deal-glow);
}
.btn--ghost {
  background: transparent;
  color: var(--text-primary);
  border-color: var(--border-loud);
}
.btn--ghost:hover {
  border-color: var(--accent-deal);
  color: var(--accent-deal);
}

/* =============================================================
   MOCKUP (macOS-style window com screenshot real dentro)
   ============================================================= */
.mockup {
  background: var(--bg-1);
  border: 1px solid var(--border-soft);
  border-radius: 6px;
  overflow: hidden;
  position: relative;
  isolation: isolate;
  transition: border-color 250ms ease, transform 350ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 400ms ease;
  box-shadow:
    0 0 0 1px var(--border-faint) inset,
    0 14px 36px -16px rgba(47, 91, 255, 0.04);
}
.mockup__chrome {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 0.75rem;
  background: var(--bg-2);
  border-bottom: 1px solid var(--border-soft);
}
.mockup__dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--border-loud);
}
.mockup__dot:nth-child(1) { background: #FF5F57; }
.mockup__dot:nth-child(2) { background: #FFBD2E; }
.mockup__dot:nth-child(3) { background: #28C840; }
.mockup__title {
  margin-left: 0.75rem;
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.06em;
  color: var(--text-muted);
}
.mockup__screen {
  width: 100%;
  background: var(--bg-0);
  overflow: hidden;
  display: block;
}
.mockup__screen img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  object-position: top center;
}

/* =============================================================
   // 01 — HERO
   ============================================================= */
.hero { padding-top: clamp(2rem, 5vw, 4rem); }
.hero__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(3rem, 6vw, 5rem);
  align-items: center;
}

/* Badge "EM PRODUÇÃO na Savalle" — primeira coisa do hero */
.hero__badge {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.875rem;
  padding: 0.7rem 1rem 0.7rem 0.875rem;
  margin-bottom: 1.5rem;
  text-decoration: none;
  background: var(--bg-1);
  border: 1px solid var(--accent-deal);
  border-radius: 4px;
  overflow: hidden;
  isolation: isolate;
  transition:
    transform 280ms cubic-bezier(0.16, 1, 0.3, 1),
    background-color 220ms ease,
    box-shadow 320ms ease;
  animation: hero-badge-glow 2.8s ease-in-out infinite;
  max-width: 100%;
}
.hero__badge-ribbon {
  position: absolute;
  top: 0; bottom: 0; left: 0;
  width: 3px;
  background: var(--accent-deal);
  box-shadow: 0 0 12px var(--accent-deal-glow);
}
.hero__badge::before {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  left: -55%;
  width: 55%;
  background: linear-gradient(100deg, transparent 0%, var(--accent-deal-soft) 50%, transparent 100%);
  pointer-events: none;
  z-index: 0;
  animation: hero-badge-shimmer 4.2s cubic-bezier(0.45, 0, 0.4, 1) infinite;
}
.hero__badge > * { position: relative; z-index: 1; }
.hero__badge-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px; height: 30px;
  flex-shrink: 0;
  color: var(--accent-deal);
  border: 1px solid var(--accent-deal);
  background: var(--accent-deal-soft);
  border-radius: 4px;
  filter: drop-shadow(0 0 10px var(--accent-deal-glow));
}
.hero__badge-icon svg { width: 18px; height: 18px; display: block; }
.hero__badge-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1.1;
}
.hero__badge-label {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  letter-spacing: 0.18em;
  color: var(--text-muted);
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.hero__badge-dot {
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--accent-live);
  box-shadow: 0 0 6px var(--accent-live);
  animation: pulse 1.6s ease-in-out infinite;
}
.hero__badge-event {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 0.9375rem;
  letter-spacing: -0.005em;
  color: var(--text-primary);
}
.hero__badge-event strong { color: var(--accent-deal); font-weight: 700; }
.hero__badge-arrow {
  margin-left: 0.35rem;
  color: var(--accent-deal);
  font-family: var(--font-mono);
  font-weight: 500;
  transition: transform 220ms cubic-bezier(0.16, 1, 0.3, 1);
}
.hero__badge:hover {
  transform: translateY(-3px);
  background: var(--bg-2);
  box-shadow: 0 0 36px var(--accent-deal-glow);
}
.hero__badge:hover .hero__badge-arrow { transform: translateX(4px); }
@keyframes hero-badge-glow {
  0%, 100% { box-shadow: 0 0 16px rgba(74, 124, 255, 0.25); }
  50%      { box-shadow: 0 0 32px rgba(74, 124, 255, 0.55); }
}
@keyframes hero-badge-shimmer {
  0%   { left: -55%; }
  60%  { left: 110%; }
  100% { left: 110%; }
}

.hero__title {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(3.5rem, 11vw, 7rem);
  line-height: 0.88;
  letter-spacing: -0.04em;
  color: var(--text-primary);
  margin-bottom: 1.5rem;
}
.hero__title-line {
  display: block;
  font-variant-numeric: tabular-nums;
}
.hero__subtitle {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.125rem, 2.2vw, 1.5rem);
  line-height: 1.35;
  letter-spacing: -0.015em;
  color: var(--text-secondary);
  margin-bottom: 2rem;
  max-width: 36ch;
}
.hero__subtitle em { color: var(--accent-deal); font-weight: 700; }
.hero__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 3rem;
}

/* Metric strip */
.metric-strip {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem 0.875rem;
  margin-top: 2.25rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--ui-bar-border);
  font-family: var(--font-body);
  font-size: 0.75rem;
  letter-spacing: 0;
}
.metric-strip__item { display: inline-flex; align-items: baseline; gap: 0.4em; }
.metric-strip__key { color: var(--ui-bar-text); font-weight: 400; }
.metric-strip__val { color: var(--ui-bar-text-strong); font-weight: 500; }
.metric-strip__val--live { color: var(--accent-live); }
.metric-strip__val--accent { color: var(--accent-deal); font-weight: 500; }
.metric-strip__divider { color: var(--ui-bar-border); }

/* Hero visual */
.hero__visual {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2rem 0;
  isolation: isolate;
}
.hero__visual::before {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  width: clamp(280px, 40vw, 520px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  background: conic-gradient(
    from 0deg at 50% 50%,
    transparent 0deg,
    rgba(74, 124, 255, 0.12) 50deg,
    transparent 140deg,
    transparent 230deg,
    rgba(74, 124, 255, 0.07) 290deg,
    transparent 360deg
  );
  filter: blur(60px);
  animation: aura-spin 22s linear infinite;
  pointer-events: none;
  z-index: 0;
  border-radius: 50%;
}
@keyframes aura-spin {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to   { transform: translate(-50%, -50%) rotate(360deg); }
}
.hero__visual-labels {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.18em;
  color: var(--text-muted);
  z-index: 2;
}
.hero__visual-labels span {
  position: relative;
  padding-left: 18px;
}
.hero__visual-labels span::before {
  content: "";
  position: absolute;
  left: 0; top: 50%;
  width: 12px; height: 1px;
  background: var(--border-loud);
}
.hero__visual-meta {
  position: absolute;
  right: 0;
  bottom: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.15em;
  color: var(--text-muted);
  text-transform: uppercase;
  z-index: 2;
}
.dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--text-muted);
}
.dot--live {
  background: var(--accent-live);
  box-shadow: 0 0 8px var(--accent-live);
  animation: pulse 1.6s ease-in-out infinite;
}

.mockup--hero {
  max-width: 560px;
  width: 100%;
  position: relative;
  z-index: 1;
  transform: perspective(1400px) rotateY(-4deg) rotateX(2deg);
  box-shadow:
    0 0 0 1px var(--border-faint) inset,
    0 30px 60px -20px rgba(47, 91, 255, 0.04),
    0 0 80px -20px var(--accent-deal-glow);
}
.mockup--hero:hover {
  transform: perspective(1400px) rotateY(-2deg) rotateX(1deg) translateY(-4px);
}

@media (max-width: 640px) {
  .hero__visual-labels { display: none; }
  .hero__visual-meta { display: none; }
  .mockup--hero { transform: none; }
  .mockup--hero:hover { transform: translateY(-4px); }
}
@media (min-width: 1024px) {
  .hero__grid {
    grid-template-columns: 1.05fr 1fr;
    gap: 4rem;
  }
}

/* =============================================================
   // 02 — A DOR
   ============================================================= */
.pain {
  background: var(--bg-1);
  border-top: 1px solid var(--border-soft);
  border-bottom: 1px solid var(--border-soft);
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
.pain > .section-tag-line,
.pain > .leak,
.pain > .audit,
.pain > .pain__header,
.pain > .pain__cards,
.pain > .pain__footnote {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-px);
  padding-right: var(--container-px);
}

/* === pain editorial calmo (substitui o antigo .audit console) === */
.pain__header {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  max-width: 64ch;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}
.pain__title {
  font-family: var(--font-display);
  color: var(--text-primary);
  margin: 0;
}
.pain__title .accent {
  color: var(--accent-deal);
}
.pain__lead {
  font-family: var(--font-body);
  color: var(--text-secondary);
  font-size: clamp(1rem, 1.4vw, 1.125rem);
  line-height: 1.55;
  margin: 0;
}
.pain__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .pain__cards { grid-template-columns: repeat(3, 1fr); }
}
.pain-card {
  background: var(--bg-0);
  border: 1px solid var(--border-soft);
  border-radius: 12px;
  padding: 1.75rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.pain-card:hover {
  border-color: var(--border-loud);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px -16px rgba(11, 14, 20, 0.18);
}
.pain-card__num {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.18em;
  color: var(--text-muted);
  margin: 0;
}
.pain-card__title {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--text-primary);
  margin: 0;
  line-height: 1.25;
}
.pain-card__body {
  font-family: var(--font-body);
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--text-secondary);
  margin: 0;
}
.pain-card__pull {
  font-family: var(--font-body);
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--text-primary);
  margin: 0;
  padding-top: 0.85rem;
  border-top: 1px solid var(--border-faint);
  font-weight: 500;
}
.pain__footnote {
  font-family: var(--font-body);
  font-size: 0.8125rem;
  color: var(--text-muted);
  margin: 0;
  padding-bottom: 0.5rem;
}
.pain__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  max-width: 1440px;
  margin: 0 auto;
  padding-left: var(--container-px);
  padding-right: var(--container-px);
}
.prose {
  max-width: 60ch;
  margin-top: 2rem;
}
.prose p {
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--text-secondary);
  margin-bottom: 1.25rem;
}
.prose p em {
  color: var(--text-primary);
  font-style: italic;
  font-weight: 400;
}
.prose p strong { color: var(--accent-deal); font-weight: 600; }

.symptoms {
  border: 1px solid var(--border-soft);
  background: var(--bg-0);
  padding: 2rem 1.75rem;
  position: relative;
  align-self: start;
}
.symptoms::before {
  content: "";
  position: absolute;
  top: -1px; left: -1px;
  width: 24px; height: 24px;
  border-top: 2px solid var(--accent-deal);
  border-left: 2px solid var(--accent-deal);
}
.symptoms__label {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
  color: var(--text-muted);
  text-transform: uppercase;
  margin-bottom: 1.5rem;
}
.symptoms__list li {
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  color: var(--text-secondary);
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border-faint);
  display: flex;
  gap: 0.625rem;
  align-items: flex-start;
  line-height: 1.5;
}
.symptoms__list li:last-child { border-bottom: 0; }
.symptoms__list li span {
  color: var(--accent-danger);
  font-weight: 500;
  flex-shrink: 0;
}
.symptoms__list li em { color: var(--text-primary); font-style: italic; }

@media (min-width: 1024px) {
  .pain__grid { grid-template-columns: 1.6fr 1fr; gap: 5rem; }
  .symptoms { align-self: center; }
}

/* =============================================================
   // 03 — A SOLUÇÃO
   ============================================================= */
.solution__title {
  max-width: 22ch;
  margin-bottom: 1.25rem;
}
.solution__sub {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--text-secondary);
  max-width: 60ch;
  margin: 0 0 clamp(2.5rem, 5vw, 4rem);
}

/* Hero cards */
.heroes-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin-bottom: clamp(3rem, 6vw, 5rem);
}
.heroes-grid--solo {
  grid-template-columns: 1fr;
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
}
.hero-card {
  background: var(--bg-1);
  border: 1px solid var(--border-soft);
  padding: 2rem 1.75rem 2.25rem;
  position: relative;
  isolation: isolate;
  transition: border-color 250ms ease, transform 350ms cubic-bezier(0.16, 1, 0.3, 1);
}
/* solo featured = full protagonist */
.heroes-grid--solo .hero-card--featured {
  padding: clamp(2rem, 4vw, 3.25rem) clamp(1.75rem, 3.5vw, 2.75rem) clamp(2.25rem, 4vw, 3rem);
  background:
    radial-gradient(ellipse at top right, rgba(74, 124, 255, 0.08), transparent 60%),
    var(--bg-1);
}
.heroes-grid--solo .hero-card--featured .hero-card__title {
  font-size: clamp(1.65rem, 3.2vw, 2.6rem);
  max-width: 26ch;
  margin-bottom: 1rem;
}
.heroes-grid--solo .hero-card--featured .hero-card__body {
  font-size: 1.0625rem;
  line-height: 1.6;
  max-width: 70ch;
  margin-bottom: 1.5rem;
}
.heroes-grid--solo .hero-card--featured .ai-terminal {
  margin-top: 1.25rem;
}
.heroes-grid--solo .hero-card--featured .ai-terminal__body {
  min-height: 380px;
}
.hero-card::before {
  content: "";
  position: absolute;
  top: -1px; left: -1px;
  width: 28px; height: 28px;
  border-top: 2px solid var(--accent-deal);
  border-left: 2px solid var(--accent-deal);
}
.hero-card--featured::before { border-color: var(--accent-deal); filter: drop-shadow(0 0 8px var(--accent-deal-glow)); }
.hero-card:hover {
  border-color: var(--accent-deal);
  transform: translateY(-3px);
}

.hero-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
  padding-bottom: 0.875rem;
  border-bottom: 1px solid var(--border-faint);
}
.hero-card__tag {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.7rem;
  border-radius: 999px;
  background: rgba(47, 91, 255, 0.08);
  font-family: var(--font-body);
  font-size: 0.6875rem;
  letter-spacing: 0;
  text-transform: none;
  color: var(--accent-deal);
  font-weight: 500;
}
.hero-card__live {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--font-body);
  font-size: 0.6875rem;
  letter-spacing: 0;
  color: var(--ui-bar-text);
  text-transform: none;
  font-weight: 500;
}
.hero-card__live-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--accent-live);
  box-shadow: 0 0 6px var(--accent-live);
  animation: pulse 1.6s ease-in-out infinite;
}
.hero-card__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--text-primary);
  margin-bottom: 1rem;
}
.hero-card__title .accent {
  color: var(--accent-deal);
  text-shadow: 0 0 18px var(--accent-deal-glow);
}
.hero-card__body {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--text-secondary);
  margin-bottom: 1.5rem;
}
.hero-card__body em {
  color: var(--text-primary);
  font-style: italic;
  font-weight: 500;
}

.mockup--card { border-radius: 4px; }

/* AI Terminal */
/* =============================================================
   AI TERMINAL — interactive query console (// 03 SOLUÇÃO)
   ============================================================= */
.ai-terminal {
  position: relative;
  margin-top: 1rem;
  font-family: var(--font-mono);
  background:
    radial-gradient(ellipse at 0% 0%, rgba(74, 124, 255, 0.08), transparent 55%),
    var(--bg-0);
  border: 1px solid var(--accent-deal);
  border-radius: 10px;
  box-shadow:
    inset 0 0 0 1px var(--accent-deal-soft),
    0 0 28px -10px var(--accent-deal-glow),
    0 22px 60px -30px rgba(74, 124, 255, 0.55);
  isolation: isolate;
  overflow: hidden;
  transition: box-shadow 0.4s ease, border-color 0.4s ease;
}
.ai-terminal[data-state="thinking"] {
  border-color: var(--accent-deal);
  box-shadow:
    inset 0 0 0 1px var(--accent-deal),
    0 0 0 3px rgba(74, 124, 255, 0.18),
    0 0 60px -8px var(--accent-deal-glow),
    0 22px 80px -28px var(--accent-deal-glow);
  animation: aiTerminalPulse 1.6s ease-in-out infinite;
}
@keyframes aiTerminalPulse {
  0%, 100% { box-shadow: inset 0 0 0 1px var(--accent-deal), 0 0 0 3px rgba(74, 124, 255, 0.18), 0 0 60px -8px var(--accent-deal-glow), 0 22px 80px -28px var(--accent-deal-glow); }
  50% { box-shadow: inset 0 0 0 1px var(--accent-deal), 0 0 0 5px rgba(74, 124, 255, 0.28), 0 0 80px -8px var(--accent-deal-glow), 0 22px 100px -28px var(--accent-deal-glow); }
}

/* scan light traversing */
.ai-terminal::after {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  left: -45%;
  width: 45%;
  background: linear-gradient(100deg, transparent 0%, rgba(74, 124, 255, 0.14) 50%, transparent 100%);
  pointer-events: none;
  z-index: 0;
  mix-blend-mode: screen;
  animation: aiScan 5.5s ease-in-out infinite;
}
@keyframes aiScan {
  0%   { left: -45%; opacity: 0; }
  20%  { opacity: 1; }
  80%  { opacity: 1; }
  100% { left: 100%; opacity: 0; }
}

/* TOOLBAR */
.ai-terminal__bar {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.6rem 0.85rem;
  background: linear-gradient(180deg, rgba(47, 91, 255, 0.015), rgba(47, 91, 255, 0.004));
  border-bottom: 1px solid var(--border-soft);
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  color: var(--text-muted);
  text-transform: uppercase;
}
.ai-terminal__bar-left { display: flex; align-items: center; gap: 0.4rem; }
.ai-terminal__bar-dot {
  width: 9px; height: 9px;
  border-radius: 50%;
  opacity: 0.7;
}
.ai-terminal__bar-dot--r { background: #FF5F57; }
.ai-terminal__bar-dot--y { background: #FEBC2E; }
.ai-terminal__bar-dot--g { background: #28C840; }
.ai-terminal__bar-title {
  margin-left: 0.6rem;
  color: var(--text-secondary);
  text-transform: lowercase;
  letter-spacing: 0.08em;
}
.ai-terminal__bar-right {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.ai-terminal__bar-model {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.2rem 0.55rem;
  border: 1px solid var(--border-soft);
  border-radius: 999px;
  color: var(--accent-deal);
  background: rgba(74, 124, 255, 0.08);
}
.ai-terminal__bar-model-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--accent-deal);
  box-shadow: 0 0 6px var(--accent-deal-glow);
  animation: blink 1.4s ease infinite;
}
.ai-terminal__bar-state {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.2rem 0.55rem;
  border: 1px solid currentColor;
  border-radius: 999px;
  color: var(--accent-live);
  background: rgba(0, 230, 118, 0.06);
  transition: color 0.3s ease, background 0.3s ease;
}
.ai-terminal__bar-state-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 6px currentColor;
  animation: blink 1.2s ease infinite;
}
.ai-terminal[data-state="thinking"] .ai-terminal__bar-state {
  color: var(--accent-warn);
  background: rgba(255, 184, 0, 0.08);
}
.ai-terminal[data-state="responding"] .ai-terminal__bar-state {
  color: var(--accent-deal);
  background: rgba(74, 124, 255, 0.08);
}

/* HUD strip */
.ai-terminal__hud {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0.85rem;
  border-bottom: 1px solid var(--border-soft);
  font-size: 0.625rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted);
  background: rgba(47, 91, 255, 0.011);
  flex-wrap: wrap;
}
.ai-terminal__hud-item { display: inline-flex; gap: 0.4rem; align-items: baseline; }
.ai-terminal__hud-key { color: var(--text-muted); opacity: 0.75; }
.ai-terminal__hud-val { color: var(--text-secondary); font-weight: 500; }
.ai-terminal__hud-val--mono {
  font-variant-numeric: tabular-nums;
  color: var(--accent-deal);
}
.ai-terminal__hud-sep { color: var(--border-loud); opacity: 0.6; }

/* BODY */
.ai-terminal__body {
  position: relative;
  z-index: 2;
  padding: 1.1rem 1rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  font-size: 0.8125rem;
  line-height: 1.55;
  color: var(--text-secondary);
  min-height: 320px;
  background:
    repeating-linear-gradient(180deg, transparent 0 3px, rgba(74, 124, 255, 0.018) 3px 4px);
}
.ai-line {
  margin: 0;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 320ms ease, transform 320ms ease;
}
.ai-line.is-shown { opacity: 1; transform: translateY(0); }
.ai-line--user {
  color: var(--text-primary);
  padding-bottom: 0.6rem;
  border-bottom: 1px solid var(--border-soft);
  margin-bottom: 0.3rem;
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
}
.ai-line--user .ai-line__text { color: var(--text-primary); }
.ai-line--ai {
  color: var(--text-primary);
  margin-top: 0.2rem;
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
}
.ai-line--bullet {
  padding-left: 0.65rem;
  color: var(--text-secondary);
  position: relative;
  display: flex;
  align-items: baseline;
  gap: 0.45rem;
}
.ai-line--bullet::before {
  content: "";
  width: 4px;
  height: 4px;
  background: var(--accent-deal);
  border-radius: 50%;
  flex-shrink: 0;
  transform: translateY(-2px);
  box-shadow: 0 0 8px var(--accent-deal-glow);
}
.ai-line--bullet .ai-line__text { flex: 1; }
.ai-line--bullet strong { color: var(--accent-deal); font-weight: 600; }
.ai-line--reco {
  margin-top: 0.55rem;
  padding-top: 0.6rem;
  border-top: 1px solid var(--border-soft);
  color: var(--text-primary);
  position: relative;
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
}
.ai-line--reco strong {
  color: var(--accent-deal);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.6875rem;
  background: rgba(74, 124, 255, 0.12);
  padding: 0.15rem 0.45rem;
  border-radius: 4px;
  border: 1px solid var(--accent-deal-soft);
}
.ai-tag {
  display: inline-block;
  color: var(--text-muted);
  font-weight: 500;
  letter-spacing: 0.06em;
  flex-shrink: 0;
}
.ai-tag--ai {
  color: var(--accent-deal);
  text-shadow: 0 0 12px var(--accent-deal-glow);
}
.ai-cursor {
  color: var(--accent-deal);
  margin-left: 2px;
  animation: blink 0.8s ease infinite;
}

/* highlight pop quando número aparece */
.ai-pop {
  display: inline-block;
  animation: aiPop 0.42s ease;
}
@keyframes aiPop {
  0% { transform: scale(0.8); color: var(--accent-warn); text-shadow: 0 0 14px rgba(255, 184, 0, 0.85); }
  60% { transform: scale(1.18); }
  100% { transform: scale(1); }
}

/* THINKING DOTS */
.ai-thinking {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--accent-deal);
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.45rem 0.75rem;
  border: 1px solid var(--accent-deal-soft);
  border-radius: 999px;
  background: rgba(74, 124, 255, 0.06);
  width: max-content;
}
.ai-thinking-dots {
  display: inline-flex;
  gap: 3px;
}
.ai-thinking-dots span {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--accent-deal);
  box-shadow: 0 0 6px var(--accent-deal-glow);
  animation: aiDots 1.2s ease-in-out infinite;
}
.ai-thinking-dots span:nth-child(2) { animation-delay: 0.18s; }
.ai-thinking-dots span:nth-child(3) { animation-delay: 0.36s; }
@keyframes aiDots {
  0%, 80%, 100% { transform: translateY(0); opacity: 0.4; }
  40% { transform: translateY(-4px); opacity: 1; }
}

/* MINI CHART (bar comparison) */
.ai-chart {
  margin: 0.6rem 0 0.2rem;
  padding: 0.85rem 0.95rem;
  border: 1px solid var(--border-loud);
  border-radius: 6px;
  background: rgba(47, 91, 255, 0.016);
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.ai-chart.is-shown { opacity: 1; transform: translateY(0); }
.ai-chart__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.ai-chart__title { color: var(--text-secondary); }
.ai-chart__legend { display: flex; gap: 0.65rem; }
.ai-chart__legend span {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}
.ai-chart__legend span::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: currentColor;
}
.ai-chart__row {
  display: grid;
  grid-template-columns: 90px 1fr 60px;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.75rem;
  color: var(--text-secondary);
}
.ai-chart__name { color: var(--text-primary); font-weight: 500; }
.ai-chart__bar {
  height: 8px;
  border-radius: 999px;
  background: rgba(47, 91, 255, 0.015);
  overflow: hidden;
  position: relative;
}
.ai-chart__bar-fill {
  display: block;
  height: 100%;
  width: 0%;
  border-radius: inherit;
  transition: width 1.1s cubic-bezier(0.18, 0.89, 0.32, 1.28);
}
.ai-chart__bar-fill--good { background: linear-gradient(90deg, var(--accent-deal), #66B0FF); box-shadow: 0 0 12px var(--accent-deal-glow); }
.ai-chart__bar-fill--bad  { background: linear-gradient(90deg, #5a4a4a, var(--accent-danger)); box-shadow: 0 0 12px rgba(255, 79, 79, 0.45); }
.ai-chart__val {
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: var(--text-primary);
}

/* COMPOSE — chips + input */
.ai-terminal__compose {
  position: relative;
  z-index: 2;
  padding: 0.95rem 1rem 1.05rem;
  border-top: 1px solid var(--border-soft);
  background: linear-gradient(180deg, rgba(47, 91, 255, 0.013), rgba(47, 91, 255, 0.022));
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}
.ai-terminal__compose-label {
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.ai-terminal__compose-marker { color: var(--accent-deal); }

.ai-terminal__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}
.ai-chip {
  appearance: none;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  line-height: 1;
  color: var(--text-secondary);
  background: rgba(47, 91, 255, 0.008);
  border: 1px solid var(--border-soft);
  border-radius: 999px;
  padding: 0.5rem 0.85rem;
  cursor: pointer;
  transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}
.ai-chip__hash {
  color: var(--text-muted);
  opacity: 0.7;
  font-size: 0.625rem;
  letter-spacing: 0.1em;
}
.ai-chip:hover {
  color: var(--text-primary);
  border-color: var(--accent-deal-soft);
  background: rgba(74, 124, 255, 0.06);
  transform: translateY(-1px);
}
.ai-chip:hover .ai-chip__hash { color: var(--accent-deal); }
.ai-chip:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px rgba(74, 124, 255, 0.5);
}
.ai-chip.is-active {
  color: var(--accent-deal);
  border-color: var(--accent-deal);
  background: rgba(74, 124, 255, 0.1);
  box-shadow: 0 0 0 1px var(--accent-deal-soft), 0 0 18px -6px var(--accent-deal-glow);
}
.ai-chip.is-active .ai-chip__hash { color: var(--accent-deal); }
.ai-chip:disabled,
.ai-chip[aria-disabled="true"] {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* INPUT */
.ai-terminal__input {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid var(--border-soft);
  border-radius: 999px;
  padding: 0.4rem 0.4rem 0.4rem 0.85rem;
  background: rgba(47, 91, 255, 0.02);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.ai-terminal__input:focus-within {
  border-color: var(--accent-deal);
  box-shadow: 0 0 0 3px rgba(74, 124, 255, 0.18), 0 0 24px -8px var(--accent-deal-glow);
}
.ai-terminal__input-prompt {
  color: var(--accent-deal);
  font-weight: 600;
  letter-spacing: 0;
  font-size: 0.875rem;
  font-variant-numeric: tabular-nums;
}
.ai-terminal__input-field {
  flex: 1;
  appearance: none;
  background: transparent;
  border: 0;
  outline: 0;
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  color: var(--text-primary);
  letter-spacing: 0.02em;
  min-width: 0;
}
.ai-terminal__input-field::placeholder {
  color: var(--text-muted);
  opacity: 0.55;
}
.ai-terminal__input-submit {
  appearance: none;
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent-deal);
  background: rgba(74, 124, 255, 0.12);
  border: 1px solid var(--accent-deal);
  border-radius: 999px;
  padding: 0.45rem 0.85rem;
  cursor: pointer;
  transition: color 0.2s ease, background 0.2s ease, transform 0.15s ease;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.ai-terminal__input-submit:hover {
  color: var(--bg-0);
  background: var(--accent-deal);
}
.ai-terminal__input-submit:active { transform: scale(0.97); }

/* terminal hint when responding — disable input */
.ai-terminal[data-state="thinking"] .ai-terminal__input,
.ai-terminal[data-state="responding"] .ai-terminal__input {
  opacity: 0.55;
  pointer-events: none;
}

@media (min-width: 1024px) {
  .heroes-grid { grid-template-columns: 1fr 1fr; gap: 1.75rem; }
  .heroes-grid--solo { grid-template-columns: 1fr; }
}

/* Features secundárias */
.features-label {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border-soft);
}
.features-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
.feature {
  background: var(--bg-1);
  border: 1px solid var(--border-soft);
  padding: 1.5rem 1.5rem 1.75rem;
  transition: border-color 200ms ease, transform 200ms ease;
}
.feature:hover {
  border-color: var(--accent-deal);
  transform: translateY(-2px);
}
.feature__icon {
  display: block;
  font-size: 1.5rem;
  color: var(--accent-deal);
  margin-bottom: 1rem;
  line-height: 1;
}
.feature__title {
  font-family: var(--font-mono);
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-primary);
  margin-bottom: 0.5rem;
}
.feature__body {
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--text-secondary);
}
@media (min-width: 768px) { .features-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .features-grid { grid-template-columns: repeat(4, 1fr); } }

/* =============================================================
   MODULES_BAY — // O QUE JÁ VEM PRONTO refactor
   rack de 4 mini-demos vivas e interativas
   ============================================================= */
.modulebay-intro {
  margin-top: clamp(2rem, 4vw, 3rem);
  margin-bottom: 1.25rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--border-soft);
}
.modulebay-intro__line {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-family: var(--font-body);
  font-size: 0.875rem;
  letter-spacing: 0;
  text-transform: none;
  color: var(--text-muted);
}
.modulebay-intro__label { color: var(--text-secondary); font-weight: 600; font-size: 1rem; }
.modulebay-intro__sep {
  flex: 1;
  height: 1px;
  background: repeating-linear-gradient(90deg, var(--border-loud) 0 6px, transparent 6px 12px);
}
.modulebay-intro__rack { color: var(--accent-deal); }
.modulebay-intro__meta {
  margin-top: 0.65rem;
  display: flex;
  align-items: center;
  gap: 0.85rem;
  flex-wrap: wrap;
}
.modulebay-intro__meta-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.3rem 0.7rem;
  border: 1px solid var(--accent-live);
  border-radius: 999px;
  background: rgba(0, 230, 118, 0.08);
  color: var(--accent-live);
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.modulebay-intro__meta-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 6px currentColor;
  animation: blink 1.2s ease infinite;
}
.modulebay-intro__meta-hint {
  font-family: var(--font-body);
  font-size: 0.875rem;
  letter-spacing: 0;
  color: var(--text-muted);
  margin: 0.5rem 0 0;
}

/* RACK GRID */
/* ============================================================
   STAGE CAROUSEL — 1 módulo ativo center, 3 atrás blur+depth
   ============================================================ */
.modulebay-stage {
  position: relative;
  isolation: isolate;
  margin-top: 0.5rem;
  perspective: 1400px;
  perspective-origin: 50% 35%;
  outline: none;
}

/* DECK — container 3D dos 4 módulos */
.modulebay-stage__deck {
  position: relative;
  width: 100%;
  height: 560px;
  transform-style: preserve-3d;
}
@media (max-width: 900px) {
  .modulebay-stage__deck { height: 620px; }
}
@media (max-width: 640px) {
  .modulebay-stage__deck { height: 680px; }
}

/* Floor / horizon — dá a sensação de profundidade */
.modulebay-stage__floor {
  position: absolute;
  inset: auto -10% -40px -10%;
  height: 220px;
  background:
    linear-gradient(180deg, transparent 0%, rgba(74, 124, 255, 0.08) 60%, transparent 100%),
    repeating-linear-gradient(90deg, rgba(74, 124, 255, 0.18) 0 1px, transparent 1px 60px);
  transform: rotateX(75deg) translateZ(-150px);
  transform-origin: top center;
  mask-image: radial-gradient(ellipse at top, black 30%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at top, black 30%, transparent 75%);
  pointer-events: none;
  z-index: 0;
  opacity: 0.55;
}
.modulebay-stage__horizon {
  position: absolute;
  left: -5%;
  right: -5%;
  top: 0;
  height: 100%;
  background:
    radial-gradient(ellipse at 50% 50%, rgba(74, 124, 255, 0.12), transparent 55%);
  pointer-events: none;
  z-index: 0;
}

/* STAGE module positions — overrides only on stage cards */
.modulebay-stage .module {
  position: absolute;
  top: 0;
  left: 50%;
  width: min(720px, 88%);
  transition:
    transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1),
    opacity 0.55s ease,
    filter 0.55s ease,
    box-shadow 0.55s ease;
  will-change: transform, filter, opacity;
  transform-origin: 50% 50%;
  cursor: default;
}

/* Active — front and center */
.modulebay-stage .module.is-active {
  z-index: 5;
  transform: translate3d(-50%, 0, 0) scale(1);
  opacity: 1;
  filter: none;
  cursor: default;
  box-shadow:
    0 0 0 1px var(--accent-deal),
    0 26px 80px -30px rgba(74, 124, 255, 0.7),
    0 0 60px -10px var(--accent-deal-glow);
  border-color: var(--accent-deal);
}

/* Prev — slight left, scaled down, blurred */
.modulebay-stage .module.is-prev {
  z-index: 3;
  transform: translate3d(calc(-50% - 360px), 38px, -260px) scale(0.78) rotateY(18deg);
  opacity: 0.4;
  filter: blur(3.5px) saturate(0.75);
  cursor: pointer;
}

/* Next — slight right, scaled down, blurred */
.modulebay-stage .module.is-next {
  z-index: 3;
  transform: translate3d(calc(-50% + 360px), 38px, -260px) scale(0.78) rotateY(-18deg);
  opacity: 0.4;
  filter: blur(3.5px) saturate(0.75);
  cursor: pointer;
}

/* Far — deepest back, smallest, most blurred */
.modulebay-stage .module.is-far {
  z-index: 1;
  transform: translate3d(-50%, 70px, -520px) scale(0.55);
  opacity: 0.1;
  filter: blur(8px) saturate(0.4);
  pointer-events: none;
}

.modulebay-stage .module.is-prev:hover,
.modulebay-stage .module.is-next:hover {
  filter: blur(2px) saturate(0.9);
  opacity: 0.75;
}

/* mobile fallback — sem 3D, vira slider plano */
@media (max-width: 768px) {
  .modulebay-stage { perspective: none; }
  .modulebay-stage .module {
    width: 92%;
  }
  .modulebay-stage .module.is-active {
    transform: translate3d(-50%, 0, 0) scale(1);
  }
  .modulebay-stage .module.is-prev {
    transform: translate3d(-180%, 0, 0) scale(0.92);
    filter: blur(2px) brightness(0.55);
    opacity: 0.45;
  }
  .modulebay-stage .module.is-next {
    transform: translate3d(80%, 0, 0) scale(0.92);
    filter: blur(2px) brightness(0.55);
    opacity: 0.45;
  }
  .modulebay-stage .module.is-far {
    transform: translate3d(-50%, 0, 0) scale(0.6);
    opacity: 0;
  }
}

/* NAV ARROWS */
.modulebay-stage__nav {
  position: absolute;
  top: 50%;
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  transform: translateY(-50%);
  border: 1px solid var(--border-loud);
  background: rgba(47, 91, 255, 0.028);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: var(--text-secondary);
  font-family: var(--font-mono);
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
  transition: color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.modulebay-stage__nav:hover {
  color: var(--accent-deal);
  border-color: var(--accent-deal);
  box-shadow: 0 0 0 4px rgba(74, 124, 255, 0.16), 0 0 28px var(--accent-deal-glow);
  transform: translateY(-50%) scale(1.04);
}
.modulebay-stage__nav:active { transform: translateY(-50%) scale(0.95); }
.modulebay-stage__nav--prev { left: -8px; }
.modulebay-stage__nav--next { right: -8px; }
@media (min-width: 900px) {
  .modulebay-stage__nav--prev { left: 10px; }
  .modulebay-stage__nav--next { right: 10px; }
}
.modulebay-stage__nav-glyph {
  font-size: 1.65rem;
  line-height: 1;
  transform: translateY(-1px);
}
.modulebay-stage__nav-label {
  position: absolute;
  bottom: -1.5rem;
  font-size: 0.5625rem;
  letter-spacing: 0.18em;
  color: var(--text-muted);
  text-transform: uppercase;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.modulebay-stage__nav:hover .modulebay-stage__nav-label { opacity: 1; }

/* HUD bottom — counter + dots + auto progress */
.modulebay-stage__hud {
  margin-top: 1.5rem;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1rem;
  padding: 0.65rem 1rem;
  border: 1px solid var(--border-loud);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(47, 91, 255, 0.012), rgba(47, 91, 255, 0.015));
  position: relative;
  z-index: 6;
  font-family: var(--font-mono);
}
@media (max-width: 768px) {
  .modulebay-stage__hud {
    grid-template-columns: 1fr;
    border-radius: 12px;
    gap: 0.65rem;
    text-align: center;
  }
}
.modulebay-stage__hud-counter {
  display: inline-flex;
  align-items: baseline;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--accent-deal);
  font-variant-numeric: tabular-nums;
  padding: 0.2rem 0.6rem;
  border: 1px solid var(--accent-deal-soft);
  border-radius: 999px;
  background: rgba(74, 124, 255, 0.1);
}
.modulebay-stage__hud-counter-sep { color: var(--text-muted); margin: 0 0.15rem; font-weight: 400; }

.modulebay-stage__dots {
  display: flex;
  gap: 0.4rem;
  align-items: center;
  justify-content: center;
  overflow-x: auto;
  scrollbar-width: none;
}
.modulebay-stage__dots::-webkit-scrollbar { display: none; }

.stage-dot {
  appearance: none;
  background: transparent;
  border: 1px solid transparent;
  cursor: pointer;
  padding: 0.4rem 0.7rem 0.55rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.15rem;
  font-family: var(--font-mono);
  color: var(--text-muted);
  position: relative;
  border-radius: 8px;
  transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease;
  min-width: 90px;
}
.stage-dot:hover {
  color: var(--text-primary);
  background: rgba(74, 124, 255, 0.06);
}
.stage-dot__num {
  font-size: 0.5625rem;
  letter-spacing: 0.18em;
  color: var(--text-muted);
  opacity: 0.7;
}
.stage-dot__name {
  font-size: 0.6875rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 500;
}
.stage-dot__rule {
  display: block;
  width: 100%;
  height: 2px;
  margin-top: 0.2rem;
  background: var(--border-loud);
  border-radius: 999px;
  position: relative;
  overflow: hidden;
}
.stage-dot.is-active {
  color: var(--accent-deal);
  background: rgba(74, 124, 255, 0.08);
  border-color: var(--accent-deal-soft);
}
.stage-dot.is-active .stage-dot__num { color: var(--accent-deal); opacity: 1; }
.stage-dot.is-active .stage-dot__name { color: var(--accent-deal); text-shadow: 0 0 12px var(--accent-deal-glow); }
.stage-dot.is-active .stage-dot__rule {
  background: var(--accent-deal);
  box-shadow: 0 0 8px var(--accent-deal-glow);
}

/* AUTO progress ring */
.modulebay-stage__hud-auto {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.625rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.modulebay-stage__hud-auto-ring {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  overflow: visible;
}
.modulebay-stage__hud-auto-track,
.modulebay-stage__hud-auto-fill {
  fill: none;
  stroke-width: 2.5;
  cx: 18;
  cy: 18;
  r: 15.5;
}
.modulebay-stage__hud-auto-track { stroke: var(--border-loud); }
.modulebay-stage__hud-auto-fill {
  stroke: var(--accent-deal);
  stroke-linecap: round;
  stroke-dasharray: 97.4;
  stroke-dashoffset: 97.4;
  transform: rotate(-90deg);
  transform-origin: center;
  transition: stroke-dashoffset 0.1s linear;
  filter: drop-shadow(0 0 4px var(--accent-deal-glow));
}
.modulebay-stage__hud-auto.is-paused .modulebay-stage__hud-auto-fill { stroke: var(--accent-warn); filter: drop-shadow(0 0 4px rgba(255, 184, 0, 0.6)); }
.modulebay-stage__hud-auto.is-paused .modulebay-stage__hud-auto-label::after { content: " · pausa"; color: var(--accent-warn); }

/* MODULE — base card */
.module {
  position: relative;
  background:
    radial-gradient(ellipse at 0% 0%, rgba(74, 124, 255, 0.05), transparent 60%),
    var(--bg-1);
  border: 1px solid var(--border-loud);
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  isolation: isolate;
  transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}
.module:hover {
  border-color: var(--accent-deal-soft);
  box-shadow: 0 0 0 1px var(--accent-deal-soft), 0 22px 55px -25px rgba(74, 124, 255, 0.55);
  transform: translateY(-2px);
}
/* corner brackets */
.module::before,
.module::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  border: 2px solid var(--accent-deal);
  z-index: 4;
  pointer-events: none;
  opacity: 0.55;
  transition: opacity 0.3s ease;
}
.module::before { top: -1px; left: -1px; border-right: 0; border-bottom: 0; border-radius: 6px 0 0 0; }
.module::after { bottom: -1px; right: -1px; border-left: 0; border-top: 0; border-radius: 0 0 6px 0; }
.module:hover::before,
.module:hover::after { opacity: 1; }

/* module bar (toolbar) */
.module__bar {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.6rem 0.95rem;
  background: var(--ui-bar-bg);
  border-bottom: 1px solid var(--ui-bar-border);
  font-family: var(--font-body);
  font-size: 0.8125rem;
  color: var(--ui-bar-text);
}
.module__num {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  color: var(--ui-bar-text);
  opacity: 0.65;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}
.module__name {
  color: var(--ui-bar-text-strong);
  font-weight: 500;
  flex: 1;
  letter-spacing: -0.005em;
}
.module__status {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.22rem 0.6rem;
  border: 1px solid var(--ui-bar-border);
  background: var(--bg-0);
  border-radius: 999px;
  font-size: 0.6875rem;
  letter-spacing: 0;
  font-weight: 500;
  color: var(--ui-bar-text);
}
.module__status[data-status="active"]    { color: var(--accent-live); }
.module__status[data-status="routing"]   { color: var(--accent-warn); }
.module__status[data-status="ready"]     { color: var(--accent-deal); }
.module__status[data-status="updating"]  { color: var(--accent-deal); }
.module__status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  animation: blink 2.2s ease infinite;
}

.module__title-row {
  padding: 1rem 1rem 0.4rem;
}
.module__title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.0625rem;
  color: var(--text-primary);
  letter-spacing: -0.005em;
  margin: 0 0 0.25rem;
  line-height: 1.3;
}
.module__sub {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  color: var(--text-muted);
  margin: 0;
}

.module__body {
  flex: 1;
  padding: 0.75rem 1rem 0.85rem;
  display: flex;
  flex-direction: column;
  min-height: 220px;
  position: relative;
}

.module__foot {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  padding: 0.55rem 1rem 0.7rem;
  border-top: 1px solid var(--border-soft);
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.06em;
  color: var(--text-muted);
  background: rgba(47, 91, 255, 0.011);
  flex-wrap: wrap;
}
.module__foot-key { color: var(--accent-deal); font-weight: 500; }
.module__foot-val { flex: 1; }

/* ============================================ */
/* MOD.01 — KANBAN_LIVE                        */
/* ============================================ */
.kbn {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.45rem;
  height: 100%;
  min-height: 200px;
}
.kbn__col {
  background: rgba(47, 91, 255, 0.015);
  border: 1px solid var(--border-soft);
  border-radius: 6px;
  padding: 0.45rem 0.4rem 0.55rem;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  transition: background 0.3s ease, border-color 0.3s ease;
  cursor: pointer;
}
.kbn__col:hover {
  border-color: var(--accent-deal-soft);
  background: rgba(74, 124, 255, 0.04);
}
.kbn__col.is-flash {
  animation: kbnColFlash 0.55s ease;
}
@keyframes kbnColFlash {
  0% { background: rgba(74, 124, 255, 0.18); }
  100% { background: rgba(47, 91, 255, 0.015); }
}
.kbn__col-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.3rem;
  padding-bottom: 0.3rem;
  border-bottom: 1px solid var(--border-soft);
}
.kbn__col-name {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.kbn__col[data-col="2"] .kbn__col-name { color: var(--accent-warn); }
.kbn__col[data-col="3"] .kbn__col-name { color: var(--accent-live); }
.kbn__col-count {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--accent-deal);
  font-variant-numeric: tabular-nums;
  min-width: 1.2em;
  text-align: right;
}
.kbn__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  flex: 1;
}
.kbn__card {
  display: flex;
  flex-direction: column;
  gap: 0.18rem;
  padding: 0.35rem 0.4rem;
  background: var(--bg-1);
  border: 1px solid var(--border-loud);
  border-left: 3px solid var(--accent-deal);
  border-radius: 4px;
  font-family: var(--font-mono);
  font-size: 0.625rem;
  color: var(--text-secondary);
  transform: translateY(-3px);
  opacity: 0;
  transition: opacity 0.4s ease, transform 0.4s ease, border-color 0.3s ease;
  cursor: pointer;
}
.kbn__card.is-in {
  opacity: 1;
  transform: translateY(0);
}
.kbn__card.is-out {
  opacity: 0;
  transform: translateY(8px) scale(0.92);
}
.kbn__card.is-tag-quente { border-left-color: var(--accent-danger); }
.kbn__card.is-tag-morno  { border-left-color: var(--accent-warn); }
.kbn__card.is-tag-frio   { border-left-color: #56C0FF; }
.kbn__card-name { color: var(--text-primary); font-weight: 500; }
.kbn__card-meta {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.5625rem;
  color: var(--text-muted);
  letter-spacing: 0.06em;
}
.kbn__card-tag {
  display: inline-block;
  padding: 0.05rem 0.3rem;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.5rem;
  border: 1px solid currentColor;
}
.kbn__card.is-tag-quente .kbn__card-tag { color: var(--accent-danger); }
.kbn__card.is-tag-morno  .kbn__card-tag { color: var(--accent-warn); }
.kbn__card.is-tag-frio   .kbn__card-tag { color: #56C0FF; }

/* ============================================ */
/* MOD.02 — AUTO_ROUTER                        */
/* ============================================ */
.module__body--router { padding: 0.4rem 0.6rem 0.75rem; min-height: 240px; }
.rtr {
  display: grid;
  grid-template-columns: 1fr auto 1.4fr;
  align-items: center;
  gap: 0.4rem;
  height: 100%;
  position: relative;
  min-height: 200px;
}
.rtr__lane {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  height: 100%;
  position: relative;
  z-index: 2;
}
.rtr__lane-label {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.rtr__queue {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  flex: 1;
  position: relative;
  min-height: 140px;
}
.rtr__queue-item {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.3rem 0.45rem;
  background: rgba(74, 124, 255, 0.08);
  border: 1px solid var(--accent-deal-soft);
  border-left: 3px solid var(--accent-deal);
  border-radius: 4px;
  font-family: var(--font-mono);
  font-size: 0.625rem;
  color: var(--text-secondary);
  opacity: 0;
  transform: translateX(-10px);
  animation: rtrQueueIn 0.4s ease forwards;
}
.rtr__queue-item.is-leaving {
  animation: rtrQueueOut 0.5s ease forwards;
}
@keyframes rtrQueueIn {
  to { opacity: 1; transform: translateX(0); }
}
@keyframes rtrQueueOut {
  to { opacity: 0; transform: translateX(120px) scale(0.7); }
}
.rtr__queue-item-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent-deal);
  box-shadow: 0 0 6px var(--accent-deal-glow);
}

.rtr__hub {
  position: relative;
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  z-index: 3;
}
.rtr__hub-ring {
  position: absolute;
  inset: 0;
  border: 1px solid var(--accent-deal-soft);
  border-radius: 50%;
  opacity: 0.6;
}
.rtr__hub-ring--1 { animation: rtrRing 2.4s ease-in-out infinite; }
.rtr__hub-ring--2 { animation: rtrRing 2.4s ease-in-out 0.5s infinite; }
.rtr__hub-ring--3 { animation: rtrRing 2.4s ease-in-out 1s infinite; }
@keyframes rtrRing {
  0%, 100% { transform: scale(0.85); opacity: 0.7; }
  50%      { transform: scale(1.15); opacity: 0.15; }
}
.rtr__hub-core {
  position: relative;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  background: var(--accent-deal);
  border-radius: 50%;
  color: var(--bg-0);
  font-size: 0.95rem;
  font-weight: 600;
  box-shadow: 0 0 22px var(--accent-deal-glow), inset 0 0 0 2px rgba(47, 91, 255, 0.025);
  z-index: 1;
}

.rtr__targets {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1;
  position: relative;
}
.rtr__target {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0.45rem;
  background: rgba(47, 91, 255, 0.013);
  border: 1px solid var(--border-soft);
  border-radius: 6px;
  position: relative;
  transition: border-color 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}
.rtr__target.is-receiving {
  border-color: var(--accent-deal);
  background: rgba(74, 124, 255, 0.1);
  box-shadow: 0 0 0 1px var(--accent-deal), 0 0 20px var(--accent-deal-glow);
}
.rtr__target-avatar {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--accent-deal);
  color: var(--bg-0);
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.rtr__target[data-target="1"] .rtr__target-avatar { background: var(--accent-warn); }
.rtr__target[data-target="2"] .rtr__target-avatar { background: var(--accent-live); }
.rtr__target-info {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}
.rtr__target-name {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--text-primary);
  letter-spacing: 0.04em;
}
.rtr__target-load {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.4rem;
  align-items: center;
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  color: var(--text-muted);
}
.rtr__target-load-bar {
  display: block;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent-deal), #66B0FF);
  width: 0%;
  transition: width 0.6s ease;
}
.rtr__target[data-target="1"] .rtr__target-load-bar { background: linear-gradient(90deg, var(--accent-warn), #FFD27A); }
.rtr__target[data-target="2"] .rtr__target-load-bar { background: linear-gradient(90deg, var(--accent-live), #6EFFB6); }
.rtr__target-load-val { color: var(--text-secondary); font-weight: 500; }

/* Faint background guide wires — just structure, never animated */
.rtr__wires {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
.rtr__wire {
  position: absolute;
  top: 50%;
  height: 1px;
  border-top: 1px solid var(--border-loud);
  opacity: 0.35;
  transform-origin: 0 50%;
}
.rtr__wire[data-wire="in"] {
  left: 22%;
  width: 16%;
}
.rtr__wire[data-wire="0"],
.rtr__wire[data-wire="1"],
.rtr__wire[data-wire="2"] {
  left: 50%;
  width: 28%;
}
.rtr__wire[data-wire="0"] { top: 30%; transform: rotate(-12deg); }
.rtr__wire[data-wire="1"] { top: 50%; }
.rtr__wire[data-wire="2"] { top: 70%; transform: rotate(12deg); }

/* Particles overlay — host for flying balls */
.rtr__particles {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 4;
  overflow: visible;
}
.rtr__particle {
  position: absolute;
  width: 12px;
  height: 12px;
  margin-left: -6px;
  margin-top: -6px;
  border-radius: 50%;
  background: var(--accent-deal);
  box-shadow:
    0 0 0 4px rgba(74, 124, 255, 0.18),
    0 0 16px var(--accent-deal-glow),
    0 0 32px rgba(74, 124, 255, 0.55);
  opacity: 0;
  transform: translate(0, 0) scale(0.4);
  transition:
    transform 0.85s cubic-bezier(0.35, 0.05, 0.25, 1),
    opacity 0.3s ease;
  will-change: transform, opacity;
}
.rtr__particle.is-charging {
  opacity: 1;
  transform: translate(0, 0) scale(1);
}
.rtr__particle.is-flying {
  opacity: 1;
}
.rtr__particle.is-arrived {
  opacity: 0;
  transition: opacity 0.18s ease;
}
.rtr__particle::after {
  content: "";
  position: absolute;
  inset: -8px;
  border-radius: 50%;
  border: 1px solid var(--accent-deal-soft);
  opacity: 0.5;
  animation: rtrParticleHalo 0.8s ease infinite;
}
@keyframes rtrParticleHalo {
  0%   { transform: scale(0.6); opacity: 0.7; }
  100% { transform: scale(1.4); opacity: 0; }
}

/* keep the queue-item leaving from looking like a duplicate path */
.rtr__queue-item.is-leaving {
  animation: rtrQueueOut 0.45s ease forwards;
}

/* ============================================ */
/* MOD.03 — TEMPLATE_VAULT                     */
/* ============================================ */
.module__body--templates { padding: 0.55rem 0.85rem 0.85rem; min-height: 280px; }
.tvault {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.7rem;
  height: 100%;
}
@media (min-width: 540px) {
  .tvault { grid-template-columns: 0.85fr 1fr; }
}
.tvault__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.tvault__item {
  appearance: none;
  width: 100%;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 0.55rem;
  background: rgba(47, 91, 255, 0.013);
  border: 1px solid var(--border-soft);
  border-radius: 4px;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  color: var(--text-secondary);
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease, transform 0.15s ease;
  text-align: left;
}
.tvault__item:hover {
  border-color: var(--accent-deal-soft);
  color: var(--text-primary);
  background: rgba(74, 124, 255, 0.06);
  transform: translateX(2px);
}
.tvault__item.is-active {
  border-color: var(--accent-deal);
  background: rgba(74, 124, 255, 0.12);
  color: var(--accent-deal);
  box-shadow: 0 0 0 1px var(--accent-deal-soft);
}
.tvault__item-icon {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 4px;
  font-size: 0.75rem;
  opacity: 0.85;
}
.tvault__item-name {
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 500;
}
.tvault__item-meta {
  font-size: 0.5625rem;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  text-transform: lowercase;
}
.tvault__item.is-active .tvault__item-meta { color: var(--accent-deal); }

.tvault__preview {
  background: rgba(47, 91, 255, 0.02);
  border: 1px solid var(--border-loud);
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  font-family: var(--font-mono);
  position: relative;
}
.tvault__preview::before {
  /* scan line subtle */
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(180deg, transparent 0 3px, rgba(74, 124, 255, 0.025) 3px 4px);
  pointer-events: none;
}
.tvault__preview-head {
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
  padding: 0.4rem 0.55rem;
  border-bottom: 1px solid var(--border-soft);
  font-size: 0.5625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-muted);
  position: relative;
  z-index: 1;
}
.tvault__preview-marker { color: var(--accent-deal); }
.tvault__preview-name { color: var(--accent-deal); font-weight: 600; }
.tvault__preview-meta { color: var(--text-muted); margin-left: auto; opacity: 0.7; }
.tvault__preview-body {
  flex: 1;
  padding: 0.6rem 0.65rem;
  font-size: 0.6875rem;
  line-height: 1.55;
  color: var(--text-secondary);
  white-space: pre-wrap;
  position: relative;
  z-index: 1;
  min-height: 90px;
}
.tvault__preview-body strong { color: var(--accent-deal); font-weight: 500; }
.tvault__preview-body em {
  color: var(--accent-warn);
  font-style: normal;
  background: rgba(255, 184, 0, 0.08);
  padding: 0.05rem 0.25rem;
  border-radius: 3px;
}
.tvault__preview-foot {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  padding: 0.35rem 0.55rem;
  border-top: 1px solid var(--border-soft);
  font-size: 0.5625rem;
  letter-spacing: 0.06em;
  color: var(--text-muted);
  position: relative;
  z-index: 1;
}
.tvault__preview-vars {
  display: flex;
  gap: 0.3rem;
  flex: 1;
  flex-wrap: wrap;
}
.tvault__preview-vars span {
  padding: 0.05rem 0.3rem;
  border-radius: 3px;
  background: rgba(74, 124, 255, 0.1);
  color: var(--accent-deal);
  border: 1px solid var(--accent-deal-soft);
  font-size: 0.5rem;
  letter-spacing: 0.06em;
}
.tvault__preview-action { opacity: 0.6; }

/* ============================================ */
/* MOD.04 — TEAM_PULSE                         */
/* ============================================ */
.module__body--team { padding: 0.55rem 0.85rem 0.85rem; min-height: 240px; }
.tpulse {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  height: 100%;
}
.tpulse__head {
  display: flex;
  gap: 0.3rem;
  flex-wrap: wrap;
}
.tpulse__tab {
  appearance: none;
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-muted);
  background: transparent;
  border: 1px solid var(--border-soft);
  border-radius: 999px;
  padding: 0.3rem 0.65rem;
  cursor: pointer;
  transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}
.tpulse__tab:hover {
  color: var(--text-primary);
  border-color: var(--accent-deal-soft);
}
.tpulse__tab.is-active {
  color: var(--accent-deal);
  border-color: var(--accent-deal);
  background: rgba(74, 124, 255, 0.1);
}

.tpulse__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  flex: 1;
}
.tpulse__row {
  display: grid;
  grid-template-columns: 28px 1fr 2fr auto;
  align-items: center;
  gap: 0.5rem;
  padding: 0.32rem 0.45rem;
  background: rgba(47, 91, 255, 0.012);
  border: 1px solid var(--border-soft);
  border-radius: 6px;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  transition: border-color 0.3s ease, background 0.3s ease;
}
.tpulse__row.is-top {
  border-color: var(--accent-deal);
  background: rgba(74, 124, 255, 0.08);
}
.tpulse__row.is-bottom {
  border-color: rgba(255, 79, 79, 0.4);
}
.tpulse__avatar {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--bg-1);
  border: 1px solid var(--border-loud);
  color: var(--text-secondary);
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.tpulse__row[data-corretor="0"] .tpulse__avatar { background: var(--accent-deal); color: var(--bg-0); border-color: var(--accent-deal); }
.tpulse__row[data-corretor="3"] .tpulse__avatar { background: var(--accent-danger); color: var(--bg-0); border-color: var(--accent-danger); }
.tpulse__name { color: var(--text-primary); font-weight: 500; }
.tpulse__bar {
  height: 6px;
  border-radius: 999px;
  background: rgba(47, 91, 255, 0.018);
  overflow: hidden;
}
.tpulse__bar-fill {
  display: block;
  height: 100%;
  width: 0%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent-deal), #66B0FF);
  box-shadow: 0 0 8px var(--accent-deal-glow);
  transition: width 1s cubic-bezier(0.18, 0.89, 0.32, 1.18), background 0.3s ease;
}
.tpulse__row.is-bottom .tpulse__bar-fill {
  background: linear-gradient(90deg, #654848, var(--accent-danger));
  box-shadow: 0 0 8px rgba(255, 79, 79, 0.45);
}
.tpulse__val {
  color: var(--text-primary);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
  min-width: 3.5em;
  text-align: right;
}
.tpulse__readout {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.4rem 0.55rem;
  background: rgba(47, 91, 255, 0.018);
  border: 1px solid var(--border-loud);
  border-radius: 4px;
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.12em;
}
.tpulse__readout-label {
  color: var(--text-muted);
  text-transform: uppercase;
}
.tpulse__readout-value {
  color: var(--accent-deal);
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

/* =============================================================
   // 04 — FLUXO / TIMELINE
   ============================================================= */
.flow__title {
  max-width: 22ch;
  margin-bottom: clamp(3rem, 6vw, 5rem);
}
.flow__title em { color: var(--text-primary); font-style: italic; font-weight: 700; }

.timeline {
  display: grid;
  grid-template-columns: 1fr;
}
.timeline__node {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas:
    "num   content"
    "conn  content";
  gap: 1rem 1.5rem;
  padding-bottom: 2.5rem;
}
.timeline__node:last-child { padding-bottom: 0; }
.timeline__number {
  grid-area: num;
  font-family: var(--font-mono);
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--accent-deal);
  letter-spacing: 0.04em;
  line-height: 1;
}
.timeline__connector {
  grid-area: conn;
  width: 1px;
  background: linear-gradient(to bottom, rgba(74, 124, 255, 0.45) 0%, rgba(74, 124, 255, 0.18) 100%);
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
  margin: 0.5rem auto 0;
  min-height: 60px;
}
.timeline__connector--end { background: transparent; }
.timeline__dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--accent-deal);
  margin-left: -2.5px;
  box-shadow: 0 0 6px var(--accent-deal-glow);
}
.timeline__content { grid-area: content; }
.timeline__step-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(1.25rem, 2vw, 1.625rem);
  letter-spacing: -0.015em;
  margin-bottom: 0.625rem;
  color: var(--text-primary);
  line-height: 1.1;
}
.timeline__content p {
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--text-secondary);
  margin-bottom: 0.625rem;
}
.timeline__meta {
  font-family: var(--font-body) !important;
  font-size: 0.75rem !important;
  color: var(--ui-bar-text) !important;
  letter-spacing: 0;
  text-transform: none;
  font-weight: 500;
  margin-bottom: 0 !important;
}

@media (min-width: 1024px) {
  .timeline {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
  }
  .timeline__node {
    grid-template-columns: 1fr;
    grid-template-areas: "num" "conn" "content";
    grid-template-rows: auto auto 1fr;
    gap: 1rem;
    padding-bottom: 0;
  }
  .timeline__connector {
    flex-direction: row;
    width: 100%;
    height: 1px;
    background: linear-gradient(to right, rgba(74, 124, 255, 0.45) 0%, rgba(74, 124, 255, 0.18) 100%);
    margin: 0;
    min-height: 0;
    align-self: start;
  }
  .timeline__connector--end {
    background: linear-gradient(to right, rgba(74, 124, 255, 0.45) 0%, transparent 100%);
  }
  .timeline__dot {
    margin-left: 0;
    margin-top: -2.5px;
  }
  .timeline__step-title { min-height: 2.4em; }
}

/* =============================================================
   // 05 — MANIFESTO
   ============================================================= */
.manifesto {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
  background: var(--bg-1);
  border-top: 1px solid var(--border-soft);
  border-bottom: 1px solid var(--border-soft);
}
.manifesto > .section-tag-line {
  max-width: 1440px;
  margin: 0 auto clamp(2rem, 4vw, 3.5rem);
  padding: 0 var(--container-px);
}
.manifesto__frame {
  max-width: 1100px;
  margin: 0 auto;
  padding: clamp(3rem, 6vw, 5rem) clamp(1.5rem, 4vw, 4rem);
  border: 1px solid var(--border-soft);
  box-shadow: 0 0 0 6px var(--bg-1), 0 0 0 7px var(--border-faint);
  background: var(--bg-2);
  position: relative;
}

.manifesto__doc-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--border-soft);
  margin-bottom: 2.25rem;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.manifesto__doc-id {
  color: var(--accent-deal);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 500;
}
.manifesto__doc-bullet {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent-deal);
  box-shadow: 0 0 8px var(--accent-deal-glow);
  font-size: 0;
  animation: pulse 1.8s ease-in-out infinite;
}
.manifesto__doc-meta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.manifesto__doc-status { color: var(--accent-live); font-weight: 500; }
.manifesto__doc-sep { color: var(--border-loud); }

.manifesto__rules {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0 0 2.5rem;
  padding: 0;
}
.manifesto__rule {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  align-items: center;
  gap: 0.875rem;
  padding: 1rem 0.5rem 1rem 0.25rem;
  position: relative;
  opacity: 0;
  transform: translateX(-12px);
  transition: opacity 500ms ease, transform 500ms cubic-bezier(0.16, 1, 0.3, 1);
}
.manifesto__rule.is-visible {
  opacity: 1;
  transform: translateX(0);
}
.manifesto__rule + .manifesto__rule { border-top: 1px solid var(--border-faint); }
.manifesto__rule-num {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--text-muted);
  min-width: 1.4em;
}
.manifesto__rule-bar {
  width: 3px;
  height: 1.4em;
  background: var(--text-muted);
  border-radius: 1.5px;
  transition: background-color 400ms ease, height 400ms ease;
}
.manifesto__rule.is-visible .manifesto__rule-bar { height: 2.4em; }
.manifesto__rule--approved .manifesto__rule-bar {
  background: var(--accent-deal);
  box-shadow: 0 0 10px var(--accent-deal-glow);
}
.manifesto__rule-text {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(1.4rem, 3.6vw, 2.5rem);
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--text-primary);
}
.manifesto__rule-text em {
  font-style: normal;
  color: var(--text-secondary);
  font-weight: 700;
  position: relative;
  display: inline-block;
}
.manifesto__strike::after {
  content: "";
  position: absolute;
  top: 53%;
  left: -2%;
  width: 0;
  height: 3px;
  background: var(--text-muted);
  border-radius: 1.5px;
  transform: translateY(-50%) skewY(-2deg);
  transition: width 750ms cubic-bezier(0.5, 0, 0.2, 1);
  transition-delay: 450ms;
}
.manifesto__rule.is-visible .manifesto__strike::after { width: 104%; }

.manifesto__highlight {
  color: var(--accent-deal) !important;
  text-shadow: 0 0 22px var(--accent-deal-glow);
  position: relative;
}
.manifesto__highlight::before {
  content: "";
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 0;
  height: 3px;
  background: var(--accent-deal);
  border-radius: 1.5px;
  box-shadow: 0 0 10px var(--accent-deal-glow);
  transition: width 850ms cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: 500ms;
}
.manifesto__rule.is-visible .manifesto__highlight::before { width: 100%; }

.manifesto__rule-tag {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  color: var(--text-muted);
  border: 1px solid var(--border-loud);
  padding: 4px 8px;
  border-radius: 3px;
  white-space: nowrap;
  align-self: center;
  opacity: 0;
  transform: scale(0.85);
  transition: opacity 400ms ease, transform 400ms cubic-bezier(0.34, 1.56, 0.64, 1);
  transition-delay: 900ms;
}
.manifesto__rule.is-visible .manifesto__rule-tag {
  opacity: 1;
  transform: scale(1);
}
.manifesto__rule-tag--approved {
  color: var(--accent-deal);
  border-color: var(--accent-deal);
}
.manifesto__rule.is-visible .manifesto__rule-tag--approved {
  animation: manifesto-tag-pulse 1.4s ease-out 1.2s 1;
}
@keyframes manifesto-tag-pulse {
  0%   { box-shadow: 0 0 0 0  var(--accent-deal-glow); }
  60%  { box-shadow: 0 0 0 9px rgba(74, 124, 255, 0); }
  100% { box-shadow: 0 0 0 0  rgba(74, 124, 255, 0); }
}

.manifesto__sub {
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--text-secondary);
  max-width: 64ch;
  border-top: 1px solid var(--border-soft);
  padding-top: 1.75rem;
}
.manifesto__sub strong {
  color: var(--accent-deal);
  font-weight: 600;
}

.manifesto__signature {
  margin-top: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
  padding-top: 1.75rem;
  border-top: 1px solid var(--border-soft);
}
.manifesto__sig-badge {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.875rem 1.125rem;
  border: 1px solid var(--border-soft);
  background: var(--bg-1);
  position: relative;
  transition: border-color 250ms ease, transform 250ms ease;
}
.manifesto__sig-badge::before,
.manifesto__sig-badge::after {
  content: "";
  position: absolute;
  width: 10px; height: 10px;
  border-color: var(--accent-deal);
  border-style: solid;
  border-width: 0;
}
.manifesto__sig-badge::before { top: -1px; left: -1px; border-top-width: 2px; border-left-width: 2px; }
.manifesto__sig-badge::after  { bottom: -1px; right: -1px; border-bottom-width: 2px; border-right-width: 2px; }
.manifesto__sig-badge:hover { border-color: var(--accent-deal); transform: translateY(-2px); }
.manifesto__sig-badge-label {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  letter-spacing: 0.18em;
  color: var(--text-muted);
  text-transform: uppercase;
}
.manifesto__sig-badge-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.9375rem;
  letter-spacing: 0.04em;
  color: var(--text-primary);
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.manifesto__sig-mark { color: var(--accent-deal); font-size: 0.7em; }
.manifesto__sig-badge-meta {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.08em;
  color: var(--text-muted);
}

.manifesto__sig-stamp {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  padding: 0.625rem 1rem;
  border: 2px solid var(--accent-deal);
  border-radius: 4px;
  color: var(--accent-deal);
  background: transparent;
  transform: rotate(-7deg) scale(1.6);
  opacity: 0;
  filter: blur(3px);
  transition:
    transform 550ms cubic-bezier(0.34, 1.56, 0.64, 1),
    opacity 380ms ease,
    filter 380ms ease;
  transition-delay: 1600ms;
  position: relative;
}
.manifesto__sig-stamp::before {
  content: "";
  position: absolute;
  inset: 3px;
  border: 1px solid rgba(74, 124, 255, 0.4);
  border-radius: 2px;
  pointer-events: none;
}
.manifesto.is-revealed .manifesto__sig-stamp {
  opacity: 0.92;
  transform: rotate(-7deg) scale(1);
  filter: blur(0);
}
.manifesto__sig-stamp-text {
  font-family: var(--font-mono);
  font-weight: 700;
  font-size: 0.9375rem;
  letter-spacing: 0.22em;
  line-height: 1;
}
.manifesto__sig-stamp-sub {
  font-family: var(--font-mono);
  font-size: 0.5rem;
  letter-spacing: 0.18em;
  margin-top: 4px;
  opacity: 0.7;
}

@media (max-width: 640px) {
  .manifesto__rule {
    grid-template-columns: auto auto 1fr;
    grid-template-areas:
      "num bar text"
      "tag tag tag";
    gap: 0.625rem;
  }
  .manifesto__rule-num { grid-area: num; }
  .manifesto__rule-bar { grid-area: bar; }
  .manifesto__rule-text { grid-area: text; }
  .manifesto__rule-tag { grid-area: tag; justify-self: end; margin-top: 0.5rem; }
  .manifesto__signature { flex-direction: column; align-items: flex-start; }
  .manifesto__sig-stamp { align-self: flex-end; }
}

/* =============================================================
   // 06 — PROVA (Savalle + galeria)
   ============================================================= */
.proof__title {
  max-width: 22ch;
  margin-bottom: clamp(3rem, 6vw, 5rem);
}

.savalle {
  border: 1px solid var(--accent-deal);
  background: var(--bg-1);
  padding: clamp(1.75rem, 3.5vw, 2.5rem);
  margin-bottom: clamp(3rem, 6vw, 4rem);
  position: relative;
  isolation: isolate;
  box-shadow:
    0 0 36px -16px var(--accent-deal-glow),
    inset 0 0 0 1px var(--accent-deal-soft);
}
.savalle::before,
.savalle::after {
  content: "";
  position: absolute;
  width: 22px; height: 22px;
  border-color: var(--accent-deal);
  border-style: solid;
  border-width: 0;
}
.savalle::before { top: -1px; left: -1px; border-top-width: 2px; border-left-width: 2px; }
.savalle::after { bottom: -1px; right: -1px; border-bottom-width: 2px; border-right-width: 2px; }

.savalle__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--border-soft);
  margin-bottom: 1.75rem;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.savalle__id {
  color: var(--accent-deal);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 500;
}
.savalle__id-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--accent-deal);
  box-shadow: 0 0 8px var(--accent-deal-glow);
  animation: pulse 1.6s ease-in-out infinite;
}
.savalle__meta { color: var(--text-muted); }

.savalle__lead {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.125rem, 2.4vw, 1.75rem);
  line-height: 1.3;
  color: var(--text-primary);
  margin: 0 0 1.75rem;
  max-width: 36ch;
}
.savalle__lead em { color: var(--accent-deal); font-style: italic; font-weight: 700; }
.savalle__lead strong { color: var(--accent-deal); font-weight: 700; }

.savalle__quote {
  position: relative;
  padding: 1rem 1.25rem;
  background: var(--bg-0);
  border: 1px solid var(--border-soft);
  border-radius: 4px;
  margin: 0 0 2rem;
}
.savalle__quote-body {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1rem, 1.7vw, 1.25rem);
  line-height: 1.4;
  color: var(--text-primary);
  margin: 0 0 1.25rem;
  padding-left: 1.25rem;
  position: relative;
}
.savalle__quote-prompt {
  position: absolute;
  left: 0;
  color: var(--accent-deal);
  font-family: var(--font-mono);
  font-weight: 700;
}
.savalle__quote-source {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  flex-wrap: wrap;
  padding-top: 0.875rem;
  border-top: 1px solid var(--border-faint);
}
.savalle__sig {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.savalle__sig-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--text-primary);
}
.savalle__sig-name strong { color: var(--accent-deal); font-weight: 700; }
.savalle__sig-role {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.12em;
  color: var(--text-muted);
  text-transform: uppercase;
}
.savalle__sig-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(to right, var(--border-soft), transparent);
  min-width: 30px;
}
.savalle__verified {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  letter-spacing: 0.16em;
  color: var(--accent-deal);
  text-transform: uppercase;
  padding: 4px 8px;
  border: 1px solid var(--accent-deal);
  border-radius: 3px;
}
.savalle__verified-check { font-weight: 700; }

/* KPIs Savalle */
.savalle__kpis {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--border-soft);
  border: 1px solid var(--border-soft);
  margin: 0;
  padding: 0;
}
.savalle-kpi {
  background: var(--bg-0);
  padding: 1.5rem 1.25rem 1.25rem;
  transition: background 220ms ease;
  position: relative;
  overflow: hidden;
}
.savalle-kpi::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 40px; height: 1px;
  background: var(--accent-deal);
  transform: translateX(-100%);
  transition: transform 400ms ease;
}
.savalle-kpi:hover { background: var(--bg-1); }
.savalle-kpi:hover::before { transform: translateX(0); }
.savalle-kpi__value {
  font-family: var(--font-mono);
  font-size: clamp(1.875rem, 4vw, 2.75rem);
  font-weight: 500;
  color: var(--accent-deal);
  letter-spacing: -0.02em;
  line-height: 1;
  margin: 0 0 0.625rem;
  display: flex;
  align-items: baseline;
  gap: 0.1em;
  text-shadow: 0 0 24px rgba(74, 124, 255, 0.18);
}
.savalle-kpi__number {
  font-variant-numeric: tabular-nums;
}
.savalle-kpi__unit {
  font-size: 0.42em;
  letter-spacing: 0.06em;
  color: var(--text-secondary);
  font-weight: 500;
  vertical-align: 0.45em;
  text-shadow: none;
}
.savalle-kpi__label {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-secondary);
  margin: 0 0 0.25rem;
}
.savalle-kpi__meta {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin: 0;
}

@media (min-width: 1024px) {
  .savalle__kpis { grid-template-columns: repeat(4, 1fr); }
}

/* Gallery */
.gallery__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border-faint);
}
.gallery__label {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.gallery__head-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--accent-deal);
  box-shadow: 0 0 8px var(--accent-deal-glow);
  animation: pulse 1.6s ease-in-out infinite;
}
.gallery__counter {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent-deal);
  margin: 0;
}

.gallery {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem 1.5rem;
}
.gallery__item {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: relative;
  transition: transform 450ms cubic-bezier(0.16, 1, 0.3, 1);
}
.gallery__chip {
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  background: var(--bg-0);
  border: 1px solid var(--border-soft);
  padding: 4px 10px;
  color: var(--text-muted);
  transition: border-color 300ms ease, color 300ms ease, padding 300ms ease;
}
.gallery__item figcaption {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  text-align: center;
}
.gallery__title {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
  color: var(--text-secondary);
  text-transform: uppercase;
  transition: color 300ms ease;
}
.gallery__sub {
  font-family: var(--font-body);
  font-size: 0.75rem;
  color: var(--text-muted);
}
.gallery__item.is-spotlight { transform: translateY(-6px); }
.gallery__item.is-spotlight .mockup {
  border-color: var(--accent-deal);
  box-shadow:
    0 0 0 1px var(--border-faint) inset,
    0 14px 36px -16px rgba(47, 91, 255, 0.04),
    0 18px 60px -24px var(--accent-deal-glow),
    0 0 80px -30px var(--accent-deal-glow);
}
.gallery__item.is-spotlight .gallery__chip {
  border-color: var(--accent-deal);
  color: var(--accent-deal);
  padding: 4px 14px;
  box-shadow: 0 0 12px var(--accent-deal-glow);
}
.gallery__item.is-spotlight .gallery__title { color: var(--accent-deal); }

.gallery__item:hover { transform: translateY(-8px); }
.gallery__item:hover .mockup { border-color: var(--accent-deal); }

@media (min-width: 768px) { .gallery { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .gallery { grid-template-columns: repeat(3, 1fr); } }

/* =============================================================
   // 07 — FIT CHECK
   ============================================================= */
.fit__title {
  max-width: 18ch;
  margin-bottom: clamp(3rem, 6vw, 5rem);
}
.fit__cols {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  background: var(--border-soft);
  border: 1px solid var(--border-soft);
}
.fit__col {
  background: var(--bg-1);
  padding: 2.25rem 1.75rem;
  border-left: 3px solid transparent;
}
.fit__col--yes { border-left-color: var(--accent-live); }
.fit__col--no { border-left-color: var(--accent-danger); }
.fit__col-head {
  font-family: var(--font-mono);
  font-size: 0.875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 1.75rem;
  color: var(--text-primary);
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
}
.fit__check { color: var(--accent-live); font-weight: 700; }
.fit__cross { color: var(--accent-danger); font-weight: 700; }
.fit__list li {
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--text-secondary);
  padding: 0.875rem 0;
  border-top: 1px solid var(--border-faint);
}
.fit__list li:first-child { border-top: 0; padding-top: 0; }
@media (min-width: 768px) {
  .fit__cols { grid-template-columns: 1fr 1fr; }
}

/* =============================================================
   // 08 — FAQ INSPECTOR (split pane)
   ============================================================= */
.faq__title {
  max-width: 18ch;
  margin-bottom: 1.25rem;
}
.faq__intro {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin: 0 0 clamp(2rem, 4vw, 3rem);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.faq__intro-marker { color: var(--accent-deal); }

.faq-shell {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  background: var(--border-soft);
  border: 1px solid var(--border-soft);
}
@media (min-width: 1024px) {
  .faq-shell { grid-template-columns: minmax(280px, 40%) 1fr; }
}

.faq-index { background: var(--bg-1); display: flex; flex-direction: column; }
.faq-index__head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--border-soft);
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.faq-index__head-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--accent-deal);
  box-shadow: 0 0 8px var(--accent-deal-glow);
  animation: pulse 1.6s ease-in-out infinite;
}
.faq-index__count { margin-left: auto; color: var(--accent-deal); font-weight: 500; }
.faq-index__list { margin: 0; padding: 0; }
.faq-index__list li { border-bottom: 1px solid var(--border-faint); }
.faq-index__list li:last-child { border-bottom: 0; }

.faq-q {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  align-items: center;
  gap: 0.625rem 0.75rem;
  width: 100%;
  background: transparent;
  padding: 0.875rem 1.125rem;
  cursor: pointer;
  text-align: left;
  color: var(--text-secondary);
  transition: background-color 200ms ease, color 200ms ease;
  position: relative;
}
.faq-q::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 2px;
  background: transparent;
  transition: background-color 200ms ease, box-shadow 200ms ease;
}
.faq-q:hover { background: var(--bg-2); color: var(--text-primary); }
.faq-q.is-active { background: var(--bg-2); color: var(--text-primary); }
.faq-q.is-active::before {
  background: var(--accent-deal);
  box-shadow: 0 0 10px var(--accent-deal-glow);
}
.faq-q__num {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--text-muted);
  transition: color 200ms ease;
}
.faq-q.is-active .faq-q__num { color: var(--accent-deal); }
.faq-q__tag {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  letter-spacing: 0.16em;
  padding: 3px 6px;
  border: 1px solid var(--border-loud);
  border-radius: 2px;
  color: var(--text-muted);
  transition: border-color 200ms ease, color 200ms ease;
}
.faq-q.is-active .faq-q__tag { border-color: var(--accent-deal); color: var(--accent-deal); }
.faq-q__text {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.3;
  letter-spacing: -0.01em;
}
.faq-q__arrow {
  font-family: var(--font-mono);
  color: var(--text-muted);
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity 200ms ease, transform 200ms ease, color 200ms ease;
}
.faq-q:hover .faq-q__arrow,
.faq-q.is-active .faq-q__arrow {
  opacity: 1;
  transform: translateX(0);
  color: var(--accent-deal);
}

.faq-detail {
  background: var(--bg-0);
  display: flex;
  flex-direction: column;
  min-height: 320px;
  position: relative;
}
.faq-detail__head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--border-soft);
  background: var(--bg-1);
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.1em;
  color: var(--text-muted);
}
.faq-detail__filename {
  color: var(--accent-deal);
  font-weight: 500;
  text-transform: lowercase;
}
.faq-detail__tag {
  color: var(--text-primary);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.faq-detail__sep { color: var(--border-loud); }
.faq-detail__sep--push { margin-left: auto; }
.faq-detail__time {
  color: var(--text-primary);
  font-variant-numeric: tabular-nums;
}

.faq-detail__pane {
  flex: 1;
  padding: 1.75rem 1.75rem 1rem;
}
.faq-a { display: none; }
.faq-a.is-active { display: block; }

.faq-a.is-active p {
  opacity: 0;
  clip-path: inset(0 100% 0 0);
  transform: translateY(4px);
  animation: faq-reveal-line 520ms cubic-bezier(0.5, 0, 0.2, 1) forwards;
}
.faq-a.is-active p:nth-child(1) { animation-delay: 50ms; }
.faq-a.is-active p:nth-child(2) { animation-delay: 160ms; }
.faq-a.is-active p:nth-child(3) { animation-delay: 270ms; }
.faq-a.is-active p:nth-child(4) { animation-delay: 380ms; }
.faq-a.is-active p:nth-child(5) { animation-delay: 490ms; }
@keyframes faq-reveal-line {
  to {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    transform: translateY(0);
  }
}

.faq-a p {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--text-secondary);
  margin: 0 0 0.875rem;
  max-width: 56ch;
}
.faq-a__title {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-primary);
  font-weight: 500;
  margin-bottom: 1.25rem !important;
}
.faq-a strong { color: var(--accent-deal); font-weight: 500; }
.faq-a__prompt { color: var(--accent-deal); font-weight: 700; margin-right: 0.4rem; }
.faq-a__close {
  font-family: var(--font-mono);
  font-size: 0.875rem !important;
  color: var(--text-muted) !important;
  border-top: 1px solid var(--border-faint);
  padding-top: 1rem;
  margin-top: 0.5rem !important;
}
.faq-a__close em { color: var(--text-primary); font-style: normal; font-weight: 500; }

.faq-detail__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  padding: 0.875rem 1.5rem 1rem;
  border-top: 1px solid var(--border-soft);
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.faq-detail__foot-meta { color: var(--text-muted); }
.faq-detail__foot-link {
  color: var(--accent-deal);
  font-weight: 500;
  transition: transform 200ms ease;
}
.faq-detail__foot-link:hover { transform: translateX(2px); }

@media (max-width: 1023px) {
  .faq-detail__head { padding: 0.875rem 1.25rem; }
  .faq-detail__pane { padding: 1.25rem; }
}
@media (max-width: 640px) {
  .faq-q {
    grid-template-columns: auto 1fr auto;
    grid-template-areas: "num tag arrow" "text text text";
    padding: 0.875rem 1rem;
  }
  .faq-q__num   { grid-area: num; }
  .faq-q__tag   { grid-area: tag; justify-self: start; }
  .faq-q__arrow { grid-area: arrow; }
  .faq-q__text  { grid-area: text; }
}

/* =============================================================
   // 09 — CTA TRANSMISSION CONSOLE
   ============================================================= */
.cta__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1.5rem 2rem;
  margin-bottom: 1.5rem;
}
.cta__title { margin-bottom: 0; max-width: 18ch; }
.cta__meta {
  margin: 0;
  padding: 1rem 1.25rem;
  border: 1px solid var(--border-soft);
  background: var(--bg-1);
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  min-width: 200px;
  position: relative;
}
.cta__meta::before {
  content: "";
  position: absolute;
  top: -1px; left: -1px;
  width: 12px; height: 12px;
  border-top: 2px solid var(--accent-deal);
  border-left: 2px solid var(--accent-deal);
}
.cta__meta::after {
  content: "";
  position: absolute;
  bottom: -1px; right: -1px;
  width: 12px; height: 12px;
  border-bottom: 2px solid var(--accent-deal);
  border-right: 2px solid var(--accent-deal);
}
.cta__meta-item { display: flex; align-items: center; gap: 0.5rem; }
.cta__meta-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--accent-deal);
  box-shadow: 0 0 8px var(--accent-deal-glow);
  animation: pulse 1.6s ease-in-out infinite;
}
.cta__meta-label { color: var(--text-muted); }
.cta__meta-value {
  margin-left: auto;
  color: var(--text-primary);
  font-weight: 500;
}

.cta__sub {
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin: 0 0 clamp(2.5rem, 5vw, 3.5rem);
  padding-left: 1rem;
  border-left: 2px solid var(--accent-deal);
}
.cta__sub strong { color: var(--text-primary); font-weight: 500; }

.cta__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media (min-width: 768px) {
  .cta__grid { grid-template-columns: repeat(2, 1fr); }
  .channel--form { grid-column: 1 / -1; }
}
@media (min-width: 1024px) {
  .cta__grid { grid-template-columns: repeat(3, 1fr); }
  .channel--form { grid-column: auto; }
}

.channel {
  background: var(--bg-1);
  border: 1px solid var(--border-soft);
  padding: 1.25rem 1.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  text-align: left;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: border-color 240ms ease, transform 280ms cubic-bezier(0.16, 1, 0.3, 1), background-color 240ms ease;
}
.channel:hover {
  border-color: var(--accent-deal);
  background: var(--bg-2);
  transform: translateY(-4px);
}
.channel--form { cursor: default; }
.channel--form:hover { transform: none; }

.channel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding-bottom: 0.875rem;
  border-bottom: 1px solid var(--border-faint);
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.channel__id { color: var(--accent-deal); font-weight: 500; }
.channel__status {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--text-muted);
}
.channel__status-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--accent-live);
  box-shadow: 0 0 6px var(--accent-live);
  animation: pulse 1.8s ease-in-out infinite;
}
.channel__status--live .channel__status-dot { animation: pulse 1.1s ease-in-out infinite; }

.channel__body { display: flex; flex-direction: column; gap: 0.45rem; }
.channel__type {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin: 0;
}
.channel__handle {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(1.0625rem, 2vw, 1.25rem);
  letter-spacing: -0.015em;
  color: var(--text-primary);
  margin: 0;
  word-break: break-word;
  transition: color 240ms ease;
}
.channel:hover .channel__handle { color: var(--accent-deal); }
.channel__desc {
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--text-secondary);
  margin: 0;
}

.channel__foot {
  margin-top: auto;
  padding-top: 0.875rem;
  border-top: 1px solid var(--border-faint);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.channel__sla { color: var(--text-muted); }
.channel__cta {
  color: var(--accent-deal);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  transition: gap 200ms ease;
}
.channel:hover .channel__cta { gap: 0.7rem; }
.channel__arrow { transition: transform 200ms ease; }
.channel:hover .channel__arrow { transform: translateX(2px); }

.channel__bignum {
  position: absolute;
  bottom: -0.6rem;
  right: -0.25rem;
  font-family: var(--font-mono);
  font-weight: 500;
  font-size: clamp(5rem, 9vw, 7.5rem);
  letter-spacing: -0.04em;
  color: rgba(74, 124, 255, 0.04);
  line-height: 1;
  pointer-events: none;
  z-index: 0;
  transition: color 280ms ease, transform 400ms cubic-bezier(0.16, 1, 0.3, 1);
}
.channel > * { position: relative; z-index: 1; }
.channel:hover .channel__bignum {
  color: rgba(74, 124, 255, 0.12);
  transform: translate(-0.25rem, -0.25rem) scale(1.04);
}

/* Transmit form */
.transmit-form {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 0.25rem;
}
.transmit-form__field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.transmit-form__label {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  letter-spacing: 0.16em;
  color: var(--text-muted);
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.transmit-form__prompt { color: var(--accent-deal); font-weight: 700; }
.transmit-form__counter {
  margin-left: auto;
  font-size: 0.5rem;
  color: var(--text-muted);
  font-variant-numeric: tabular-nums;
}
.transmit-form__counter.is-near { color: var(--accent-warn); }
.transmit-form__counter.is-full { color: var(--accent-danger); }
.transmit-form__input {
  font-family: var(--font-body);
  font-size: 0.9375rem;
  color: var(--text-primary);
  background: var(--bg-0);
  border: 0;
  border-bottom: 1px solid var(--border-soft);
  padding: 0.5rem 0.25rem;
  border-radius: 0;
  transition: border-color 200ms ease, background 200ms ease;
}
.transmit-form__input:focus {
  outline: none;
  border-bottom-color: var(--accent-deal);
  background: var(--accent-deal-soft);
}
.transmit-form__input::placeholder { color: var(--text-muted); opacity: 0.7; }
.transmit-form__input--area {
  resize: vertical;
  min-height: 56px;
  font-family: var(--font-mono);
  font-size: 0.875rem;
  line-height: 1.5;
}
.transmit-form__submit {
  margin-top: 0.5rem;
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.875rem 1rem;
  background: var(--accent-deal);
  color: var(--bg-0);
  border: 0;
  border-radius: 4px;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 200ms ease, transform 150ms ease, box-shadow 220ms ease;
}
.transmit-form__submit:hover {
  background: var(--text-primary);
  box-shadow: 0 0 24px var(--accent-deal-glow);
}
.transmit-form__submit:active { transform: scale(0.98); }
.transmit-form__submit-icon {
  font-size: 0.875em;
  transition: transform 220ms ease;
}
.transmit-form__submit:hover .transmit-form__submit-icon { transform: translateY(-2px); }
.transmit-form__submit-progress {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(47, 91, 255, 0.01), rgba(47, 91, 255, 0.004));
  transform-origin: left center;
  transform: scaleX(0);
  pointer-events: none;
  z-index: 1;
}
.transmit-form__submit.is-transmitting .transmit-form__submit-progress {
  animation: transmit-progress 900ms cubic-bezier(0.45, 0, 0.2, 1) forwards;
}
.transmit-form__submit.is-transmitted { background: var(--accent-live); }
@keyframes transmit-progress { to { transform: scaleX(1); } }
.transmit-form__submit-text,
.transmit-form__submit-icon { position: relative; z-index: 2; }
.transmit-form__status {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  color: var(--accent-live);
  text-transform: uppercase;
  min-height: 1em;
  margin: 0.25rem 0 0;
}
.transmit-form__status.is-error { color: var(--accent-danger); }

/* =============================================================
   FOOTER
   ============================================================= */
.site-footer {
  background: var(--bg-1);
  border-top: 1px solid var(--border-soft);
  padding: 3.5rem var(--container-px) 2.5rem;
  margin-top: 4rem;
}
.site-footer__inner {
  max-width: 1440px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
}
.site-footer__brand { display: flex; flex-direction: column; gap: 0.625rem; }
.site-footer__tag {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.1em;
  color: var(--text-muted);
  text-transform: uppercase;
}
.site-footer__col-label {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.875rem;
}
.site-footer__contact,
.site-footer__nav {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: flex-start;
}
.site-footer__link,
.site-footer__nav a {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  color: var(--text-secondary);
  transition: color 200ms ease;
  position: relative;
}
.site-footer__nav a {
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.site-footer__link::after,
.site-footer__nav a::after {
  content: "";
  position: absolute;
  left: 0; bottom: -3px;
  width: 0; height: 1px;
  background: var(--accent-deal);
  transition: width 200ms ease;
}
.site-footer__link:hover,
.site-footer__nav a:hover { color: var(--text-primary); }
.site-footer__link:hover::after,
.site-footer__nav a:hover::after { width: 100%; }
.site-footer__nav a[aria-current="page"] { color: var(--accent-deal); font-weight: 500; }
.site-footer__nav a[aria-disabled="true"] { color: var(--text-muted); cursor: not-allowed; pointer-events: none; }

.site-footer__legal {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  text-transform: uppercase;
  border-top: 1px solid var(--border-faint);
  padding-top: 1.75rem;
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.875rem;
}
.site-footer__legal strong { color: var(--text-secondary); font-weight: 500; }
.site-footer__sep { color: var(--border-loud); }

@media (min-width: 768px) {
  .site-footer__inner { grid-template-columns: 1fr auto auto auto; gap: 2.5rem; }
}

/* =============================================================
   FLOATING WHATSAPP TERMINAL
   ============================================================= */
.wa-term {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  z-index: 200;
  font-family: var(--font-body);
}
.wa-term__fab {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.7rem 1.1rem 0.7rem 0.6rem;
  background: #25D366;
  border: 0;
  border-radius: 999px;
  color: #FFFFFF;
  font-family: var(--font-body);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
  cursor: pointer;
  box-shadow:
    0 12px 28px -10px rgba(37, 211, 102, 0.45),
    0 2px 6px rgba(11, 14, 20, 0.08);
  transition: transform 200ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 250ms ease, background 200ms ease;
}
.wa-term__fab:hover {
  transform: translateY(-2px);
  background: #1FBC59;
  box-shadow:
    0 16px 32px -10px rgba(37, 211, 102, 0.55),
    0 2px 6px rgba(11, 14, 20, 0.1);
}
.wa-term__fab-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  color: #FFFFFF;
  flex-shrink: 0;
}
.wa-term__fab-icon svg { width: 18px; height: 18px; display: block; }
.wa-term__fab-cursor {
  display: none !important;
}
.wa-term.is-open .wa-term__fab {
  opacity: 0;
  pointer-events: none;
  transform: scale(0.85);
}
.wa-term.is-open .wa-term__fab {
  opacity: 0;
  pointer-events: none;
  transform: scale(0.85);
}

.wa-term__panel {
  position: absolute;
  bottom: 0;
  right: 0;
  width: min(360px, calc(100vw - 3rem));
  background: var(--bg-1);
  border: 1px solid var(--accent-deal);
  border-radius: 6px;
  box-shadow:
    0 20px 60px -20px rgba(47, 91, 255, 0.04),
    0 0 36px var(--accent-deal-glow);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transform-origin: bottom right;
  opacity: 0;
  transform: scale(0.9) translateY(8px);
  transition: opacity 280ms cubic-bezier(0.16, 1, 0.3, 1), transform 320ms cubic-bezier(0.16, 1, 0.3, 1);
}
.wa-term.is-open .wa-term__panel {
  opacity: 1;
  transform: scale(1) translateY(0);
}
.wa-term__panel[hidden] { display: none; }

.wa-term__head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 0.875rem;
  background: var(--bg-2);
  border-bottom: 1px solid var(--border-soft);
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.wa-term__head-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--accent-live);
  box-shadow: 0 0 8px var(--accent-live);
  animation: pulse 1.6s ease-in-out infinite;
  flex-shrink: 0;
}
.wa-term__head-title { color: var(--accent-deal); font-weight: 500; }
.wa-term__close {
  margin-left: auto;
  width: 24px; height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border-loud);
  border-radius: 3px;
  color: var(--text-muted);
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
  transition: color 180ms ease, border-color 180ms ease;
}
.wa-term__close:hover { color: var(--accent-danger); border-color: var(--accent-danger); }

.wa-term__body {
  padding: 1rem 1rem 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  line-height: 1.45;
}
.wa-term__line {
  margin: 0;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  color: var(--text-secondary);
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 280ms ease, transform 280ms ease;
}
.wa-term.is-open .wa-term__line { opacity: 1; transform: translateY(0); }
.wa-term.is-open .wa-term__line:nth-child(1) { transition-delay: 120ms; }
.wa-term.is-open .wa-term__line:nth-child(2) { transition-delay: 480ms; }
.wa-term.is-open .wa-term__line:nth-child(3) { transition-delay: 820ms; }
.wa-term__prompt { flex-shrink: 0; font-weight: 700; color: var(--text-muted); }
.wa-term__line--ok { color: var(--text-primary); }
.wa-term__line--ok .wa-term__prompt { color: var(--accent-live); }
.wa-term__line--ask {
  color: var(--text-primary);
  font-family: var(--font-display);
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: -0.005em;
  padding-top: 0.4rem;
  margin-top: 0.25rem;
  border-top: 1px solid var(--border-faint);
  position: relative;
}
.wa-term__line--ask .wa-term__prompt {
  color: var(--accent-deal);
  font-family: var(--font-mono);
}
.wa-term__line--ask::after {
  content: "▍";
  color: var(--accent-deal);
  margin-left: 4px;
  animation: blink 1s ease infinite;
  font-family: var(--font-mono);
}

.wa-term__form {
  padding: 0.75rem 1rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 320ms ease, transform 320ms ease;
  transition-delay: 1100ms;
}
.wa-term.is-open .wa-term__form { opacity: 1; transform: translateY(0); }
.wa-term__field {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
  background: var(--bg-0);
  border: 1px solid var(--border-soft);
  padding: 0.5rem 0.625rem;
  border-radius: 3px;
  transition: border-color 180ms ease;
}
.wa-term__field:focus-within { border-color: var(--accent-deal); }
.wa-term__field-prompt {
  color: var(--accent-deal);
  font-family: var(--font-mono);
  font-weight: 700;
  line-height: 1.5;
}
.wa-term__field textarea {
  flex: 1;
  background: transparent;
  border: 0;
  outline: none;
  color: var(--text-primary);
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  line-height: 1.5;
  resize: vertical;
  min-height: 1.5em;
  padding: 0;
}
.wa-term__field textarea::placeholder { color: var(--text-muted); opacity: 0.6; }

.wa-term__form-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.wa-term__counter {
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  letter-spacing: 0.12em;
  color: var(--text-muted);
  font-variant-numeric: tabular-nums;
}
.wa-term__counter.is-near { color: var(--accent-warn); }
.wa-term__counter.is-full { color: var(--accent-danger); }
.wa-term__submit {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 0.875rem;
  background: var(--accent-deal);
  color: var(--bg-0);
  border: 0;
  border-radius: 3px;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 180ms ease, transform 120ms ease, box-shadow 220ms ease;
}
.wa-term__submit:hover {
  background: var(--text-primary);
  box-shadow: 0 0 20px var(--accent-deal-glow);
}
.wa-term__submit:active { transform: scale(0.97); }
.wa-term__submit-meta {
  margin-left: 0.4rem;
  padding-left: 0.5rem;
  border-left: 1px solid rgba(10, 10, 10, 0.25);
  font-size: 0.5625rem;
  opacity: 0.7;
}

@media (max-width: 640px) {
  .wa-term { bottom: 1rem; right: 1rem; left: 1rem; }
  .wa-term__fab { margin-left: auto; }
  .wa-term__panel { width: 100%; }
}

/* =============================================================
   SCROLL REVEAL
   ============================================================= */
.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 600ms ease, transform 600ms ease;
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* =============================================================
   REDUCED MOTION
   ============================================================= */
/* =============================================================
   PAIN — Symptoms panel (telemetry live, runner crossing, sprint)
   Override do .symptoms simples acima.
   ============================================================= */
.symptoms {
  border: 1px solid var(--border-soft);
  background: var(--bg-0);
  padding: 1.5rem 1.5rem 1.75rem;
  position: relative;
  align-self: start;
  overflow: hidden;
  isolation: isolate;
}
.symptoms::before {
  content: "";
  position: absolute;
  top: -1px; left: -1px;
  width: 28px; height: 28px;
  border-top: 2px solid var(--accent-deal);
  border-left: 2px solid var(--accent-deal);
  z-index: 4;
  transition: width 350ms ease, height 350ms ease, filter 350ms ease;
}
.symptoms::after {
  content: "";
  position: absolute;
  bottom: -1px; right: -1px;
  width: 28px; height: 28px;
  border-bottom: 2px solid var(--accent-deal);
  border-right: 2px solid var(--accent-deal);
  z-index: 4;
  transition: width 350ms ease, height 350ms ease, filter 350ms ease;
}

/* Sprint: borda pulsando + cantos crescem */
.symptoms.is-sprinting {
  animation: symptom-panel-flash 700ms cubic-bezier(0.25, 0.1, 0.3, 1);
}
@keyframes symptom-panel-flash {
  0%   { border-color: var(--border-soft); box-shadow: 0 0 0 0 rgba(74, 124, 255, 0); }
  20%  { border-color: var(--accent-deal);
         box-shadow:
           0 0 0 2px rgba(74, 124, 255, 0.45),
           0 0 0 8px rgba(74, 124, 255, 0.10),
           0 0 36px rgba(74, 124, 255, 0.35); }
  100% { border-color: var(--border-soft); box-shadow: 0 0 0 0 rgba(74, 124, 255, 0); }
}
.symptoms.is-sprinting::before,
.symptoms.is-sprinting::after {
  width: 38px; height: 38px;
  filter: drop-shadow(0 0 10px rgba(74, 124, 255, 0.85));
}

/* Scan light atravessando o painel inteiro */
.symptoms__scan {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 5;
}
.symptoms__scan::before {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  left: -50%;
  width: 50%;
  background: linear-gradient(
    100deg,
    transparent 0%,
    rgba(74, 124, 255, 0.12) 35%,
    rgba(74, 124, 255, 0.28) 50%,
    rgba(74, 124, 255, 0.12) 65%,
    transparent 100%
  );
  opacity: 0;
  mix-blend-mode: screen;
  filter: blur(1px);
}
.symptoms.is-sprinting .symptoms__scan::before {
  animation: symptom-panel-scan 850ms cubic-bezier(0.45, 0, 0.2, 1);
}
@keyframes symptom-panel-scan {
  0%   { left: -50%; opacity: 0; }
  10%  {             opacity: 1; }
  90%  {             opacity: 1; }
  100% { left: 100%; opacity: 0; }
}

/* Header (live dot + label + counter) */
.symptoms__header {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding-bottom: 0.875rem;
  border-bottom: 1px solid var(--border-faint);
  margin-bottom: 1.25rem;
  position: relative;
  z-index: 3;
}
.symptoms__live-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--accent-danger);
  box-shadow: 0 0 8px var(--accent-danger);
  animation: pulse 1.4s ease-in-out infinite;
}
.symptoms__label {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.16em;
  color: var(--text-secondary);
  text-transform: uppercase;
  margin: 0;
  flex: 1;
}
.symptoms__count {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  color: var(--accent-deal);
  font-weight: 500;
}
.symptoms__count span { color: var(--text-muted); }

/* Runner track — chave SVG passando atrás */
.symptoms__runner-track {
  position: absolute;
  top: 56px;
  left: 0;
  right: 0;
  height: 200px;
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 12%, black 88%, transparent 100%);
          mask-image: linear-gradient(to right, transparent 0%, black 12%, black 88%, transparent 100%);
}
.symptoms__runner {
  position: absolute;
  top: 50%;
  left: 0;
  width: 140px;
  height: 140px;
  margin-top: -70px;
  color: var(--accent-deal);
  opacity: 0;
  filter: drop-shadow(0 0 16px var(--accent-deal-glow));
  animation: symptom-runner-run 6s linear infinite;
  transition: opacity 220ms ease, filter 250ms ease;
}
@keyframes symptom-runner-run {
  0%   { left: -25%;  opacity: 0;    }
  12%  {              opacity: 0.18; }
  88%  {              opacity: 0.18; }
  100% { left: 115%;  opacity: 0;    }
}
.symptoms.is-sprinting .symptoms__runner {
  opacity: 0.42;
  filter:
    drop-shadow(0 0 22px rgba(74, 124, 255, 0.9))
    drop-shadow(0 0 8px var(--accent-deal-glow));
}

/* Active symptom card */
.symptoms__active {
  position: relative;
  z-index: 3;
  padding: 0.5rem 0 1.25rem;
  border-bottom: 1px solid var(--border-faint);
  margin-bottom: 1.25rem;
  min-height: 150px;
  overflow: hidden;
}
.symptoms__active-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.symptoms__active-id { color: var(--text-muted); }
.symptoms__active-sep { color: var(--border-loud); }
.symptoms__active-icon {
  display: inline-flex;
  width: 18px; height: 18px;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  font-size: 0.6875rem;
  color: var(--accent-danger);
}
.symptoms__active-severity {
  font-weight: 500;
  color: var(--accent-danger);
  letter-spacing: 0.14em;
}
.symptoms__active-severity[data-severity="HIGH"] { color: var(--accent-warn); }
.symptoms__active-meta:has([data-severity="HIGH"]) .symptoms__active-icon { color: var(--accent-warn); }

.symptoms__active-text {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(1.5rem, 3.6vw, 2.4rem);
  line-height: 1.02;
  letter-spacing: -0.03em;
  color: var(--text-primary);
  text-transform: uppercase;
  min-height: 3.2em;
  text-shadow: 0 0 0 transparent;
  transition:
    opacity 320ms ease,
    transform 380ms cubic-bezier(0.16, 1, 0.3, 1),
    text-shadow 700ms ease;
}
.symptoms__active.is-changing .symptoms__active-text {
  opacity: 0;
  transform: translateY(16px) scale(0.94);
}
.symptoms.is-sprinting .symptoms__active-text {
  text-shadow:
    0 0 24px rgba(74, 124, 255, 0.5),
    0 0 8px rgba(74, 124, 255, 0.7);
}

/* Compact list */
.symptoms__list {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: var(--border-faint);
  border: 1px solid var(--border-faint);
}
.symptoms__item {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  gap: 0.625rem;
  align-items: center;
  padding: 0.625rem 0.75rem;
  background: var(--bg-0);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  color: var(--text-muted);
  line-height: 1.4;
  transition: background-color 200ms ease, color 200ms ease;
  position: relative;
}
.symptoms__item-num { color: var(--text-muted); font-size: 0.6875rem; }
.symptoms__item-icon {
  width: 14px; height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.625rem;
  color: var(--text-muted);
  border: 1px solid var(--border-loud);
  transition: color 200ms ease, border-color 200ms ease;
}
.symptoms__item-text { color: var(--text-secondary); }
.symptoms__item-marker {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--border-loud);
  transition: background-color 200ms ease, box-shadow 200ms ease;
}
.symptoms__item.is-active { background: var(--bg-1); animation: symptom-item-pulse 850ms cubic-bezier(0.25, 0.1, 0.3, 1); }
.symptoms__item.is-active .symptoms__item-num,
.symptoms__item.is-active .symptoms__item-text { color: var(--text-primary); }
.symptoms__item.is-active[data-severity="CRITICAL"] .symptoms__item-icon {
  color: var(--accent-danger);
  border-color: var(--accent-danger);
}
.symptoms__item.is-active[data-severity="HIGH"] .symptoms__item-icon {
  color: var(--accent-warn);
  border-color: var(--accent-warn);
}
.symptoms__item.is-active .symptoms__item-marker {
  background: var(--accent-deal);
  box-shadow: 0 0 8px var(--accent-deal-glow);
}
.symptoms__item.is-active::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 2px;
  background: var(--accent-deal);
  box-shadow: 0 0 8px var(--accent-deal-glow);
}
@keyframes symptom-item-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(74, 124, 255, 0.7); }
  100% { box-shadow: 0 0 0 10px rgba(74, 124, 255, 0); }
}

/* =============================================================
   FEATURES — Marching ants no hover + auto-spotlight rotation
   ============================================================= */
.feature {
  background: var(--bg-1);
  border: 1px solid transparent;
  padding: 1.5rem 1.5rem 1.75rem;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: transform 250ms cubic-bezier(0.16, 1, 0.3, 1), background-color 250ms ease;
}
.feature {
  /* default: borda solid sutil */
  outline: 1px solid var(--border-soft);
  outline-offset: -1px;
}
.feature:hover,
.feature.is-active {
  outline-color: transparent;
  background-color: var(--bg-2);
  background-image:
    repeating-linear-gradient(to right,  var(--accent-deal) 0 7px, transparent 7px 14px),
    repeating-linear-gradient(to right,  var(--accent-deal) 0 7px, transparent 7px 14px),
    repeating-linear-gradient(to bottom, var(--accent-deal) 0 7px, transparent 7px 14px),
    repeating-linear-gradient(to bottom, var(--accent-deal) 0 7px, transparent 7px 14px);
  background-size: 100% 1px, 100% 1px, 1px 100%, 1px 100%;
  background-position: 0 0, 0 100%, 0 0, 100% 0;
  background-repeat: no-repeat;
  transform: translateY(-4px);
  animation: feature-marching 0.75s linear infinite;
}
.feature:hover .feature__icon,
.feature.is-active .feature__icon {
  transform: rotate(45deg) scale(1.08);
}
.feature__icon { transition: transform 250ms ease; }

@keyframes feature-marching {
  to {
    background-position:
      14px 0,
      -14px 100%,
      0 14px,
      100% -14px;
  }
}

/* =============================================================
   TIMELINE — Ping-pong wave (dots acendendo + reverso loop)
   ============================================================= */
.timeline__connector--end::after {
  content: "";
  width: 12px; height: 12px;
  border-radius: 50%;
  background: var(--border-loud);
  position: relative;
  bottom: -6px;
  transform: scale(1);
  transition:
    background-color 380ms ease,
    transform 380ms cubic-bezier(0.34, 1.56, 0.64, 1),
    box-shadow 380ms ease;
}
.timeline__connector--end.is-lit::after {
  background: var(--accent-deal);
  transform: scale(1.3);
  box-shadow: 0 0 14px rgba(74, 124, 255, 0.7);
  animation: timeline-endpoint-bloom 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@keyframes timeline-endpoint-bloom {
  0%   { box-shadow: 0 0 0 0 rgba(74, 124, 255, 0); }
  40%  { box-shadow: 0 0 0 14px rgba(74, 124, 255, 0.5), 0 0 32px rgba(74, 124, 255, 1); }
  100% { box-shadow: 0 0 0 22px rgba(74, 124, 255, 0), 0 0 14px rgba(74, 124, 255, 0.7); }
}

.timeline__dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--border-loud);
  margin-left: -2.5px;
  transform: scale(1);
  box-shadow: 0 0 0 0 rgba(74, 124, 255, 0);
  transition:
    background-color 320ms ease,
    transform 380ms cubic-bezier(0.34, 1.56, 0.64, 1),
    box-shadow 380ms ease;
}
.timeline__dot.is-lit {
  background: var(--accent-deal);
  transform: scale(1.55);
  box-shadow: 0 0 12px rgba(74, 124, 255, 0.6);
  animation: timeline-dot-punch 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@keyframes timeline-dot-punch {
  0%   { box-shadow: 0 0 0 0 rgba(74, 124, 255, 0); }
  40%  { box-shadow: 0 0 0 9px rgba(74, 124, 255, 0.5), 0 0 26px rgba(74, 124, 255, 1); }
  100% { box-shadow: 0 0 0 14px rgba(74, 124, 255, 0), 0 0 12px rgba(74, 124, 255, 0.6); }
}

/* (AI TERMINAL CSS movido pro bloco principal acima — definitivo, interativo) */

/* =============================================================
   FIT CHECK — Interactive diagnostic
   ============================================================= */
.fit__title { margin-bottom: 1.25rem; max-width: 22ch; }
.fit__intro {
  font-size: 1rem;
  line-height: 1.55;
  color: var(--text-secondary);
  max-width: 60ch;
  margin: 0 0 clamp(2.5rem, 5vw, 4rem);
}

.fit-check {
  border: 1px solid var(--border-soft);
  background: var(--bg-1);
  padding: clamp(1.75rem, 3.5vw, 2.5rem);
  position: relative;
  isolation: isolate;
  margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
}
.fit-check::before,
.fit-check::after {
  content: "";
  position: absolute;
  width: 26px; height: 26px;
  border-color: var(--accent-deal);
  border-style: solid;
  border-width: 0;
  transition: filter 350ms ease;
}
.fit-check::before { top: -1px; left: -1px; border-top-width: 2px; border-left-width: 2px; }
.fit-check::after { bottom: -1px; right: -1px; border-bottom-width: 2px; border-right-width: 2px; }
.fit-check.is-active::before,
.fit-check.is-active::after {
  filter: drop-shadow(0 0 8px var(--accent-deal-glow));
}

.fit-check__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--border-soft);
  margin-bottom: 1.75rem;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.fit-check__id {
  color: var(--accent-deal);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 500;
}
.fit-check__id-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--accent-deal);
  box-shadow: 0 0 8px var(--accent-deal-glow);
  animation: pulse 1.6s ease-in-out infinite;
}
.fit-check__counter { color: var(--text-muted); font-variant-numeric: tabular-nums; }
#fit-counter-num { color: var(--text-primary); font-weight: 500; transition: color 250ms ease; }
.fit-check.is-complete #fit-counter-num { color: var(--accent-deal); }

.fit-check__list {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.fit-item__btn {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: 0.875rem;
  width: 100%;
  background: var(--bg-0);
  border: 1px solid transparent;
  border-radius: 4px;
  padding: 0.875rem 1rem;
  cursor: pointer;
  text-align: left;
  transition: border-color 220ms ease, background-color 220ms ease, transform 180ms ease;
}
.fit-item__btn:hover {
  border-color: var(--border-loud);
  background: var(--bg-2);
}
.fit-item__btn:active { transform: scale(0.995); }
.fit-item__btn[aria-pressed="true"] {
  border-color: var(--accent-deal);
  background: var(--accent-deal-soft);
  box-shadow: 0 0 0 1px var(--accent-deal-soft);
}
.fit-item__num {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.12em;
  color: var(--text-muted);
  transition: color 220ms ease;
}
.fit-item__btn[aria-pressed="true"] .fit-item__num { color: var(--accent-deal); }
.fit-item__box {
  width: 22px; height: 22px;
  border: 1px solid var(--border-loud);
  border-radius: 3px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--accent-deal);
  transition: border-color 220ms ease, background 220ms ease;
  flex-shrink: 0;
}
.fit-item__btn[aria-pressed="true"] .fit-item__box {
  border-color: var(--accent-deal);
  background: rgba(74, 124, 255, 0.1);
}
.fit-item__box svg { width: 16px; height: 16px; }
.fit-item__check {
  stroke-dasharray: 24;
  stroke-dashoffset: 24;
  transition: stroke-dashoffset 400ms cubic-bezier(0.5, 0, 0.2, 1);
}
.fit-item__btn[aria-pressed="true"] .fit-item__check { stroke-dashoffset: 0; }
.fit-item__text {
  font-size: 0.9375rem;
  line-height: 1.45;
  color: var(--text-secondary);
  transition: color 220ms ease;
}
.fit-item__text strong { color: var(--text-primary); font-weight: 500; }
.fit-item__text em { color: var(--text-primary); font-style: italic; }
.fit-item__btn[aria-pressed="true"] .fit-item__text { color: var(--text-primary); }
.fit-item__btn[aria-pressed="true"] .fit-item__text strong { color: var(--accent-deal); }

.fit-check__output {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--border-soft);
}
.fit-check__bar {
  position: relative;
  height: 4px;
  background: var(--bg-0);
  border: 1px solid var(--border-soft);
  border-radius: 2px;
  overflow: hidden;
}
.fit-check__bar-fill {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, var(--accent-danger), var(--accent-warn) 50%, var(--accent-deal));
  transform-origin: left center;
  transform: scaleX(0);
  transition: transform 500ms cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 0 12px var(--accent-deal-glow);
}
.fit-check__bar-ticks {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  pointer-events: none;
  z-index: 2;
}
.fit-check__bar-ticks span { border-right: 1px solid var(--bg-0); }
.fit-check__bar-ticks span:last-child { border-right: 0; }

.fit-check__verdict {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.625rem;
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  letter-spacing: 0.04em;
}
.fit-check__verdict-prefix {
  color: var(--text-muted);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 0.6875rem;
}
.fit-check__verdict-text { color: var(--text-primary); font-weight: 500; }
.fit-check[data-tier="awaiting"] .fit-check__verdict-text { color: var(--text-muted); }
.fit-check[data-tier="low"]      .fit-check__verdict-text { color: var(--accent-warn); }
.fit-check[data-tier="mid"]      .fit-check__verdict-text { color: var(--accent-deal); }
.fit-check[data-tier="high"]     .fit-check__verdict-text { color: var(--accent-deal); }
.fit-check[data-tier="full"]     .fit-check__verdict-text {
  color: var(--accent-deal);
  text-shadow: 0 0 18px var(--accent-deal-glow);
}

.fit-check__cta {
  margin-top: 0.5rem;
  animation: fit-cta-in 450ms cubic-bezier(0.16, 1, 0.3, 1);
}
.fit-check__cta-link {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.875rem 1.25rem;
  background: var(--accent-deal);
  color: var(--bg-0);
  border-radius: 4px;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: background 200ms ease, transform 180ms ease;
  box-shadow: 0 0 24px var(--accent-deal-glow);
}
.fit-check__cta-link:hover {
  background: var(--text-primary);
  transform: translateX(2px);
}
@keyframes fit-cta-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* RED FLAGS */
.fit-redflags {
  border: 1px solid var(--border-soft);
  border-left: 3px solid var(--accent-danger);
  background: var(--bg-1);
  padding: clamp(1.5rem, 3vw, 2.25rem);
}
.fit-redflags__head {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--border-faint);
}
.fit-redflags__icon {
  width: 28px; height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--accent-danger);
  font-size: 0.875rem;
  border: 1px solid var(--accent-danger);
  border-radius: 4px;
  flex-shrink: 0;
  background: rgba(255, 23, 68, 0.06);
}
.fit-redflags__head-text { flex: 1; }
.fit-redflags__title {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent-danger);
  font-weight: 500;
  margin: 0 0 0.35rem;
}
.fit-redflags__sub {
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--text-secondary);
  margin: 0;
}
.fit-redflags__sub strong { color: var(--accent-danger); font-weight: 500; }
.fit-redflags__sub em { color: var(--text-primary); font-style: normal; font-weight: 500; }

.fit-redflags__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.fit-redflags__list li {
  font-size: 0.9375rem;
  line-height: 1.45;
  color: var(--text-secondary);
  padding: 0.625rem 0.75rem 0.625rem 0;
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  border-bottom: 1px solid var(--border-faint);
}
.fit-redflags__list li:last-child { border-bottom: 0; }
.fit-redflags__bullet {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px; height: 18px;
  border: 1px solid var(--accent-danger);
  border-radius: 3px;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  color: var(--accent-danger);
  flex-shrink: 0;
}

@media (max-width: 640px) {
  .fit-item__btn {
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "num text"
      "box text";
    gap: 0.5rem 0.875rem;
  }
  .fit-item__num { grid-area: num; }
  .fit-item__box { grid-area: box; }
  .fit-item__text { grid-area: text; align-self: center; }
}

/* =============================================================
   HERO CHIPS — features flutuando ao redor do mockup
   ============================================================= */
.hero-chip {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 0.75rem;
  background: var(--bg-1);
  border: 1px solid var(--accent-deal);
  border-radius: 3px;
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent-deal);
  font-weight: 500;
  white-space: nowrap;
  z-index: 3;
  box-shadow: 0 0 18px var(--accent-deal-glow);
  animation: hero-chip-float 4.5s ease-in-out infinite;
  pointer-events: none;
}
.hero-chip__dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--accent-live);
  box-shadow: 0 0 6px var(--accent-live);
  animation: pulse 1.6s ease-in-out infinite;
}
.hero-chip--tl { top: 8%;  left: -8%;  animation-delay: 0s; }
.hero-chip--tr { top: 22%; right: -10%; animation-delay: 0.6s; }
.hero-chip--bl { bottom: 30%; left: -12%; animation-delay: 1.2s; }
.hero-chip--br { bottom: 12%; right: -8%; animation-delay: 1.8s; }

@keyframes hero-chip-float {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-6px); }
}

@media (max-width: 1023px) {
  .hero-chip { display: none; }
}

/* =============================================================
   HERO TELEMETRY — fita de status passando embaixo do hero
   ============================================================= */
.hero__telemetry {
  margin-top: 4rem;
  border-top: 1px solid var(--border-soft);
  border-bottom: 1px solid var(--border-soft);
  background: linear-gradient(to right, var(--bg-1) 0%, var(--bg-0) 50%, var(--bg-1) 100%);
  padding: 0.875rem 0;
  overflow: hidden;
  position: relative;
}
.hero__telemetry::before,
.hero__telemetry::after {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  width: 80px;
  pointer-events: none;
  z-index: 2;
}
.hero__telemetry::before {
  left: 0;
  background: linear-gradient(to right, var(--bg-1), transparent);
}
.hero__telemetry::after {
  right: 0;
  background: linear-gradient(to left, var(--bg-1), transparent);
}
.hero__telemetry-track {
  display: flex;
  white-space: nowrap;
  overflow: hidden;
}
.hero__telemetry-content {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  white-space: nowrap;
  animation: telemetry-scroll 38s linear infinite;
  padding-left: 1rem;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.hero__telemetry-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}
.hero__telemetry-item strong {
  color: var(--accent-deal);
  font-weight: 500;
}
.hero__telemetry-sep {
  color: var(--border-loud);
  flex-shrink: 0;
}
.hero__telemetry-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--accent-live);
  box-shadow: 0 0 6px var(--accent-live);
  animation: pulse 1.4s ease-in-out infinite;
}
.hero__telemetry-dot--key {
  background: var(--accent-deal);
  box-shadow: 0 0 6px var(--accent-deal-glow);
}
@keyframes telemetry-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* =============================================================
   MONEY LEAK COUNTER (// 02 PAIN — abertura cinematográfica)
   ============================================================= */
.leak {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin-bottom: clamp(3rem, 6vw, 5rem);
  position: relative;
  isolation: isolate;
}
@media (min-width: 1024px) {
  .leak { grid-template-columns: 1.4fr 1fr; gap: 2rem; }
}

.leak__counter {
  background: var(--bg-0);
  border: 1px solid var(--accent-danger);
  padding: clamp(1.75rem, 4vw, 2.5rem);
  position: relative;
  overflow: hidden;
  isolation: isolate;
  box-shadow: 0 0 36px -16px rgba(255, 23, 68, 0.45);
  transition: border-color 400ms ease, box-shadow 400ms ease;
}
.leak__counter::before,
.leak__counter::after {
  content: "";
  position: absolute;
  width: 24px; height: 24px;
  border-color: var(--accent-danger);
  border-style: solid;
  border-width: 0;
}
.leak__counter::before { top: -1px; left: -1px; border-top-width: 2px; border-left-width: 2px; }
.leak__counter::after { bottom: -1px; right: -1px; border-bottom-width: 2px; border-right-width: 2px; }

/* Background pulse no threshold */
.leak.is-warn .leak__counter {
  border-color: var(--accent-warn);
  box-shadow: 0 0 36px -16px rgba(255, 180, 0, 0.55);
  animation: leak-pulse-warn 2s ease-in-out infinite;
}
.leak.is-danger .leak__counter {
  border-color: var(--accent-danger);
  box-shadow: 0 0 50px -16px rgba(255, 23, 68, 0.7);
  animation: leak-pulse-danger 1.2s ease-in-out infinite;
}
@keyframes leak-pulse-warn {
  0%, 100% { box-shadow: 0 0 36px -16px rgba(255, 180, 0, 0.55); }
  50%      { box-shadow: 0 0 60px -10px rgba(255, 180, 0, 0.85); }
}
@keyframes leak-pulse-danger {
  0%, 100% { box-shadow: 0 0 50px -16px rgba(255, 23, 68, 0.7); }
  50%      { box-shadow: 0 0 80px -10px rgba(255, 23, 68, 1); }
}

.leak__head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 1.75rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border-soft);
}
.leak__head-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--accent-danger);
  box-shadow: 0 0 8px var(--accent-danger);
  animation: pulse 1s ease-in-out infinite;
}
.leak__head-label { color: var(--accent-danger); font-weight: 500; }
.leak__head-sep { color: var(--border-loud); }
.leak__head-time {
  margin-left: auto;
  color: var(--text-primary);
  font-variant-numeric: tabular-nums;
}

.leak__label {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin: 0 0 0.75rem;
}
.leak__amount {
  font-family: var(--font-mono);
  font-weight: 500;
  font-size: clamp(2.75rem, 8vw, 5.5rem);
  letter-spacing: -0.04em;
  color: var(--accent-danger);
  line-height: 0.95;
  margin: 0 0 0.625rem;
  display: flex;
  align-items: baseline;
  gap: 0.2em;
  text-shadow:
    0 0 24px rgba(255, 23, 68, 0.45),
    0 0 80px rgba(255, 23, 68, 0.25);
  transition: color 400ms ease, text-shadow 400ms ease;
}
.leak.is-warn .leak__amount {
  color: var(--accent-warn);
  text-shadow:
    0 0 24px rgba(255, 180, 0, 0.55),
    0 0 80px rgba(255, 180, 0, 0.3);
}
.leak.is-danger .leak__amount {
  color: var(--accent-danger);
  text-shadow:
    0 0 30px rgba(255, 23, 68, 0.7),
    0 0 100px rgba(255, 23, 68, 0.4);
}
.leak__currency {
  font-size: 0.5em;
  color: var(--text-secondary);
  font-weight: 400;
  text-shadow: none;
}
.leak__value {
  font-variant-numeric: tabular-nums;
}
.leak__cursor {
  font-size: 0.5em;
  color: currentColor;
  animation: blink 1s ease infinite;
  text-shadow: none;
  margin-left: 0.05em;
}

.leak__sub {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  color: var(--text-secondary);
  margin: 0 0 1.5rem;
  text-transform: lowercase;
}

.leak__bar {
  position: relative;
  height: 4px;
  background: var(--bg-2);
  border: 1px solid var(--border-soft);
  border-radius: 2px;
  overflow: visible;
  margin-bottom: 1.75rem;
}
.leak__bar-fill {
  display: block;
  height: 100%;
  width: 0;
  background: linear-gradient(to right, var(--accent-warn), var(--accent-danger));
  border-radius: 2px;
  transition: width 320ms ease;
  box-shadow: 0 0 12px rgba(255, 23, 68, 0.5);
}
.leak__bar-marks {
  position: absolute;
  inset: 100% 0 auto 0;
  display: flex;
  justify-content: space-between;
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  letter-spacing: 0.1em;
  color: var(--text-muted);
  text-transform: uppercase;
  margin-top: 0.4rem;
}

.leak__explainer {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--text-secondary);
  margin: 0;
  padding-top: 1rem;
  border-top: 1px solid var(--border-faint);
  max-width: 50ch;
}
.leak__explainer strong { color: var(--accent-danger); font-weight: 500; }

/* Lead Journey */
.leak__journey {
  background: var(--bg-1);
  border: 1px solid var(--border-soft);
  padding: 1.25rem 1.5rem 1.5rem;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  position: relative;
  overflow: hidden;
}
.leak__journey-head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-muted);
  padding-bottom: 0.875rem;
  border-bottom: 1px solid var(--border-faint);
  margin-bottom: 1rem;
}
.leak__journey-marker { color: var(--accent-danger); }

.leak__journey-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}
.leak__step {
  display: grid;
  grid-template-columns: 50px auto 1fr;
  align-items: center;
  gap: 0.625rem;
  padding: 0.4rem 0;
  color: var(--text-muted);
  position: relative;
  opacity: 0.65;
  transition: opacity 320ms ease, color 320ms ease;
}
.leak__step.is-revealed { opacity: 1; }
.leak__step-time {
  font-variant-numeric: tabular-nums;
  font-size: 0.6875rem;
  color: var(--text-muted);
  letter-spacing: 0.04em;
}
.leak__step-icon {
  font-size: 0.875rem;
  font-weight: 700;
}
.leak__step-text {
  font-family: var(--font-body);
  font-size: 0.875rem;
  line-height: 1.3;
  color: var(--text-secondary);
}
.leak__step-text strong { color: var(--accent-danger); font-weight: 600; letter-spacing: 0.06em; }

.leak__step--ok .leak__step-icon { color: var(--accent-live); }
.leak__step--warn .leak__step-icon { color: var(--accent-warn); }
.leak__step--danger .leak__step-icon { color: var(--accent-danger); }
.leak__step--lost .leak__step-icon { color: var(--accent-danger); animation: pulse 1.2s ease-in-out infinite; }
.leak__step--lost .leak__step-time { color: var(--accent-danger); }
.leak__step--lost { padding-top: 0.5rem; border-top: 1px solid var(--border-loud); margin-top: 0.25rem; }

/* =============================================================
   AUDIT CONSOLE LIVE (// 02 PAIN refactor)
   dashboard cinematográfico de prejuízo em tempo real
   ============================================================= */
.audit {
  position: relative;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
  isolation: isolate;
}

/* toolbar do "console" */
.audit__bar {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem 1.125rem;
  border: 1px solid var(--border-loud);
  border-bottom: 0;
  background: linear-gradient(180deg, rgba(47, 91, 255, 0.012), rgba(47, 91, 255, 0.004));
  border-radius: 12px 12px 0 0;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.14em;
}
.audit__bar-left { display: flex; align-items: center; gap: 0.45rem; }
.audit__bar-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--text-muted);
  opacity: 0.65;
}
.audit__bar-dot--r { background: #FF5F57; }
.audit__bar-dot--y { background: #FEBC2E; }
.audit__bar-dot--g { background: #28C840; }
.audit__bar-title {
  margin-left: 0.65rem;
  color: var(--text-secondary);
  font-weight: 500;
}
.audit__bar-mid { display: flex; justify-content: center; }
.audit__bar-path {
  padding: 0.2rem 0.65rem;
  border: 1px solid var(--border-soft);
  border-radius: 4px;
  color: var(--text-secondary);
  letter-spacing: 0.1em;
  text-transform: lowercase;
  font-size: 0.6875rem;
  background: rgba(47, 91, 255, 0.013);
}
.audit__bar-right { display: flex; justify-content: flex-end; }
.audit__bar-status { display: inline-flex; align-items: center; gap: 0.5rem; color: var(--accent-live); }
.audit__bar-status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent-live);
  box-shadow: 0 0 6px var(--accent-live);
  animation: blink 1.2s ease infinite;
}

/* hero — counter + KPIs lado a lado */
.audit__hero {
  display: grid;
  grid-template-columns: 1fr;
  border: 1px solid var(--border-loud);
  border-bottom: 0;
  background: var(--bg-0);
  position: relative;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .audit__hero {
    grid-template-columns: 1.3fr 1fr;
  }
}
.audit__hero::before {
  /* grid sutil no fundo */
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(to right, rgba(74, 124, 255, 0.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(74, 124, 255, 0.06) 1px, transparent 1px);
  background-size: 40px 40px;
  pointer-events: none;
  z-index: 0;
  mask-image: radial-gradient(ellipse at top left, rgba(47, 91, 255, 0.04), transparent 70%);
}

/* coluna esquerda — counter cinematográfico */
.audit__hero-left {
  position: relative;
  z-index: 1;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-right: 1px solid var(--border-loud);
}
@media (max-width: 1023px) {
  .audit__hero-left { border-right: 0; border-bottom: 1px solid var(--border-loud); }
}

.audit__hero-head {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0.75rem;
  border: 1px solid var(--border-loud);
  border-radius: 999px;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-muted);
  background: rgba(47, 91, 255, 0.018);
}
.audit__hero-head-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent-danger);
  box-shadow: 0 0 6px var(--accent-danger), 0 0 14px rgba(255, 79, 79, 0.55);
  animation: blink 1.1s ease infinite;
}
.audit__hero-head-label { color: var(--accent-danger); font-weight: 500; }
.audit__hero-head-sep { color: var(--border-loud); }
.audit__hero-head-meta { color: var(--text-secondary); }
.audit__hero-head-time {
  color: var(--accent-deal);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.audit__hero-head-warp {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.18rem 0.55rem;
  border: 1px solid var(--accent-warn);
  border-radius: 999px;
  color: var(--accent-warn);
  background: rgba(216, 133, 0, 0.06);
  font-size: 0.5625rem;
  letter-spacing: 0.2em;
  font-weight: 600;
}
.audit__hero-head-warp-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 6px var(--accent-warn);
  animation: blink 0.9s ease infinite;
}
.audit__hero-sub-warped {
  color: var(--accent-warn);
  font-size: 0.6875rem;
  letter-spacing: 0.02em;
  margin-left: 0.2rem;
}

.audit__hero-label {
  margin-top: 1.25rem;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-muted);
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.audit__hero-label-mark { color: var(--accent-danger); }
.audit__hero-label-paren { color: var(--text-muted); opacity: 0.6; text-transform: none; letter-spacing: 0.04em; font-size: 0.6875rem; }

.audit__hero-amount {
  margin-top: 0.5rem;
  display: flex;
  align-items: baseline;
  gap: 0.6rem;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(2.75rem, 7vw, 5rem);
  line-height: 1;
  color: var(--text-primary);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
  transition: color 0.3s ease, transform 0.2s ease;
}
.audit__hero-currency {
  font-size: 0.45em;
  color: var(--text-muted);
  font-weight: 500;
  letter-spacing: 0.05em;
  transform: translateY(-0.15em);
}
.audit__hero-cursor {
  font-size: 0.55em;
  color: var(--accent-danger);
  animation: blink 0.8s ease infinite;
}

.audit.is-warn .audit__hero-amount {
  color: var(--accent-warn);
  text-shadow: 0 0 28px rgba(255, 184, 0, 0.5);
}
.audit.is-danger .audit__hero-amount {
  color: var(--accent-danger);
  text-shadow: 0 0 36px rgba(255, 79, 79, 0.7);
  animation: auditAmountShake 0.6s ease;
}
.audit.is-critical .audit__hero-amount {
  color: var(--accent-danger);
  text-shadow:
    -2px 0 0 rgba(0, 209, 255, 0.7),
    2px 0 0 rgba(255, 79, 79, 0.85),
    0 0 40px rgba(255, 79, 79, 0.85);
  animation: auditAmountGlitch 1.6s ease infinite;
}

@keyframes auditAmountShake {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-3px); }
  40% { transform: translateX(3px); }
  60% { transform: translateX(-2px); }
  80% { transform: translateX(2px); }
}
@keyframes auditAmountGlitch {
  0%, 90%, 100% {
    text-shadow:
      -2px 0 0 rgba(0, 209, 255, 0.7),
      2px 0 0 rgba(255, 79, 79, 0.85),
      0 0 40px rgba(255, 79, 79, 0.85);
  }
  92% {
    text-shadow:
      -4px 0 0 rgba(0, 209, 255, 0.9),
      4px 0 0 rgba(255, 79, 79, 0.95),
      0 0 50px rgba(255, 79, 79, 1);
    transform: translateX(-1px);
  }
  94% {
    text-shadow:
      3px 0 0 rgba(0, 209, 255, 0.9),
      -3px 0 0 rgba(255, 79, 79, 0.95),
      0 0 50px rgba(255, 79, 79, 1);
    transform: translateX(2px);
  }
  96% {
    text-shadow:
      -2px 0 0 rgba(0, 209, 255, 0.7),
      2px 0 0 rgba(255, 79, 79, 0.85),
      0 0 40px rgba(255, 79, 79, 0.85);
    transform: translateX(0);
  }
}

.audit__hero-sub {
  margin-top: 0.75rem;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  color: var(--text-muted);
  letter-spacing: 0.06em;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.audit__hero-sub-rate { color: var(--accent-danger); font-weight: 500; }
.audit__hero-sub-sep { color: var(--border-loud); }
.audit__hero-sub-source { color: var(--text-muted); }

/* barra de progressão até critical */
.audit__hero-bar {
  position: relative;
  margin-top: 1.75rem;
  height: 14px;
  border: 1px solid var(--border-loud);
  border-radius: 999px;
  overflow: visible;
  background:
    linear-gradient(90deg,
      rgba(255, 79, 79, 0) 0%,
      rgba(255, 184, 0, 0.18) 35%,
      rgba(255, 79, 79, 0.35) 100%);
}
.audit__hero-bar-fill {
  display: block;
  height: 100%;
  width: 0%;
  border-radius: inherit;
  background: linear-gradient(90deg, #FFB800, #FF4F4F);
  box-shadow: 0 0 18px rgba(255, 79, 79, 0.6);
  transition: width 0.4s ease;
  position: relative;
  overflow: hidden;
}
.audit__hero-bar-fill::after {
  /* listras marching ants no preenchimento */
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(
    -45deg,
    rgba(47, 91, 255, 0.035) 0,
    rgba(47, 91, 255, 0.035) 4px,
    transparent 4px,
    transparent 10px
  );
  animation: auditBarMarch 0.8s linear infinite;
}
@keyframes auditBarMarch {
  from { background-position: 0 0; }
  to { background-position: 28px 0; }
}
.audit__hero-bar-marks {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  font-family: var(--font-mono);
  font-size: 0.625rem;
  color: var(--text-muted);
  letter-spacing: 0.08em;
}
.audit__hero-bar-marks span {
  position: absolute;
  top: 100%;
  margin-top: 0.5rem;
  transform: translateX(-50%);
  white-space: nowrap;
}
.audit__hero-bar-marks span[data-mark="100"] { left: 10%; }
.audit__hero-bar-marks span[data-mark="500"] { left: 50%; }
.audit__hero-bar-marks span[data-mark="1000"] { left: 100%; }

.audit__hero-bar-flag {
  position: absolute;
  bottom: 100%;
  margin-bottom: 0.5rem;
  transform: translateX(-50%) translateY(6px);
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  border: 1px solid currentColor;
  background: rgba(47, 91, 255, 0.03);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.audit__hero-bar-flag--warn { color: var(--accent-warn); left: 10%; }
.audit__hero-bar-flag--danger { color: var(--accent-danger); left: 50%; }
.audit__hero-bar-flag--critical { color: var(--accent-danger); left: 100%; }
.audit.is-warn .audit__hero-bar-flag--warn,
.audit.is-danger .audit__hero-bar-flag--warn,
.audit.is-danger .audit__hero-bar-flag--danger,
.audit.is-critical .audit__hero-bar-flag--warn,
.audit.is-critical .audit__hero-bar-flag--danger,
.audit.is-critical .audit__hero-bar-flag--critical {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* extrapolação real — HOJE / MÊS / ANO */
.audit__scale {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--border-loud);
}
.audit__scale-head {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.85rem;
}
.audit__scale-marker { color: var(--accent-deal); }
.audit__scale-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}
.audit__scale-row {
  display: grid;
  grid-template-columns: 96px 1fr auto;
  align-items: center;
  gap: 0.85rem;
  padding: 0.55rem 0.8rem;
  border: 1px solid var(--border-soft);
  border-radius: 6px;
  background: rgba(47, 91, 255, 0.022);
  font-family: var(--font-mono);
  transition: border-color 0.3s ease, background 0.3s ease;
}
.audit__scale-row:hover {
  border-color: var(--accent-deal-soft);
  background: rgba(47, 91, 255, 0.04);
}
.audit__scale-label {
  font-size: 0.625rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-muted);
  font-weight: 500;
}
.audit__scale-value {
  display: inline-flex;
  align-items: baseline;
  gap: 0.4rem;
  color: var(--text-primary);
  font-variant-numeric: tabular-nums;
}
.audit__scale-currency {
  font-size: 0.6875rem;
  color: var(--text-muted);
  letter-spacing: 0.04em;
}
.audit__scale-num {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(1.1rem, 1.8vw, 1.45rem);
  line-height: 1;
  letter-spacing: -0.01em;
}
.audit__scale-trend {
  font-size: 0.625rem;
  letter-spacing: 0.1em;
  color: var(--accent-warn);
  text-transform: uppercase;
}
.audit__scale-row--alarm {
  border-color: rgba(229, 41, 62, 0.35);
  background: rgba(229, 41, 62, 0.04);
  position: relative;
  overflow: hidden;
}
.audit__scale-row--alarm::before {
  /* stripe shimmer */
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    -45deg,
    transparent 0 8px,
    rgba(229, 41, 62, 0.04) 8px 9px
  );
  pointer-events: none;
  animation: auditScaleStripe 14s linear infinite;
}
@keyframes auditScaleStripe {
  from { background-position: 0 0; }
  to { background-position: 60px 0; }
}
.audit__scale-row--alarm .audit__scale-num {
  color: var(--accent-danger);
  text-shadow: 0 0 18px rgba(229, 41, 62, 0.18);
}
.audit__scale-row--alarm .audit__scale-trend { color: var(--accent-danger); }
.audit__scale-row--alarm:hover {
  border-color: var(--accent-danger);
  background: rgba(229, 41, 62, 0.06);
}

/* mini-KPIs */
.audit__kpis {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  background: var(--bg-0);
}
.audit__kpi {
  position: relative;
  padding: 1.125rem 1.25rem;
  border-bottom: 1px solid var(--border-soft);
  border-right: 1px solid var(--border-soft);
  background: rgba(47, 91, 255, 0.008);
  overflow: hidden;
}
.audit__kpi:nth-child(2n) { border-right: 0; }
.audit__kpi:nth-last-child(-n+2) { border-bottom: 0; }
.audit__kpi::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 3px;
  height: 100%;
  background: var(--accent-deal);
  opacity: 0.45;
}
.audit__kpi[data-kpi="leads"]::before,
.audit__kpi[data-kpi="hours"]::before,
.audit__kpi[data-kpi="gap"]::before {
  background: var(--accent-danger);
}
.audit__kpi-head {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.5rem;
}
.audit__kpi-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent-danger);
  box-shadow: 0 0 5px var(--accent-danger);
  animation: blink 1.6s ease infinite;
}
.audit__kpi[data-kpi="msgs"] .audit__kpi-dot { background: var(--accent-deal); box-shadow: 0 0 5px var(--accent-deal); }
.audit__kpi-label { color: var(--text-secondary); flex: 1; }
.audit__kpi-id { color: var(--text-muted); opacity: 0.7; font-size: 0.5625rem; }

.audit__kpi-value {
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(1.4rem, 2.6vw, 1.85rem);
  line-height: 1;
  color: var(--text-primary);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}
.audit__kpi-num--mono { font-family: var(--font-mono); font-size: clamp(1.15rem, 2vw, 1.5rem); letter-spacing: 0.02em; color: var(--accent-danger); }
.audit__kpi-unit { font-size: 0.625rem; color: var(--text-muted); font-family: var(--font-mono); text-transform: uppercase; letter-spacing: 0.12em; }

.audit__kpi-spark {
  margin-top: 0.65rem;
  height: 24px;
}
.audit__kpi-spark svg { width: 100%; height: 100%; display: block; }
.audit__kpi-spark polyline {
  fill: none;
  stroke: var(--accent-danger);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 220;
  stroke-dashoffset: 220;
  animation: auditSpark 1.4s ease forwards;
}
.audit__kpi[data-kpi="msgs"] .audit__kpi-spark polyline { stroke: var(--accent-deal); }
@keyframes auditSpark {
  to { stroke-dashoffset: 0; }
}

.audit__kpi-meta { margin-top: 0.55rem; font-family: var(--font-mono); font-size: 0.6875rem; color: var(--text-muted); }
.audit__kpi-meta-line { letter-spacing: 0.04em; }
.audit__kpi-trend {
  margin-top: 0.5rem;
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.audit__kpi-trend--up { color: var(--accent-warn); }
.audit__kpi-trend--danger { color: var(--accent-danger); }

.audit__kpi.is-pulsing { animation: auditKpiPulse 0.55s ease; }
@keyframes auditKpiPulse {
  0% { background: rgba(47, 91, 255, 0.008); }
  50% { background: rgba(255, 79, 79, 0.16); box-shadow: inset 0 0 28px rgba(255, 79, 79, 0.22); }
  100% { background: rgba(47, 91, 255, 0.008); }
}

/* lead death timeline */
.audit__death {
  position: relative;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border: 1px solid var(--border-loud);
  border-bottom: 0;
  background: var(--bg-0);
}
.audit__death-head {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 1.5rem;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.audit__death-marker { color: var(--accent-danger); }
.audit__death-title { color: var(--text-secondary); flex: 1; }
.audit__death-status {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.25rem 0.6rem;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 0.625rem;
  letter-spacing: 0.18em;
}
.audit__death-status[data-status="alive"] { color: var(--accent-live); }
.audit__death-status[data-status="warning"] { color: var(--accent-warn); }
.audit__death-status[data-status="dying"] { color: var(--accent-danger); }
.audit__death-status[data-status="dead"] { color: var(--accent-danger); background: rgba(255, 79, 79, 0.12); }
.audit__death-status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 6px currentColor;
  animation: blink 1s ease infinite;
}

/* track horizontal */
.audit__death-track {
  position: relative;
  height: 96px;
  margin: 0 0.6rem 0.6rem;
}
.audit__death-line {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 2px;
  transform: translateY(-50%);
  background: repeating-linear-gradient(
    90deg,
    var(--border-loud) 0,
    var(--border-loud) 6px,
    transparent 6px,
    transparent 12px
  );
}
.audit__death-line--filled {
  background: linear-gradient(90deg, var(--accent-live), var(--accent-warn) 60%, var(--accent-danger));
  box-shadow: 0 0 14px rgba(255, 79, 79, 0.55);
  width: 0%;
  transition: width 0.5s ease;
}
.audit__death-runner {
  position: absolute;
  top: 50%;
  left: 0;
  width: 18px;
  height: 18px;
  margin-left: -9px;
  margin-top: -9px;
  border-radius: 50%;
  background: var(--accent-deal);
  box-shadow:
    0 0 0 4px rgba(74, 124, 255, 0.18),
    0 0 18px rgba(74, 124, 255, 0.85);
  transition: left 0.55s cubic-bezier(0.65, 0.02, 0.36, 1), background 0.4s ease, box-shadow 0.4s ease;
  z-index: 3;
}
.audit__death-runner.is-warn {
  background: var(--accent-warn);
  box-shadow: 0 0 0 4px rgba(255, 184, 0, 0.18), 0 0 22px rgba(255, 184, 0, 0.85);
}
.audit__death-runner.is-danger {
  background: var(--accent-danger);
  box-shadow: 0 0 0 4px rgba(255, 79, 79, 0.22), 0 0 26px rgba(255, 79, 79, 0.95);
  animation: auditRunnerShiver 0.4s ease infinite;
}
.audit__death-runner.is-dead {
  background: var(--accent-danger);
  box-shadow: 0 0 0 6px rgba(255, 79, 79, 0.3), 0 0 30px rgba(255, 79, 79, 1);
  transform: scale(1.4);
}
@keyframes auditRunnerShiver {
  0%, 100% { margin-left: -9px; }
  50% { margin-left: -8px; }
}

.audit__death-nodes {
  position: absolute;
  inset: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.audit__death-node {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  width: 90px;
  text-align: center;
  font-family: var(--font-mono);
  color: var(--text-muted);
  z-index: 2;
}
.audit__death-node-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--bg-0);
  border: 2px solid var(--border-loud);
  transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}
.audit__death-node-time {
  position: absolute;
  top: -1.6rem;
  font-size: 0.625rem;
  letter-spacing: 0.1em;
  color: var(--text-muted);
}
.audit__death-node-label {
  position: absolute;
  top: 1.6rem;
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.audit__death-node.is-passed .audit__death-node-dot {
  background: var(--accent-live);
  border-color: var(--accent-live);
  box-shadow: 0 0 10px var(--accent-live);
}
.audit__death-node.is-current .audit__death-node-dot {
  background: var(--accent-warn);
  border-color: var(--accent-warn);
  box-shadow: 0 0 16px var(--accent-warn);
  transform: scale(1.4);
  animation: auditNodePulse 1.2s ease infinite;
}
.audit__death-node.is-danger .audit__death-node-dot {
  background: var(--accent-danger);
  border-color: var(--accent-danger);
  box-shadow: 0 0 16px var(--accent-danger);
}
.audit__death-node.is-dead .audit__death-node-dot {
  background: transparent;
  border-color: var(--accent-danger);
  box-shadow: 0 0 24px var(--accent-danger);
  position: relative;
}
.audit__death-node.is-dead .audit__death-node-dot::before,
.audit__death-node.is-dead .audit__death-node-dot::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 2px;
  background: var(--accent-danger);
  transform: translate(-50%, -50%) rotate(45deg);
}
.audit__death-node.is-dead .audit__death-node-dot::after { transform: translate(-50%, -50%) rotate(-45deg); }
.audit__death-node-label--lost { color: var(--accent-danger); font-weight: 600; }
@keyframes auditNodePulse {
  0%, 100% { box-shadow: 0 0 16px var(--accent-warn); }
  50% { box-shadow: 0 0 24px var(--accent-warn), 0 0 40px rgba(255, 184, 0, 0.55); }
}

.audit__death-caption {
  margin: 1.5rem auto 0;
  max-width: 80ch;
  text-align: center;
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  color: var(--text-secondary);
  letter-spacing: 0.04em;
  display: inline-flex;
  width: 100%;
  justify-content: center;
  gap: 0.6rem;
  align-items: baseline;
  transition: color 0.3s ease;
  min-height: 1.5em;
}
.audit__death-caption-icon { color: var(--accent-warn); }
.audit__death-caption.is-danger .audit__death-caption-icon,
.audit__death-caption.is-danger .audit__death-caption-text { color: var(--accent-danger); }
.audit__death-caption.is-dead {
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* mobile death — vira lista vertical */
@media (max-width: 768px) {
  .audit__death-track {
    height: auto;
    min-height: 280px;
    padding: 1rem 0;
  }
  .audit__death-line,
  .audit__death-line--filled {
    top: 0;
    bottom: 0;
    left: 12px;
    right: auto;
    width: 2px !important;
    height: auto !important;
    transform: none;
    background-image: none;
    background: var(--border-loud);
  }
  .audit__death-line--filled {
    background: linear-gradient(180deg, var(--accent-live), var(--accent-warn) 60%, var(--accent-danger));
    width: 2px !important;
    height: 0 !important;
    transition: height 0.5s ease;
  }
  .audit__death-runner {
    left: 12px !important;
    top: 0;
    margin-left: -8px;
    transition: top 0.55s cubic-bezier(0.65, 0.02, 0.36, 1);
  }
  .audit__death-nodes {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
    padding-left: 36px;
    position: relative;
  }
  .audit__death-node {
    flex-direction: row;
    width: auto;
    align-items: center;
    gap: 0.65rem;
  }
  .audit__death-node-time,
  .audit__death-node-label {
    position: static;
    top: auto;
  }
  .audit__death-node-time { color: var(--text-secondary); }
}

/* VS comparison */
.audit__vs {
  position: relative;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border: 1px solid var(--border-loud);
  border-bottom: 0;
  background: var(--bg-0);
}
.audit__vs-head {
  display: flex;
  align-items: baseline;
  gap: 0.6rem;
  margin-bottom: 1.5rem;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-muted);
  flex-wrap: wrap;
}
.audit__vs-marker { color: var(--accent-deal); }
.audit__vs-title { color: var(--text-secondary); }
.audit__vs-meta { color: var(--text-muted); opacity: 0.65; flex: 1; text-align: right; font-size: 0.625rem; }

.audit__vs-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  align-items: stretch;
}
@media (min-width: 900px) {
  .audit__vs-grid {
    grid-template-columns: 1fr auto 1fr;
    gap: 1rem;
  }
}

.audit__vs-col {
  position: relative;
  padding: 1.5rem 1.5rem 1.25rem;
  border: 1px solid var(--border-soft);
  border-radius: 8px;
  background: rgba(47, 91, 255, 0.01);
  overflow: hidden;
}
.audit__vs-col--bad { border-color: rgba(255, 79, 79, 0.3); }
.audit__vs-col--good { border-color: rgba(0, 230, 118, 0.32); }

.audit__vs-col--bad::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    180deg,
    transparent 0,
    transparent 3px,
    rgba(255, 79, 79, 0.025) 3px,
    rgba(255, 79, 79, 0.025) 4px
  );
  pointer-events: none;
  z-index: 0;
  opacity: 0;
  transition: opacity 0.4s ease;
}
.audit__vs-col--bad.is-revealed::before { opacity: 1; animation: auditScanlines 6s linear infinite; }
@keyframes auditScanlines {
  from { background-position: 0 0; }
  to { background-position: 0 200px; }
}

.audit__vs-col--bad.is-revealed { animation: auditColShake 4s ease-in-out infinite; }
@keyframes auditColShake {
  0%, 88%, 100% { transform: translateX(0); }
  90% { transform: translateX(-2px); }
  92% { transform: translateX(2px); }
  94% { transform: translateX(-1px); }
  96% { transform: translateX(1px); }
}

.audit__vs-col-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 1rem;
  position: relative;
  z-index: 1;
}
.audit__vs-col-tag {
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 0.3rem 0.6rem;
  border-radius: 999px;
}
.audit__vs-col-tag--bad { color: var(--accent-danger); border: 1px solid rgba(255, 79, 79, 0.35); background: rgba(255, 79, 79, 0.08); }
.audit__vs-col-tag--good { color: var(--accent-live); border: 1px solid rgba(0, 230, 118, 0.35); background: rgba(0, 230, 118, 0.08); }
.audit__vs-col-state {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.audit__vs-col-state[data-state="critical"] { color: var(--accent-danger); }
.audit__vs-col-state[data-state="ok"] { color: var(--accent-live); }
.audit__vs-col-state-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 6px currentColor;
  animation: blink 1.4s ease infinite;
}

.audit__vs-col-title {
  position: relative;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(1.05rem, 1.8vw, 1.35rem);
  line-height: 1.2;
  color: var(--text-primary);
  margin-bottom: 1.25rem;
  z-index: 1;
  letter-spacing: -0.01em;
}
.audit__vs-col--bad .audit__vs-col-title { color: var(--text-primary); }
.audit__vs-col-title-glitch {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  color: rgba(255, 79, 79, 0.85);
  pointer-events: none;
  opacity: 0;
}
.audit__vs-col--bad.is-revealed .audit__vs-col-title-glitch {
  opacity: 1;
  animation: auditTitleGlitch 3.2s ease infinite;
}
@keyframes auditTitleGlitch {
  0%, 92%, 100% { transform: translate(0, 0); opacity: 0; }
  93% { transform: translate(-2px, 0); opacity: 0.9; }
  94% { transform: translate(2px, -1px); opacity: 0.6; }
  95% { transform: translate(-1px, 1px); opacity: 0.85; }
  96% { transform: translate(0, 0); opacity: 0; }
}

.audit__vs-col-list {
  list-style: none;
  margin: 0 0 1.25rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  position: relative;
  z-index: 1;
}
.audit__vs-col-list li {
  display: flex;
  align-items: baseline;
  gap: 0.65rem;
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  color: var(--text-secondary);
  line-height: 1.45;
  letter-spacing: 0.01em;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.35s ease, transform 0.35s ease;
}
.audit__vs-col.is-revealed .audit__vs-col-list li {
  opacity: 1;
  transform: translateY(0);
}
.audit__vs-col.is-revealed .audit__vs-col-list li:nth-child(1) { transition-delay: 0.05s; }
.audit__vs-col.is-revealed .audit__vs-col-list li:nth-child(2) { transition-delay: 0.15s; }
.audit__vs-col.is-revealed .audit__vs-col-list li:nth-child(3) { transition-delay: 0.25s; }
.audit__vs-col.is-revealed .audit__vs-col-list li:nth-child(4) { transition-delay: 0.35s; }
.audit__vs-col.is-revealed .audit__vs-col-list li:nth-child(5) { transition-delay: 0.45s; }
.audit__vs-col.is-revealed .audit__vs-col-list li:nth-child(6) { transition-delay: 0.55s; }

.audit__vs-col-list-x {
  color: var(--accent-danger);
  font-weight: 700;
  font-size: 0.875rem;
}
.audit__vs-col-list-c {
  color: var(--accent-live);
  font-weight: 700;
  font-size: 0.875rem;
}
.audit__vs-col-list--good li strong { color: var(--accent-live); font-weight: 600; }
.audit__vs-col-list--good li em { color: var(--accent-deal); font-style: italic; font-weight: 500; }

.audit__vs-col-foot {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border-soft);
  position: relative;
  z-index: 1;
}
.audit__vs-col-foot-label {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.audit__vs-col-foot-value {
  font-family: var(--font-display);
  font-size: clamp(1.4rem, 2.4vw, 1.75rem);
  font-weight: 700;
  color: var(--accent-danger);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
}
.audit__vs-col-foot--good .audit__vs-col-foot-value { color: var(--accent-live); }

.audit__vs-col-foot-value [data-glitch-num] {
  display: inline-block;
  position: relative;
}
.audit__vs-col--bad.is-revealed .audit__vs-col-foot-value [data-glitch-num] {
  animation: auditNumGlitch 4.5s ease infinite;
}
@keyframes auditNumGlitch {
  0%, 96%, 100% { transform: translateX(0); text-shadow: none; }
  97% { transform: translateX(-1px); text-shadow: 2px 0 0 rgba(0, 209, 255, 0.7); }
  98% { transform: translateX(1px); text-shadow: -2px 0 0 rgba(0, 209, 255, 0.7); }
  99% { transform: translateX(0); text-shadow: none; }
}

.audit__vs-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 0.5rem;
  font-family: var(--font-mono);
  color: var(--text-muted);
}
@media (min-width: 900px) {
  .audit__vs-divider { width: 60px; }
}
.audit__vs-divider-vs {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.2em;
  padding: 0.4rem 0.7rem;
  border: 1px solid var(--border-loud);
  border-radius: 999px;
  background: var(--bg-1);
  color: var(--text-secondary);
}
.audit__vs-divider-line {
  display: block;
  width: 1px;
  height: 40px;
  background: linear-gradient(180deg, transparent, var(--border-loud), transparent);
}
@media (max-width: 899px) {
  .audit__vs-divider-line { display: none; }
}

/* verdict */
.audit__verdict {
  position: relative;
  padding: clamp(2rem, 4vw, 3.25rem) clamp(1.5rem, 3vw, 2.25rem);
  border: 1px solid var(--border-loud);
  border-radius: 0 0 12px 12px;
  background:
    radial-gradient(ellipse at center top, rgba(255, 79, 79, 0.1), transparent 60%),
    var(--bg-0);
  text-align: center;
  overflow: hidden;
}
.audit__verdict::after {
  /* glow lateral pulsando */
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 0% 50%, rgba(255, 79, 79, 0.12), transparent 35%),
    radial-gradient(circle at 100% 50%, rgba(255, 79, 79, 0.12), transparent 35%);
  animation: auditVerdictPulse 4s ease-in-out infinite;
  pointer-events: none;
}
@keyframes auditVerdictPulse {
  0%, 100% { opacity: 0.6; }
  50% { opacity: 1; }
}
.audit__verdict > * { position: relative; z-index: 1; }

.audit__verdict-marker {
  display: inline-block;
  color: var(--accent-danger);
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.16em;
  margin-bottom: 0.5rem;
}
.audit__verdict-label {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 1.25rem;
}
.audit__verdict-title {
  margin-bottom: 1.5rem;
  font-size: clamp(2rem, 5vw, 3.75rem) !important;
}
.audit__verdict-fire {
  position: relative;
  display: inline-block;
  color: var(--accent-danger);
  background: linear-gradient(180deg, #FFB800 0%, #FF4F4F 70%, #FF1F1F 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 18px rgba(255, 79, 79, 0.55));
  animation: auditFire 2.5s ease-in-out infinite;
}
@keyframes auditFire {
  0%, 100% { filter: drop-shadow(0 0 18px rgba(255, 79, 79, 0.55)); transform: translateY(0); }
  50% { filter: drop-shadow(0 0 28px rgba(255, 79, 79, 0.85)); transform: translateY(-1px); }
}
.audit__verdict-meta {
  font-family: var(--font-display);
  color: var(--text-secondary);
  font-weight: 400;
}
.audit__verdict-stamp {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  color: var(--text-muted);
  letter-spacing: 0.06em;
  padding: 0.5rem 1rem;
  border: 1px solid var(--border-loud);
  border-radius: 999px;
}
.audit__verdict-stamp-icon { color: var(--accent-deal); }

/* toasts */
.audit__toasts {
  position: fixed;
  top: 92px;
  right: 1.5rem;
  z-index: 300;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  pointer-events: none;
  max-width: 320px;
}
@media (max-width: 640px) {
  .audit__toasts { left: 0.75rem; right: 0.75rem; max-width: none; top: 80px; }
}
.audit-toast {
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--accent-danger);
  background: linear-gradient(135deg, rgba(255, 79, 79, 0.18), rgba(255, 79, 79, 0.05));
  border-radius: 8px;
  color: var(--text-primary);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 0 0 1px rgba(255, 79, 79, 0.2),
    0 14px 36px -8px rgba(255, 79, 79, 0.4),
    0 0 28px rgba(255, 79, 79, 0.25);
  transform: translateX(120%);
  opacity: 0;
  animation: auditToastIn 0.45s cubic-bezier(0.2, 0.9, 0.3, 1.2) forwards;
}
.audit-toast.is-leaving {
  animation: auditToastOut 0.4s ease forwards;
}
@keyframes auditToastIn {
  0% { transform: translateX(120%); opacity: 0; }
  60% { transform: translateX(-6%); opacity: 1; }
  100% { transform: translateX(0); opacity: 1; }
}
@keyframes auditToastOut {
  to { transform: translateX(120%); opacity: 0; }
}
.audit-toast__icon {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 79, 79, 0.18);
  color: var(--accent-danger);
  font-size: 0.85rem;
}
.audit-toast__body { display: flex; flex-direction: column; gap: 0.15rem; }
.audit-toast__title {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.6875rem;
  color: var(--accent-danger);
}
.audit-toast__msg { color: var(--text-secondary); font-size: 0.75rem; }

/* =============================================================
   LEAD TRAVELER (// 04 FLOW — bolinha atravessa os 4 nós)
   ============================================================= */
.flow { position: relative; }

.lead-traveler {
  position: absolute;
  pointer-events: none;
  z-index: 5;
  display: none;
}
@media (min-width: 1024px) {
  .lead-traveler {
    display: block;
    top: 0;
    left: 0;
  }
}
.lead-traveler__ball {
  position: absolute;
  top: 0; left: 0;
  width: 14px; height: 14px;
  border-radius: 50%;
  background: var(--accent-deal);
  box-shadow:
    0 0 0 3px rgba(74, 124, 255, 0.18),
    0 0 18px rgba(74, 124, 255, 0.85),
    0 0 40px var(--accent-deal-glow);
  transform: translate(-50%, -50%);
  transition: left 1100ms cubic-bezier(0.16, 1, 0.3, 1), top 1100ms cubic-bezier(0.16, 1, 0.3, 1);
}
.lead-traveler__trail {
  position: absolute;
  top: 0; left: 0;
  width: 14px; height: 14px;
  border-radius: 50%;
  background: var(--accent-deal);
  filter: blur(8px);
  opacity: 0.4;
  transform: translate(-50%, -50%);
  transition: left 1400ms cubic-bezier(0.16, 1, 0.3, 1), top 1400ms cubic-bezier(0.16, 1, 0.3, 1);
}
.lead-traveler__label {
  position: absolute;
  top: 0; left: 0;
  transform: translate(-50%, calc(-100% - 14px));
  font-family: var(--font-mono);
  font-size: 0.625rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent-deal);
  background: var(--bg-0);
  border: 1px solid var(--accent-deal);
  padding: 3px 8px;
  white-space: nowrap;
  transition: left 1100ms cubic-bezier(0.16, 1, 0.3, 1), top 1100ms cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 0 12px var(--accent-deal-glow);
}

/* Quando a bolinha tá em um nó, o número do node pulsa */
.timeline__node.is-traveling .timeline__number {
  color: var(--accent-deal);
  text-shadow: 0 0 18px var(--accent-deal-glow);
}
.timeline__node.is-traveling .timeline__step-title {
  color: var(--accent-deal);
}

/* =============================================================
   LIVE EVENT FEED (// 06 SAVALLE — eventos chegando em real-time)
   ============================================================= */
.feed {
  background: var(--bg-0);
  border: 1px solid var(--border-soft);
  margin-bottom: 1.75rem;
  font-family: var(--font-mono);
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.feed::before {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  left: -50%;
  width: 50%;
  background: linear-gradient(100deg, transparent 0%, var(--accent-deal-soft) 50%, transparent 100%);
  pointer-events: none;
  z-index: 0;
  mix-blend-mode: screen;
  animation: feed-scan 8s ease-in-out infinite;
}
@keyframes feed-scan {
  0%   { left: -50%; opacity: 0; }
  20%  { opacity: 1; }
  80%  { opacity: 1; }
  100% { left: 100%; opacity: 0; }
}

.feed__head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  border-bottom: 1px solid var(--border-soft);
  background: var(--bg-1);
  font-size: 0.625rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent-deal);
  position: relative;
  z-index: 1;
}
.feed__head-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--accent-live);
  box-shadow: 0 0 8px var(--accent-live);
  animation: pulse 1s ease-in-out infinite;
}
.feed__head-meta {
  margin-left: auto;
  color: var(--text-muted);
  font-variant-numeric: tabular-nums;
}

.feed__list {
  list-style: none;
  margin: 0;
  padding: 0.625rem 0;
  position: relative;
  z-index: 1;
  max-height: 240px;
  overflow: hidden;
}

.feed__event {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: 0.625rem;
  padding: 0.5rem 1rem;
  font-size: 0.75rem;
  color: var(--text-secondary);
  border-bottom: 1px solid var(--border-faint);
  transition: background 200ms ease;
}
.feed__event:last-child { border-bottom: 0; }
.feed__event.is-new {
  animation: feed-event-in 600ms cubic-bezier(0.16, 1, 0.3, 1);
  background: var(--accent-deal-soft);
}
@keyframes feed-event-in {
  from { opacity: 0; transform: translateY(-8px); background: rgba(74, 124, 255, 0.25); }
  to   { opacity: 1; transform: translateY(0); background: var(--accent-deal-soft); }
}

.feed__event-time {
  font-size: 0.625rem;
  letter-spacing: 0.06em;
  color: var(--text-muted);
  font-variant-numeric: tabular-nums;
}
.feed__event-icon {
  width: 14px; height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 700;
}
.feed__event[data-type="ok"] .feed__event-icon { color: var(--accent-live); }
.feed__event[data-type="info"] .feed__event-icon { color: var(--accent-deal); }
.feed__event[data-type="warn"] .feed__event-icon { color: var(--accent-warn); }
.feed__event-text {
  font-family: var(--font-body);
  color: var(--text-primary);
  line-height: 1.3;
}
.feed__event-text strong { color: var(--accent-deal); font-weight: 500; }

/* =============================================================
   SOBER REFACTOR — converte os labels terminal-y em Inter sóbrio
   (sobrescreve as regras antigas em massa, sem reescrever cada uma)
   ============================================================= */

/* AUDIT — labels e copy */
.audit__hero-label,
.audit__hero-label-paren,
.audit__hero-sub,
.audit__hero-sub-rate,
.audit__hero-sub-warped,
.audit__hero-sub-source,
.audit__hero-bar-marks,
.audit__hero-bar-flag,
.audit__hero-head-label,
.audit__hero-head-meta,
.audit__hero-head-warp,
.audit__kpi-head,
.audit__kpi-label,
.audit__kpi-id,
.audit__kpi-unit,
.audit__kpi-meta,
.audit__kpi-meta-line,
.audit__kpi-trend,
.audit__scale-head,
.audit__scale-label,
.audit__scale-currency,
.audit__scale-trend,
.audit__death-head,
.audit__death-title,
.audit__death-status,
.audit__death-node-time,
.audit__death-node-label,
.audit__death-caption,
.audit__vs-head,
.audit__vs-title,
.audit__vs-meta,
.audit__vs-col-tag,
.audit__vs-col-state,
.audit__vs-col-list li,
.audit__vs-col-foot-label,
.audit__verdict-marker,
.audit__verdict-label,
.audit__verdict-stamp,
.audit-toast,
.audit-toast__title,
.audit-toast__msg,
/* MODULES */
.modulebay-intro__line,
.modulebay-intro__label,
.modulebay-intro__rack,
.modulebay-intro__meta-pill,
.modulebay-intro__meta-hint,
.module__foot,
.module__foot-key,
.module__foot-val,
.module__sub,
.module__title-row .module__title,
.modulebay-stage__hud,
.modulebay-stage__hud-counter,
.modulebay-stage__hud-auto,
.modulebay-stage__hud-auto-label,
.modulebay-stage__nav-label,
.stage-dot,
.stage-dot__num,
.stage-dot__name,
/* KANBAN */
.kbn__col-head,
.kbn__col-name,
.kbn__col-count,
.kbn__card,
.kbn__card-name,
.kbn__card-meta,
.kbn__card-tag,
/* ROUTER */
.rtr__lane-label,
.rtr__queue-item,
.rtr__target-name,
.rtr__target-load,
.rtr__target-load-val,
/* TEMPLATES */
.tvault__item,
.tvault__item-name,
.tvault__item-meta,
.tvault__preview-head,
.tvault__preview-name,
.tvault__preview-meta,
.tvault__preview-foot,
.tvault__preview-vars span,
.tvault__preview-action,
/* TEAM */
.tpulse__tab,
.tpulse__row,
.tpulse__name,
.tpulse__readout,
.tpulse__readout-label,
.tpulse__readout-value,
/* AI TERMINAL */
.ai-terminal__hud,
.ai-terminal__hud-item,
.ai-terminal__hud-key,
.ai-terminal__hud-val,
.ai-terminal__compose-label,
.ai-terminal__input-prompt,
.ai-terminal__input-field,
.ai-terminal__input-submit,
.ai-chip,
.ai-chip__hash,
.ai-thinking,
.ai-line,
.ai-tag,
.ai-line--user,
.ai-line--ai,
.ai-line--bullet,
.ai-line--reco,
.ai-line--reco strong,
.ai-chart__head,
.ai-chart__title,
.ai-chart__legend,
.ai-chart__name,
.ai-chart__val,
.ai-chart__row,
/* HERO */
.hero-card__tag,
.hero-card__live,
.hero__chip,
.hero__title-line,
.hero__stack-key,
.hero__stack-val,
.hero__telemetry,
.hero__telemetry-item,
/* OUTROS */
.fit-check__id,
.fit-check__counter,
.fit__col-head,
.fit-flag,
.faq__id,
.faq__tag,
.faq__breadcrumb,
.channel__hash,
.channel__state,
.channel__label,
.channel__meta,
.cta__sub,
.cta__sub-meta,
.flow__step-num,
.flow__step-title,
.flow__step-meta,
.manifesto__rule-num,
.manifesto__rule-stamp,
.manifesto__head-tag,
.manifesto__head-state,
.proof__id,
.savalle__head,
.savalle__head-pilot,
.savalle__head-host,
.gallery__caption,
.gallery__caption-meta,
.transmit__field-label,
.transmit__field-prefix,
.transmit__submit-label,
.transmit__head-id,
.transmit__head-meta,
.live-feed__head,
.live-feed__event-time,
.live-feed__event-text,
.symptoms__label,
.symptoms__count,
.symptoms__active-id,
.symptoms__active-severity,
.symptoms__item-num,
.symptoms__item-text,
.section-eyebrow,
.section-eyebrow-meta,
.live-event__time,
.live-event__text {
  font-family: var(--font-body);
  text-transform: none;
  letter-spacing: 0.01em;
}

/* Pequenas exceções — manter mono onde o "código/timecode" combina */
.audit__hero-head-time,
.audit__hero-value,
.audit__hero-currency,
.audit__kpi-num,
.audit__kpi-num--mono,
.audit__scale-num,
.audit__death-node-time,
.audit-toast__icon,
.modulebay-stage__hud-counter,
.modulebay-stage__hud-counter-sep,
.kbn__col-count,
.kbn__card-meta,
.rtr__queue-item,
.rtr__target-load-val,
.tpulse__val,
.ai-terminal__hud-val--mono,
.ai-terminal__input-prompt,
.tvault__preview-body,
.hero__title-line,
.flow__step-num,
.manifesto__rule-num,
.audit__scale-currency,
.ui-url {
  font-family: var(--font-mono);
}
.hero__title-line {
  font-family: var(--font-display); /* hero title display */
}
.modulebay-stage__hud-counter,
.audit__hero-head-time {
  font-variant-numeric: tabular-nums;
}

/* Glows globais amenizados — reduz drop-shadow agressivos */
.audit__hero-amount {
  text-shadow: none;
}
.audit.is-danger .audit__hero-amount {
  text-shadow: 0 0 14px rgba(229, 41, 62, 0.22);
}
.audit.is-critical .audit__hero-amount {
  text-shadow:
    -1px 0 0 rgba(47, 91, 255, 0.35),
    1px 0 0 rgba(229, 41, 62, 0.45),
    0 0 18px rgba(229, 41, 62, 0.32);
}

/* Status badges — reduzir blink intensity */
.audit__bar-status-dot,
.audit__hero-head-warp-dot,
.audit__kpi-dot,
.audit__vs-col-state-dot,
.audit__death-status-dot,
.module__status-dot,
.modulebay-intro__meta-dot,
.ai-terminal__bar-model-dot,
.ai-terminal__bar-state-dot,
.ui-bar__state-dot {
  animation-duration: 2.6s !important;
  box-shadow: none !important;
}

/* Borders sutis nas seções */
.audit,
.ai-terminal,
.module {
  box-shadow:
    0 1px 2px rgba(11, 14, 20, 0.03),
    0 10px 30px -18px rgba(47, 91, 255, 0.18);
}
.module:hover {
  box-shadow:
    0 1px 2px rgba(11, 14, 20, 0.04),
    0 22px 55px -28px rgba(47, 91, 255, 0.28);
}
.modulebay-stage .module.is-active {
  box-shadow:
    0 0 0 1px var(--accent-deal),
    0 22px 55px -28px rgba(47, 91, 255, 0.35);
}

/* Tipografia mais "produto real" pros titles de KPI/colunas */
.audit__kpi-label,
.audit__vs-col-tag,
.audit__death-title,
.audit__vs-title,
.audit__scale-label {
  font-weight: 500;
  color: var(--ui-bar-text-strong);
}

/* Pílulas de status mais sóbrias */
.audit__death-status,
.audit__vs-col-state,
.audit__vs-col-tag,
.module__status,
.modulebay-intro__meta-pill,
.ai-terminal__bar-model,
.ai-terminal__bar-state {
  font-size: 0.6875rem;
  letter-spacing: 0;
  padding: 0.22rem 0.6rem;
  font-weight: 500;
  background: var(--bg-0);
  border-color: var(--ui-bar-border);
}

/* =============================================================
   SOLID MODE — kill all blink animations + normalize tracking
   ============================================================= */

/* Status dots: cor sólida, sem piscar */
.ui-bar__state-dot,
.status-dot,
.modulebay-intro__meta-dot,
.module__status-dot,
.audit__bar-status-dot,
.audit__hero-head-dot,
.audit__hero-head-warp-dot,
.audit__kpi-dot,
.audit__vs-col-state-dot,
.audit__death-status-dot,
.ai-terminal__bar-model-dot,
.ai-terminal__bar-state-dot,
.live-feed__head-dot,
.hero-card__live-dot,
.symptoms__live-dot,
.preloader__top-dot,
.feed__head-dot,
.metric-strip__val--live::before {
  animation: none !important;
  box-shadow: none !important;
}

/* Cursores piscando: remove */
.audit__hero-cursor,
.ai-cursor,
.section-eyebrow.is-typing::after,
.tvault__preview-name + .ai-cursor {
  animation: none !important;
  opacity: 0 !important;
  display: none !important;
}

/* hero head dot still pulses subtly — keep but slower & solid */
.audit__hero-head-dot,
.module__status-dot,
.audit__kpi-dot {
  /* solid color, no animation */
  opacity: 1;
}

/* Letter-spacing global normalize — bodies & labels */
body,
p,
li,
span,
button,
input,
textarea,
.audit__hero-label,
.audit__hero-sub,
.audit__kpi-head,
.audit__kpi-label,
.audit__kpi-id,
.audit__kpi-trend,
.audit__scale-head,
.audit__scale-label,
.audit__scale-trend,
.audit__death-head,
.audit__death-status,
.audit__vs-head,
.audit__vs-col-tag,
.audit__vs-col-state,
.audit-toast__title,
.module__name,
.module__num,
.module__status,
.module__foot,
.module__foot-key,
.module__sub,
.modulebay-intro__line,
.modulebay-intro__label,
.modulebay-intro__rack,
.modulebay-intro__meta-pill,
.modulebay-intro__meta-hint,
.stage-dot__num,
.stage-dot__name,
.modulebay-stage__hud-counter,
.modulebay-stage__hud-auto-label,
.ai-chip,
.ai-chip__hash,
.ai-terminal__compose-label,
.ai-terminal__input-submit,
.ai-terminal__hud-key,
.ai-terminal__hud-val,
.ai-terminal__bar-state,
.ai-terminal__bar-model,
.kbn__col-name,
.kbn__card-name,
.kbn__card-meta,
.kbn__card-tag,
.rtr__lane-label,
.rtr__target-name,
.rtr__target-load-val,
.tvault__item-name,
.tvault__item-meta,
.tvault__preview-name,
.tvault__preview-meta,
.tvault__preview-action,
.tpulse__tab,
.tpulse__name,
.tpulse__readout-label,
.tpulse__readout-value,
.hero-card__tag,
.hero-card__live,
.timeline__meta,
.timeline__step-title,
.metric-strip,
.metric-strip__key,
.metric-strip__val,
.section-eyebrow,
.section-eyebrow-meta,
.status-bar,
.status-label,
.status-time,
.status-tag,
.status-meta,
.fit-check__id,
.fit-check__counter,
.faq__id,
.channel__id,
.channel__state,
.channel__label,
.transmit__field-label,
.cta__sub {
  letter-spacing: 0 !important;
}

/* Letras tracked APENAS onde for tabela/timecode mono — fica natural */
.audit__hero-head-time,
.audit__hero-value,
.audit__scale-num,
.audit__kpi-num,
.audit__kpi-num--mono,
.kbn__col-count,
.tpulse__val,
.modulebay-stage__hud-counter,
.ui-url,
.audit__death-node-time {
  letter-spacing: 0 !important;
  font-variant-numeric: tabular-nums;
}

/* Hero title (display) e h2/h3 mantém o tracking display */
.hero__title-line,
.display-h2,
h1, h2 {
  letter-spacing: -0.02em !important;
}

/* status-bar dot: sutil, sem glow */
.status-dot {
  background: var(--accent-live);
}
